/* ============================================================
   sintra-pro.css — MELHORIAS PREMIUM ADITIVAS (SintraToursPortugal)
   Scoped com prefixo .stp-* para NÃO colidir com o style.css existente.
   Reversível: remover a injeção no middleware/pro.js desativa tudo.
   ============================================================ */

/* ---------- 1. SCROLL REVEAL ---------- */
.stp-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,.84,.44,1),transform .7s cubic-bezier(.16,.84,.44,1);will-change:opacity,transform}
.stp-reveal.stp-in{opacity:1;transform:none}
.stp-reveal:nth-child(2n){transition-delay:.06s}
.stp-reveal:nth-child(3n){transition-delay:.12s}
@media (prefers-reduced-motion:reduce){.stp-reveal{opacity:1;transform:none;transition:none}}

/* ---------- 2. TILT/LIFT nos cards existentes (aditivo, hover suave) ---------- */
.tour-card,.feature-card,.card,.swiper-slide{transition:transform .35s cubic-bezier(.16,.84,.44,1),box-shadow .35s ease}
.tour-card:hover,.feature-card:hover,.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px -18px rgba(0,0,0,.25)}
img{transition:transform .5s cubic-bezier(.16,.84,.44,1)}
.tour-card:hover img,.swiper-slide:hover img{transform:scale(1.05)}

/* ---------- 3. FOCUS-VISIBLE acessibilidade ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;border-radius:4px;
}

/* ---------- 4. GRADIENT TEXT nos títulos principais ---------- */
.hero h1,.hero h2,h1.stp-grad,h2.stp-grad{
  background:linear-gradient(100deg,var(--navy) 0%,var(--gold) 55%,var(--navy) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  background-size:200% auto;animation:stp-gradflow 8s linear infinite;
}
@keyframes stp-gradflow{to{background-position:200% center}}
@media (prefers-reduced-motion:reduce){.hero h1,.hero h2,h1.stp-grad,h2.stp-grad{animation:none}}

/* ---------- 5. STICKY MOBILE CTA ---------- */
.stp-cta-mobile{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0));
  background:linear-gradient(180deg,rgba(255,255,255,.92),#fff);box-shadow:0 -6px 22px -10px rgba(0,0,0,.3);
  transform:translateY(110%);transition:transform .4s cubic-bezier(.16,.84,.44,1)}
.stp-cta-mobile.stp-show{transform:none}
.stp-cta-mobile a{flex:1;text-align:center;padding:13px 10px;border-radius:10px;font-weight:700;font-size:14px;text-decoration:none;letter-spacing:.3px;transition:transform .15s ease,filter .15s ease}
.stp-cta-mobile a:active{transform:scale(.97)}
.stp-cta-mobile .stp-cta-call{background:var(--navy);color:#fff}
.stp-cta-mobile .stp-cta-book{background:linear-gradient(100deg,var(--gold),#d4a017);color:#fff;filter:saturate(1.05)}
.stp-cta-mobile .stp-cta-wa{background:#25d366;color:#fff}
@media (min-width:820px){.stp-cta-mobile{display:none}}

/* ---------- 6. TRUST BADGES STRIP ---------- */
.stp-trust{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;padding:14px 8px;margin:18px auto;max-width:980px}
.stp-trust .stp-tb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--navy);font-weight:600}
.stp-trust .stp-tb i{font-size:18px;color:var(--gold)}
@media (max-width:600px){.stp-trust{gap:10px}.stp-trust .stp-tb{font-size:11px}}

/* ---------- 7. BACK-TO-TOP ---------- */
#stp-backtop{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;z-index:9997;
  background:linear-gradient(135deg,var(--navy),var(--navy-soft));color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(20px) scale(.8);pointer-events:none;transition:opacity .3s,transform .3s;box-shadow:0 8px 20px -8px rgba(26,58,92,.6)}
#stp-backtop.stp-show{opacity:1;transform:none;pointer-events:auto}
#stp-backtop:hover{filter:brightness(1.1)}
@media (max-width:820px){#stp-backtop{bottom:78px}}

/* ---------- 8. SKELETON SHIMMER (loading) ---------- */
.stp-skel{position:relative;overflow:hidden;background:#e9e4d8;border-radius:8px}
.stp-skel::after{content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:stp-shimmer 1.4s infinite}
@keyframes stp-shimmer{100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.stp-skel::after{animation:none}}

/* ---------- 9. TOAST conversão ---------- */
#stp-toast-wrap{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.stp-toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;background:rgba(20,20,20,.92);color:#fff;font-size:13px;
  box-shadow:0 10px 30px -10px rgba(0,0,0,.5);opacity:0;transform:translateY(20px);transition:opacity .35s,transform .35s;max-width:90vw}
.stp-toast.stp-show{opacity:1;transform:none}
.stp-toast i{color:var(--gold)}
@media (max-width:820px){#stp-toast-wrap{bottom:76px}}

/* ---------- 10. BADGE "Mais reservado" nos tours ---------- */
.stp-badge-pop{position:absolute;top:10px;left:10px;z-index:5;background:linear-gradient(100deg,var(--gold),#d4a017);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 10px;border-radius:20px;text-transform:uppercase;box-shadow:0 4px 12px -4px rgba(184,134,11,.7)}
.stp-badge-new{position:absolute;top:10px;right:10px;z-index:5;background:var(--navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.4px;padding:5px 10px;border-radius:20px;text-transform:uppercase}

/* ---------- 11. CTA pulse subtil (urgência honesta) ---------- */
.stp-pulse{position:relative}
.stp-pulse::after{content:'';position:absolute;inset:0;border-radius:inherit;background:rgba(184,134,11,.35);opacity:0;z-index:-1;animation:stp-pulse 2.4s ease-out infinite}
@keyframes stp-pulse{0%{opacity:.5;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){.stp-pulse::after{animation:none}}

/* ---------- 12. SCROLLBAR premium (desktop) ---------- */
@media (pointer:fine){::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold),var(--navy));border-radius:6px;border:3px solid var(--cream-dark)}::-webkit-scrollbar-thumb:hover{filter:brightness(1.1)}}

/* ---------- 13. SELECTION + smooth scroll ---------- */
::selection{background:var(--gold);color:#fff}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* NOTE: a previous ".hero > *{z-index:1}" rule here flattened the hero's
   z-index layering (style.css sets bg:0, video:1, overlay:2, content:3) —
   forcing every child to z-index:1 let the fallback image (later in the DOM)
   stack ABOVE the YouTube video, hiding it on desktop. Removed 2026-07-20.
   The darkening gradient is already provided by .hero-video-overlay in
   style.css, so no replacement overlay is needed. */

/* ============================================================
   STYLE REFINEMENTS v2 — 2026-07-20 (professional polish, additive)
   Uses the Portuguese-Riviera design tokens from style.css :root.
   Visual-only: shadows, gradients, transitions, spacing micro-tweaks.
   ============================================================ */

/* ---- Buttons: richer, tactile, on-brand ---- */
.btn-primary, .nav-cta, .book-btn {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-soft) 100%);
  box-shadow: 0 10px 24px -12px rgba(15,61,46,0.55);
  letter-spacing: 0.3px;
  transition: transform 0.2s cubic-bezier(0.16,0.84,0.44,1), box-shadow 0.2s ease, filter 0.2s ease;
}
.btn-primary:hover, .nav-cta:hover, .book-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -14px rgba(15,61,46,0.6);
  filter: brightness(1.06);
}
.btn-primary:active, .nav-cta:active, .book-btn:active { transform: translateY(0); filter: brightness(0.97); }

.btn-secondary, .nav-cta-alt {
  border: 1.5px solid rgba(200,169,97,0.55);
  background: rgba(251,248,243,0.06);
  letter-spacing: 0.3px;
  transition: transform 0.2s cubic-bezier(0.16,0.84,0.44,1), border-color 0.2s ease, background 0.2s ease;
}
.btn-secondary:hover, .nav-cta-alt:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  background: rgba(200,169,97,0.12);
}

/* ---- Navbar: glassy blur once scrolled ---- */
.navbar.scrolled {
  background: rgba(251,248,243,0.82);
  backdrop-filter: saturate(1.4) blur(12px);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
  box-shadow: 0 6px 24px -16px rgba(15,61,46,0.35);
  border-bottom: 1px solid rgba(200,169,97,0.18);
}
.navbar { transition: background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease; }

/* ---- Hero badge & urgency: refined ---- */
.hero-badge {
  background: rgba(251,248,243,0.14);
  border: 1px solid rgba(200,169,97,0.4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 6px 20px -10px rgba(0,0,0,0.4);
}
.hero-urgency { background: rgba(15,61,46,0.42); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.hero-urgency .dot { box-shadow: 0 0 0 4px rgba(200,169,97,0.25); }

/* ---- Hero stats: glass cards ---- */
.hero-stat {
  background: rgba(251,248,243,0.1);
  border: 1px solid rgba(200,169,97,0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: var(--radius-md);
  transition: transform 0.3s ease, border-color 0.3s ease;
}
.hero-stat:hover { transform: translateY(-3px); border-color: rgba(200,169,97,0.5); }

/* ---- Tour / destination cards: gold top accent on hover ---- */
.tour-card, .dest-card {
  border: 1px solid rgba(15,61,46,0.06);
  background: var(--white);
  overflow: hidden;
}
.tour-card { position: relative; border-radius: var(--radius-lg); }
.tour-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  transform: scaleX(0); transform-origin: left; transition: transform 0.4s cubic-bezier(0.16,0.84,0.44,1);
  z-index: 4;
}
.tour-card:hover::before { transform: scaleX(1); }

/* ---- Section heading gold accent (where headings sit in .container) ---- */
.section h2, .container h2.section-title {
  position: relative;
}

/* ---- Footer: refined top hairline + link hover ---- */
.footer { border-top: 3px solid transparent; border-image: linear-gradient(90deg, var(--navy), var(--gold), var(--navy)) 1; }
.footer a { transition: color 0.2s ease, padding-left 0.2s ease; }
.footer a:hover { color: var(--gold); padding-left: 4px; }

/* ---- Announcement bar: refined ---- */
.announce-bar { border-bottom: 1px solid rgba(200,169,97,0.2); }

/* ---- Forms: gold focus ring (beyond focus-visible) ---- */
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus,
.popup-form input:focus, .newsletter-form input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(200,169,97,0.18);
}

/* ---- Cookie banner: refined accept button ---- */
.cookie-accept {
  box-shadow: 0 6px 16px -8px rgba(15,61,46,0.5);
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}
.cookie-accept:hover { transform: translateY(-1px); filter: brightness(1.06); }
.cookie-reject { transition: border-color 0.15s ease, color 0.15s ease; }
.cookie-reject:hover { border-color: var(--navy); color: var(--navy); }

/* ---- Section rhythm: generous, premium spacing ---- */
section { scroll-margin-top: 90px; }

/* ---- Headings: tighter, more editorial letter-spacing on large display ---- */
.hero h1 { letter-spacing: -0.5px; }
h2 { letter-spacing: -0.3px; }

/* ---- Trust badges strip: refined pill ---- */
.trust-badges {
  background: rgba(251,248,243,0.7);
  border-top: 1px solid rgba(200,169,97,0.18);
  border-bottom: 1px solid rgba(200,169,97,0.18);
}

/* ---- Images: crisper rendering ---- */
img { image-rendering: -webkit-optimize-contrast; }

/* ---- Reduced motion: kill all the new transforms/glows ---- */
@media (prefers-reduced-motion: reduce) {
  .btn-primary:hover, .btn-secondary:hover, .nav-cta:hover, .nav-cta-alt:hover, .book-btn:hover,
  .hero-stat:hover, .tour-card:hover, .tour-card::before { transform: none !important; }
  .tour-card::before { transform: scaleX(1); }
}/* ═══════════════════════════════════════════════════════════════
   STYLE REFINEMENTS v3 2026-07-20 — BOLD, VISIBLE
   Portuguese Riviera palette (navy #0f3d2e / gold #C8A961).
   Aditivo; nao apaga regras base. Override das v2 onde conflitam.
   ═══════════════════════════════════════════════════════════════ */

/* ---- Announce bar: gold gradient, premium ---- */
.announce-bar {
  background: linear-gradient(90deg, #0f3d2e 0%, #185a42 50%, #0f3d2e 100%);
  border-bottom: 1px solid rgba(200,169,97,0.35);
  box-shadow: 0 1px 0 rgba(200,169,97,0.12);
}
.announce-bar p { letter-spacing: 0.5px; }

/* ---- Navbar: glass + gold hairline on scroll ---- */
.navbar.scrolled {
  background: rgba(251,248,243,0.82);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid rgba(200,169,97,0.28);
  box-shadow: 0 6px 24px -12px rgba(15,61,46,0.25);
}
.navbar-logo span { letter-spacing: -0.3px; }
.logo-accent { color: var(--gold); }

/* ---- Hero: deeper cinematic overlay + vignette ---- */
.hero-video-overlay {
  background:
    radial-gradient(120% 90% at 30% 40%, rgba(15,61,46,0.30) 0%, rgba(8,47,33,0.55) 60%, rgba(5,30,21,0.88) 100%),
    linear-gradient(180deg, rgba(15,61,46,0.45) 0%, rgba(15,61,46,0.28) 35%, rgba(5,30,21,0.85) 100%) !important;
}
.hero { background: #052619; }

/* ---- Hero badge: glass + gold border ---- */
.hero-badge {
  background: rgba(251,248,243,0.10);
  border: 1px solid rgba(200,169,97,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 9px 16px;
  border-radius: 999px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.18);
}
.hero-badge svg { color: var(--gold); }
.hero-badge span { letter-spacing: 0.3px; font-weight: 600; }

/* ---- Hero headline: bigger, editorial, readable ---- */
.hero h1 {
  text-shadow: 0 2px 24px rgba(0,0,0,0.45);
  font-weight: 800;
}
.hero h1 .accent, .hero h1 .typed-text {
  background: linear-gradient(135deg, #E5D5A8 0%, #C8A961 60%, #d4a017 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero p { text-shadow: 0 1px 12px rgba(0,0,0,0.4); }

/* ---- Hero urgency: glass pill ---- */
.hero-urgency {
  background: rgba(251,248,243,0.10);
  border: 1px solid rgba(200,169,97,0.35);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  padding: 8px 14px; border-radius: 999px;
}
.hero-urgency .dot { background: var(--gold); box-shadow: 0 0 0 0 rgba(200,169,97,0.6); animation: sintraPulse 2s infinite; }
@keyframes sintraPulse { 0%{box-shadow:0 0 0 0 rgba(200,169,97,0.55)} 70%{box-shadow:0 0 0 10px rgba(200,169,97,0)} 100%{box-shadow:0 0 0 0 rgba(200,169,97,0)} }

/* ---- Hero stats: glass cards ---- */
.hero-stat {
  background: rgba(251,248,243,0.08);
  border: 1px solid rgba(200,169,97,0.22);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  transition: transform .2s ease, border-color .2s ease;
}
.hero-stat:hover { transform: translateY(-3px); border-color: rgba(200,169,97,0.5); }
.hero-stat .number { color: var(--gold-light); }

/* ---- Buttons: gradient navy + gold glow ---- */
.btn-primary, .nav-cta, .book-btn {
  background: linear-gradient(135deg, #0f3d2e 0%, #185a42 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(200,169,97,0.45);
  box-shadow: 0 8px 22px -10px rgba(15,61,46,0.55), inset 0 1px 0 rgba(255,255,255,0.08);
  font-weight: 700;
  letter-spacing: 0.2px;
}
.btn-primary:hover, .nav-cta:hover, .book-btn:hover {
  background: linear-gradient(135deg, #185a42 0%, #0f3d2e 100%) !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 30px -10px rgba(15,61,46,0.6), 0 0 0 1px rgba(200,169,97,0.4);
}
.btn-secondary, .nav-cta-alt {
  background: transparent !important;
  color: var(--gold) !important;
  border: 1.5px solid var(--gold);
  font-weight: 700; letter-spacing: 0.2px;
  transition: all .2s ease;
}
.btn-secondary:hover, .nav-cta-alt:hover {
  background: rgba(200,169,97,0.12) !important;
  color: var(--gold-light) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -12px rgba(200,169,97,0.5);
}

/* ---- Section labels + headings: gold accent ---- */
.section-label {
  color: var(--gold);
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}
h2 {
  position: relative;
  font-weight: 700;
}
h2::after {
  content: ''; display: block; width: 54px; height: 3px; margin-top: 12px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  border-radius: 3px;
}
h2.center::after, h2[style*="center"]::after { margin-left: auto; margin-right: auto; }

/* ---- Tour cards: premium elevation + gold accent + price ---- */
.tour-card {
  border: 1px solid rgba(200,169,97,0.16);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 6px 20px -12px rgba(15,61,46,0.18);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, border-color .25s ease;
  overflow: hidden;
}
.tour-card:hover {
  transform: translateY(-8px);
  border-color: rgba(200,169,97,0.5);
  box-shadow: 0 22px 44px -18px rgba(15,61,46,0.45);
}
.tour-card::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 3px; z-index: 2;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%);
  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.tour-card:hover::before { transform: scaleX(1); }
.tour-card-img img { transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.tour-card:hover .tour-card-img img { transform: scale(1.09); }
.tour-card-body h3 { letter-spacing: -0.2px; }
.tour-card-price strong { color: var(--navy); }
.tour-card-badge.bestseller {
  background: linear-gradient(135deg, var(--gold) 0%, #d4a017 100%);
  color: var(--navy);
  font-weight: 800;
  box-shadow: 0 4px 14px rgba(200,169,97,0.4);
}

/* ---- Trust badges: refined pills ---- */
.trust-badge {
  background: #fff;
  border: 1px solid rgba(200,169,97,0.22);
  border-radius: 999px;
  padding: 10px 18px;
  box-shadow: 0 4px 14px -10px rgba(15,61,46,0.2);
  transition: transform .2s ease, border-color .2s ease;
}
.trust-badge:hover { transform: translateY(-2px); border-color: rgba(200,169,97,0.55); }
.trust-badge svg { color: var(--gold); }

/* ---- Footer: gold top border + social hover ---- */
.footer {
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%) 1;
}
.footer a { transition: color .15s ease, padding-left .15s ease; }
.footer-col a:hover { color: var(--gold); padding-left: 4px; }
.footer-social a { transition: transform .2s ease, background .2s ease; }
.footer-social a:hover { transform: translateY(-3px) scale(1.08); }

/* ---- Scroll progress: gold gradient ---- */
.scroll-progress {
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  z-index: 2147483002;
}

/* ---- Forms: gold focus ring ---- */
input:focus, textarea:focus, select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(200,169,97,0.20) !important;
  outline: none !important;
}

/* ---- WhatsApp float: subtle ring ---- */
.whatsapp-float { border: 2px solid rgba(255,255,255,0.25); }

/* ---- Cookie banner: glass + gold accept ---- */
.cookie-banner {
  background: rgba(251,248,243,0.96);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(200,169,97,0.35);
  box-shadow: 0 -8px 40px -12px rgba(15,61,46,0.35);
}
.cookie-accept {
  background: linear-gradient(135deg, #0f3d2e 0%, #185a42 100%);
  border: 1px solid rgba(200,169,97,0.45);
}

/* ---- Reduced motion guard ---- */
@media (prefers-reduced-motion: reduce) {
  .tour-card:hover, .btn-primary:hover, .btn-secondary:hover, .nav-cta:hover,
  .nav-cta-alt:hover, .book-btn:hover, .hero-stat:hover, .trust-badge:hover,
  .footer-social a:hover { transform: none !important; }
  .hero-urgency .dot { animation: none; }
}/* ---- FIX 2026-07-20: hero-stats SEM caixa branca (texto direto sobre o vídeo) ---- */
.hero-stats { gap: 44px; }
.hero-stat {
  background: transparent !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  padding: 0 12px;
  border-radius: 0;
}
.hero-stat .number {
  color: var(--gold-light);
  text-shadow: 0 2px 16px rgba(0,0,0,0.7);
  font-family: 'Playfair Display', serif;
  font-weight: 700;
}
.hero-stat .label {
  color: rgba(255,255,255,0.82);
  text-shadow: 0 2px 12px rgba(0,0,0,0.7);
  letter-spacing: 0.4px;
  font-size: 0.78rem;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: reduce) { .hero-stat:hover { transform: none !important; } }/* ---- FIX 2026-07-20: trust-badges FORA do hero (era caixa branca sobre o vídeo) ---- */
.trust-badges.trust-strip {
  position: static !important;
  transform: none !important;
  left: auto !important;
  bottom: auto !important;
  background: var(--cream-dark) !important;
  border-top: 1px solid rgba(200,169,97,0.22);
  border-bottom: 1px solid rgba(200,169,97,0.22);
  padding: 18px 20px;
  gap: 32px;
  animation: none !important;
  justify-content: center;
}
.trust-badges.trust-strip .trust-badge {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--charcoal) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
}
.trust-badges.trust-strip .trust-badge svg { color: var(--gold) !important; width: 16px !important; height: 16px !important; }
.trust-badges.trust-strip .trust-badge:hover { transform: none !important; border-color: transparent !important; }
@media (max-width: 600px) {
  .trust-badges.trust-strip { gap: 18px; padding: 14px 12px; }
  .trust-badges.trust-strip .trust-badge { font-size: 0.74rem !important; }
}
/* ═══ F3 2026-07-20 — Tour comparison table ═══ */
.tour-compare { max-width: 1100px; margin: 56px auto 0; }
.tour-compare-title { text-align: center; font-size: clamp(1.3rem, 3vw, 1.9rem); font-weight: 800; color: var(--navy); margin: 0 0 6px; }
.tour-compare-sub { text-align: center; color: var(--slate); font-size: 0.95rem; margin: 0 0 24px; }
.tour-compare-wrap { overflow-x: auto; border-radius: 14px; box-shadow: 0 10px 30px -18px rgba(15,61,46,0.25); border: 1px solid rgba(200,169,97,0.2); background: #fff; }
.tour-compare-table { width: 100%; border-collapse: collapse; min-width: 640px; }
.tour-compare-table thead th {
  background: var(--navy); color: #fff; text-align: left;
  padding: 14px 16px; font-size: 0.78rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.tour-compare-table thead th:first-child { border-top-left-radius: 13px; }
.tour-compare-table thead th:last-child { border-top-right-radius: 13px; }
.tour-compare-table tbody td { padding: 14px 16px; border-bottom: 1px solid rgba(15,61,46,0.07); font-size: 0.9rem; color: var(--charcoal); }
.tour-compare-table tbody tr:nth-child(even) { background: rgba(251,248,243,0.55); }
.tour-compare-table tbody tr:hover { background: rgba(200,169,97,0.08); }
.tour-compare-table tbody td strong { color: var(--navy); font-size: 1rem; }
.tour-compare-table tbody td:first-child { font-weight: 600; color: var(--navy); }
.tour-compare-table tbody tr:last-child td { border-bottom: none; }

/* Mobile: empilha em cards com data-label */
@media (max-width: 760px) {
  .tour-compare-wrap { border: none; box-shadow: none; background: transparent; }
  .tour-compare-table, .tour-compare-table thead, .tour-compare-table tbody,
  .tour-compare-table th, .tour-compare-table td, .tour-compare-table tr { display: block; min-width: 0; }
  .tour-compare-table thead { display: none; }
  .tour-compare-table tbody tr {
    margin-bottom: 12px; border-radius: 12px; background: #fff;
    border: 1px solid rgba(200,169,97,0.22); padding: 6px 12px;
    box-shadow: 0 6px 18px -14px rgba(15,61,46,0.3);
  }
  .tour-compare-table tbody td {
    display: flex; justify-content: space-between; align-items: center;
    border-bottom: 1px solid rgba(15,61,46,0.05); padding: 11px 4px;
  }
  .tour-compare-table tbody td:last-child { border-bottom: none; }
  .tour-compare-table tbody td::before {
    content: attr(data-label); font-weight: 600; color: var(--slate);
    font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.3px;
  }
  .tour-compare-table tbody td:first-child { font-size: 1.05rem; color: var(--navy); }
}

/* stp-trust faixa: tweak para destaque */
.stp-trust { background: rgba(251,248,243,0.6); border-radius: 999px; padding: 14px 18px; }
.stp-trust .stp-tb i { font-style: normal; }
