/* Freedom one-time-offer pages (upsell 3 and 4), matched to the live Freedom funnel. */
.gf-oto { background: #fff; color: #212529; font-family: Poppins, sans-serif; }
.gf-oto .upsell-header { background: #002f28; color: #fff !important; text-align: center; padding: 36px 16px 72px; }
.gf-oto .upsell-header__title,
.gf-oto .upsell-header__offer,
.gf-oto .upsell-header__suboffer,
.gf-oto .upsell-header__inner { color: #fff !important; }
.gf-oto .upsell-header__title { font-size: 34px; line-height: 1.2; font-weight: 700; }
.gf-oto .upsell-header__offer { margin-top: 8px; font-size: 28px; line-height: 1.25; font-weight: 700; }
.gf-oto .upsell-header__suboffer { margin-top: 8px; font-size: 22px; }
.gf-oto .gf-u1-off, .gf-oto .upsell-header__suboffer span { color: #ffa300; }
.gf-oto .section.upsell-box { margin-top: -48px; }
.gf-oto .upsell-container { background: #fff; border-radius: 8px; box-shadow: 0 8px 28px rgba(0,0,0,.08); padding: 24px; }
.gf-oto .upsell-offer__card { text-align: left; }
.gf-oto .display-lg { font-size: 28px; font-weight: 700; text-transform: none; letter-spacing: 0; }
.gf-oto .review_component-star img { width: 16px; height: 16px; display: block; }
.gf-oto .review_stars-wrapper { display: flex; gap: 4px; }
.gf-oto .review_component-wrapper { display: flex; align-items: center; gap: 8px; }
.gf-oto .prices-text-wrapper { display: flex; justify-content: center; border: 1px solid #e5e5e5; margin: 16px 0; }
.gf-oto .price-wrapper { flex: 1; text-align: center; padding: 16px; }
.gf-oto .price-wrapper + .price-wrapper { border-left: 1px solid #e5e5e5; }
.gf-oto .upsell-offer__price { font-size: 32px; font-weight: 700; }
.gf-oto .next-bundle-qty { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 12px 0; }
.gf-oto .next-bundle-qty__row { display: flex; gap: 8px; }
.gf-oto .next-bundle-qty__btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #ccc; display: flex; align-items: center; justify-content: center; cursor: pointer; background: #fff; }
.gf-oto .next-bundle-qty__btn.next-selected { background: #002f28; color: #fff; border-color: #002f28; }
.gf-oto .button.cc-xl { display: block; background: #ffdc32; color: #000; border: 1px solid #d4b000; border-radius: 8px; text-align: center; font-weight: 800; padding: 14px 18px; text-decoration: none; }
.gf-oto .upsell-decline, .gf-oto .decline, .gf-oto .cc-decline-wrapper { text-align: center; padding: 18px 24px 8px; }
.gf-oto .upsell-link.cc-decline { display: flex; justify-content: center; width: 100%; }
.gf-oto .gf-u1-gallery__main { width: 100%; height: auto; background: #f4f1ea; object-fit: contain; }
.gf-oto .gf-u1-gallery__thumbs { display: flex; gap: 8px; margin-top: 8px; }
.gf-oto .gf-u1-gallery__thumb { flex: 1; padding: 0; border: 1px solid transparent; background: #fff; cursor: pointer; }
.gf-oto .gf-u1-gallery__thumb.is-active { border-color: #000; }
.gf-oto .gf-u1-gallery__thumb img { width: 100%; height: 72px; object-fit: cover; display: block; }
@media (max-width: 767px) {
  .gf-oto .upsell-header { padding: 24px 16px 56px; }
  .gf-oto .upsell-header__title { font-size: 24px; }
  .gf-oto .upsell-header__offer { font-size: 20px; }
  .gf-oto .upsell-header__suboffer { font-size: 16px; }
  .gf-oto .decline, .gf-oto .upsell-decline { padding-left: 24px; padding-right: 24px; }
}
