/*
Checkout upsell
*/
.wfocu_offer-template * {
   font-family: 'Work Sans', sans-serif !important;
}

.logo-section-upsell figure {
   margin-top: 5px;
}

.wfocu_offer-template h2.green-heading {
   font-size: 16px;
   line-height: 1.4;
   font-weight: 400;
}

.wfocu_offer-template h2.main-heading {
   font-size: 24px;
   font-weight: 400;
}

body.wfocu_offer-template .bwf-countdown-outer {
   justify-content: center;
   margin-bottom: 15px;
}

body .bwf-countdown-inner-wrap .bwf-digit-card .bwf-timer-digit {
   color: #000;
   font-size: 50px;
   line-height: 1;
   word-break: keep-all;
}

.wfocu_offer-template .wfocu_variable_price_regular bdi {
   font-weight: 400;
   color: #000000;
   font-size: 16px;
   text-decoration: line-through;

}

.wfocu_offer-template .wfocu_variable_price_sale bdi {
   font-weight: 600;
   color: #dc143c;
}

.wfocu_offer-template h2.saving-heading {
   font-size: 28px;
   color: #5BA238;
}

.wfocu-product-attr-wrapper .variations {
   margin-left: auto;
   margin-right: auto;
}

.wfocu_skip_offer {
   color: white !important;
   background: #000 !important;
   font-size: 16px !important;
   padding: 10px !important;
   transition: all 0.3s;
}

.wfocu_skip_offer:hover {
   color: #000 !important;
   background: white !important;
}

body .bwf-btn-wrap.wfocu-accept-button .bwf-btn {
   transition: all 0.3s;
   max-width: 100%;
}

body .bwf-btn-wrap.wfocu-accept-button .bwf-btn:hover {
   background: #000 !important;
   color: white !important;
}

.logo-section-upsell p {
   font-size: 14px !important;
   font-weight: 400 !important;
}

.flickity-prev-next-button.previous,
.flickity-prev-next-button.next {
   display: none !important;
}

.wfocu-product-carousel-nav .wfocu-thumb-col {
   padding: 3px;
}

.wfocu-product-thumbnails img {
   margin-bottom: 0;
}

.wfocu-product-carousel-nav {
   margin-bottom: 20px;
}

.wfocu-product-thumbnails .is-selected a img {
   -ms-transform: translateY(0);
   transform: translateY(0);
}

.wfocu-product-gallery {
   margin-bottom: 5px;
}

.grecaptcha-badge {
   display: none !important;
}

body .bwf-icon-wrap {
   display: flex;
   flex-wrap: nowrap;
   margin-left: 5px;
}

body .bwf-section-wrap.bwf-section-ed2423a1>.bwf-col {
   gap: 7px;
}

/*Responsive*/
@media (max-width: 767px) {
   body .bwf-icon-wrap {
      margin-left: 0px;
   }

   .wfocu_offer-template h2.main-heading {
      font-size: 18px;
      font-weight: 400;
   }

   .logo-section-upsell .logo img {
      max-width: 150px;
   }

   .text-review-wrapper .bwf-col {
      display: flex;
      flex-direction: column;
      justify-content: center;
   }

   .text-review-wrapper .col-rating-wrap {
      order: -1;
      margin-bottom: 6px !important;
   }

   .logo-section-upsell p {
      font-size: 14px !important;
      text-align: center !important;
      font-weight: 400 !important;
      padding: 0px 15px !important;
   }

   body .bwf-icon-wrap.bwf-icon-89cdf39c .bwf--icon svg {
      width: 15px !important;
      height: 15px !important;
   }

   .wfocu_offer-template .text-review-wrapper {
      padding-bottom: 0px !important;
   }

   body .bwf-btn-wrap.wfocu-accept-button .bwf-btn {
      margin-top: 0;
   }
}

/*
Checkout popup upsell
*/
.dt-checkout-upsell-overlay {
   background: rgba(24, 20, 16, 0.58);
   backdrop-filter: blur(6px);
   -webkit-backdrop-filter: blur(6px);
   z-index: 10020;
   padding: 24px;
}

.dt-checkout-upsell-container {
   width: min(920px, 100%);
   max-height: calc(100vh - 48px);
   padding: 0;
   overflow: hidden;
   border-radius: 14px;
   background: #ffffff;
   box-shadow: 0 30px 80px rgba(24, 17, 10, 0.35);
   position: relative;
}

.dt-checkout-upsell-close {
   position: absolute;
   top: 14px;
   right: 14px;
   width: 36px;
   height: 36px;
   border: 1px solid rgba(20, 19, 17, 0.08);
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.94);
   color: #141311;
   z-index: 5;
   cursor: pointer;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
   transition: background 0.18s ease;
}

.dt-checkout-upsell-close:hover {
   background: #ffffff;
}

.dt-checkout-upsell-content {
   margin: 0;
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(380px, 430px);
   min-height: 540px;
   color: #1c1a17;
}

.dt-checkout-upsell-media {
   min-width: 0;
   background: #f3eee7;
}

.dt-checkout-upsell-gallery,
.dt-checkout-upsell-gallery .swiper-wrapper,
.dt-checkout-upsell-gallery .swiper-slide {
   height: 100%;
}

.dt-checkout-upsell-gallery .swiper-slide {
   display: flex;
   align-items: center;
   justify-content: center;
}

.dt-checkout-upsell-gallery img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.dt-checkout-upsell-gallery__pagination.swiper-pagination {
   bottom: 14px;
}

.dt-checkout-upsell-gallery__pagination .swiper-pagination-bullet {
   width: 7px;
   height: 7px;
   background: rgba(255, 255, 255, 0.85);
   opacity: 1;
}

.dt-checkout-upsell-gallery__pagination .swiper-pagination-bullet-active {
   background: #141311;
}

.dt-checkout-upsell-body {
   padding: 42px 38px 26px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   gap: 15px;
   background: #ffffff;
}

/* Meta row: quiet kicker + soft urgency pill */
.dt-checkout-upsell-meta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 8px 12px;
}

.dt-checkout-upsell-badge {
   display: inline-flex;
   align-items: center;
   color: #dc143c;
   font-size: 16px;
   font-weight: 800;
   letter-spacing: 0;
   text-transform: uppercase;
}

.dt-checkout-upsell-countdown {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   gap: 12px;
   padding: 4px 8px;
   border: 1px solid #a5d6a7;
   border-radius: 0px;
   background: #f0f8e9;
   color: #26692a;
   font-size: 12px;
   font-weight: 700;
   white-space: nowrap;
   text-transform: uppercase;
   margin-top: -6px;
}

.dt-checkout-upsell-countdown span {
   font-weight: 700;
}

.dt-checkout-upsell-countdown strong {
   color: #26692a;
   font-size: 21px;
   font-weight: 800;
   line-height: 1;
   letter-spacing: 0;
   font-variant-numeric: tabular-nums;
}

.dt-checkout-upsell-title {
   margin: 0;
   color: #141311;
   font-size: 27px;
   line-height: 1.16;
   letter-spacing: -0.01em;
   font-weight: 600;
}

/* Price anchor: offer price + struck regular + savings chip */
.dt-checkout-upsell-pricing {
   display: flex;
   align-items: baseline;
   flex-wrap: wrap;
   gap: 10px;
   margin-top: -11px;
}

.dt-checkout-upsell-price,
.dt-checkout-upsell-price .woocommerce-Price-amount,
.dt-checkout-upsell-price bdi {
   color: #dc143c;
   font-size: 26px;
   font-weight: 800;
   line-height: 1;
   white-space: nowrap;
}

.dt-checkout-upsell-price-regular,
.dt-checkout-upsell-price-regular .woocommerce-Price-amount,
.dt-checkout-upsell-price-regular bdi {
   color: #9a9086;
   font-size: 16px;
   font-weight: 500;
   line-height: 1;
   white-space: nowrap;
}

.dt-checkout-upsell-price-regular {
   text-decoration: line-through;
   text-decoration-color: #9a9086;
}

.dt-checkout-upsell-save-chip {
   align-self: center;
   padding: 4px 8px;
   border-radius: 5px;
   background: #dc143c;
   color: #fff;
   font-size: 12px;
   font-weight: 800;
   letter-spacing: 0;
   line-height: 1;
}

.dt-checkout-upsell-gift {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 7px 8px;
   border: 1px solid rgba(220, 20, 60, 0.18);
   border-radius: 10px;
   background: #fff7f8;
}

.dt-checkout-upsell-gift__icon {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 34px;
   height: 34px;
   flex: 0 0 34px;
   border-radius: 50%;
   background: #dc143c;
   color: #ffffff;
   font-size: 17px;
   line-height: 1;
}

.dt-checkout-upsell-gift__text {
   display: flex;
   flex-direction: column;
   gap: 2px;
   color: #302b27;
   font-size: 13px;
   line-height: 1.35;
}

.dt-checkout-upsell-gift__text strong {
   font-size: 14px;
   font-weight: 800;
}

.dt-checkout-upsell-subtitle {
   margin: 0;
   color: #000000;
   font-size: 15px;
   line-height: 1.55;
}

.dt-checkout-upsell-variations {
   display: flex;
   flex-direction: column;
   gap: 9px;
}

.dt-checkout-upsell-variation-label {
   color: #000;
   font-size: 14px;
   font-weight: 700;
   letter-spacing: 0.02em;
   text-transform: uppercase;
   margin-bottom: -7px;
}

.dt-checkout-upsell-size-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
   gap: 8px;
}

.dt-checkout-upsell-size {
   min-height: 44px;
   padding: 8px 10px;
   border: 1px solid #ddd2c5;
   border-radius: 8px;
   background: #ffffff;
   color: #141311;
   font-size: 14px;
   font-weight: 700;
   cursor: pointer;
   transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.dt-checkout-upsell-size:hover,
.dt-checkout-upsell-size.is-selected {
   border-color: #141311;
   background: #141311;
   color: #ffffff;
}

.dt-checkout-upsell-size:disabled {
   cursor: not-allowed;
   opacity: 0.4;
}

/* Benefits: icon chips inside hairline dividers */
.dt-checkout-upsell-benefits {
   margin: 0;
   padding: 15px 0;
   list-style: none;
   display: grid;
   grid-template-columns: repeat(1, minmax(0, 1fr));
   gap: 12px 16px;
   border-top: 1px solid #ece2d4;
   border-bottom: 1px solid #ece2d4;
}

.dt-checkout-upsell-benefits li {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 0;
   color: #33302b;
   font-size: 13px;
   line-height: 1.1;
   font-weight: 600;
}

.dt-checkout-upsell-benefits li::before {
   content: none;
}

.dt-checkout-upsell-benefit-icon {
   flex: 0 0 auto;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 34px;
   height: 34px;
   border-radius: 50%;
   background: #f3ebe0;
   color: #5c4f42;
}

.dt-checkout-upsell-benefit-icon svg {
   width: 17px;
   height: 17px;
   fill: none;
   stroke: currentColor;
   stroke-width: 1.7;
   stroke-linecap: round;
   stroke-linejoin: round;
}

/* Action group (sticky on mobile) */
.dt-checkout-upsell-actions {
   display: flex;
   flex-direction: column;
   gap: 7px;
}

.dt-checkout-upsell-cta {
   width: 100%;
   min-height: 54px;
   border: 1px solid #dc143c;
   border-radius: 8px;
   background: #dc143c;
   color: #ffffff;
   font-size: 16px;
   font-weight: 700;
   letter-spacing: 0;
   cursor: pointer;
   transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.dt-checkout-upsell-cta:hover:not(:disabled):not(.is-disabled) {
   border-color: #b90f31;
   background: #b90f31;
   color: #ffffff;
}

.dt-checkout-upsell-cta:disabled,
.dt-checkout-upsell-cta.is-disabled {
   cursor: not-allowed;
   opacity: 0.55;
}

.dt-checkout-upsell-cta.is-success {
   border-color: #2f6f54;
   background: #2f6f54;
   color: #ffffff;
   opacity: 1;
}

.dt-checkout-upsell-secondary {
   align-self: center;
   padding: 6px 14px;
   border: 0;
   background: transparent;
   color: #FFF;
   font-size: 13px;
   font-weight: 600;
   text-decoration: underline;
   text-underline-offset: 3px;
   cursor: pointer;
   background: black;
   width: 100%;
   border-radius: 8px;
}

.dt-checkout-upsell-secondary:hover {
   color: #141311;
}

.dt-checkout-upsell-status {
   min-height: 18px;
   margin: -2px 0 0;
   color: #2f6f54;
   font-size: 13px;
   font-weight: 700;
   text-align: center;
}

.dt-checkout-upsell-status.is-error {
   color: #dc143c;
}

.dt-checkout-upsell-footer {
   margin: -4px 0 0;
   color: #8b8177;
   font-size: 12.5px;
   line-height: 1.4;
   text-align: center;
}

.dt-checkout-upsell-cta:focus-visible,
.dt-checkout-upsell-size:focus-visible,
.dt-checkout-upsell-secondary:focus-visible,
.dt-checkout-upsell-close:focus-visible {
   outline: 2px solid #141311;
   outline-offset: 2px;
}

@media (min-width: 768px) {
   .dt-checkout-upsell-content {
      min-height: 0;
   }

   .dt-checkout-upsell-media {
      position: relative;
      min-height: 0;
      overflow: hidden;
   }

   .dt-checkout-upsell-gallery {
      position: absolute;
      inset: 0;
      height: 100%;
      max-height: 100%;
   }
}

/* Mobile: bottom sheet, capped image, sticky CTA */
@media (max-width: 767px) {
   .dt-checkout-upsell-overlay {
      align-items: flex-end;
      padding: 0;
   }

   .dt-checkout-upsell-container {
      width: 100%;
      max-height: calc(100vh - 28px);
      max-height: calc(100dvh - 28px);
      border-radius: 18px 18px 0 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
   }

   .dt-checkout-upsell-content {
      display: flex;
      flex-direction: column;
      min-height: 0;
   }

   .dt-checkout-upsell-media {
      height: auto;
   }

   .dt-checkout-upsell-gallery {
      height: auto;
      aspect-ratio: 1 / 0.85;
      max-height: 42vh;
   }

   .dt-checkout-upsell-body {
      padding: 18px 18px 0;
      gap: 12px;
      justify-content: flex-start;
   }

   .dt-checkout-upsell-title {
      font-size: 22px;
   }

   .dt-checkout-upsell-price,
   .dt-checkout-upsell-price .woocommerce-Price-amount,
   .dt-checkout-upsell-price bdi {
      font-size: 26px;
   }

   .dt-checkout-upsell-subtitle {
      font-size: 14px;
      line-height: 1.45;
   }

   .dt-checkout-upsell-size {
      min-height: 46px;
   }

   .dt-checkout-upsell-benefits {
      padding: 13px 0;
      gap: 4px 12px;
   }

   .dt-checkout-upsell-benefits li {
      font-size: 14px;
   }

   .dt-checkout-upsell-benefit-icon {
      width: 30px;
      height: 30px;
   }

   .dt-checkout-upsell-benefit-icon svg {
      width: 15px;
      height: 15px;
   }

   .dt-checkout-upsell-footer {
      margin: 0;
      font-size: 12px;
   }

   .dt-checkout-upsell-actions {
      order: 10;
      position: sticky;
      bottom: 0;
      z-index: 2;
      margin: 2px -18px 0;
      padding: 12px 18px calc(12px + env(safe-area-inset-bottom));
      background: linear-gradient(to top, #ffffff 78%, rgba(255, 255, 255, 0));
   }

   .dt-checkout-upsell-cta {
      min-height: 52px;
      font-size: 15px;
   }
}

@media (max-width: 360px) {
   .dt-checkout-upsell-title {
      font-size: 20px;
   }

   .dt-checkout-upsell-badge {
      font-size: 10px;
   }

   .dt-checkout-upsell-size-grid {
      grid-template-columns: repeat(auto-fit, minmax(48px, 1fr));
   }

   .dt-checkout-upsell-benefits {
      grid-template-columns: 1fr;
   }
}
