/* ══════════════════════════════════════════
   PULMO BALANCE — MAIN STYLESHEET
   Theme: Premium Medical Wellness
   Primary: #0D3328 (Deep Forest Green)
   Jost Font — Same as Boostaro/TitanFlow
══════════════════════════════════════════ */

/* ── CSS VARIABLES ── */
:root {
  --primary:        #0D3328;
  --primary-mid:    #145240;
  --primary-light:  #1d7a5c;
  --primary-hover:  #0a2720;
  --gold:           #B8860B;
  --gold-light:     #f0c040;
  --accent-red:     #CC1B1B;
  --accent-green:   #1a7a3a;
  --text-dark:      #1a1a1a;
  --text-mid:       #333333;
  --text-light:     #666666;
  --bg-white:       #ffffff;
  --bg-light:       #f8faf9;
  --bg-green-light: #eef7f3;
  --border-green:   #c8e6da;
  --font-main:      'Jost', sans-serif;
}

/* ── RESET & BASE ── */
*, *::before, *::after { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior: smooth; font-size: 21px; }
body {
  font-family: var(--font-main);
  color: var(--text-dark);
  background: var(--bg-white);
  overflow-x: hidden;
  font-size: 1rem;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }

/* ── MOBIRISE DISPLAY CLASSES (Exact Match) ── */
.display-1 { font-size:4rem; font-weight:800; line-height:1.1; }
.display-2 { font-size:2.5rem; font-weight:700; line-height:1.2; }
.display-4 { font-size:1rem; font-weight:400; line-height:1.6; }
.display-5 { font-size:1.4rem; font-weight:500; line-height:1.5; }
.display-7 { font-size:1.1rem; font-weight:400; line-height:1.8; color:var(--text-mid); }
.mbr-section-title, .mbr-text, .mbr-fonts-style { font-family:var(--font-main); }
.align-center { text-align:center; }

/* ── COLOR HELPERS ── */
.text-primary-green { color:var(--primary); }
.text-accent-red { color:var(--accent-red); }
.text-mid { color:var(--text-mid); }
.link-green { color:var(--primary-light); text-decoration:underline; }
.link-green:hover { color:var(--primary); }

/* ── SCROLL PROGRESS BAR ── */
.scroll-progress {
  position:fixed; top:0; left:0; height:4px;
  background:linear-gradient(90deg,var(--primary-light),var(--gold-light));
  width:0%; z-index:99999;
  transition:width 0.1s linear;
}

/* ── COOKIE BANNER ── */
.cookie-banner {
  position:fixed; bottom:0; left:0; right:0;
  background:var(--primary);
  color:#fff; padding:14px 0;
  z-index:9998; display:none;
  box-shadow:0 -4px 20px rgba(0,0,0,0.2);
}
.cookie-text { font-size:0.9rem; }
.cookie-text a { color:var(--gold-light); text-decoration:underline; }
.btn-cookie-accept {
  background:var(--gold-light); color:var(--primary);
  border:none; padding:8px 20px; border-radius:20px;
  font-weight:700; font-size:0.9rem; cursor:pointer;
  white-space:nowrap;
}
.btn-cookie-accept:hover { background:#e0b030; }

/* ══ NAVBAR ══ */
.navbar-pulmo {
  background:#fff;
  border-bottom:3px solid var(--primary);
  padding:12px 0;
  z-index:9997;
  box-shadow:0 2px 20px rgba(0,0,0,0.1);
}
.brand-logo {
  font-size:1.8rem; font-weight:900;
  color:var(--primary); letter-spacing:2px;
  text-transform:uppercase; display:flex;
  align-items:center; gap:6px;
}
.brand-leaf { font-size:1.6rem; }
.brand-reg { font-size:1rem; vertical-align:super; }
.nav-link-item {
  color:var(--text-dark); font-weight:600;
  font-size:0.95rem; padding:6px 14px;
  transition:color 0.2s; border-radius:6px;
}
.nav-link-item:hover { color:var(--primary); }
.btn-nav-cta {
  background:var(--primary); color:#fff !important;
  border-radius:25px; padding:9px 22px;
  font-weight:700; font-size:0.95rem;
  white-space:nowrap;
  transition:all 0.3s;
}
.btn-nav-cta:hover { background:var(--primary-hover); color:#fff !important; }
.btn-nav-mobile {
  background:var(--primary); color:#fff;
  border-radius:20px; padding:8px 18px;
  font-weight:700; font-size:0.8rem;
  white-space:nowrap;
}

/* ══ OFFER STRIP ══ */
.offer-strip {
  background:linear-gradient(135deg,var(--primary),var(--primary-mid));
  color:#fff; text-align:center; padding:14px 20px;
}
.offer-strip .display-5 { color:#fff; }

.sub-banner {
  background:var(--bg-green-light);
  padding:12px 20px;
  border-bottom:1px solid var(--border-green);
  text-align:center;
}

/* ══ BUTTONS ══ */
.btn-cta-xl {
  background:linear-gradient(135deg,#f5c842,#e8a800);
  color:#1a1a1a !important;
  border:none; padding:20px 48px;
  font-size:1.4rem; font-weight:800;
  border-radius:50px; cursor:pointer;
  transition:all 0.3s ease;
  display:inline-block; text-align:center;
  box-shadow:0 8px 30px rgba(232,168,0,0.45);
  text-transform:uppercase; letter-spacing:1px;
  font-family:var(--font-main);
}
.btn-cta-xl:hover {
  background:linear-gradient(135deg,#e8a800,#cc8800);
  color:#111 !important;
  transform:translateY(-3px);
  box-shadow:0 14px 40px rgba(200,140,0,0.5);
}
.btn-cta-primary {
  background:linear-gradient(135deg,var(--primary-light),var(--primary));
  color:#fff !important; border:none;
  padding:16px 36px; font-size:1.2rem;
  font-weight:700; border-radius:50px;
  cursor:pointer; transition:all 0.3s ease;
  display:inline-block; text-align:center;
  box-shadow:0 6px 24px rgba(13,51,40,0.35);
  font-family:var(--font-main);
}
.btn-cta-primary:hover {
  background:linear-gradient(135deg,var(--primary),var(--primary-hover));
  color:#fff !important; transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(13,51,40,0.45);
}
.pulse-btn { animation:pulse 2.2s infinite; }
@keyframes pulse {
  0%,100% { box-shadow:0 8px 30px rgba(232,168,0,0.45); }
  50% { box-shadow:0 8px 50px rgba(232,168,0,0.75),0 0 0 12px rgba(232,168,0,0.1); }
}

/* ══ HERO ══ */
.hero-section {
  background:linear-gradient(180deg,#fff 0%,var(--bg-green-light) 100%);
  padding:60px 0 50px;
}
.hero-img {
  border-radius:20px;
  box-shadow:0 12px 50px rgba(13,51,40,0.15);
  max-width:420px; width:100%; margin:0 auto;
}
.hero-save-text { font-size:1.1rem; }
.hero-badge {
  display:inline-block;
  background:var(--accent-red); color:#fff;
  font-size:0.88rem; font-weight:700;
  padding:6px 18px; border-radius:20px;
  margin-bottom:16px; letter-spacing:1px;
  text-transform:uppercase;
}
.hero-headline {
  color:var(--text-dark);
  margin-bottom:16px;
}
.hero-desc { margin-bottom:16px; }
.hero-checklist {
  list-style:none; padding:0;
  margin:16px 0;
  text-align:left; display:inline-block;
}
.hero-checklist li {
  font-size:1.05rem; font-weight:500;
  color:var(--text-dark); padding:4px 0;
  font-family:var(--font-main);
}
.hero-price-box {
  background:var(--bg-green-light);
  border:2px solid var(--border-green);
  border-radius:16px; padding:18px 24px;
  margin:16px 0;
}
.price-was { font-size:1.1rem; color:#999; text-decoration:line-through; }
.price-now { font-size:2.4rem; font-weight:900; color:var(--accent-red); }
.price-guarantee { color:var(--accent-green); font-weight:700; font-size:1rem; }
.trust-badges-row {
  display:flex; flex-wrap:wrap;
  justify-content:center; gap:10px;
}
.trust-item {
  background:#fff; border:2px solid var(--border-green);
  border-radius:10px; padding:10px 14px;
  text-align:center; font-size:0.85rem;
  font-weight:700; color:var(--text-dark);
  min-width:105px;
}
.t-icon { font-size:1.5rem; display:block; margin-bottom:4px; }
.secure-row {
  display:flex; flex-wrap:wrap;
  justify-content:center; gap:14px;
}
.secure-item { font-size:0.88rem; color:var(--text-light); font-weight:500; }
.scroll-cue {
  text-align:center; margin-top:30px;
  animation:bounce 2s infinite;
}
.scroll-arrow { font-size:2rem; color:var(--primary-light); }
@keyframes bounce {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(10px); }
}

/* ══ SECTIONS ══ */
.section-default { padding:70px 0; background:var(--bg-white); }
.section-light { padding:70px 0; background:var(--bg-light); }
.section-green-light { padding:70px 0; background:var(--bg-green-light); }

.section-title {
  font-size:2.5rem; font-weight:800;
  text-align:center; color:var(--text-dark);
  margin-bottom:14px; font-family:var(--font-main);
  line-height:1.2;
}
.section-title span { color:var(--primary); }
.section-divider {
  width:80px; height:4px;
  background:linear-gradient(90deg,var(--primary),var(--primary-light));
  margin:0 auto 40px; border-radius:2px;
}

/* ══ BREADCRUMB ══ */
.breadcrumb-nav { margin-bottom:24px; }
.breadcrumb { background:transparent; padding:0; font-size:0.9rem; }
.breadcrumb-item a { color:var(--primary); }
.breadcrumb-item.active { color:var(--text-light); }

/* ══ REVIEWS ══ */
.review-card {
  background:#fff; border:1px solid var(--border-green);
  border-radius:20px; padding:28px 22px;
  height:100%; box-shadow:0 4px 20px rgba(13,51,40,0.08);
  transition:transform 0.3s,box-shadow 0.3s;
  text-align:center;
}
.review-card:hover {
  transform:translateY(-6px);
  box-shadow:0 14px 44px rgba(13,51,40,0.16);
}
.review-photo {
  width:80px; height:80px; border-radius:50%;
  object-fit:cover; border:3px solid var(--primary);
  margin:0 auto 14px;
}
.stars { color:#f5b800; font-size:1.4rem; margin-bottom:6px; }
.verified-tag { color:var(--accent-green); font-weight:700; font-size:0.9rem; margin-bottom:12px; }
.reviewer-name { font-size:1rem; color:var(--text-dark); margin-top:12px; }
.rating-aggregate {
  background:var(--bg-green-light);
  border-radius:16px; padding:20px 24px;
  display:inline-block; margin-top:16px;
}
.stars-large { font-size:2rem; color:#f5b800; display:block; margin-bottom:8px; }

/* ══ WHY CHOOSE ══ */
.badge-trust-card {
  text-align:center; padding:24px 16px;
  background:#fff; border-radius:16px;
  border:1px solid var(--border-green);
  box-shadow:0 2px 12px rgba(0,0,0,0.05);
  transition:transform 0.3s;
  height:100%;
}
.badge-trust-card:hover { transform:translateY(-5px); }
.badge-trust-card img {
  width:90px; height:90px; object-fit:contain;
  margin:0 auto 14px; border-radius:10px;
}

/* ══ WHAT IS ══ */
.what-is-img {
  max-width:380px; width:100%; border-radius:20px;
  box-shadow:0 8px 30px rgba(13,51,40,0.12);
  margin:0 auto;
}

/* ══ HOW IT WORKS ══ */
.pathway-card {
  background:#fff; border-left:5px solid var(--primary);
  border-radius:12px; padding:24px 24px 24px 20px;
  margin-bottom:20px;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
}
.pathway-num {
  background:var(--primary); color:#fff;
  width:38px; height:38px; border-radius:50%;
  display:inline-flex; align-items:center;
  justify-content:center; font-weight:800;
  font-size:1.1rem; flex-shrink:0;
  min-width:38px;
}

/* ══ BONUS SECTION ══ */
.bonus-section {
  background:#0a2720; padding:70px 0;
}
.bonus-card {
  background:rgba(255,255,255,0.06);
  border:2px solid var(--primary-light);
  border-radius:16px; padding:22px;
  margin-bottom:20px;
}
.bonus-title { font-size:1.25rem; font-weight:700; color:var(--gold-light); margin-bottom:8px; }
.bonus-rrp { font-size:1rem; color:#ccc; margin:0; }
.bonus-rrp strike { color:#888; }

/* ══ PRICING ══ */
.pricing-card {
  background:#fff; border:2px solid var(--border-green);
  border-radius:20px; padding:30px 22px;
  text-align:center; transition:all 0.3s;
  position:relative; height:100%;
  box-shadow:0 4px 20px rgba(0,0,0,0.07);
}
.pricing-card.pricing-popular {
  border:3px solid var(--primary);
  transform:scale(1.04);
  box-shadow:0 16px 50px rgba(13,51,40,0.2);
}
.badge-best-value {
  position:absolute; top:-14px; left:50%;
  transform:translateX(-50%);
  background:var(--accent-green); color:#fff;
  font-size:0.82rem; font-weight:700;
  padding:5px 20px; border-radius:20px;
  text-transform:uppercase; letter-spacing:1px;
  white-space:nowrap;
}
.badge-popular {
  position:absolute; top:-14px; left:50%;
  transform:translateX(-50%);
  background:var(--primary); color:#fff;
  font-size:0.82rem; font-weight:700;
  padding:5px 20px; border-radius:20px;
  text-transform:uppercase; letter-spacing:1px;
  white-space:nowrap;
}
.pricing-bottles { font-size:1.5rem; font-weight:800; color:var(--text-dark); margin-bottom:4px; }
.pricing-supply { font-size:0.9rem; color:var(--text-light); margin-bottom:12px; }
.pricing-img { max-height:160px; margin:14px auto; object-fit:contain; }
.pricing-was { font-size:1rem; color:#999; text-decoration:line-through; margin-bottom:4px; }
.pricing-now { font-size:3rem; font-weight:900; color:var(--accent-red); margin-bottom:4px; }
.pricing-per { font-size:1.2rem; font-weight:400; }
.pricing-total { font-size:1.1rem; color:var(--text-mid); margin-bottom:6px; }
.pricing-save { font-size:0.95rem; font-weight:700; color:var(--accent-green); margin-bottom:18px; }
.pricing-note { font-size:0.82rem; color:#999; margin-top:10px; }
.stock-warning-box {
  background:#fff3cd; border:2px solid #ffc107;
  border-radius:10px; padding:14px 20px;
  text-align:center; font-weight:700;
  color:#856404; margin-top:28px; font-size:1.05rem;
}
.warning-strip {
  background:var(--bg-green-light);
  border:2px solid var(--accent-red);
  border-radius:10px; padding:16px 22px;
  text-align:center; font-size:1.05rem;
  color:var(--text-dark);
}

/* ══ BENEFITS ══ */
.benefit-grid { display:flex; flex-direction:column; gap:20px; }
.benefit-card {
  display:flex; align-items:flex-start;
  gap:18px; background:#fff;
  border:1px solid var(--border-green);
  border-radius:14px; padding:22px;
  box-shadow:0 2px 12px rgba(0,0,0,0.05);
  transition:transform 0.3s,box-shadow 0.3s;
}
.benefit-card:hover {
  transform:translateY(-4px);
  box-shadow:0 8px 28px rgba(13,51,40,0.12);
}
.benefit-icon {
  width:52px; height:52px; flex-shrink:0;
  background:linear-gradient(135deg,var(--primary-light),var(--primary));
  border-radius:50%; display:flex;
  align-items:center; justify-content:center;
  font-size:1.5rem; color:#fff;
}
.benefit-body h4 { font-size:1.2rem; font-weight:700; margin-bottom:8px; color:var(--text-dark); }
.benefit-body p { font-size:1rem; color:var(--text-light); margin:0; line-height:1.8; }

/* ══ GUARANTEE ══ */
.guarantee-section { background:var(--bg-light); padding:70px 0; }
.guarantee-img {
  max-width:300px; width:100%; border-radius:16px;
  box-shadow:0 8px 30px rgba(0,0,0,0.1); margin:0 auto;
}

/* ══ INGREDIENTS ══ */
.ingredient-card {
  background:#fff; border:1px solid var(--border-green);
  border-radius:16px; padding:22px 20px;
  margin-bottom:18px;
  box-shadow:0 2px 12px rgba(0,0,0,0.05);
  transition:box-shadow 0.3s;
}
.ingredient-card:hover { box-shadow:0 8px 28px rgba(13,51,40,0.12); }
.ingr-img {
  width:80px; height:80px; object-fit:cover;
  border-radius:10px; border:2px solid var(--border-green);
  margin:0 auto;
}
.ingredient-name { font-size:1.2rem; font-weight:700; color:var(--primary); margin-bottom:10px; }
.ingredient-name a { color:var(--primary); text-decoration:underline; }
.ingredient-name a:hover { color:var(--primary-light); }

/* ══ FAQ ══ */
.accordion-pulmo .accordion-button {
  font-family:var(--font-main); font-size:1.1rem;
  font-weight:600; color:var(--text-dark);
  background:#fff; padding:18px 22px;
}
.accordion-pulmo .accordion-button:not(.collapsed) {
  color:var(--primary); background:var(--bg-green-light);
  box-shadow:none;
}
.accordion-pulmo .accordion-item {
  border:1px solid var(--border-green);
  border-radius:12px !important;
  margin-bottom:12px; overflow:hidden;
}
.accordion-pulmo .accordion-body {
  font-size:1.05rem; color:var(--text-mid);
  line-height:1.8; padding:16px 22px 22px;
}

/* ══ BUY NOW SECTION ══ */
.buy-now-section {
  background:linear-gradient(135deg,var(--primary),var(--primary-mid));
  padding:70px 0;
}
.buy-now-img {
  max-width:380px; width:100%;
  border-radius:20px;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
  margin:0 auto;
}

/* ══ FINAL CTA ══ */
.final-cta-section {
  background:linear-gradient(135deg,#0a1a14,#1a2e24);
  padding:80px 0;
}
.final-cta-img {
  max-width:500px; width:100%;
  border-radius:16px;
  border:2px solid var(--primary-light);
  margin:0 auto;
}

/* ══ COUNTDOWN ══ */
.countdown-wrapper { margin:20px 0; }
.countdown-label { font-size:1.1rem; color:#f0f0f0; font-weight:600; margin-bottom:10px; }
.countdown-timer {
  display:inline-flex; align-items:center;
  gap:8px; background:rgba(255,255,255,0.08);
  border:2px solid var(--primary-light);
  border-radius:16px; padding:16px 28px;
}
.countdown-unit { text-align:center; }
.countdown-unit span {
  display:block; font-size:2.5rem; font-weight:900;
  color:var(--gold-light); line-height:1;
  font-family:var(--font-main);
}
.countdown-unit small { font-size:0.75rem; color:#aaa; text-transform:uppercase; letter-spacing:1px; }
.countdown-sep { font-size:2.5rem; font-weight:900; color:var(--gold-light); }

/* ══ FOOTER ══ */
.footer-section {
  background:#071a13; color:#aaa;
  padding:44px 0 24px;
}
.footer-disclaimer {
  font-size:0.8rem; color:#555;
  line-height:1.7; margin-bottom:10px;
}
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.footer-links a { color:var(--primary-light); font-size:0.9rem; }
.footer-links a:hover { color:var(--gold-light); }
.footer-links span { color:#333; }
.footer-copy { font-size:0.85rem; color:#444; }
.footer-copy a { color:var(--primary-light); }

/* ══ STICKY MOBILE CTA ══ */
.sticky-mobile-bar {
  display:none;
  position:fixed; bottom:0; left:0; right:0;
  background:var(--primary); padding:14px 20px;
  text-align:center; z-index:9995;
  box-shadow:0 -4px 20px rgba(0,0,0,0.2);
}
.sticky-mobile-bar a {
  color:#fff; font-weight:800;
  font-size:1.05rem; display:block;
}

/* ══ SCROLL TOP ══ */
.scroll-top-btn {
  position:fixed; bottom:80px; right:20px;
  background:var(--primary); color:#fff;
  width:46px; height:46px; border-radius:50%;
  border:none; display:none; align-items:center;
  justify-content:center; font-size:1.2rem;
  cursor:pointer; z-index:9994;
  box-shadow:0 4px 16px rgba(13,51,40,0.4);
  transition:all 0.3s;
}
.scroll-top-btn:hover { background:var(--primary-hover); }

/* ══ EXIT POPUP ══ */
.exit-popup-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,0.75); z-index:99999;
  align-items:center; justify-content:center;
}
.exit-popup-box {
  background:#fff; border-radius:22px;
  padding:40px 32px; max-width:520px;
  width:92%; text-align:center; position:relative;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
.exit-close {
  position:absolute; top:14px; right:18px;
  font-size:1.6rem; cursor:pointer;
  color:#999; line-height:1;
}
.exit-title { font-size:1.7rem; font-weight:800; color:var(--accent-red); margin-bottom:12px; }
.exit-body { font-size:1.05rem; color:#333; margin-bottom:16px; }
.exit-offer-box {
  background:var(--bg-green-light);
  border-radius:12px; padding:14px;
  margin-bottom:20px; font-size:1.2rem;
  color:var(--primary); font-weight:600;
}
.exit-decline {
  font-size:0.85rem; color:#999;
  margin-top:12px; cursor:pointer;
}
.exit-decline:hover { text-decoration:underline; }

/* ══ PURCHASE POPUP ══ */
.purchase-popup {
  position:fixed; bottom:90px; left:16px;
  background:#fff; border:2px solid var(--primary);
  border-radius:14px; padding:14px 18px;
  max-width:290px;
  box-shadow:0 8px 30px rgba(0,0,0,0.15);
  z-index:9990; display:none;
  animation:slideLeft 0.4s ease;
}
@keyframes slideLeft {
  from { transform:translateX(-120%); opacity:0; }
  to { transform:translateX(0); opacity:1; }
}
.popup-name { font-weight:700; color:var(--primary); }

/* ══ RESPONSIVE ══ */
@media (max-width:1199px) {
  .display-2 { font-size:2.1rem; }
}
@media (max-width:991px) {
  .display-2 { font-size:1.9rem; }
  .display-5 { font-size:1.2rem; }
  .section-title { font-size:1.9rem; }
  .pricing-card.pricing-popular { transform:scale(1); margin-bottom:16px; }
  .btn-cta-xl { font-size:1.2rem; padding:16px 32px; }
}
@media (max-width:767px) {
  html { font-size:18px; }
  .display-2 { font-size:1.65rem; }
  .display-7 { font-size:1rem; }
  .section-default,
  .section-light,
  .section-green-light,
  .guarantee-section,
  .bonus-section { padding:50px 0; }
  .hero-section { padding:36px 0 40px; }
  .sticky-mobile-bar { display:block; }
  .price-now { font-size:2rem; }
  .countdown-unit span { font-size:2rem; }
  .btn-cta-xl { font-size:1.1rem; padding:15px 26px; }
  .brand-logo { font-size:1.4rem; }
}
@media (max-width:480px) {
  html { font-size:17px; }
  .display-2 { font-size:1.45rem; }
  .section-title { font-size:1.65rem; }
  .btn-cta-xl { font-size:1rem; padding:14px 22px; }
  .pricing-card { padding:22px 14px; }
  .pricing-now { font-size:2.5rem; }
  .trust-item { min-width:90px; font-size:0.8rem; }
  .hero-checklist li { font-size:0.95rem; }
}
