/* ========================================================
   Lesson Product Page Styles
   Loaded only on lesson product pages via PHP enqueue.
   
   Installment products: 46049, 47615, 47616, 47618, 47619, 47620, 71882
   Full upfront products: 71881, 71885, 71886, 71887, 71888
   Other lesson pages:    47370, 47372, 47374, 47376
   ======================================================== */


/* --------------------------------------------------------
   PRODUCT 46049 (original single lesson product)
   -------------------------------------------------------- */
.quantity{
    display: none;
}
.postid-46049 div.product div.images,
.postid-46049.content-full-width div.product div.images {
  width: 50% !important;
  padding-right: 26px !important;
  padding-top: 174px;
  padding-bottom: 15px;
}
.postid-46049 div.product div.summary {
  float: none !important;
  padding-right: 42px;
  border-right: 1px solid #BBBBBB;
}
.postid-46049 div.product form.cart {
  float: right;
  width: 50%;
  margin-bottom: 36px;
  position: absolute;
  top: 0;
  right: 0;
  padding-left: 39px;
}
.postid-46049 .content-area {
  position: inherit !important;
  width: 100% !important;
  padding: 0px !important;
}
.postid-46049 .container {
  max-width: 900px !important;
  width: 100%;
  margin: 0px auto;
}
.postid-46049 div.product .woocommerce-product-gallery img {
  width: 100%;
}
.postid-46049 .single-post-title {
  position: absolute;
  top: 0px;
  width: 50%;
  border: none;
  font-family: "Montserrat", Sans-serif;
  font-size: 29px !important;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0px;
  color: #000044;
  padding-right: 42px;
}
.postid-46049 div.product div.summary button.single_add_to_cart_button {
  font-size: 16px;
  font-weight: 400;
  border-radius: 11px;
  padding: 13px 29px;
  background-color: #FF076B !important;
  margin-left: 24px;
}
.postid-46049 div.product form.cart div.quantity {
  padding-top: 8px !important;
  padding-left: 24px;
  display: none;
}
.postid-46049 div.product form.cart p {
  width: 100%;
  max-width: 364px;
  margin: 0 auto;
  padding-bottom: 9px;
  font-size: 14px;
}
.postid-46049 div.product form.cart p label {
  color: #6d6d6d !important;
}
.postid-46049 #payment-schedule-message {
  padding-left: 25px;
}
.postid-46049 .summary .features {
  list-style: none;
  margin: 0px;
  background: #fff;
  padding: 15px;
  border-radius: 12px;
  color: #333;
  border: 1px solid #ddd;
  margin-top: 15px;
}
.postid-46049 .summary .features li {
  font-size: 17px;
  font-family: 'Roboto';
}
.postid-46049 .summary .features li::before {
  content: ' ✓';
  color: #00aeff;
  font-weight: bold;
  font-size: 20px;
  font-family: 'Roboto';
  padding-right: 3px;
  margin: 0px;
}
.postid-46049 div.product p.price {
  display: none;
}

@media (max-width: 900px) {
  .postid-46049 .container {
    padding: 0px 20px;
  }
  .postid-46049 div.product div.summary {
    width: 100% !important;
    border: none;
    padding-right: 0px !important;
  }
  .postid-46049 div.product div.images,
  .postid-46049.content-full-width div.product div.images {
    width: 100% !important;
    padding-right: 0px !important;
    padding-top: 177px;
    padding-bottom: 33px;
  }
  .postid-46049 div.product form.cart {
    position: inherit !important;
    width: 100% !important;
    margin: 0px !important;
    padding-left: 0px !important;
  }
  .postid-46049 div.product form.cart p {
    max-width: 100% !important;
  }
  .postid-46049 div.product div.summary button.single_add_to_cart_button {
    margin: 0px !important;
  }
  .postid-46049 .single-post-title {
    width: 100%;
    padding-right: 0px !important;
  }
  .postid-46049 .woocommerce-product-gallery__wrapper {
    margin-right: 0px !important;
  }
}


/* --------------------------------------------------------
   PRODUCTS 47370, 47372, 47374, 47376
   -------------------------------------------------------- */
@media only screen and (min-width: 767px) {
  .postid-47370 .site-main .container,
  .postid-47374 .site-main .container,
  .postid-47372 .site-main .container,
  .postid-47376 .site-main .container {
    width: 100% !important;
    max-width: 900px !important;
  }
  .postid-47370.woocommerce div.product div.images,
  .postid-47374.woocommerce div.product div.images,
  .postid-47372.woocommerce div.product div.images,
  .postid-47376.woocommerce div.product div.images {
    position: relative;
    float: none !important;
    padding-top: 126px;
  }
  .postid-47370.woocommerce div.product div.summary,
  .postid-47374.woocommerce div.product div.summary,
  .postid-47372.woocommerce div.product div.summary,
  .postid-47376.woocommerce div.product div.summary {
    float: none !important;
    display: flex;
    flex-direction: column-reverse;
    width: 45%;
  }
  .postid-47370 .woocommerce-product-details__short-description ul li,
  .postid-47374 .woocommerce-product-details__short-description ul li,
  .postid-47372 .woocommerce-product-details__short-description ul li,
  .postid-47376 .woocommerce-product-details__short-description ul li {
    font-size: 17px !important;
    font-weight: 400;
  }
  .postid-47370 .content-area,
  .postid-47374 .content-area,
  .postid-47372 .content-area,
  .postid-47376 .content-area {
    left: 0 !important;
    padding: 0px !important;
  }
  .postid-47370 form.cart,
  .postid-47374 form.cart,
  .postid-47372 form.cart,
  .postid-47376 form.cart {
    padding-top: 150px !important;
  }
  .postid-47370 form.cart .wc-pao-addons-container,
  .postid-47374 form.cart .wc-pao-addons-container,
  .postid-47372 form.cart .wc-pao-addons-container,
  .postid-47376 form.cart .wc-pao-addons-container {
    width: 100%;
  }
  .postid-47370 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47374 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47372 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47376 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element {
    width: 100% !important;
  }
  .postid-47370 .woocommerce-product-gallery__wrapper,
  .postid-47374 .woocommerce-product-gallery__wrapper,
  .postid-47372 .woocommerce-product-gallery__wrapper,
  .postid-47376 .woocommerce-product-gallery__wrapper {
    margin-right: 0px !important;
  }
  .postid-47370 div.product div.woocommerce-product-details__short-description,
  .postid-47374 div.product div.woocommerce-product-details__short-description,
  .postid-47372 div.product div.woocommerce-product-details__short-description,
  .postid-47376 div.product div.woocommerce-product-details__short-description {
    margin-top: 15px !important;
  }
  body.postid-47374.woocommerce div.product div.images {
    padding-top: 172px !important;
  }
}

.postid-47370 div.product div.summary button.single_add_to_cart_button,
.postid-47374 div.product div.summary button.single_add_to_cart_button,
.postid-47372 div.product div.summary button.single_add_to_cart_button,
.postid-47376 div.product div.summary button.single_add_to_cart_button {
  background-color: #ff076b !important;
  border-radius: 11px;
  padding: 13px 29px;
  color: #fff;
}

@media only screen and (min-width: 960px) {
  body.postid-47370.single-product.content-both-sidebars .content-area,
  body.postid-47374.single-product.content-both-sidebars .content-area,
  body.postid-47372.single-product.content-both-sidebars .content-area,
  body.postid-47376.single-product.content-both-sidebars .content-area {
    width: 100%;
  }
  body.postid-47370.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47374.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47372.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47376.single-product.content-both-sidebars.scs-style .content-area {
    left: 0% !important;
  }
}

@media only screen and (max-width: 960px) {
  .postid-47370 .site-main .container,
  .postid-47374 .site-main .container,
  .postid-47372 .site-main .container,
  .postid-47376 .site-main .container {
    padding: 0px 15px;
  }
  .postid-47370 div.product .product_title,
  .postid-47374 div.product .product_title,
  .postid-47372 div.product .product_title,
  .postid-47376 div.product .product_title {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .postid-47370 div.product .product_title,
  .postid-47374 div.product .product_title,
  .postid-47372 div.product .product_title,
  .postid-47376 div.product .product_title {
    font-size: 28px;
  }
  .postid-47370 div.product div.summary,
  .postid-47374 div.product div.summary,
  .postid-47372 div.product div.summary,
  .postid-47376 div.product div.summary {
    padding-top: 46px;
  }
  .postid-47370 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47374 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47372 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element,
  .postid-47376 .elementor-31141 .elementor-element.elementor-element-9f0b7b4.elementor-element {
    width: 100% !important;
  }
  .woocommerce-product-gallery__wrapper {
    margin-right: 0px !important;
  }
}


/* --------------------------------------------------------
   PRODUCTS 47615, 47616, 47618, 47619, 47620 (installment)
   + 71881, 71882, 71885, 71886, 71887, 71888 (full upfront)
   -------------------------------------------------------- */
@media only screen and (min-width: 767px) {
  .postid-47615 .site-main .container,
  .postid-47616 .site-main .container,
  .postid-47618 .site-main .container,
  .postid-47619 .site-main .container,
  .postid-47620 .site-main .container,
  .postid-71881 .site-main .container,
  .postid-71882 .site-main .container,
  .postid-71885 .site-main .container,
  .postid-71886 .site-main .container,
  .postid-71887 .site-main .container,
  .postid-71888 .site-main .container {
    width: 100% !important;
    max-width: 900px !important;
  }

  .postid-47615.woocommerce div.product div.images,
  .postid-47616.woocommerce div.product div.images,
  .postid-47618.woocommerce div.product div.images,
  .postid-47619.woocommerce div.product div.images,
  .postid-47620.woocommerce div.product div.images,
  .postid-71881.woocommerce div.product div.images,
  .postid-71882.woocommerce div.product div.images,
  .postid-71885.woocommerce div.product div.images,
  .postid-71886.woocommerce div.product div.images,
  .postid-71887.woocommerce div.product div.images,
  .postid-71888.woocommerce div.product div.images {
    position: relative;
    float: none !important;
    padding-top: 195px;
  }

  .postid-47615.woocommerce div.product div.summary,
  .postid-47616.woocommerce div.product div.summary,
  .postid-47618.woocommerce div.product div.summary,
  .postid-47619.woocommerce div.product div.summary,
  .postid-47620.woocommerce div.product div.summary,
  .postid-71881.woocommerce div.product div.summary,
  .postid-71882.woocommerce div.product div.summary,
  .postid-71885.woocommerce div.product div.summary,
  .postid-71886.woocommerce div.product div.summary,
  .postid-71887.woocommerce div.product div.summary,
  .postid-71888.woocommerce div.product div.summary {
    float: none !important;
    display: flex;
    flex-direction: column-reverse;
    width: 45%;
  }

  .postid-47615 .woocommerce-product-details__short-description ul li,
  .postid-47616 .woocommerce-product-details__short-description ul li,
  .postid-47618 .woocommerce-product-details__short-description ul li,
  .postid-47619 .woocommerce-product-details__short-description ul li,
  .postid-47620 .woocommerce-product-details__short-description ul li,
  .postid-71881 .woocommerce-product-details__short-description ul li,
  .postid-71882 .woocommerce-product-details__short-description ul li,
  .postid-71885 .woocommerce-product-details__short-description ul li,
  .postid-71886 .woocommerce-product-details__short-description ul li,
  .postid-71887 .woocommerce-product-details__short-description ul li,
  .postid-71888 .woocommerce-product-details__short-description ul li {
    font-size: 17px !important;
    font-weight: 400;
  }

  .postid-47615 .content-area,
  .postid-47616 .content-area,
  .postid-47618 .content-area,
  .postid-47619 .content-area,
  .postid-47620 .content-area,
  .postid-71881 .content-area,
  .postid-71882 .content-area,
  .postid-71885 .content-area,
  .postid-71886 .content-area,
  .postid-71887 .content-area,
  .postid-71888 .content-area {
    left: 0 !important;
    padding: 0px !important;
  }

  /* .postid-47615 form.cart,
  .postid-47616 form.cart,
  .postid-47618 form.cart,
  .postid-47619 form.cart,
  .postid-47620 form.cart,
  .postid-71881 form.cart,
  .postid-71882 form.cart,
  .postid-71885 form.cart,
  .postid-71886 form.cart,
  .postid-71887 form.cart,
  .postid-71888 form.cart {
    position: absolute;
    width: 42%;
    right: 61px;
    top: 0px;
    bottom: 0;
    border-left: 1px solid #eaeaea !important;
    padding-left: 57px !important;
    padding-top: 150px !important;
  } */

  .postid-47615 .woocommerce-product-gallery__wrapper,
  .postid-47616 .woocommerce-product-gallery__wrapper,
  .postid-47618 .woocommerce-product-gallery__wrapper,
  .postid-47619 .woocommerce-product-gallery__wrapper,
  .postid-47620 .woocommerce-product-gallery__wrapper,
  .postid-71881 .woocommerce-product-gallery__wrapper,
  .postid-71882 .woocommerce-product-gallery__wrapper,
  .postid-71885 .woocommerce-product-gallery__wrapper,
  .postid-71886 .woocommerce-product-gallery__wrapper,
  .postid-71887 .woocommerce-product-gallery__wrapper,
  .postid-71888 .woocommerce-product-gallery__wrapper {
    margin-right: 0px !important;
  }

  .postid-47615 div.product div.woocommerce-product-details__short-description,
  .postid-47616 div.product div.woocommerce-product-details__short-description,
  .postid-47618 div.product div.woocommerce-product-details__short-description,
  .postid-47619 div.product div.woocommerce-product-details__short-description,
  .postid-47620 div.product div.woocommerce-product-details__short-description,
  .postid-71881 div.product div.woocommerce-product-details__short-description,
  .postid-71882 div.product div.woocommerce-product-details__short-description,
  .postid-71885 div.product div.woocommerce-product-details__short-description,
  .postid-71886 div.product div.woocommerce-product-details__short-description,
  .postid-71887 div.product div.woocommerce-product-details__short-description,
  .postid-71888 div.product div.woocommerce-product-details__short-description {
    margin-top: 15px !important;
  }
}

.postid-47615 div.product .product_title,
.postid-47616 div.product .product_title,
.postid-47618 div.product .product_title,
.postid-47619 div.product .product_title,
.postid-47620 div.product .product_title,
.postid-71881 div.product .product_title,
.postid-71882 div.product .product_title,
.postid-71885 div.product .product_title,
.postid-71886 div.product .product_title,
.postid-71887 div.product .product_title,
.postid-71888 div.product .product_title {
  position: absolute;
  top: 0px;
  font-family: "Montserrat", Sans-serif;
  font-size: 37px !important;
  font-weight: 700 !important;
  line-height: 41px !important;
  letter-spacing: 0px;
  color: #004;
  width: 45%;
  border-bottom: none !important;
}

.postid-47615 div.product div.summary button.single_add_to_cart_button,
.postid-47616 div.product div.summary button.single_add_to_cart_button,
.postid-47618 div.product div.summary button.single_add_to_cart_button,
.postid-47619 div.product div.summary button.single_add_to_cart_button,
.postid-47620 div.product div.summary button.single_add_to_cart_button,
.postid-71881 div.product div.summary button.single_add_to_cart_button,
.postid-71882 div.product div.summary button.single_add_to_cart_button,
.postid-71885 div.product div.summary button.single_add_to_cart_button,
.postid-71886 div.product div.summary button.single_add_to_cart_button,
.postid-71887 div.product div.summary button.single_add_to_cart_button,
.postid-71888 div.product div.summary button.single_add_to_cart_button {
  background-color: #ff076b !important;
  border-radius: 11px;
  padding: 13px 29px;
  color: #fff;
}

@media only screen and (min-width: 960px) {
  body.postid-47615.single-product.content-both-sidebars .content-area,
  body.postid-47616.single-product.content-both-sidebars .content-area,
  body.postid-47618.single-product.content-both-sidebars .content-area,
  body.postid-47619.single-product.content-both-sidebars .content-area,
  body.postid-47620.single-product.content-both-sidebars .content-area,
  body.postid-71881.single-product.content-both-sidebars .content-area,
  body.postid-71882.single-product.content-both-sidebars .content-area,
  body.postid-71885.single-product.content-both-sidebars .content-area,
  body.postid-71886.single-product.content-both-sidebars .content-area,
  body.postid-71887.single-product.content-both-sidebars .content-area,
  body.postid-71888.single-product.content-both-sidebars .content-area {
    width: 100%;
  }
  body.postid-47615.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47616.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47618.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47619.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-47620.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71881.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71882.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71885.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71886.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71887.single-product.content-both-sidebars.scs-style .content-area,
  body.postid-71888.single-product.content-both-sidebars.scs-style .content-area {
    left: 0% !important;
  }
}

@media only screen and (max-width: 960px) {
  .postid-47615 .site-main .container,
  .postid-47616 .site-main .container,
  .postid-47618 .site-main .container,
  .postid-47619 .site-main .container,
  .postid-47620 .site-main .container,
  .postid-71881 .site-main .container,
  .postid-71882 .site-main .container,
  .postid-71885 .site-main .container,
  .postid-71886 .site-main .container,
  .postid-71887 .site-main .container,
  .postid-71888 .site-main .container {
    padding: 0px 15px;
  }

  .postid-47615 div.product .product_title,
  .postid-47616 div.product .product_title,
  .postid-47618 div.product .product_title,
  .postid-47619 div.product .product_title,
  .postid-47620 div.product .product_title,
  .postid-71881 div.product .product_title,
  .postid-71882 div.product .product_title,
  .postid-71885 div.product .product_title,
  .postid-71886 div.product .product_title,
  .postid-71887 div.product .product_title,
  .postid-71888 div.product .product_title {
    width: 100%;
  }

  .woocommerce div.product div.images {
    padding-top: 130px;
  }
}

@media only screen and (max-width: 767px) {
  .postid-47615 div.product .product_title,
  .postid-47616 div.product .product_title,
  .postid-47618 div.product .product_title,
  .postid-47619 div.product .product_title,
  .postid-47620 div.product .product_title,
  .postid-71881 div.product .product_title,
  .postid-71882 div.product .product_title,
  .postid-71885 div.product .product_title,
  .postid-71886 div.product .product_title,
  .postid-71887 div.product .product_title,
  .postid-71888 div.product .product_title {
    font-size: 22px !important;
  }

  .postid-47615 div.product div.summary,
  .postid-47616 div.product div.summary,
  .postid-47618 div.product div.summary,
  .postid-47619 div.product div.summary,
  .postid-47620 div.product div.summary,
  .postid-71881 div.product div.summary,
  .postid-71882 div.product div.summary,
  .postid-71885 div.product div.summary,
  .postid-71886 div.product div.summary,
  .postid-71887 div.product div.summary,
  .postid-71888 div.product div.summary {
    padding-top: 46px;
  }

  .woocommerce-product-gallery__wrapper {
    margin-right: 0px !important;
  }
}


/* ========================================================
   SA Lesson Product Template — Custom Layout
   Used by single-product-lesson.php
   ======================================================== */

.sa-lesson-wrap {
    --navy:  #000040;
    --blue:  #00AEFF;
    --pink:  #FF076B;
    --yellow:#FFCC00;
    --green: #34A954;
    --ink:   #0f1437;
    --dim:   #6b7390;
    --line:  #e6e8f0;
    --mont:  'Montserrat', Arial Black, sans-serif;
    --rob:   'Roboto', Arial, sans-serif;
    background: #f5f7fb;
    font-family: var(--rob);
    color: var(--ink);
    line-height: 1.6;
}
.sa-lesson-wrap * { box-sizing: border-box; }

.sa-lesson-page {
    max-width: 1140px;
    margin: 0 auto;
    padding: 48px 40px 80px;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    align-items: start;
}

/* ── Left: Summary ── */
.sa-course-tag {
    display: inline-flex; align-items: center; gap: 6px;
    font-family: var(--mont); font-weight: 700; font-size: 10px;
    letter-spacing: 0.8px; text-transform: uppercase;
    color: var(--blue); background: rgba(0,174,255,0.1);
    padding: 4px 10px; margin-bottom: 14px;
}

.sa-course-title {
    font-family: var(--mont); font-weight: 900;
    font-size: 30px; color: var(--navy); letter-spacing: -0.5px;
    line-height: 1.1; margin-bottom: 18px;
}

.sa-featured-image {
    width: 100%; margin-bottom: 24px; border: 1.5px solid var(--line);
}
.sa-featured-image img {
    width: 100%; height: auto; display: block;
}

.sa-offer-pill {
    display: inline-flex; align-items: center; gap: 0;
    background: var(--navy); margin-bottom: 28px; overflow: hidden;
}
.sa-offer-pill-label {
    padding: 10px 14px; font-family: var(--mont); font-weight: 700;
    font-size: 11px; color: rgba(255,255,255,0.6); letter-spacing: 0.5px; text-transform: uppercase;
}
.sa-offer-pill-val {
    padding: 10px 16px; background: var(--pink);
    font-family: var(--mont); font-weight: 900; font-size: 14px; color: #fff;
}

.sa-short-desc {display: none; font-size: 14px; color: var(--dim); margin-bottom: 24px; line-height: 1.7; }

/* Camp rows */
.sa-camps { display: flex; flex-direction: column; gap: 8px; margin-bottom: 28px; }
.sa-camp-row {
    background: #fff; border: 1.5px solid var(--line);
    padding: 16px 18px; display: flex; align-items: center; gap: 16px;
}
.sa-camp-num {
    width: 36px; height: 36px; background: var(--navy); color: var(--blue);
    font-family: var(--mont); font-weight: 900; font-size: 13px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.sa-camp-info { flex: 1; }
.sa-camp-name { font-family: var(--mont); font-weight: 700; font-size: 14px; color: var(--navy); }
.sa-camp-dates { font-size: 12px; color: var(--dim); margin-top: 1px; }
.sa-camp-price { font-family: var(--mont); font-weight: 900; font-size: 16px; color: var(--ink); text-align: right; }

/* Price breakdown */
.sa-price-breakdown {
    background: #fff; border: 1.5px solid var(--line); padding: 20px 18px;
    margin-bottom: 28px;
}
.sa-pb-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; color: var(--dim); border-bottom: 1px solid var(--line); }
.sa-pb-row:last-child { border-bottom: none; }
.sa-pb-row.sa-total { padding-top: 14px; }
.sa-pb-row.sa-total .sa-pb-label { font-family: var(--mont); font-weight: 900; font-size: 13px; color: var(--navy); }
.sa-pb-row.sa-total .sa-pb-val { font-family: var(--mont); font-weight: 900; font-size: 20px; color: var(--navy); }
.sa-pb-row.sa-saving .sa-pb-val { color: var(--pink); font-weight: 700; }

/* Trust signals */
.sa-trust-list { display: flex; flex-direction: column; gap: 0; }
.sa-trust-item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 0; border-bottom: 1px solid var(--line);
    font-size: 13px; color: var(--dim);
}
.sa-trust-item:last-child { border-bottom: none; }
.sa-ti-dot { width: 22px; height: 22px; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; font-weight: 700; }
.sa-trust-item strong { color: var(--ink); }

/* ── Right: Booking form ── */
.sa-booking {
    position: sticky; top: 24px;
    background: #fff; border: 1.5px solid var(--line);
    box-shadow: 0 4px 24px rgba(0,0,64,0.07);
}
.sa-booking-top {
    background: var(--navy); padding: 22px 22px 18px;
}
.sa-booking-price-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 4px; }
.sa-booking-price {
    font-family: var(--mont); font-weight: 900; font-size: 36px;
    color: #fff; letter-spacing: -1px; line-height: 1;
}
.sa-booking-price-label { font-size: 13px; color: rgba(255,255,255,0.55); }
.sa-booking-sub { font-size: 12px; color: rgba(255,255,255,0.5); line-height: 1.5; }

.sa-booking-body { padding: 22px; }

.sa-booking-body .sa-field { margin-bottom: 16px; }
.sa-booking-body .sa-field label {
    display: block; font-family: var(--mont); font-weight: 700;
    font-size: 10px; color: var(--navy); letter-spacing: 0.6px;
    text-transform: uppercase; margin-bottom: 6px;
}
.sa-booking-body .sa-field select,
.sa-booking-body .sa-field input[type=text],
.sa-booking-body .sa-field input[type=date] {
    width: 100%; padding: 11px 13px;
    border: 1.5px solid var(--line); color: var(--ink);
    font-family: var(--rob); font-size: 14px; background: #fff;
    transition: border-color 0.15s; appearance: none;
    border-radius: 0;
}
.sa-booking-body .sa-field select:focus,
.sa-booking-body .sa-field input:focus { outline: none; border-color: var(--navy); }
.sa-booking-body .sa-field select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000040' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 13px center;
}

.sa-booking-divider { height: 1px; background: var(--line); margin: 18px 0; }

/* WC add to cart button override */
.sa-booking-body .single_add_to_cart_button,
.sa-booking-body button.btn-book {
    display: block; width: 100%;
    background: var(--pink) !important; color: #fff !important;
    font-family: var(--mont); font-weight: 900; font-size: 15px;
    padding: 17px; text-align: center; letter-spacing: 0.5px;
    border: none; cursor: pointer; transition: opacity 0.15s;
    border-radius: 0;
}
.sa-booking-body .single_add_to_cart_button:hover { opacity: 0.9; }

/* Hide default WC quantity */
.sa-booking-body .quantity { display: none !important; }

/* Payment schedule message */
.sa-booking-body #payment-schedule-message {
    font-size: 12px; color: var(--dim); line-height: 1.5; margin-top: 12px;
    font-weight: 400 !important;
}

.sa-booking-micro {
    margin-top: 14px; display: flex; flex-direction: column; gap: 7px;
}
.sa-micro-item { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--dim); }
.sa-micro-dot { width: 16px; height: 16px; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 700; flex-shrink: 0; }

.sa-ncfe-strip {
    margin-top: 16px; padding: 12px 14px;
    background: #f5f7fb; border-top: 1px solid var(--line);
    display: flex; align-items: center; gap: 12px;
}
.sa-ncfe-circle {
    width: 40px; height: 40px; background: var(--yellow); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--mont); font-weight: 900; font-size: 8px; color: var(--navy);
    text-align: center; line-height: 1.3; letter-spacing: 0.3px; flex-shrink: 0;
}
.sa-ncfe-text { font-size: 11px; color: var(--dim); line-height: 1.5; }
.sa-ncfe-text strong { color: var(--navy); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .sa-lesson-page {
        grid-template-columns: 1fr;
        padding: 24px 20px 60px;
        gap: 28px;
    }
    .sa-booking { order: -1; position: static; }
    .sa-course-title { font-size: 24px; }
    .sa-camp-row { padding: 14px 16px; }
    .sa-price-breakdown { padding: 16px; }
}
@media (max-width: 480px) {
    .sa-offer-pill { flex-wrap: wrap; }
    .sa-booking-price { font-size: 30px; }
}

/* Camp card placeholder state (before user selects) */
.sa-camp-row.sa-camp-placeholder { opacity: 0.45; }
.sa-camp-row.sa-camp-placeholder .sa-camp-name-val { font-style: italic; }

/* Struck-through original price in booking header */
.sa-booking-price-struck {
    font-family: var(--mont); font-weight: 700; font-size: 18px;
    color: rgba(255,255,255,0.4); text-decoration: line-through;
    text-decoration-color: var(--pink); text-decoration-thickness: 2px;
    margin-right: 2px;
}

/* Price hero — under featured image */
.sa-price-hero {
    display: flex; align-items: baseline; gap: 10px;
    margin-bottom: 18px; flex-wrap: wrap;
}
.sa-price-hero-struck {
    font-family: var(--mont); font-weight: 700; font-size: 22px;
    color: var(--dim); text-decoration: line-through;
    text-decoration-color: var(--pink); text-decoration-thickness: 2px;
}
.sa-price-hero-now {
    font-family: var(--mont); font-weight: 900; font-size: 36px;
    color: var(--navy); letter-spacing: -1px; line-height: 1;
}
.sa-price-hero-formula {
    font-family: var(--mont); font-weight: 700; font-size: 16px;
    color: var(--dim);
}

/* Was price (struck through) in price breakdown */
.sa-pb-was {
    text-decoration: line-through;
    text-decoration-color: var(--pink);
    text-decoration-thickness: 1.5px;
    color: #b0b5c8;
    font-weight: 400;
    margin-right: 6px;
    font-size: 12px;
}
.sa-pb-row.sa-saving .sa-pb-val { color: var(--pink); font-weight: 700; }
.sa-pb-row.sa-total .sa-pb-was { font-size: 14px; }
