/* PRÉVIA 27/10/2026: paleta neutra (unissex) gerada a partir do original por troca de cores; não editar à mão */
/* ===========================================================
   Encantos de Neve — Feuille de style partagée
   =========================================================== */

:root {
  --teal-deep:    #006E83;
  --teal-mid:     #006E83;
  --teal-light:   #006E83;
  --teal-pale:    #F8F6F2;
  --gold:         #006E83;
  --gold-light:   #DCD3C4;
  --gold-pale:    #F8F6F2;
  --white:        #ffffff;
  --off-white:    #F8F6F2;
  --charcoal:     #1A1A1A;
  --gray:         #3A3A3A;
  --gray-light:   #e8e8e8;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Jost', sans-serif;
  background: var(--off-white);
  color: var(--charcoal);
  font-weight: 400;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

.container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 32px;
}

.section-label {
  font-size: var(--t-pq,14px);
  letter-spacing: normal;
  text-transform: none;
  color: var(--teal-mid);
  margin-bottom: 14px;
  font-weight: 600;
}

.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--t-capa,48px);
  font-weight: 400;
  color: var(--charcoal);
  line-height: 1.2;
  margin-bottom: 20px;
}
.section-title em { font-style: normal; color: var(--teal-mid); }

.section-sub {
  font-size: var(--t-txt,17px);
  color: var(--gray);
  line-height: 1.75;
  max-width: 620px;
  font-weight: 400;
}

.divider-gold { width: 48px; height: 2px; background: var(--gold); margin: 22px 0 34px; }
.center .divider-gold { margin-left: auto; margin-right: auto; }
.center { text-align: center; }

section { padding: 110px 0; position: relative; }
@media (max-width: 720px) {
  section { padding: 72px 0; }
  .container { padding: 0 22px; }
}

/* Conteúdo sempre visível — sem animação de entrada ao rolar a página */

/* ---------- HEADER ---------- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 40px;
  transition: background .4s ease, box-shadow .4s ease, padding .4s ease;
}
.site-header.scrolled, .site-header.solid {
  background: rgba(248,246,242,0.96);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
  padding: 12px 40px;
}

.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { width: 42px; height: 42px; border-radius: 50%; }
.brand-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: var(--t-sub,20px); font-weight: 600; letter-spacing: normal;
  color: var(--white); transition: color .4s ease; line-height: 1.1;
}
.brand-name span {
  display: block; font-family: 'Jost', sans-serif;
  font-size: var(--t-pq,14px); letter-spacing: normal; font-weight: 400;
  text-transform: none; color: var(--gold-light);
}
.site-header.scrolled .brand-name, .site-header.solid .brand-name { color: var(--charcoal); }
.site-header.scrolled .brand-name span, .site-header.solid .brand-name span { color: var(--teal-mid); }

.nav-links { display: flex; align-items: center; gap: 30px; list-style: none; }
.nav-links a {
  font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none;
  text-decoration: none; color: rgba(255,255,255,0.88);
  position: relative; padding-bottom: 4px; transition: color .3s ease;
}
.site-header.scrolled .nav-links a, .site-header.solid .nav-links a { color: var(--charcoal); }
.nav-links a::after {
  content:''; position: absolute; left: 0; bottom: 0;
  width: 0; height: 1px; background: var(--gold); transition: width .3s ease;
}
.nav-links a:hover::after, .nav-links a.active::after { width: 100%; }
.nav-links a:hover { color: var(--gold-light); }
.site-header.scrolled .nav-links a:hover, .site-header.solid .nav-links a:hover { color: var(--teal-mid); }
.nav-links a.active { color: var(--gold-light); }
.site-header.scrolled .nav-links a.active, .site-header.solid .nav-links a.active { color: var(--teal-deep); font-weight: 600; }

.btn {
  display: inline-block; font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px);
  letter-spacing: normal; text-transform: none; font-weight: 600;
  text-decoration: none; padding: 15px 30px; border-radius: 10px;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
  cursor: pointer; border: none;
}
.btn-gold { background: #006E83; color: #1A1A1A; }
.btn-gold:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,110,131,0.4); }
.btn-outline { border: 1px solid rgba(255,255,255,0.6); color: var(--white); background: transparent; }
.btn-outline:hover { background: rgba(255,255,255,0.12); transform: translateY(-3px); }
.btn-teal { background: linear-gradient(135deg, var(--teal-deep), var(--teal-mid)); color: var(--white); }
.btn-teal:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(0,110,131,0.35); }
.btn-sm { padding: 11px 22px; font-size: var(--t-pq,14px); }

.nav-cta { display: flex; align-items: center; gap: 18px; }

.hamburger { display: none; flex-direction: column; gap: 4px; cursor: pointer; background: none; border: none; padding: 8px; }
.hamburger span { width: 22px; height: 2px; background: var(--white); transition: background .3s; }
.site-header.scrolled .hamburger span, .site-header.solid .hamburger span { background: var(--charcoal); }

@media (max-width: 1099px) {
  .nav-links { display: none; }
  .nav-cta .btn-outline,
  .nav-cta .btn-gold { display: none; }
  .hamburger { display: flex; }
  .site-header { padding: 18px 22px; }
}

@media (max-width: 480px) {
  .brand-name { font-size: var(--t-txt,17px); }
  .brand-name span { font-size: var(--t-pq,14px); letter-spacing: normal; }
  .brand img { width: 36px; height: 36px; }
}

/* ---------- MENU LATERAL (hambúrguer) ---------- */
.mobile-menu {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(320px, 84vw);
  background: linear-gradient(165deg, #006E83 0%, #004E5D 100%);
  z-index: 600; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start;
  gap: 0; padding: 26px 28px 30px; overflow-y: auto;
  border-radius: 22px 0 0 22px; box-shadow: -24px 0 60px rgba(8,30,36,.35);
  transform: translateX(105%); visibility: hidden;
  transition: transform .5s cubic-bezier(.22,.61,.36,1), visibility 0s linear .5s;
}
.mobile-menu.open { transform: none; visibility: visible; transition: transform .5s cubic-bezier(.22,.61,.36,1), visibility 0s; }
.mobile-menu a {
  font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); color: #fff; text-decoration: none;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.1);
  opacity: 0; transform: translateX(22px);
  transition: opacity .4s ease, transform .5s cubic-bezier(.22,.61,.36,1), color .25s ease;
}
.mobile-menu.open a { opacity: 1; transform: none; transition-delay: calc(.14s + var(--i, 0) * .045s), calc(.14s + var(--i, 0) * .045s), 0s; }
.mobile-menu a:hover { color: #DCD3C4; }
.mobile-menu a.drawer-brand {
  display: flex; align-items: center; gap: 12px; padding: 0 56px 22px 0; margin-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.14); font-family: 'Jost', sans-serif;
}
.mobile-menu a.drawer-brand img { width: 40px; height: 40px; border-radius: 50%; flex: none; }
.mobile-menu .drawer-brand-name { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; letter-spacing: normal; color: #fff; line-height: 1.1; }
.mobile-menu .drawer-brand-name span { display: block; font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; font-weight: 400; text-transform: none; color: #DCD3C4; margin-top: 2px; }

.mobile-menu a[style*="c9a96e"] { font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; border-bottom: 0; margin-top: 6px; }
.mobile-menu a.btn, .mobile-menu a.menu-cta {
  font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; font-weight: 600;
  color: #1A1A1A; text-align: center; padding: 15px 20px; border: 0; border-radius: 2px; margin-top: 22px;
}
.mobile-menu .close-btn {
  position: absolute; top: 24px; right: 22px; width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: 0; color: #fff; font-size: var(--t-sub,20px); line-height: 1; cursor: pointer;
  transition: background .25s ease, transform .35s ease;
}
.mobile-menu .close-btn:hover { background: rgba(255,255,255,.2); transform: rotate(90deg); }
.menu-overlay {
  position: fixed; inset: 0; z-index: 550; background: rgba(8,28,34,.5);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  opacity: 0; pointer-events: none; transition: opacity .4s ease;
}
.menu-overlay.show { opacity: 1; pointer-events: auto; }
body.menu-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .mobile-menu, .mobile-menu a, .menu-overlay { transition: none !important; } }

/* ---------- HERO (home) ---------- */
.hero {
  position: relative; min-height: 100vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; overflow: hidden;
  background:
    linear-gradient(160deg, rgba(16,60,70,0.66) 0%, rgba(0,110,131,0.56) 42%, rgba(42,143,160,0.44) 78%, rgba(77,184,204,0.32) 100%),
    url('../assets/img/hero-mont-blanc.jpg');
  background-size: cover;
  background-position: center 38%;
  padding: 140px 24px 100px;
}
.hero-content { position: relative; z-index: 3; max-width: 880px; }
.hero-badge {
  display: inline-block; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none;
  color: var(--gold-light); border: 1px solid rgba(217,225,228,0.4);
  padding: 9px 22px; border-radius: 30px; margin-bottom: 34px; opacity: 0.95;
}
.hero-logo { width: min(78vw, 420px); margin: 0 auto 30px; }
.hero h1 {
  font-family: 'Cormorant Garamond', serif; font-size: var(--t-capa,48px);
  font-weight: 400; color: var(--white); line-height: 1.15; letter-spacing: normal; margin-bottom: 24px;
}
.hero h1 em { font-style: normal; color: var(--gold-light); }
.hero p.lead { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.82); line-height: 1.8; max-width: 600px; margin: 0 auto 44px; font-weight: 400; }
.hero-ctas { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin-bottom: 56px; }
.hero-tags { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.hero-tags span {
  font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: rgba(255,255,255,0.65);
  border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.06); padding: 8px 16px; border-radius: 8px;
}
.scroll-cue {
  position: absolute; bottom: 34px; left: 50%; transform: translateX(-50%); z-index: 3;
  width: 22px; height: 36px; border: 1px solid rgba(255,255,255,0.5); border-radius: 14px;
}
.scroll-cue::before {
  content: ''; position: absolute; top: 7px; left: 50%; width: 4px; height: 4px; margin-left: -2px;
  background: var(--gold-light); border-radius: 50%; animation: cue 1.8s infinite;
}
@keyframes cue { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }

/* ---------- PAGE HERO (sous-pages) ---------- */
.page-hero {
  position: relative;
  min-height: 56vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; overflow: hidden;
  background: linear-gradient(160deg, #004E5D 0%, var(--teal-deep) 45%, var(--teal-mid) 100%);
  padding: 150px 24px 90px;
}
.page-hero-content { position: relative; z-index: 3; max-width: 760px; }
.breadcrumb {
  display: flex; gap: 8px; align-items: center; justify-content: center;
  font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none;
  color: rgba(255,255,255,0.55); margin-bottom: 24px;
}
.breadcrumb a { color: rgba(255,255,255,0.75); text-decoration: none; }
.breadcrumb a:hover { color: var(--gold-light); }
.page-hero h1 {
  font-family: 'Cormorant Garamond', serif; font-size: var(--t-capa,48px);
  font-weight: 400; color: var(--white); line-height: 1.15; margin-bottom: 20px;
}
.page-hero h1 em { font-style: normal; color: var(--gold-light); }
.page-hero p.lead { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.8); line-height: 1.8; max-width: 560px; margin: 0 auto; font-weight: 400; }

/* ---------- INTRO / FEATURE LIST ---------- */
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; margin-top: 20px; }
@media (max-width: 860px) { .intro-grid { grid-template-columns: 1fr; gap: 40px; } }
.intro-grid.cols-3 { grid-template-columns: repeat(3, 1fr); gap: 34px; }
@media (max-width: 860px) { .intro-grid.cols-3 { grid-template-columns: 1fr; gap: 34px; } }
.feature-list { display: grid; gap: 26px; }
.feature-item { display: flex; gap: 18px; align-items: flex-start; }
.feature-item.stacked { flex-direction: column; gap: 8px; }
.feature-icon {
  flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--teal-pale);
  display: flex; align-items: center; justify-content: center; color: var(--teal-deep);
}
.feature-item h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; margin-bottom: 4px; color: var(--charcoal); }
.feature-item p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.6; }

/* ---------- SERVICE CARDS ---------- */
.services { background: var(--white); }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 50px; }
@media (max-width: 900px) { .services-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .services-grid { grid-template-columns: 1fr; } }
.service-card {
  background: var(--off-white); border-radius: 10px; padding: 40px 30px;
  transition: transform .4s ease, box-shadow .4s ease, background .4s ease;
  border-bottom: 3px solid transparent; text-decoration: none; display: block; color: inherit;
}
a.service-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,110,131,0.12); border-bottom-color: var(--gold); background: var(--white); }
.service-icon {
  width: 54px; height: 54px; border-radius: 50%;
  background: linear-gradient(135deg, var(--teal-deep), var(--teal-light));
  display: flex; align-items: center; justify-content: center; color: white; margin-bottom: 22px;
}
.service-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; margin-bottom: 10px; }
.service-card p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.7; }
.service-card .card-link { margin-top: 16px; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--teal-mid); font-weight: 600; }

/* ---------- ILLUSTRATED PLACEHOLDER VISUALS ---------- */
.illus {
  border-radius: 12px; overflow: hidden; position: relative;
  background: linear-gradient(160deg, var(--teal-deep), var(--teal-mid) 60%, var(--teal-light));
}
.illus svg { width: 100%; height: 100%; display: block; }
.illus img { width: 100%; height: 100%; object-fit: cover; display: block; }
.illus-tag {
  position: absolute; bottom: 14px; left: 14px;
  font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none;
  color: rgba(255,255,255,0.75); background: rgba(0,0,0,0.25);
  padding: 6px 12px; border-radius: 20px; backdrop-filter: blur(3px);
}

/* ---------- TIERS ---------- */
.tiers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 54px; }
@media (max-width: 900px) { .tiers-grid { grid-template-columns: 1fr; max-width: 460px; margin-left:auto; margin-right:auto; } }
.tier-card {
  background: var(--white); border-radius: 12px; padding: 44px 34px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.05); position: relative;
  transition: transform .4s ease, box-shadow .4s ease; display: flex; flex-direction: column;
}
.tier-card.featured { background: linear-gradient(160deg, var(--teal-deep), #004E5D); color: white; transform: scale(1.04); }
.tier-tag { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold); margin-bottom: 14px; font-weight: 600; }
.tier-card.featured .tier-tag { color: var(--gold-light); }
.tier-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 400; margin-bottom: 14px; }
.tier-card p.tier-desc { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.7; margin-bottom: 24px; }
.tier-card.featured p.tier-desc { color: rgba(255,255,255,0.75); }
.tier-list { list-style: none; margin-bottom: 30px; flex-grow: 1; }
.tier-list li { font-size: var(--t-txt,17px); padding: 9px 0; border-bottom: 1px solid var(--gray-light); padding-left: 22px; position: relative; color: var(--charcoal); }
.tier-card.featured .tier-list li { border-bottom-color: rgba(255,255,255,0.15); color: rgba(255,255,255,0.92); }
.tier-list li::before { content: '✓'; position: absolute; left: 0; top: 9px; color: var(--teal-mid); font-size: var(--t-pq,14px); }
.tier-card.featured .tier-list li::before { color: var(--gold-light); }
.tier-card .btn { text-align: center; }
.featured-badge {
  position: absolute; top: -14px; right: 30px; background: var(--gold); color: #1A1A1A;
  font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; padding: 7px 16px; border-radius: 20px; font-weight: 600;
}

/* ---------- ACCOMMODATION / ACTIVITY / FLEET TYPE CARDS ---------- */
.type-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 54px; }
@media (max-width: 900px) { .type-grid { grid-template-columns: 1fr; max-width: 480px; margin: 54px auto 0; } }
.type-card {
  background: var(--white); border-radius: 14px; overflow: hidden;
  box-shadow: 0 8px 30px rgba(0,0,0,0.06); transition: transform .4s ease, box-shadow .4s ease;
}
.type-card .illus { border-radius: 0; height: 190px; }
.type-card-body { padding: 30px 28px 32px; }
.type-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 600; margin-bottom: 10px; }
.type-card p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.7; margin-bottom: 16px; }
.type-card ul { list-style: none; display: grid; gap: 8px; }
.type-card ul li { font-size: var(--t-txt,17px); color: var(--charcoal); padding-left: 18px; position: relative; }
.type-card ul li::before { content: '—'; position: absolute; left: 0; color: var(--gold); }

/* wide variant (2-col image+text) */
.wide-card { display: grid; grid-template-columns: 0.9fr 1.1fr; background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,0.06); margin-top: 30px; }
.wide-card.reverse { grid-template-columns: 1.1fr 0.9fr; }
.wide-card.reverse .wide-card-body { order: -1; }
@media (max-width: 760px) { .wide-card, .wide-card.reverse { grid-template-columns: 1fr; } .wide-card.reverse .wide-card-body { order: 0; } }
.wide-card .illus { border-radius: 0; aspect-ratio: 6/5; min-height: 260px; max-height: 460px; align-self: center; }
@media (max-width: 760px) { .wide-card .illus { aspect-ratio: 5/4; max-height: 380px; } }
.wide-card-body { padding: 40px 40px; display: flex; flex-direction: column; justify-content: center; }
.wide-card-body .tier-tag { margin-bottom: 10px; }
.wide-card-body h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 600; margin-bottom: 14px; }
.wide-card-body p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.75; margin-bottom: 18px; }
.wide-card-body ul { list-style: none; display: grid; gap: 9px; }
.wide-card-body ul li { font-size: var(--t-txt,17px); color: var(--charcoal); padding-left: 20px; position: relative; }
.wide-card-body ul li::before { content: '✓'; position: absolute; left: 0; color: var(--teal-mid); }

/* ---------- DESTINATIONS (photo cards) ---------- */
.destinations { background: var(--white); }
.dest-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; }
.dest-grid.domains { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .dest-grid.domains { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 900px) { .dest-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .dest-grid, .dest-grid.domains { grid-template-columns: 1fr; } }

.dest-card {
  position: relative; border-radius: 12px; overflow: hidden; isolation: isolate;
  aspect-ratio: 4/3; box-shadow: 0 10px 26px rgba(26,42,46,0.14); display: block; text-decoration: none;
  transition: transform .4s ease, box-shadow .4s ease; background: var(--teal-pale);
}
.dest-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.dest-card .dc-overlay {
  position: absolute; inset: 0;
  /* 25/10/2026 (Nayara): fotos com a cor original — sem o filtro azul; só uma sombra neutra embaixo, para o texto ficar legível */
  background: linear-gradient(to top, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.22) 35%, rgba(0,0,0,0) 60%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 22px 22px 20px;
}
.dest-card .dc-badge { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold-light); font-weight: 600; margin-bottom: 5px; }
.dest-card h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; color: white; margin-bottom: 5px; }
.dest-card p { font-size: var(--t-pq,14px); color: rgba(255,255,255,0.85); line-height: 1.55; }
a.dest-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0,110,131,0.28); }
a.dest-card:hover img { transform: scale(1.07); }
.dest-card .dc-arrow {
  position: absolute; top: 16px; right: 16px; width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.18); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; color: white; font-size: var(--t-pq,14px);
  transition: background .3s ease;
}
a.dest-card:hover .dc-arrow { background: var(--gold); color: var(--charcoal); }

/* ---------- PARTNERS ---------- */
.partners-intro { max-width: 720px; margin: 0 auto 50px; }
.partner-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 760px) { .partner-grid { grid-template-columns: repeat(2,1fr); } }
.partner-card {
  background: var(--off-white); border: 1px solid var(--gray-light); border-radius: 8px;
  padding: 28px 20px; text-align: center; transition: border-color .3s ease, transform .3s ease;
}
.partner-card .p-name { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; color: var(--charcoal); margin-bottom: 4px; }
.partner-card .p-loc { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--teal-mid); }
.partner-note {
  margin-top: 40px; background: var(--gold-pale); border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0;
  padding: 24px 28px; font-size: var(--t-pq,14px); color: var(--charcoal); line-height: 1.7; max-width: 780px;
}
.partner-note strong { color: var(--teal-deep); font-weight: 600; }

/* ---------- VIDEO SHOWCASE ---------- */
.video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 54px; align-items: start; }
@media (max-width: 760px) { .video-grid { grid-template-columns: 1fr; max-width: 480px; margin: 54px auto 0; } }
.video-card { border-radius: 14px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,0.1); background: #000; }
.video-card video { width: 100%; display: block; max-height: 520px; background: #000; }
.video-card.vertical video { aspect-ratio: 9/16; object-fit: cover; max-height: 520px; margin: 0 auto; }
.video-caption { padding: 14px 20px; font-size: var(--t-pq,14px); letter-spacing: normal; color: var(--charcoal); background: var(--off-white); text-align: center; }
.video-single { max-width: 360px; margin: 54px auto 0; }

/* ---------- REAL PHOTO GALLERY ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 54px; }
@media (max-width: 860px) { .gallery-grid { grid-template-columns: 1fr; max-width: 480px; margin: 54px auto 0; } }
.gallery-item { border-radius: 14px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,0.08); position: relative; isolation: isolate; }
.gallery-item img { width: 100%; height: 320px; object-fit: cover; display: block; }
.gallery-caption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px 16px;
  background: linear-gradient(0deg, rgba(0,0,0,0.65), rgba(0,0,0,0));
  color: white; font-size: var(--t-pq,14px); letter-spacing: normal;
}

/* ---------- REGION / RESORT TAG LISTS ---------- */
.region-block { margin-top: 46px; }
.region-block:first-child { margin-top: 0; }
.region-block h4 {
  font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600;
  color: var(--teal-deep); margin-bottom: 16px; display: flex; align-items: center; gap: 12px;
}
.region-block h4::after { content:''; flex: 1; height: 1px; background: var(--gray-light); }
.tag-pill-list { display: flex; flex-wrap: wrap; gap: 9px; }
.tag-pill {
  font-size: var(--t-pq,14px); color: var(--charcoal); background: var(--off-white);
  border: 1px solid var(--gray-light); padding: 8px 16px; border-radius: 30px;
  transition: border-color .25s ease, background .25s ease, color .25s ease;
}
a.tag-pill { text-decoration: none; }
a.tag-pill:hover { border-color: var(--gold); background: var(--gold-pale); color: var(--teal-deep); }
.tag-pill.flagship { background: var(--teal-pale); border-color: var(--teal-mid); color: var(--teal-deep); font-weight: 600; }

/* ---------- COLLABORATION / PARTNER SPOTLIGHT CARDS ---------- */
.collab-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 54px; }
@media (max-width: 800px) { .collab-grid { grid-template-columns: 1fr; } }
.collab-card {
  background: var(--white); border-radius: 14px; padding: 38px 34px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.06); transition: transform .4s ease, box-shadow .4s ease;
  display: flex; flex-direction: column;
}
.collab-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0,110,131,0.12); }
.collab-top { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.collab-icon {
  flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--teal-deep), var(--teal-light));
  display: flex; align-items: center; justify-content: center; color: white;
}
.collab-top h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 600; color: var(--charcoal); }
.collab-tag { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold); font-weight: 600; }
.collab-card p.collab-desc { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.75; margin-bottom: 20px; flex-grow: 1; }
.collab-loc { font-size: var(--t-pq,14px); color: var(--teal-mid); margin-bottom: 18px; display: flex; align-items: center; gap: 6px; }
.collab-card .btn { align-self: flex-start; }

/* ---------- HOW IT WORKS / STEPS ---------- */
.how { background: linear-gradient(160deg, var(--teal-deep), #004E5D); color: white; }
.how .section-label { color: var(--gold-light); }
.how .section-title { color: white; }
.how .section-title em { color: var(--gold-light); }
.how .section-sub { color: rgba(255,255,255,0.75); }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 60px; counter-reset: step; }
@media (max-width: 900px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }
.step { position: relative; padding-top: 10px; }
.step-num { font-family: 'Cormorant Garamond', serif; font-size: var(--t-capa,48px); font-weight: 400; color: var(--gold-light); margin-bottom: 14px; line-height: 1; }
.step h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; margin-bottom: 10px; }
.step p { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.7); line-height: 1.7; }

/* ---------- TRUST ---------- */
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; }
@media (max-width: 860px) { .trust-grid { grid-template-columns: repeat(2,1fr); } }
.trust-item .feature-icon { margin: 0 auto 18px; }
.trust-item h4 { font-family:'Cormorant Garamond', serif; font-size: var(--t-txt,17px); font-weight: 600; margin-bottom: 8px; }
.trust-item p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.6; }

/* ---------- STAT ROW ---------- */
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-top: 50px; text-align: center; }
@media (max-width: 760px) { .stat-row { grid-template-columns: repeat(2,1fr); } }
.stat-item .stat-icon {
  width: 50px; height: 50px; border-radius: 50%; background: var(--teal-pale); color: var(--teal-deep);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
}
.stat-item h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-txt,17px); font-weight: 600; margin-bottom: 6px; }
.stat-item p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.6; }

/* ---------- FOUNDER / SOBRE ---------- */
.founder-wrap { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 60px; align-items: center; margin-top: 20px; }
@media (max-width: 860px) { .founder-wrap { grid-template-columns: 1fr; gap: 40px; } }
.founder-portrait { position: relative; border-radius: 16px; overflow: hidden; }
.founder-portrait .illus { border-radius: 16px; aspect-ratio: 4/5; transition: transform .3s ease, box-shadow .3s ease; will-change: transform; box-shadow: 0 20px 50px rgba(0,0,0,0.16); }
.founder-quote {
  background: var(--white); border-radius: 12px; padding: 40px; box-shadow: 0 8px 30px rgba(0,0,0,0.06);
  position: relative; margin-top: -60px; margin-left: 30px; margin-right: 30px;
}
.founder-quote::before {
  content: '“'; font-family: 'Cormorant Garamond', serif; font-size: var(--t-capa,48px); color: var(--gold-light);
  position: absolute; top: -6px; left: 20px; line-height: 1;
}
.founder-quote p { font-family: 'Cormorant Garamond', serif; font-style: normal; font-size: var(--t-sub,20px); color: var(--charcoal); line-height: 1.6; padding-left: 10px; }
.founder-quote .q-name { margin-top: 16px; font-family: 'Jost', sans-serif; font-style: normal; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--teal-mid); }

.timeline { display: grid; gap: 0; margin-top: 20px; }
.timeline-item { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--gray-light); }
.timeline-item:last-child { border-bottom: none; }
.timeline-item .t-year { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); color: var(--teal-mid); font-weight: 600; }
.timeline-item h4 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-txt,17px); font-weight: 600; margin-bottom: 4px; }
.timeline-item p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.6; }

/* ---------- FLEET (TRANSFER) ---------- */
.fleet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 54px; }
@media (max-width: 900px) { .fleet-grid { grid-template-columns: 1fr; max-width: 460px; margin: 54px auto 0; } }
.fleet-card { background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 30px rgba(0,0,0,0.06); transition: transform .4s ease; }
.fleet-card:hover { transform: translateY(-8px); }
.fleet-card .illus { height: 150px; border-radius: 0; }
.fleet-card-body { padding: 26px 26px 30px; }
.fleet-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; margin-bottom: 8px; }
.fleet-card p { font-size: var(--t-txt,17px); color: var(--gray); line-height: 1.65; }
.fleet-tag { display: inline-block; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold); font-weight: 600; margin-bottom: 10px; }

/* ---------- CONTACT ---------- */
.contact { background: var(--white); }
.contact-wrap { max-width: 780px; margin: 50px auto 0; }
.contact-info-card { background: linear-gradient(160deg, var(--teal-deep), #004E5D); border-radius: 14px; padding: 44px 36px; color: white; height: fit-content; }
.contact-info-card h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 400; margin-bottom: 16px; }
.contact-info-card p.desc { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.75); line-height: 1.75; margin-bottom: 30px; }

/* ---------- CONTACT INFO BAR (secondary, below the form) ---------- */
.contact-info-bar {
  margin-top: 54px; background: linear-gradient(160deg, var(--teal-deep), #004E5D);
  border-radius: 14px; padding: 34px 36px 28px; color: white; text-align: center;
}
.contact-info-bar h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 400; margin-bottom: 6px; }
.contact-info-bar .desc { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.7); margin-bottom: 22px; }
.contact-info-bar .bar-rows {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 34px;
}
.contact-info-bar .contact-row { padding: 0; border-top: none; font-size: var(--t-pq,14px); }
.contact-row { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,0.12); font-size: var(--t-pq,14px); }
.contact-row:first-of-type { border-top: none; }
.contact-row a { text-decoration: none; color: white; }
.contact-row .ci-icon { color: var(--gold-light); flex-shrink:0; }

form.quote-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gray); font-weight: 600; }
.form-group input, .form-group select, .form-group textarea {
  font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); font-weight: 400; color: var(--charcoal);
  padding: 13px 15px; border: 1px solid var(--gray-light); border-radius: 6px; background: var(--off-white);
  outline: none; transition: border-color .25s ease, background .25s ease;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--teal-mid); background: white; }
.form-group textarea { resize: vertical; min-height: 100px; }
.checkbox-group { display: flex; flex-wrap: wrap; gap: 10px; }
.checkbox-group label {
  display: flex; align-items: center; gap: 8px; font-size: var(--t-pq,14px); font-weight: 400; text-transform: none;
  letter-spacing: normal; color: var(--charcoal); background: var(--off-white); border: 1px solid var(--gray-light);
  padding: 10px 16px; border-radius: 30px; cursor: pointer; transition: all .25s ease;
}
.checkbox-group input { accent-color: var(--teal-mid); }
.checkbox-group label:has(input:checked) { background: var(--teal-pale); border-color: var(--teal-mid); color: var(--teal-deep); }
.form-submit-row { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; margin-top: 8px; flex-wrap: wrap; }
.form-note { font-size: var(--t-pq,14px); color: var(--gray); }
.form-status { grid-column: 1 / -1; font-size: var(--t-pq,14px); padding: 14px 18px; border-radius: 8px; display: none; }
.form-status.success { display: block; background: var(--teal-pale); color: var(--teal-deep); }
.form-status.error { display: block; background: #fbeceb; color: #a94a42; }
@media (max-width: 600px) { form.quote-form { grid-template-columns: 1fr; } }

/* small CTA banner used on subpages */
.cta-banner {
  background: linear-gradient(135deg, var(--teal-deep), var(--teal-mid));
  border-radius: 16px; padding: 56px 50px; text-align: center; color: white;
  display: flex; flex-direction: column; align-items: center; gap: 20px;
}
.cta-banner h3 { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 400; }
.cta-banner p { font-size: var(--t-txt,17px); color: rgba(255,255,255,0.8); max-width: 500px; }
.cta-banner .hero-ctas { margin-bottom: 0; }

/* ---------- FOOTER ---------- */
footer { background: var(--charcoal); color: rgba(255,255,255,0.65); padding: 70px 0 30px; }
.footer-top { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 50px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,0.1); }
@media (max-width: 760px) { .footer-top { grid-template-columns: 1fr; gap: 36px; } }
.footer-logo { width: 190px; margin-bottom: 18px; }
.footer-top p { font-size: var(--t-txt,17px); line-height: 1.8; color: rgba(255,255,255,0.5); max-width: 320px; }
.footer-col h5 { font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold-light); margin-bottom: 20px; font-weight: 600; }
.footer-col ul { list-style: none; display: grid; gap: 12px; }
.footer-col a { text-decoration: none; font-size: var(--t-pq,14px); color: rgba(255,255,255,0.65); transition: color .25s ease; }
.footer-col a:hover { color: var(--gold-light); }
.footer-bottom { padding-top: 26px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: var(--t-pq,14px); letter-spacing: normal; color: rgba(255,255,255,0.35); }
.footer-social { display: flex; gap: 16px; }
.footer-social a { color: rgba(255,255,255,0.5); }
.footer-social a:hover { color: var(--gold-light); }

/* ---------- WHATSAPP FLOAT ---------- */
.whatsapp-float {
  position: fixed; bottom: 26px; right: 26px; width: 60px; height: 60px; background: #25D366;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.25); z-index: 400; animation: pulse 2.6s infinite; text-decoration: none;
}
@keyframes pulse {
  0% { box-shadow: 0 10px 26px rgba(0,0,0,0.25), 0 0 0 0 rgba(37,211,102,0.5); }
  70% { box-shadow: 0 10px 26px rgba(0,0,0,0.25), 0 0 0 16px rgba(37,211,102,0); }
  100% { box-shadow: 0 10px 26px rgba(0,0,0,0.25), 0 0 0 0 rgba(37,211,102,0); }
}

/* ---------- INSTAGRAM FLOAT ---------- */
.instagram-float {
  position: fixed; bottom: 100px; right: 26px; width: 60px; height: 60px;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(0,0,0,0.25); z-index: 400; text-decoration: none;
  transition: transform .3s ease;
}
.instagram-float:hover { transform: translateY(-3px); }
@media (max-width: 480px) {
  .whatsapp-float, .instagram-float { width: 52px; height: 52px; }
  .whatsapp-float { bottom: 20px; right: 20px; }
  .instagram-float { bottom: 82px; right: 20px; }
}

::selection { background: var(--gold-light); color: var(--charcoal); }

/* ---------- DOMAIN / RESORT PAGE HERO (fundo com foto real) ---------- */
.page-hero.photo-hero { background-size: cover; background-position: center; }

/* ---------- DOMAIN PAGE: ESTAÇÕES DO DOMÍNIO ---------- */
.member-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 50px; }
@media (max-width: 900px) { .member-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .member-grid { grid-template-columns: 1fr; } }
.member-card-photo { position: relative; border-radius: 12px; overflow: hidden; isolation: isolate; aspect-ratio: 4/3; box-shadow: 0 10px 26px rgba(26,42,46,0.14); }
.member-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.member-card-photo .dc-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.2) 35%, rgba(0,0,0,0) 60%);   /* 25/10/2026: sem filtro azul */
  display: flex; align-items: flex-end; padding: 18px;
}
.member-card-photo h4 { color: white; font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; }

.member-pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.member-pill { font-size: var(--t-pq,14px); color: var(--teal-deep); background: var(--teal-pale); border: 1px solid var(--teal-mid); padding: 9px 18px; border-radius: 30px; }

/* computador: o menu abre como uma janelinha logo abaixo do botão (no alto, à direita), não na altura toda da tela */
@media (min-width: 761px) {
  .mobile-menu { top: 74px; right: 24px; bottom: auto; width: 300px; max-height: calc(100vh - 96px); padding: 20px 24px 22px;
    border-radius: 16px; box-shadow: 0 24px 60px rgba(8,30,36,.35); transform-origin: top right;
    transform: translateY(-12px) scale(.97); opacity: 0;
    transition: opacity .25s ease, transform .3s cubic-bezier(.22,.61,.36,1), visibility 0s linear .3s; }
  .mobile-menu.open { transform: none; opacity: 1; transition: opacity .25s ease, transform .3s cubic-bezier(.22,.61,.36,1), visibility 0s; }
  .mobile-menu a { font-size: var(--t-sub,20px); padding: 9px 0; }
  .mobile-menu a.drawer-brand { padding-bottom: 16px; }
  .mobile-menu .close-btn { top: 18px; right: 18px; }
  .mobile-menu a.btn, .mobile-menu a.menu-cta { margin-top: 16px; border-radius: 10px; }
  .menu-overlay { background: rgba(8,28,34,.18); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* menu: "Monte sua viagem" (dourado) e, logo abaixo, "Falar no WhatsApp" (verde), os dois com cantos arredondados */
.mobile-menu a.btn, .mobile-menu a.menu-cta { border-radius: 10px; }
.mobile-menu a.menu-whats { background: #25D366; color: #fff; margin-top: 10px; }
.mobile-menu a.menu-whats:hover { background: #1ebe5b; color: #fff; }

/* efeito ao passar o mouse ou tocar: o dourado escurece um pouco, como o verde do WhatsApp */
.mobile-menu a.menu-cta { transition: filter .2s ease, opacity .4s ease, transform .5s cubic-bezier(.22,.61,.36,1); }
.mobile-menu a.menu-cta:hover, .mobile-menu a.menu-cta:active { filter: brightness(.9); color: #1A1A1A; }
.mobile-menu a.menu-whats:active { background: #1ebe5b; }

/* barra do topo responsiva: a partir de 1024px (tablet deitado e computador) os links aparecem e o menu hambúrguer some;
   1280px: entra também o botão "Monte sua viagem"; 1440px: tudo, com o botão WhatsApp. Abaixo de 1024px: hambúrguer. */
@media (min-width: 1024px) {
  .site-header .nav-links { display: flex; gap: 18px; margin: 0; padding: 0; }
  .site-header .nav-links a { font-size: var(--t-pq,14px); letter-spacing: normal; white-space: nowrap; }
  .site-header .hamburger { display: none; }
  .site-header .nav-cta .btn-outline, .site-header .nav-cta .btn-gold { display: none; }
  .site-header { padding-left: 28px; padding-right: 28px; }
}
@media (min-width: 1280px) {
  .site-header .nav-links { gap: 22px; }
  .site-header .nav-cta .btn-gold { display: inline-block; padding: 12px 20px; font-size: var(--t-pq,14px); white-space: nowrap; }
}
@media (min-width: 1440px) {
  .site-header .nav-links { gap: 30px; }
  .site-header .nav-links a { font-size: var(--t-pq,14px); letter-spacing: normal; }
  .site-header .nav-cta .btn-outline { display: inline-block; padding: 12px 20px; font-size: var(--t-pq,14px); white-space: nowrap; }
  .site-header { padding-left: 40px; padding-right: 40px; }
}

/* capas com mais foto aparecendo: um leve sombreado no texto mantém a leitura */
.page-hero h1, .page-hero p.lead, .page-hero .breadcrumb, .hero h1, .hero p.lead { text-shadow: 0 2px 14px rgba(8,30,36,.45); }

/* ---------- TEXTOS MAIS NÍTIDOS (13/10/2026): letra um pouco mais grossa e cores mais fortes, para ler bem em qualquer tela ---------- */
:root { --gray: #2A2A2A; }
body { font-weight: 400; color: #222; }
.section-sub, .feature-item p, .service-card p, .tier-card p.tier-desc, .type-card p, .wide-card-body p, .collab-card p.collab-desc,
.trust-item p, .stat-item p, .timeline-item p, .fleet-card p, .form-note { color: var(--gray); font-weight: 400; }
.form-group label { color: #3a3a3a; }
.form-group input, .form-group select, .form-group textarea { font-weight: 400; }
/* textos claros sobre fundo azul ou foto */
.hero p.lead, .page-hero p.lead { color: rgba(255,255,255,.96); font-weight: 400; }
.hero-tags span { color: rgba(255,255,255,.9); }
.breadcrumb { color: rgba(255,255,255,.85); }
.breadcrumb a { color: #fff; }
.nav-links a { color: #fff; }
.tier-card.featured p.tier-desc, .how .section-sub, .contact-info-card p.desc, .cta-banner p { color: rgba(255,255,255,.92); font-weight: 400; }
.step p, .contact-info-bar .desc { color: rgba(255,255,255,.88); font-weight: 400; }
.dest-card p { color: #fff; }
/* rodapé */
footer { color: rgba(255,255,255,.85); }
.footer-top p { color: rgba(255,255,255,.78); }
.footer-col a { color: rgba(255,255,255,.85); }
.footer-social a { color: rgba(255,255,255,.8); }
.footer-bottom { color: rgba(255,255,255,.72); }
/* rodapé no celular: Navegação e Contato lado a lado, alinhados (o logo e a frase ficam em cima, na largura toda) */
@media (max-width: 760px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 34px 18px; align-items: start; }
  .footer-top > div:first-child { grid-column: 1 / -1; }
  .footer-col li, .footer-col a { font-size: var(--t-txt,17px); overflow-wrap: break-word; }
}

/* rodapé: copyright, nome da empresa (numa linha só) e CNPJ, um embaixo do outro */
.footer-legal { display: flex; flex-direction: column; gap: 4px; line-height: 1.5; }
.footer-legal .footer-empresa { white-space: nowrap; }

/* página inicial, "O que fazemos": cartões mais compactos (mesmo tamanho de letra, caixa menor) */
.services-grid { gap: 20px; margin-top: 36px; }
.service-card { padding: 26px 24px; }
.service-icon { width: 46px; height: 46px; margin-bottom: 14px; }
.service-card .card-link { margin-top: 10px; }
@media (max-width: 600px) {
  .services-grid { gap: 12px; margin-top: 28px; }
  .service-card { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; padding: 16px 18px; align-items: start; }
  .service-icon { grid-row: 1 / span 3; width: 44px; height: 44px; margin: 2px 0 0; }
  .service-card h3 { margin-bottom: 4px; }
  .service-card .card-link { margin-top: 6px; }
}
/* página inicial: menos espaço entre "O que fazemos" e "Onde estamos" */
#servicos { padding-bottom: 56px; }
#destinos { padding-top: 48px; }
#destinos .dest-grid { margin-top: 32px; }
@media (max-width: 720px) {
  #servicos { padding-bottom: 32px; }
  #destinos { padding-top: 28px; }
  #destinos .dest-grid { margin-top: 24px; }
}
/* "Como funciona": mais compacto (número ao lado do texto no celular, menos espaço) */
#como-funciona { padding: 80px 0; }
#como-funciona .steps { margin-top: 40px; gap: 26px; }
#como-funciona .step-num { font-size: var(--t-capa,48px); margin-bottom: 8px; }
#como-funciona .step h4 { margin-bottom: 6px; }
@media (max-width: 720px) {
  #como-funciona { padding: 52px 0; }
  #como-funciona .steps { margin-top: 28px; gap: 18px; }
  #como-funciona .step { display: grid; grid-template-columns: 52px 1fr; column-gap: 12px; padding-top: 0; align-items: start; }
  #como-funciona .step-num { grid-row: 1 / span 2; font-size: var(--t-capa,48px); margin: 0; }
  #como-funciona .step h4 { margin: 2px 0 4px; }
  #como-funciona .step p { line-height: 1.6; }
}
/* Quem Somos, "Como tudo começou": menos espaço e texto maior */
#historia { padding: 72px 0; }
#historia .historia-lista { margin-top: 28px !important; }
#historia .timeline { margin-top: 0; }
#historia .timeline-item { grid-template-columns: 70px 1fr; gap: 16px; padding: 16px 0; align-items: baseline; }
#historia .timeline-item .t-year { font-size: var(--t-sec,30px); line-height: 1; }
#historia .timeline-item h4 { font-size: var(--t-sub,20px); margin-bottom: 4px; }
#historia .timeline-item p { font-size: var(--t-txt,17px); line-height: 1.6; }
@media (max-width: 720px) {
  #historia { padding: 48px 0; }
  #historia .historia-lista { margin-top: 20px !important; }
  #historia .timeline-item { grid-template-columns: 48px 1fr; gap: 12px; padding: 14px 0; }
  #historia .timeline-item .t-year { font-size: var(--t-sec,30px); }
  #historia .timeline-item h4 { font-size: var(--t-sub,20px); }
  #historia .timeline-item p { font-size: var(--t-txt,17px); }
}
/* Aulas de Ski: menos espaço em volta do vídeo e antes de "Para todos os níveis" */
#video-aula { padding: 60px 0 36px; }
#video-aula .video-single { margin-top: 26px; }
#niveis { padding-top: 36px; }
@media (max-width: 720px) {
  #video-aula { padding: 44px 0 24px; }
  #video-aula .video-single { margin-top: 20px; }
  #niveis { padding-top: 28px; }
}
/* Atividades: menos espaço em volta do vídeo do parapente e antes de "Também organizamos" */
#video-parapente { padding: 60px 0 24px; }
#video-parapente .video-single { margin-top: 26px; }
#outras-atividades { padding-top: 36px; }
@media (max-width: 720px) {
  #video-parapente { padding: 44px 0 16px; }
  #video-parapente .video-single { margin-top: 20px; }
  #outras-atividades { padding-top: 28px; }
}
#experiencias { padding-bottom: 48px; }
@media (max-width: 720px) { #experiencias { padding-bottom: 32px; } #video-parapente { padding-top: 36px; } }

/* ---------- LEITURA PARA TODOS (13/10/2026): textos pequenos maiores e cores com contraste suficiente (regra de acessibilidade WCAG AA) ---------- */
.section-label { font-size: var(--t-pq,14px); letter-spacing: normal; color: var(--teal-deep); font-weight: 600; }
.how .section-label, .cta-banner .section-label, .page-hero .section-label { color: var(--gold-light); }
.card-link, .service-card .card-link { font-size: var(--t-pq,14px); color: var(--teal-deep); font-weight: 600; }
.brand-name span { font-size: var(--t-pq,14px); }
.site-header.scrolled .brand-name span, .site-header.solid .brand-name span { color: var(--teal-deep); }
.hero-badge { font-size: var(--t-pq,14px); letter-spacing: normal; color: #fff; border-color: rgba(255,255,255,.55); background: rgba(16,60,70,.28); }
.breadcrumb { font-size: var(--t-pq,14px); }
.tier-tag { font-size: var(--t-pq,14px); color: #004E5D; font-weight: 600; letter-spacing: normal; }
.tier-card.featured .tier-tag { color: var(--gold-light); }
.partner-card .p-loc { font-size: var(--t-pq,14px); color: var(--teal-deep); }
.founder-quote .q-name { font-size: var(--t-pq,14px); color: var(--teal-deep); }
.dest-card .dc-badge { font-size: var(--t-pq,14px); color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.dest-card p { font-size: var(--t-txt,17px); text-shadow: 0 1px 6px rgba(0,0,0,.6); }
.dest-card .dc-overlay h4 { text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.gallery-caption { font-size: var(--t-pq,14px); background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,0)); text-shadow: 0 1px 4px rgba(0,0,0,.5); }
.footer-bottom { font-size: var(--t-pq,14px); }
.footer-col h5 { font-size: var(--t-pq,14px); }
/* botões verdes do WhatsApp com texto: verde um pouco mais escuro para o branco ler bem */
.mobile-menu a.menu-whats, .btn-whats-verde { background: #167c41; border-color: #167c41; }
.mobile-menu a.menu-whats:hover, .btn-whats-verde:hover { background: #12693a; }
.btn-sm { font-size: var(--t-pq,14px); }
.featured-badge { font-size: var(--t-pq,14px); }

/* barra do topo ao descer: efeito "vidro fosco" da Apple — translúcida, com o que passa por trás desfocado (não 100%).
   Só depois de começar a rolar; no alto da página fica o desenho de sempre. De ponta a ponta, sem cantos arredondados. */
.site-header.scrolled {
  background: rgba(248, 246, 242, 0.55);
  -webkit-backdrop-filter: saturate(170%) blur(12px);
  backdrop-filter: saturate(170%) blur(12px);
  box-shadow: 0 1px 0 rgba(0,110,131, 0.10), 0 6px 22px rgba(16, 60, 70, 0.08);
}
/* navegadores sem o efeito: fundo quase sólido, para o texto continuar legível */
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .site-header.scrolled { background: rgba(248, 246, 242, 0.97); }
}
.site-header { transition: background .4s ease, box-shadow .4s ease, padding .4s ease, border-radius .4s ease; }

/* logo e nome da barra do topo um pouco maiores */
.site-header .brand img { width: 52px; height: 52px; }
.site-header .brand-name { font-size: var(--t-sec,30px); }
.site-header .brand-name span { font-size: var(--t-pq,14px); }
@media (max-width: 480px) {
  .site-header .brand img { width: 44px; height: 44px; }
  .site-header .brand-name { font-size: var(--t-sub,20px); }
  .site-header .brand-name span { font-size: var(--t-pq,14px); letter-spacing: normal; }
}

/* menu (três tracinhos): mesmo efeito de vidro fosco da barra do topo — azul translúcido, com a página desfocada por trás */
.mobile-menu {
  background: linear-gradient(165deg, rgba(0,110,131, 0.74) 0%, rgba(13, 61, 71, 0.84) 100%);
  -webkit-backdrop-filter: saturate(170%) blur(14px);
  backdrop-filter: saturate(170%) blur(14px);
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .mobile-menu { background: linear-gradient(165deg, #006E83 0%, #004E5D 100%); }
}

/* celular: o menu desce só até um pouco abaixo de "Falar no WhatsApp" (não ocupa a tela inteira) */
@media (max-width: 760px) {
  .mobile-menu { bottom: auto; height: auto; max-height: calc(100dvh - 16px); padding-bottom: 24px; border-radius: 0 0 0 22px; }
}

/* com o menu aberto, o resto da página NÃO fica embaçado: só o fundo do próprio menu tem o vidro fosco */
.menu-overlay { background: rgba(8, 28, 34, 0.12); -webkit-backdrop-filter: none; backdrop-filter: none; }

/* "Como funciona": animação em formato de celular ao lado dos passos (computador) ou acima deles (celular) */
#como-funciona .como-corpo { display: grid; grid-template-columns: 1fr 300px; gap: 56px; align-items: center; margin-top: 44px; }
#como-funciona .como-corpo .steps { margin-top: 0; grid-template-columns: 1fr 1fr; gap: 30px 34px; }
#como-funciona .como-video { grid-column: 2; grid-row: 1; width: 300px; aspect-ratio: 9 / 16; border-radius: 22px; overflow: hidden; background: #004E5D;
  box-shadow: 0 24px 60px rgba(8,30,36,.28), 0 0 0 1px rgba(0,110,131,.12); }
#como-funciona .como-video iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) {
  #como-funciona .como-corpo { grid-template-columns: 1fr; gap: 34px; margin-top: 30px; }
  #como-funciona .como-video { grid-column: 1; justify-self: center; width: min(78vw, 300px); }
}
@media (max-width: 560px) { #como-funciona .como-corpo .steps { grid-template-columns: 1fr; gap: 18px; } }/* vídeo do "Como funciona" mais baixo (formato 4:5, como no feed do Instagram) */
@media (min-width: 901px) { #como-funciona .como-corpo { grid-template-columns: 1fr 320px; } }
#como-funciona .como-video { width: 320px; aspect-ratio: 4 / 5; }
@media (max-width: 900px) { #como-funciona .como-video { width: min(86vw, 340px); } }
/* menos espaço entre "Ver todas as estações" e "Como funciona", e entre o título e a frase */
#destinos { padding-bottom: 52px; }
#como-funciona { padding-top: 56px; }
#como-funciona .section-title { margin-bottom: 10px; }
#como-funciona .divider-gold { margin: 12px auto 16px; }
@media (max-width: 720px) {
  #destinos { padding-bottom: 34px; }
  #como-funciona { padding-top: 38px; }
}
/* bloco compacto "Como funciona" no fim das páginas internas (texto + animação + botão) */
.mini-como { padding: 64px 0; }
.mini-como-grade { display: grid; grid-template-columns: 1fr 300px; grid-template-areas: "txt video" "acao video"; column-gap: 56px; align-items: center; max-width: 900px; margin: 0 auto; }
.mini-como-txt { grid-area: txt; align-self: end; }
.mini-como-acao { grid-area: acao; align-self: start; }
.mini-como .section-title { margin-bottom: 12px; }
.mini-como .section-sub { margin-bottom: 22px; }
.mini-como .como-video { grid-area: video; width: 300px; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; background: #004E5D;
  box-shadow: 0 20px 50px rgba(8,30,36,.3), 0 0 0 1px rgba(255,255,255,.1); }
.mini-como .como-video iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 760px) {
  .mini-como { padding: 44px 0; }
  .mini-como-grade { grid-template-columns: 1fr; grid-template-areas: "txt" "video" "acao"; row-gap: 22px; text-align: center; }
  .mini-como-txt, .mini-como-acao { align-self: auto; }
  .mini-como .section-sub { margin: 0 auto 18px; }
  .mini-como .como-video { justify-self: center; width: min(78vw, 300px); }
}
/* barra flutuante "Monte sua viagem" some enquanto um botão fixo "Monte sua viagem" da página está à mostra */
body.botao-fixo-visivel .barra-topo, body.botao-fixo-visivel .mini-planner { opacity: 0 !important; pointer-events: none !important; transform: translateY(-12px) !important; }

/* computador: sem o botão "Monte sua viagem" no topo (fica só a barra flutuante); os links vão para a direita, no lugar dele */
@media (min-width: 1024px) {
  .site-header .nav-cta .btn-gold { display: none !important; }
  .site-header nav { margin-left: auto; }
}
@media (min-width: 1280px) { .site-header .nav-links { gap: 28px; } .site-header .nav-links a { font-size: var(--t-pq,14px); letter-spacing: normal; } }
@media (min-width: 1440px) { .site-header .nav-links { gap: 32px; } .site-header .nav-cta { margin-left: 28px; } }

/* links do topo terminam exatamente acima do botão "Montar minha viagem" da barra flutuante (mesma largura útil: 1260px com 24px de margem) */
@media (min-width: 1024px) {
  .site-header { padding-right: max(24px, calc((100% - 1260px) / 2 + 24px)) !important; }
  .site-header .nav-cta .btn-outline { display: none !important; }
  .site-header .nav-cta { margin-left: 0 !important; }
}

/* ===== Todas as caixas do site iguais à caixa "Monte sua viagem" da página inicial: mesmo arredondado (16px) e mesma sombra ===== */
:root { --caixa-raio: 16px; --caixa-sombra: 0 26px 60px rgba(16,60,70,0.20); --caixa-sombra-hover: 0 30px 70px rgba(16,60,70,0.26); --campo-raio: 8px; --botao-raio: 10px; }
.service-card, .tier-card, .type-card, .dest-card, .partner-card, .collab-card, .founder-quote, .wide-card, .fleet-card,
.video-card, .gallery-item, .contact-info-card, .contact-info-bar, .cta-banner, .member-card-photo, .founder-portrait, .founder-portrait .illus {
  border-radius: var(--caixa-raio) !important; box-shadow: var(--caixa-sombra) !important;
}
.service-card:hover, .tier-card:hover, .type-card:hover, .dest-card:hover, .partner-card:hover, .collab-card:hover, .fleet-card:hover { box-shadow: var(--caixa-sombra-hover) !important; }
.partner-card { border-color: transparent; background: var(--white); }
.service-card { background: var(--white); }
/* campos de preenchimento: mesmo arredondado dos campos da caixa "Monte sua viagem" */
.form-group input, .form-group select, .form-group textarea, .mini-planner select { border-radius: var(--campo-raio) !important; }
/* botões: todos com o mesmo arredondado */
.btn, .mobile-menu a.btn, .mobile-menu a.menu-cta, .mini-planner .btn, .cta-banner .hero-ctas .btn, .barra-topo .bt-monte { border-radius: var(--botao-raio) !important; }
/* página Hospedagem: menos espaço entre um bloco e outro (e entre o título e o conteúdo) */
.pag-hospedagem > section:not(.page-hero):not(.mini-como) { padding: 60px 0; }
.pag-hospedagem .divider-gold { margin: 14px auto 18px; }
.pag-hospedagem .section-title { margin-bottom: 10px; }
.pag-hospedagem .tiers-grid, .pag-hospedagem .type-grid, .pag-hospedagem .gallery-grid { margin-top: 32px; }
.pag-hospedagem .page-hero { padding-bottom: 60px; }
@media (max-width: 720px) {
  .pag-hospedagem > section:not(.page-hero):not(.mini-como) { padding: 40px 0; }
  .pag-hospedagem .tiers-grid, .pag-hospedagem .type-grid, .pag-hospedagem .gallery-grid { margin-top: 24px; }
  .pag-hospedagem .page-hero { padding-bottom: 44px; }
}
video.sem-som::-webkit-media-controls-mute-button, video.sem-som::-webkit-media-controls-volume-slider { display: none !important; }
.pedido-orentees .steps { margin-top: 32px; }
/* página Roupa de esqui: passos sobre fundo claro (os do "Como funciona" são sobre fundo azul) */
.pedido-orentees .step h4 { color: var(--charcoal); }
.pedido-orentees .step p { color: var(--gray); }
.pedido-orentees .step p b { color: var(--teal-deep); font-weight: 600; }
.pedido-orentees .step-num { color: var(--gold); }
/* ===== Página Roupa de esqui: vitrine O'rentees ===== */
.vit-hero .page-hero-content { display: flex; flex-direction: column; align-items: center; }
.vit-hero .btn { margin-top: 22px; }
.vit-selo { display: inline-flex; align-items: center; gap: 14px; margin: 6px 0 18px; padding: 10px 18px; border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 10px 30px rgba(8,30,36,.25); }
.vit-selo img { height: 40px; width: auto; display: block; }
.vit-selo .vit-logo-or { height: 34px; }
.vit-selo span { color: var(--gold); font-size: var(--t-sub,20px); font-family: 'Cormorant Garamond', serif; }
.vit-vantagens { padding: 34px 0 !important; background: var(--white); }
.vit-vant-grade { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.vit-vant { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 18px 12px; border-radius: var(--caixa-raio, 16px); background: var(--off-white); }
.vit-vant b { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; color: var(--charcoal); }
.vit-vant small { font-size: var(--t-pq,14px); color: var(--gray); line-height: 1.5; }
.vit-ic { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--teal-pale); color: var(--teal-deep); }
.vit-sec { padding: 60px 0 !important; }
.vit-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 30px; }
.vit-cat { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--caixa-raio, 16px); overflow: hidden; box-shadow: var(--caixa-sombra, 0 20px 50px rgba(16,60,70,.18)); text-decoration: none; isolation: isolate; background: #F8F6F2; }
.vit-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform .5s ease; }
.vit-cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,30,36,0) 35%, rgba(8,30,36,.72) 100%); z-index: 1; }
.vit-cat:hover img { transform: scale(1.05); }
.vit-cat-txt { position: absolute; left: 18px; right: 18px; bottom: 16px; z-index: 2; color: #fff; display: grid; gap: 3px; }
.vit-cat-txt b { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sec,30px); font-weight: 600; line-height: 1.1; }
.vit-cat-txt small { font-size: var(--t-pq,14px); opacity: .92; }
.vit-cat-txt em { font-style: normal; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--gold-light); margin-top: 4px; }
.vit-prods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 30px; }
.vit-prod { display: grid; gap: 3px; text-decoration: none; color: var(--charcoal); background: var(--white); border-radius: var(--caixa-raio, 16px); overflow: hidden; box-shadow: var(--caixa-sombra, 0 20px 50px rgba(16,60,70,.18)); padding-bottom: 16px; transition: transform .3s ease; }
.vit-prod:hover { transform: translateY(-4px); }
.vit-prod-foto { display: block; aspect-ratio: 400 / 520; overflow: hidden; background: #F8F6F2; margin-bottom: 10px; }
.vit-prod-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.vit-prod b, .vit-prod small, .vit-prod em { padding: 0 14px; }
.vit-prod b { font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; }
.vit-prod small { font-size: var(--t-pq,14px); color: var(--gray); }
.vit-prod em { font-style: normal; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: var(--teal-deep); font-weight: 600; margin-top: 6px; }
.vit-nota { margin-top: 18px !important; font-size: var(--t-pq,14px); color: var(--gray); }
@media (max-width: 900px) {
  .vit-vant-grade { grid-template-columns: 1fr 1fr; }
  .vit-cats { grid-template-columns: 1fr 1fr; }
  .vit-prods { grid-template-columns: 1fr 1fr; gap: 14px; }
}
@media (max-width: 560px) {
  .vit-sec { padding: 40px 0 !important; }
  .vit-cats { grid-template-columns: 1fr; }
  .vit-cat { aspect-ratio: 16 / 10; }
  .vit-vant { padding: 14px 8px; }
  .vit-vant b { font-size: var(--t-txt,17px); }
  .vit-prod b { font-size: var(--t-txt,17px); }
  .vit-selo img { height: 32px; } .vit-selo .vit-logo-or { height: 26px; }
}
/* Roupa de esqui: capa clara, sem foto, com as duas marcas em destaque */
.vit-hero-clean { background: linear-gradient(180deg, #ffffff 0%, #F8F6F2 100%) !important; padding-bottom: 54px !important; }
.vit-hero-clean::before, .vit-hero-clean::after { display: none !important; }
.vit-hero-clean h1, .vit-hero-clean .page-hero-content h1 { color: var(--charcoal) !important; text-shadow: none !important; }
.vit-hero-clean h1 em { color: var(--teal-mid) !important; }
.vit-hero-clean p.lead { color: var(--gray) !important; text-shadow: none !important; max-width: 640px; }
.vit-hero-clean .breadcrumb, .vit-hero-clean .breadcrumb a, .vit-hero-clean .breadcrumb span { color: var(--gray) !important; text-shadow: none !important; }
.vit-hero-clean .vit-selo { gap: 26px; padding: 18px 32px; margin: 10px 0 26px; border-radius: 20px; background: #fff; box-shadow: 0 18px 46px rgba(16,60,70,.14); border: 1px solid #DCD3C4; }
.vit-hero-clean .vit-selo img { height: 78px; }
.vit-hero-clean .vit-selo .vit-logo-or { height: 60px; }
.vit-hero-clean .vit-selo span { font-size: var(--t-sec,30px); }
@media (max-width: 560px) {
  .vit-hero-clean .vit-selo { gap: 16px; padding: 14px 20px; }
  .vit-hero-clean .vit-selo img { height: 58px; }
  .vit-hero-clean .vit-selo .vit-logo-or { height: 42px; }
  .vit-hero-clean .vit-selo span { font-size: var(--t-sec,30px); }
}
/* título escondido (continua para o Google e leitores de tela) */
.so-leitor { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Roupa de esqui: as duas logos bem grandes, ocupando a capa */
.vit-hero-clean .page-hero-content { max-width: 1100px; width: 100%; }
.vit-hero-clean .vit-selo { width: 100%; max-width: 980px; box-sizing: border-box; justify-content: space-evenly; gap: 30px; padding: 36px 40px; margin: 14px 0 28px; border-radius: 24px; }
.vit-hero-clean .vit-selo img { height: 190px; width: auto; max-width: 42%; object-fit: contain; }
.vit-hero-clean .vit-selo .vit-logo-or { height: 150px; }
.vit-hero-clean .vit-selo span { font-size: var(--t-capa,48px); }
@media (max-width: 900px) {
  .vit-hero-clean .vit-selo img { height: 140px; }
  .vit-hero-clean .vit-selo .vit-logo-or { height: 100px; }
  .vit-hero-clean .vit-selo span { font-size: var(--t-capa,48px); }
}
@media (max-width: 560px) {
  .vit-hero-clean .vit-selo { gap: 12px; padding: 22px 16px; border-radius: 20px; }
  .vit-hero-clean .vit-selo img { height: 104px; max-width: 44%; }
  .vit-hero-clean .vit-selo .vit-logo-or { height: 60px; }
  .vit-hero-clean .vit-selo span { font-size: var(--t-sec,30px); }
}
/* logo O'rentees (larga) pela largura, para ficar do mesmo peso da nossa */
.vit-hero-clean .vit-selo .vit-logo-or { height: auto !important; width: 40%; max-width: 380px; }
@media (max-width: 560px) { .vit-hero-clean .vit-selo .vit-logo-or { width: 50%; max-width: none; } .vit-hero-clean .vit-selo img:not(.vit-logo-or) { height: 92px; } }
/* Roupa de esqui: logos sem caixa */
.vit-hero-clean .vit-selo { background: none !important; box-shadow: none !important; border: 0 !important; padding: 10px 0 !important; }
/* catálogo completo O'rentees */
.vit-filtros { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.vit-filtros.vit-tipos { margin-top: 10px; }
.vit-filtros button { font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; padding: 9px 16px; border-radius: 999px; border: 1px solid #DCD3C4; background: #fff; color: var(--charcoal); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.vit-filtros.vit-tipos button { font-size: var(--t-pq,14px); padding: 7px 14px; }
.vit-filtros button:hover { border-color: var(--gold); }
.vit-filtros button[aria-pressed="true"] { background: var(--teal-deep); border-color: var(--teal-deep); color: #fff; }
.vit-contagem { text-align: center; font-size: var(--t-pq,14px); color: var(--gray); margin: 14px 0 0; }
.vit-carregando { grid-column: 1 / -1; text-align: center; color: var(--gray); padding: 30px 0; }
#modelos .vit-prods { margin-top: 18px; }
@media (max-width: 560px) { .vit-filtros { gap: 6px; } .vit-filtros button { font-size: var(--t-pq,14px); padding: 8px 12px; } }
/* Roupa de esqui: capa com a foto da montanha; logos sobre o céu */
.vit-hero-foto { background-size: cover; background-position: center 40%; padding-bottom: 60px !important; }
.vit-hero-foto .vit-selo { background: none !important; box-shadow: none !important; border: 0 !important; padding: 6px 0 !important; width: 100%; max-width: 980px; justify-content: space-evenly; gap: 30px; margin: 10px 0 26px; }
.vit-hero-foto .vit-selo img { height: 190px; width: auto; max-width: 42%; object-fit: contain; filter: drop-shadow(0 8px 24px rgba(8,30,36,.35)); }
.vit-hero-foto .vit-selo .vit-logo-or { height: auto !important; width: 40%; max-width: 380px; filter: brightness(0) invert(1) drop-shadow(0 4px 16px rgba(8,30,36,.45)); }
.vit-hero-foto .vit-selo span { font-size: var(--t-capa,48px); color: #fff; text-shadow: 0 2px 12px rgba(8,30,36,.4); }
.vit-hero-foto .page-hero-content { max-width: 1100px; width: 100%; }
.vit-hero-foto p.lead { max-width: 660px; }
@media (max-width: 900px) { .vit-hero-foto .vit-selo img { height: 140px; } .vit-hero-foto .vit-selo span { font-size: var(--t-capa,48px); } }
@media (max-width: 760px) {
  .vit-hero-foto .vit-selo { gap: 12px; }
  .vit-hero-foto .vit-selo img { height: 96px; max-width: 44%; }
  .vit-hero-foto .vit-selo .vit-logo-or { width: 50%; }
  .vit-hero-foto .vit-selo span { font-size: var(--t-sec,30px); }
}

/* 8 links no menu do topo: entre 1024 e 1279 px, um pouco mais juntos para caber com folga */
@media (min-width: 1024px) and (max-width: 1279px) { .site-header .nav-links { gap: 14px !important; } .site-header .nav-links a { font-size: var(--t-pq,14px) !important; letter-spacing: normal !important; } }
/* Roupa de esqui: nossa marca como no topo do site (logo redonda + nome) e O'rentees na cor original */
.vit-hero-foto .vit-selo { align-items: center; }
.vit-hero-foto .vit-marca-en { display: flex; align-items: center; gap: 16px; }
.vit-hero-foto .vit-marca-en img { height: 120px !important; width: 120px !important; max-width: none !important; border-radius: 50%; }
.vit-marca-nome { display: flex; flex-direction: column; align-items: flex-start; font-family: 'Cormorant Garamond', serif; font-size: var(--t-capa,48px); line-height: 1; color: #fff; text-shadow: 0 2px 14px rgba(8,30,36,.45); white-space: nowrap; }
.vit-marca-nome small { font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; margin-top: 8px; color: #fff; }
.vit-hero-foto .vit-selo .vit-logo-or { filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)) !important; width: 34%; }
.vit-hero-foto .vit-x { font-size: var(--t-capa,48px); color: #fff; text-shadow: 0 2px 12px rgba(8,30,36,.4); font-family: 'Cormorant Garamond', serif; }
@media (max-width: 900px) {
  .vit-hero-foto .vit-marca-en img { height: 84px !important; width: 84px !important; }
  .vit-marca-nome { font-size: var(--t-sec,30px); } .vit-marca-nome small { font-size: var(--t-pq,14px); letter-spacing: normal; }
}
@media (max-width: 760px) {
  .vit-hero-foto .vit-selo { flex-direction: column; gap: 10px; }
  .vit-hero-foto .vit-marca-en { gap: 12px; }
  .vit-hero-foto .vit-marca-en img { height: 72px !important; width: 72px !important; }
  .vit-marca-nome { font-size: var(--t-sec,30px); } .vit-marca-nome small { font-size: var(--t-pq,14px); letter-spacing: normal; margin-top: 6px; }
  .vit-hero-foto .vit-x { font-size: var(--t-sec,30px); line-height: 1; }
  .vit-hero-foto .vit-selo .vit-logo-or { width: 62%; }
}
/* ===== Roupa de esqui: apresentação animada da parceria (motion design, toca uma vez ao abrir) ===== */
.vit-hero-foto .vit-x { display: flex; align-items: center; gap: 14px; }
.vit-hero-foto .vit-x b { font-weight: 400; display: inline-block; }
.vit-linha { display: block; width: 46px; height: 1.5px; background: linear-gradient(90deg, rgba(217,225,228,0), #DCD3C4, rgba(217,225,228,0)); }
.vit-parceria { margin: 4px 0 18px; }
.vit-parceria span { position: relative; display: inline-block; font-family: 'Jost', sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: #fff; padding-bottom: 10px; text-shadow: 0 1px 8px rgba(8,30,36,.45); }
.vit-parceria span::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 64px; height: 1.5px; margin-left: -32px; background: var(--gold, #006E83); }
@media (prefers-reduced-motion: no-preference) {
  .vit-anima .vit-marca-en { animation: vitEsq 1.1s cubic-bezier(.22,1,.36,1) .25s both; }
  .vit-anima .vit-logo-or { animation: vitDir 1.1s cubic-bezier(.22,1,.36,1) .45s both; }
  .vit-anima .vit-x b { animation: vitGira .8s cubic-bezier(.34,1.56,.64,1) 1.15s both; }
  .vit-anima .vit-linha { transform-origin: center; animation: vitLinha .7s ease-out 1.05s both; }
  .vit-parceria span { animation: vitAparece .9s ease-out 1.6s both; }
  .vit-parceria span::after { transform-origin: center; animation: vitLinha .8s ease-out 1.9s both; }
  .vit-hero-foto p.lead { animation: vitAparece .9s ease-out 2s both; }
  /* brilho suave que passa sobre as marcas de tempos em tempos */
  .vit-anima { position: relative; }
  .vit-anima::after { content: ''; position: absolute; top: -10%; bottom: -10%; left: -30%; width: 22%; pointer-events: none;
    background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 50%, rgba(255,255,255,0) 100%); transform: skewX(-18deg); opacity: 0;
    animation: vitBrilho 7s ease-in-out 2.8s infinite; }
}
@keyframes vitEsq { from { opacity: 0; transform: translateX(-60px); filter: blur(8px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes vitDir { from { opacity: 0; transform: translateX(60px); filter: blur(8px); } to { opacity: 1; transform: none; filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); } }
@keyframes vitGira { from { opacity: 0; transform: scale(.2) rotate(-180deg); } to { opacity: 1; transform: none; } }
@keyframes vitLinha { from { transform: scaleX(0); opacity: 0; } to { transform: scaleX(1); opacity: 1; } }
@keyframes vitAparece { from { opacity: 0; transform: translateY(10px); letter-spacing: normal; } to { opacity: 1; transform: none; } }
@keyframes vitBrilho { 0% { left: -30%; opacity: 0; } 10% { opacity: 1; } 35% { left: 110%; opacity: 0; } 100% { left: 110%; opacity: 0; } }
@media (max-width: 760px) {
  .vit-hero-foto .vit-x { flex-direction: row; gap: 10px; }
  .vit-linha { width: 34px; }
  @media (prefers-reduced-motion: no-preference) {
    .vit-anima .vit-marca-en { animation-name: vitCima; }
    .vit-anima .vit-logo-or { animation-name: vitBaixo; }
  }
  .vit-parceria span { font-size: var(--t-pq,14px); letter-spacing: normal; }
}
@keyframes vitCima { from { opacity: 0; transform: translateY(-34px); filter: blur(8px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes vitBaixo { from { opacity: 0; transform: translateY(34px); filter: blur(8px); } to { opacity: 1; transform: none; filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); } }
.vit-anima { overflow: visible; }
.vit-hero-foto { overflow: hidden; }
/* ===== Roupa de esqui: motion design em loop (5 s) — entra, brilha, fica, sai e recomeça ===== */
.vit-hero-foto .vit-x b { position: relative; }
.vit-anel { position: absolute; left: 50%; top: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px; border-radius: 50%; border: 1.5px solid #DCD3C4; opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .vit-hero-foto .vit-anima .vit-marca-en { animation: vitLoopEsq 5s cubic-bezier(.22,1,.36,1) infinite both; }
  .vit-hero-foto .vit-anima .vit-logo-or { animation: vitLoopDir 5s cubic-bezier(.22,1,.36,1) infinite both; }
  .vit-hero-foto .vit-anima .vit-x b { animation: vitLoopX 5s ease-in-out infinite both; }
  .vit-hero-foto .vit-anima .vit-linha { animation: vitLoopLinha 5s ease-in-out infinite both; }
  .vit-hero-foto .vit-anima .vit-anel { animation: vitLoopAnel 5s ease-out infinite both; }
  .vit-hero-foto .vit-parceria span { animation: vitLoopTxt 5s ease-in-out infinite both; }
  .vit-hero-foto .vit-parceria span::after { animation: vitLoopLinha 5s ease-in-out infinite both; }
  .vit-hero-foto .vit-anima::after { animation: vitLoopBrilho 5s ease-in-out infinite; }
}
/* logos: chegam dos lados com impulso, flutuam de leve, saem e voltam */
@keyframes vitLoopEsq {
  0%   { opacity: 0; transform: translateX(-90px) scale(.92); filter: blur(10px); }
  14%  { opacity: 1; transform: translateX(8px) scale(1.02); filter: blur(0); }
  20%  { transform: translateX(0) scale(1); }
  50%  { transform: translateY(-4px); }
  82%  { opacity: 1; transform: translateY(0); filter: blur(0); }
  100% { opacity: 0; transform: translateX(-30px) scale(.96); filter: blur(6px); }
}
@keyframes vitLoopDir {
  0%   { opacity: 0; transform: translateX(90px) scale(.92); filter: blur(10px); }
  16%  { opacity: 1; transform: translateX(-8px) scale(1.02); filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); }
  22%  { transform: translateX(0) scale(1); }
  50%  { transform: translateY(4px); }
  82%  { opacity: 1; transform: translateY(0); filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); }
  100% { opacity: 0; transform: translateX(30px) scale(.96); filter: blur(6px); }
}
/* "×": gira e pulsa quando as marcas se encontram */
@keyframes vitLoopX {
  0%, 12% { opacity: 0; transform: scale(.2) rotate(-180deg); }
  24%  { opacity: 1; transform: scale(1.35) rotate(0deg); }
  30%  { transform: scale(1) rotate(0deg); }
  60%  { transform: scale(1) rotate(90deg); }
  82%  { opacity: 1; transform: scale(1) rotate(90deg); }
  100% { opacity: 0; transform: scale(.4) rotate(180deg); }
}
/* anel dourado que se expande no encontro */
@keyframes vitLoopAnel {
  0%, 20% { opacity: 0; transform: scale(.3); }
  24%  { opacity: 1; transform: scale(.6); }
  44%  { opacity: 0; transform: scale(3.2); }
  100% { opacity: 0; transform: scale(3.2); }
}
/* linhas douradas que se desenham e recolhem */
@keyframes vitLoopLinha {
  0%, 18% { transform: scaleX(0); opacity: 0; }
  32%  { transform: scaleX(1); opacity: 1; }
  82%  { transform: scaleX(1); opacity: 1; }
  96%, 100% { transform: scaleX(0); opacity: 0; }
}
/* "PARCERIA OFICIAL": letras se aproximam até o lugar */
@keyframes vitLoopTxt {
  0%, 24% { opacity: 0; letter-spacing: normal; transform: translateY(8px); }
  38%  { opacity: 1; letter-spacing: normal; transform: none; }
  82%  { opacity: 1; letter-spacing: normal; }
  96%, 100% { opacity: 0; letter-spacing: normal; }
}
/* reflete uma luz sobre as marcas no meio do ciclo */
@keyframes vitLoopBrilho {
  0%, 40% { left: -30%; opacity: 0; }
  46%  { opacity: 1; }
  68%  { left: 110%; opacity: 0; }
  100% { left: 110%; opacity: 0; }
}
/* celular (logos um em cima do outro): chegam de cima e de baixo */
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .vit-hero-foto .vit-anima .vit-marca-en { animation-name: vitLoopCima; }
  .vit-hero-foto .vit-anima .vit-logo-or { animation-name: vitLoopBaixo; }
}
@keyframes vitLoopCima {
  0%   { opacity: 0; transform: translateY(-44px) scale(.92); filter: blur(10px); }
  14%  { opacity: 1; transform: translateY(4px) scale(1.02); filter: blur(0); }
  20%, 82% { opacity: 1; transform: none; filter: blur(0); }
  100% { opacity: 0; transform: translateY(-18px) scale(.96); filter: blur(6px); }
}
@keyframes vitLoopBaixo {
  0%   { opacity: 0; transform: translateY(44px) scale(.92); filter: blur(10px); }
  16%  { opacity: 1; transform: translateY(-4px) scale(1.02); filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); }
  22%, 82% { opacity: 1; transform: none; filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)); }
  100% { opacity: 0; transform: translateY(18px) scale(.96); filter: blur(6px); }
}
/* Roupa de esqui: logos fixos (sem entrar/sair); só o "×", o anel e as linhas animam; reflexo passa a cada 2,5 s */
/* (logos sem animação contínua; a entrada suave fica mais abaixo) */
.vit-hero-foto .vit-anima .vit-marca-en { filter: none !important; }
.vit-hero-foto .vit-anima .vit-logo-or { filter: drop-shadow(0 0 18px rgba(255,255,255,.75)) drop-shadow(0 0 4px rgba(255,255,255,.6)) !important; }
@media (prefers-reduced-motion: no-preference) {
  .vit-hero-foto .vit-anima::after { animation: vitBrilhoRapido 2.5s ease-in-out infinite !important; }
}
@keyframes vitBrilhoRapido { 0% { left: -30%; opacity: 0; } 10% { opacity: 1; } 60% { left: 110%; opacity: 0; } 100% { left: 110%; opacity: 0; } }
/* o "×" e as linhas ficam sempre visíveis: o "×" dá um giro com pulso a cada 5 s, junto com o anel dourado */
@media (prefers-reduced-motion: no-preference) {
  .vit-hero-foto .vit-anima .vit-x b { animation: vitXGiro 5s ease-in-out infinite !important; }
  .vit-hero-foto .vit-anima .vit-linha { animation: vitLinhaBrilho 5s ease-in-out infinite !important; transform: none; opacity: 1; }
}
@keyframes vitXGiro { 0%, 70% { transform: none; } 80% { transform: scale(1.35) rotate(180deg); } 88%, 100% { transform: scale(1) rotate(360deg); } }
@keyframes vitLinhaBrilho { 0%, 70%, 100% { opacity: .75; transform: scaleX(1); } 80% { opacity: 1; transform: scaleX(1.25); } }
@keyframes vitLoopAnel { 0%, 74% { opacity: 0; transform: scale(.3); } 78% { opacity: 1; transform: scale(.6); } 96%, 100% { opacity: 0; transform: scale(3.2); } }
.vit-hero-foto p.lead { animation: none !important; opacity: 1 !important; transform: none !important; letter-spacing: normal !important; }
/* Roupa de esqui: entre as marcas, um fio dourado fino com uma luz que desce devagar (no lugar do "×") */
.vit-div { position: relative; display: block; flex: 0 0 auto; width: 1px; height: 130px; background: linear-gradient(180deg, rgba(217,225,228,0), rgba(217,225,228,.85) 25%, rgba(217,225,228,.85) 75%, rgba(217,225,228,0)); overflow: hidden; }
.vit-div::after { content: ''; position: absolute; left: -1px; width: 3px; height: 40px; top: -40px; border-radius: 2px; background: linear-gradient(180deg, rgba(255,255,255,0), #fff, rgba(255,255,255,0)); box-shadow: 0 0 10px rgba(255,255,255,.9); }
@media (prefers-reduced-motion: no-preference) { .vit-div::after { animation: vitFio 4s ease-in-out infinite; } }
@keyframes vitFio { 0% { top: -40px; opacity: 0; } 15% { opacity: 1; } 70% { top: 130px; opacity: 1; } 71%, 100% { top: 130px; opacity: 0; } }
@media (max-width: 900px) { .vit-div { height: 96px; } }
@media (max-width: 760px) {
  .vit-div { width: 120px; height: 1px; margin: 4px 0; background: linear-gradient(90deg, rgba(217,225,228,0), rgba(217,225,228,.85) 25%, rgba(217,225,228,.85) 75%, rgba(217,225,228,0)); }
  .vit-div::after { top: -1px; left: -40px; width: 40px; height: 3px; background: linear-gradient(90deg, rgba(255,255,255,0), #fff, rgba(255,255,255,0)); }
  @media (prefers-reduced-motion: no-preference) { .vit-div::after { animation-name: vitFioH; } }
}
@keyframes vitFioH { 0% { left: -40px; opacity: 0; } 15% { opacity: 1; } 70% { left: 120px; opacity: 1; } 71%, 100% { left: 120px; opacity: 0; } }
/* Roupa de esqui: entrada suave das logos ao abrir a página (começam um pouco menores e crescem devagar, uma vez só) */
@media (prefers-reduced-motion: no-preference) {
  .vit-hero-foto .vit-anima .vit-marca-en { animation: vitCresce 1.8s cubic-bezier(.25,.8,.25,1) .15s both !important; }
  .vit-hero-foto .vit-anima .vit-logo-or { animation: vitCresceOr 1.8s cubic-bezier(.25,.8,.25,1) .35s both !important; }
  .vit-hero-foto .vit-anima .vit-div { animation: vitDivAparece 1.4s ease-out .9s both; }
}
@keyframes vitCresce { from { opacity: 0; transform: scale(.82); } to { opacity: 1; transform: scale(1); } }
@keyframes vitCresceOr { from { opacity: 0; transform: scale(.82); } to { opacity: 1; transform: scale(1); } }
@keyframes vitDivAparece { from { opacity: 0; } to { opacity: 1; } }
/* catálogo: botões de filtro numa linha só, ocupando toda a largura das caixas dos modelos */
#modelos .vit-filtros { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; justify-content: stretch; }
#modelos .vit-filtros.vit-tipos { grid-template-columns: repeat(5, 1fr); }
#modelos .vit-filtros button { width: 100%; white-space: nowrap; padding: 11px 6px; border-radius: 12px; text-align: center; }
@media (max-width: 900px) {
  /* celular e tablet: a mesma linha, deslizando para o lado (alinhada com as caixas) */
  #modelos .vit-filtros, #modelos .vit-filtros.vit-tipos { display: flex; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 8px; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
  #modelos .vit-filtros::-webkit-scrollbar { display: none; }
  #modelos .vit-filtros button { flex: 1 0 auto; width: auto; padding: 10px 14px; }
}

/* barra do topo e barras flutuantes ao descer: quase na cor normal, só um pouquinho transparentes */
.site-header.scrolled { background: rgba(248, 246, 242, 0.90) !important; }
.mini-planner { background: rgba(255, 255, 255, 0.90) !important; }
.barra-topo { background: rgba(255, 255, 255, 0.88) !important; }

/* ainda menos transparente: só um leve efeito */
.site-header.scrolled { background: rgba(248, 246, 242, 0.97) !important; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
.mini-planner { background: rgba(255, 255, 255, 0.97) !important; }
.barra-topo { background: rgba(255, 255, 255, 0.96) !important; }

/* barras sem transparência (cor sólida) */
.site-header.scrolled { background: rgb(248, 246, 242) !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.mini-planner { background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.barra-topo { background: #fff !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* Roupa de esqui: animação do passo a passo ao lado dos 4 passos (computador) ou acima deles (celular) */
.pedido-orentees .roupa-corpo { display: grid; grid-template-columns: 1fr 320px; gap: 50px; align-items: center; margin-top: 32px; }
.pedido-orentees .roupa-corpo .steps { margin-top: 0 !important; grid-template-columns: 1fr 1fr; gap: 26px 30px; }
.pedido-orentees .roupa-video { grid-column: 2; grid-row: 1; width: 320px; aspect-ratio: 4 / 5; border-radius: var(--caixa-raio, 16px); overflow: hidden; background: #004E5D; box-shadow: var(--caixa-sombra, 0 20px 50px rgba(16,60,70,.18)); }
.pedido-orentees .roupa-video iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) {
  .pedido-orentees .roupa-corpo { grid-template-columns: 1fr; gap: 30px; }
  .pedido-orentees .roupa-video { grid-column: 1; justify-self: center; width: min(86vw, 340px); }
}
@media (max-width: 560px) { .pedido-orentees .roupa-corpo .steps { grid-template-columns: 1fr; } }

/* legibilidade: legenda "Alpes Franceses" do menu ☰ e da capa da Roupa de esqui um pouco maiores */
.mobile-menu .drawer-brand-name span { font-size: var(--t-pq,14px) !important; letter-spacing: normal !important; }
@media (max-width: 560px) { .vit-marca-nome small { font-size: var(--t-pq,14px) !important; } }
/* catálogo no celular: indica que dá para deslizar os filtros (borda esmaecida + seta) */
@media (max-width: 900px) {
  #modelos .vit-filtro-wrap { position: relative; }
  #modelos .vit-filtro-wrap .vit-filtros { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); }
  #modelos .vit-filtro-wrap.fim .vit-filtros { -webkit-mask-image: none; mask-image: none; }
  #modelos .vit-filtro-wrap::after { content: '›'; position: absolute; right: -2px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--teal-deep); color: #fff; font-size: var(--t-txt,17px); line-height: 1; padding-bottom: 2px; box-sizing: border-box; box-shadow: 0 4px 12px rgba(16,60,70,.25); pointer-events: none; transition: opacity .3s ease; animation: vitSeta 1.6s ease-in-out infinite; }
  #modelos .vit-filtro-wrap.fim::after { opacity: 0; animation: none; }
  #modelos .vit-filtro-wrap .vit-filtros { padding-right: 26px; }
}
@media (min-width: 901px) { #modelos .vit-filtro-wrap::after { display: none; } }
@keyframes vitSeta { 0%, 100% { transform: translateY(-50%) translateX(0); } 50% { transform: translateY(-50%) translateX(4px); } }

/* botão de idioma: bandeira + sigla + setinha, com lista */
.troca-idioma { position: relative; margin-right: 6px; font-family: "Jost", sans-serif; }
.troca-idioma .idioma-atual { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 6px 4px; color: #fff; font: inherit; font-size: var(--t-pq,14px); letter-spacing: normal; cursor: pointer; }
.troca-idioma .idioma-atual b { font-weight: 600; }
.troca-idioma .bandeira { width: 18px; height: 18px; border-radius: 50%; flex: 0 0 auto; box-shadow: 0 0 0 1.5px rgba(255,255,255,.9), 0 1px 4px rgba(0,0,0,.18); display: block; }
.troca-idioma .seta { width: 11px; height: 8px; opacity: .75; transition: transform .2s ease; }
.troca-idioma.aberto .seta { transform: rotate(180deg); }
.site-header.scrolled .troca-idioma .idioma-atual, .site-header.solid .troca-idioma .idioma-atual { color: var(--charcoal, #1A1A1A); }
.troca-idioma .idioma-atual:hover b, .troca-idioma .idioma-atual:focus-visible b { color: var(--gold, #006E83); }
.troca-idioma .idioma-lista { position: absolute; top: calc(100% + 8px); right: 0; min-width: 170px; background: #fff; border-radius: 16px; box-shadow: 0 26px 60px rgba(16,60,70,.20); padding: 6px; display: none; z-index: 1200; }
.troca-idioma.aberto .idioma-lista { display: block; animation: idiomaAbre .18s ease; }
@keyframes idiomaAbre { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.troca-idioma .idioma-lista a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: var(--charcoal, #1A1A1A); text-decoration: none; font-size: var(--t-pq,14px); }
.troca-idioma .idioma-lista a:hover { background: rgba(0,110,131,.08); }
.troca-idioma .idioma-lista a[aria-current] { font-weight: 600; }
.troca-idioma .idioma-lista a[aria-current]::after { content: "✓"; margin-left: auto; color: var(--gold, #006E83); }
.mobile-menu .troca-idioma.no-menu { margin: 18px auto 0; align-self: center; }
.mobile-menu .troca-idioma.no-menu .idioma-atual { font-size: var(--t-txt,17px); }
.mobile-menu .troca-idioma.no-menu .idioma-lista { right: 50%; transform: translateX(50%); top: auto; bottom: calc(100% + 8px); }
.mobile-menu .troca-idioma .idioma-lista a { font-family: "Jost", sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; border: 0; padding: 10px 12px; color: var(--charcoal, #1A1A1A); }
.mobile-menu .troca-idioma.no-menu.aberto .idioma-lista { animation: none; }
@media (max-width: 1023px) { .site-header .troca-idioma.no-topo .idioma-atual { font-size: var(--t-pq,14px); gap: 6px; } }
@media (max-width: 480px) { .site-header .troca-idioma.no-topo { margin-right: 2px; } .site-header .troca-idioma.no-topo .idioma-atual { padding: 6px 2px; gap: 5px; font-size: var(--t-pq,14px); } }
@media (max-width: 359px) { .site-header .troca-idioma.no-topo { display: none; } }

/* marca na versão em inglês: "Alpine Concierge · French Alps" e o significado do nome no rodapé */
.brand-name .marca-extra { font-style: normal; }
@media (max-width: 1279px) { .brand-name .marca-extra { display: none; } }
.footer-marca { display: block; width: 230px; max-width: 100%; margin-bottom: 18px; }
.footer-marca .footer-logo, .site-footer .footer-marca .footer-logo { width: 100%; margin: 0 0 9px; display: block; }
.footer-marca-sub { display: flex; align-items: center; gap: 9px; font-family: "Jost", sans-serif; font-size: var(--t-pq,14px); letter-spacing: normal; text-transform: none; color: rgba(255,255,255,.9); white-space: nowrap; }
.footer-marca-sub::before, .footer-marca-sub::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.55); }
.footer-nome { margin-top: 10px !important; font-size: var(--t-pq,14px); opacity: .78; }
.footer-nome em { font-family: "Cormorant Garamond", serif; font-size: var(--t-pq,14px); }
.nome-marca em { font-family: "Cormorant Garamond", serif; font-size: 1.12em; color: var(--teal-deep, #006E83); }

/* computador: links das páginas centralizados na barra do menu, entre o logo e o botão de idioma (pedido de 14/10/2026) */
@media (min-width: 1024px) {
  .site-header nav { flex: 1 1 auto; margin: 0 20px !important; display: flex; justify-content: center; }
  .site-header .nav-links { justify-content: center; }
}

/* computador: os links do menu ficam sempre no tamanho normal; quando não cabem na barra, o js/main.js põe .menu-compacto e entra o menu hambúrguer (pedido de 14/10/2026) */
@media (min-width: 1024px) {
  .site-header .nav-links { gap: 24px !important; }   /* 24 (era 28) desde 17/10/2026, para caber o item Dicas em 1440px */
  .site-header .nav-links a { font-size: var(--t-pq,14px) !important; letter-spacing: normal !important; white-space: nowrap; }
  .site-header.menu-compacto nav { display: none !important; }
  .site-header.menu-compacto .hamburger { display: flex !important; }
  .site-header.menu-compacto .nav-cta { margin-left: auto !important; }
}

/* Proteções para todos os aparelhos (iPhone/Safari, Android, tablet, computador) */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,iframe{max-width:100%}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
input[type=date],input[type=month],input[type=time]{-webkit-appearance:none;appearance:none;display:block;min-width:0}
@media (max-width:768px){input,select,textarea{font-size:var(--t-txt,17px)!important}}   /* abaixo de 16px o iPhone dá zoom sozinho ao tocar no campo */
/* celular estreito: a foto dos cartões largos acompanha a largura do cartão (a altura mínima fazia ela passar da borda) */
@media (max-width: 760px) { .wide-card .illus { min-height: 0; width: 100%; } .wide-card > * { min-width: 0; } }
/* Roupa de esqui (15/10/2026): no celular os quadros dos modelos ficam mais curtos, sem espaço sobrando */
@media (max-width: 560px) {
  .vit-prods { gap: 10px; margin-top: 18px; }
  .vit-prod { gap: 1px; padding-bottom: 10px; }
  .vit-prod-foto { aspect-ratio: 1 / 1; margin-bottom: 6px; }
  .vit-prod-foto img { object-fit: contain; object-position: center; }
  .vit-prod b, .vit-prod small, .vit-prod em { padding: 0 10px; }
  .vit-prod b { font-size: var(--t-txt,17px); line-height: 1.2; }
  .vit-prod small { font-size: var(--t-pq,14px); }
  .vit-prod em { font-size: var(--t-pq,14px); margin-top: 3px; }
}
/* 15/10/2026: com uma janela aberta (fotos e detalhes da hospedagem no gerador, menu do celular, "Monte sua viagem" no celular),
   a página de trás fica parada: só a janela rola, e ao chegar no fim ela não "puxa" o fundo */
html:has(dialog[open]), html:has(body.menu-open), html:has(.mini-fundo.aberto) { overflow: hidden; }
html:has(dialog[open]) body, html:has(.mini-fundo.aberto) body { overflow: hidden; }
dialog, .mobile-menu, .mini-planner { overscroll-behavior: contain; }

/* 19/10/2026: botões delicados em todo o site (pedido da Nayara) — cores da marca em tom claro, borda fina e uma luz clarinha ao passar/tocar, sem pular */
.btn-gold,.site-header .btn-gold,.mobile-menu .btn-gold,.mobile-menu a.menu-cta,.barra-topo .bt-monte{background:#F8F6F2!important;color:#004E5D!important;border:1.5px solid #DCD3C4!important;box-shadow:none!important;filter:none!important}
.btn-gold:hover,.btn-gold:focus-visible,.site-header .btn-gold:hover,.mobile-menu a.menu-cta:hover,.mobile-menu a.menu-cta:active,.barra-topo .bt-monte:hover,.barra-topo .bt-monte:active{transform:none!important;background:#F8F6F2!important;color:#1A1A1A!important;box-shadow:none!important;filter:none!important}
.btn-teal{background:#F8F6F2!important;color:#006E83!important;border:1.5px solid #EDE7DC!important;box-shadow:none!important}
.btn-teal:hover,.btn-teal:focus-visible{transform:none!important;background:#F8F6F2!important;box-shadow:none!important}
.btn-outline:hover,.btn-outline:focus-visible{transform:none!important;box-shadow:none}
.vit-filtros button:hover{border-color:#EDE7DC;color:#006E83}
.vit-filtros button[aria-pressed="true"]{background:#F8F6F2!important;border-color:#EDE7DC!important;color:#006E83!important;font-weight:600}
.lista-numeros button.sel{background:#F8F6F2!important;color:var(--charcoal)!important;box-shadow:none}   /* 23/10/2026: a opção escolhida segue o padrão das outras (sem azul) */
.btn:focus-visible,.vit-filtros button:focus-visible{outline:2px solid #EDE7DC;outline-offset:2px}
.lista-numeros button:focus-visible{outline:none;background:#F8F6F2}

/* 19/10/2026 (Nayara, opção C): textos corridos do site em 17 px (antes 13–16 px), como o WhatsApp e o planning */

/* 23/10/2026 (Nayara): o site se adapta a qualquer tela de computador, com letras um pouco maiores nos notebooks.
   1100–1399 px: base de ~1300 px; 1400–1599 px: base de ~1400 px (menu em cima, com menos espaço entre os itens).
   1600 px ou mais: base de ~1460 px. Abaixo de 1100 px nada muda (celular e tablet). */
@media (min-width: 1100px) { html { zoom: 0.85; } }
@media (min-width: 1200px) { html { zoom: 0.92; } }
@media (min-width: 1300px) { html { zoom: 1.0; } }
@media (min-width: 1400px) { html { zoom: 1.0; } }
@media (min-width: 1500px) { html { zoom: 1.07; } }
@media (min-width: 1600px) { html { zoom: 1.1; } }
@media (min-width: 1700px) { html { zoom: 1.16; } }
@media (min-width: 1800px) { html { zoom: 1.23; } }
@media (min-width: 1900px) { html { zoom: 1.3; } }
@media (min-width: 2000px) { html { zoom: 1.37; } }
@media (min-width: 2100px) { html { zoom: 1.44; } }
@media (min-width: 2200px) { html { zoom: 1.51; } }
@media (min-width: 2300px) { html { zoom: 1.58; } }
@media (min-width: 2400px) { html { zoom: 1.64; } }
@media (min-width: 2500px) { html { zoom: 1.71; } }
@media (min-width: 2600px) { html { zoom: 1.78; } }
@media (min-width: 2700px) { html { zoom: 1.85; } }
@media (min-width: 2800px) { html { zoom: 1.92; } }
@media (min-width: 2900px) { html { zoom: 1.99; } }
@media (min-width: 3000px) { html { zoom: 2.05; } }
@media (min-width: 3100px) { html { zoom: 2.12; } }
@media (min-width: 3200px) { html { zoom: 2.19; } }
@media (min-width: 3300px) { html { zoom: 2.26; } }
@media (min-width: 3400px) { html { zoom: 2.33; } }
@media (min-width: 3500px) { html { zoom: 2.4; } }
@media (min-width: 3600px) { html { zoom: 2.47; } }
@media (min-width: 3700px) { html { zoom: 2.53; } }
@media (min-width: 3800px) { html { zoom: 2.6; } }
@media (min-width: 1100px) and (max-width: 1599px) { .site-header .nav-links { gap: 16px !important; } .site-header .nav-cta { margin-left: 12px !important; } }

/* 25/10/2026 (Nayara): visual menos "cara de IA" em todo o site — sem a fórmula etiqueta em maiúsculas + título com trecho em itálico colorido
   + risquinho dourado; texto do corpo num tamanho só (17 px). */
.section-label, .divider-gold { display: none; }
h1 em, h2 em, .section-title em, .hero h1 em, .page-hero h1 em, .how .section-title em { font-style: normal !important; color: inherit !important; }
.section-title { margin-bottom: 18px; }
.section-sub, .step p, .trust-item p, .service-card p, .dc-overlay p, .dest-card p { font-size: var(--t-txt,17px); line-height: 1.6; }
/* 25/10/2026 (Nayara): sem a faixa de brilho passando por cima do topo das páginas de parceiros (roupa de esqui) */
.vit-anima::after { display: none !important; animation: none !important; }
/* 25/10/2026: um padrão só de letras — 5 tamanhos no site inteiro (capa, seção, destaque, texto, pequeno); nada abaixo de 14px */
:root{--t-capa:48px;--t-sec:30px;--t-sub:20px;--t-txt:17px;--t-pq:14px}
@media (max-width:560px){:root{--t-capa:34px;--t-sec:26px;--t-sub:19px}}
em,i{font-style:normal}
h1 em,h2 em,h3 em,h4 em{color:inherit}
/* 26/10/2026: "Qual é a sua viagem?" — entrada por perfil na página inicial */
.perfis{background:var(--white,#fff)}
.perfis-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
@media (max-width:900px){.perfis-grade{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}
.perfil-card{display:flex;flex-direction:column;background:#fff;border:1px solid #DCD3C4;border-radius:16px;overflow:hidden}
.perfil-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.perfil-txt{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.perfil-txt h3{font-family:'Cormorant Garamond',serif;font-size:var(--t-sub,20px);font-weight:600;margin:0;color:var(--dark,#1A1A1A)}
.perfil-txt p{margin:0;font-size:var(--t-txt,17px);line-height:1.6;color:var(--gray,#2A2A2A)}
.perfil-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:auto;padding-top:6px}
.perfil-guia{font-size:var(--t-pq,14px);color:var(--teal,#006E83);text-decoration:underline;text-underline-offset:3px}
.perfil-links{flex-direction:column;align-items:flex-start;gap:12px}   /* botão e link sempre um embaixo do outro, igual nos 3 cartões */
/* 26/10/2026: rodapé mais compacto — menos altura, Navegação em 2 colunas, letras do mesmo tamanho, dados da empresa em menos linhas */
footer { padding: 48px 0 22px; }
.footer-top { grid-template-columns: 1.15fr 1.35fr 1fr; gap: 40px; padding-bottom: 30px; align-items: start; }
.footer-logo { width: 170px; margin-bottom: 14px; }
.footer-top p { font-size: 15px; line-height: 1.6; max-width: 330px; }
.footer-col h5 { margin-bottom: 14px; }
.footer-col ul { gap: 9px; }
.footer-col li, .footer-col a { font-size: 15px; line-height: 1.4; }
.footer-top .footer-col:nth-child(2) ul { grid-template-columns: repeat(2, max-content); column-gap: 36px; }
.footer-bottom { padding-top: 18px; }
.footer-legal { flex-direction: row; flex-wrap: wrap; column-gap: 0; row-gap: 2px; font-size: var(--t-pq,14px); }
.footer-legal > span:not(:last-child)::after { content: "·"; margin: 0 10px; opacity: .6; }
@media (max-width: 760px) {
  footer { padding: 40px 0 22px; }
  .footer-top { grid-template-columns: 1fr; gap: 26px; }
  .footer-col li, .footer-col a { font-size: 16px; }
  .footer-top .footer-col:nth-child(2) ul { column-gap: 28px; }
  .footer-legal { flex-direction: column; }
  .footer-legal > span::after { content: none !important; }
}
.footer-legal > .footer-endereco { flex-basis: 100%; }
.footer-legal > span:nth-last-child(2)::after { content: none; }
.footer-legal .footer-links-legais a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer-legal .footer-links-legais a:hover { color: var(--gold-light); }
/* 26/10/2026: celular — barra fina fixa embaixo (ajuda, "Monte sua viagem", WhatsApp) no lugar dos botões soltos */
.barra-cel { display: none; }
@media (max-width: 760px) {
  body.com-barra-cel .barra-cel { display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid #DCD3C4; }
  .barra-cel .bc-ajuda { flex: 0 0 auto; width: 46px; height: 46px; padding: 0; border-radius: 50%; overflow: hidden; border: 2px solid var(--gold-light, #DCD3C4); background: #fff; cursor: pointer; }
  .barra-cel .bc-ajuda img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .barra-cel .bc-monte { flex: 1; height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; text-decoration: none;
    background: #F8F6F2; border: 1.5px solid #DCD3C4; color: #004E5D; font-family: 'Jost', sans-serif; font-size: 16px; font-weight: 600; }
  .barra-cel .bc-whats { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; }
  body.com-barra-cel { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  body.com-barra-cel .whatsapp-float, body.com-barra-cel .instagram-float, body.com-barra-cel #ajudaBtn,
  body.com-barra-cel .barra-topo, body.com-barra-cel .mini-fab { display: none !important; }
  body.com-barra-cel #ajudaPainel { bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important; }
  body.com-barra-cel #avisoCookies { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 760px) {
  .barra-cel .bc-bal { position: absolute; left: max(10px, env(safe-area-inset-left, 0px)); bottom: calc(100% + 8px); padding: 9px 14px; border-radius: 14px 14px 14px 4px;
    background: #fff; border: 1.5px solid #DCD3C4; color: #004E5D; font-family: 'Jost', sans-serif; font-size: 15px; font-weight: 600; white-space: nowrap;
    box-shadow: 0 6px 18px rgba(16,60,70,.14); opacity: 0; transform: translateY(6px); pointer-events: none; transition: opacity .3s ease, transform .3s ease; }
  .barra-cel.fala .bc-bal { opacity: 1; transform: none; pointer-events: auto; cursor: pointer; }
}
/* 26/10/2026: balão em forma de pensamento, saindo da cabeça (bolinhas subindo da foto) */
@media (max-width: 760px) {
  .barra-cel .bc-bal { bottom: calc(100% + 22px); border-radius: 20px; left: max(16px, env(safe-area-inset-left, 0px)); }
  .barra-cel .bc-bal::before, .barra-cel .bc-bal::after { content: ''; position: absolute; border-radius: 50%; background: #fff; border: 1.5px solid #DCD3C4; }
  .barra-cel .bc-bal::after { width: 11px; height: 11px; left: 18px; bottom: -15px; }
  .barra-cel .bc-bal::before { width: 7px; height: 7px; left: 14px; bottom: -26px; }
}
/* 26/10/2026: Instagram no menu do celular (sai da tela, fica aqui e no painel de ajuda) */
.mobile-menu a.menu-insta { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; background: #fff; color: #8a3a7a; border: 1.5px solid #e6c3d9; }
.mobile-menu a.menu-insta:hover, .mobile-menu a.menu-insta:active { background: #fbf2f8; color: #8a3a7a; }
@media (max-width: 760px) { body.menu-open .barra-cel { display: none !important; } }
/* 26/10/2026 (2): barra do celular com 4 símbolos redondos iguais — ajuda (foto), Monte sua viagem (cores da marca), Instagram e WhatsApp (cores oficiais) */
@media (max-width: 760px) {
  body.com-barra-cel .barra-cel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; align-items: start; padding-top: 7px; padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)); }
  .barra-cel .bc-item { display: flex; flex-direction: column; align-items: center; gap: 3px; text-decoration: none; background: none; border: 0; padding: 0; width: auto; height: auto; border-radius: 0; font: inherit; cursor: pointer; flex: none; }
  .barra-cel .bc-ic { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; }
  .barra-cel .bc-tx { font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 600; line-height: 1.15; color: #006E83; text-align: center; }
  .barra-cel .bc-ajuda .bc-ic { border: 2px solid var(--gold-light, #DCD3C4); background: #fff; }
  .barra-cel .bc-ajuda img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .barra-cel .bc-monte .bc-ic { background: #006E83; box-shadow: inset 0 0 0 2px #006E83; }
  .barra-cel .bc-insta .bc-ic { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
  .barra-cel .bc-whats .bc-ic { background: #25d366; }
  .barra-cel .bc-whats { width: auto; height: auto; border-radius: 0; background: none; color: inherit; }
  .barra-cel .bc-monte { flex: none; height: auto; background: none; border: 0; color: inherit; font-size: inherit; }
  body.com-barra-cel { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body.com-barra-cel #ajudaPainel { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
  body.com-barra-cel #avisoCookies { bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important; }
  .barra-cel .bc-bal { bottom: calc(100% + 18px); }
}
/* menu do celular: Instagram com o logo oficial e o botão nas cores da marca */
.mobile-menu a.menu-insta { background: #fff; color: #006E83; border: 1.5px solid #006E83; }
.mobile-menu a.menu-insta:hover, .mobile-menu a.menu-insta:active { background: #F8F6F2; color: #006E83; }
.mobile-menu a.menu-insta .ig-logo { width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
@media (max-width: 760px) { body.com-barra-cel { padding-bottom: calc(94px + env(safe-area-inset-bottom, 0px)); } body.com-barra-cel #ajudaPainel { bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important; } body.com-barra-cel #avisoCookies { bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important; } }
/* 26/10/2026 (3): barra do celular de volta ao formato foto · "Monte sua viagem" · WhatsApp (Instagram só no menu e na ajuda) */
@media (max-width: 760px) {
  body.com-barra-cel .barra-cel { display: grid; grid-template-columns: 46px minmax(0, 1fr) 46px; gap: 10px; align-items: center; padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
  .barra-cel .bc-ajuda { width: 46px; height: 46px; padding: 0; border-radius: 50%; overflow: hidden; border: 2px solid var(--gold-light, #DCD3C4); background: #fff; }
  .barra-cel .bc-monte { height: 46px; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; border-radius: 12px;
    background: #F8F6F2; border: 1.5px solid #DCD3C4; color: #004E5D; font-family: 'Jost', sans-serif; font-size: 16px; font-weight: 600; text-decoration: none; }
  .barra-cel .bc-whats { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #25d366; }
  body.com-barra-cel { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  body.com-barra-cel #ajudaPainel { bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important; }
  body.com-barra-cel #avisoCookies { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
  .barra-cel .bc-bal { bottom: calc(100% + 22px); }
}
/* 26/10/2026: menu do celular — WhatsApp igual ao Instagram: botão nas cores da marca com o logo oficial (verde do WhatsApp) */
.mobile-menu a.menu-whats { display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff !important; color: #006E83 !important; border: 1.5px solid #006E83 !important; }
.mobile-menu a.menu-whats:hover, .mobile-menu a.menu-whats:active { background: #F8F6F2 !important; color: #006E83 !important; }
.mobile-menu a.menu-whats .wa-logo { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #25d366; }
/* 26/10/2026: seta do "Monte sua viagem" em destaque (círculo dourado que sobe de leve) e WhatsApp com o efeito de pulso */
@media (max-width: 760px) {
  .barra-cel .bc-seta { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #006E83; color: #fff; flex: 0 0 auto; }
  .barra-cel .bc-seta svg { stroke-width: 3; }
  .barra-cel .bc-whats { animation: pulse 2.6s infinite; }
}
@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
  .barra-cel .bc-seta svg { animation: setaSobe 1.8s ease-in-out infinite; }
}
@keyframes setaSobe { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-3px); } }
/* 26/10/2026: se a página já mostra "Monte sua viagem", a barra some e ficam os botões redondos (foto à esquerda; Instagram em cima do WhatsApp) */
.barra-cel .bc-insta { display: none; }
@media (max-width: 760px) {
  body.com-barra-cel .barra-cel { transition: background .12s ease, border-color .12s ease; }
  body.com-barra-cel .barra-cel.sem-monte { background: transparent !important; border-top-color: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; pointer-events: none; }
  body.com-barra-cel .barra-cel.sem-monte > * { pointer-events: auto; }
  body.com-barra-cel .barra-cel.sem-monte .bc-monte { visibility: hidden; pointer-events: none; }
  body.com-barra-cel .barra-cel.sem-monte .bc-insta { display: grid; place-items: center; position: absolute; right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(8px + env(safe-area-inset-bottom, 0px) + 58px);
    width: 46px; height: 46px; border-radius: 50%; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); box-shadow: 0 6px 16px rgba(0,0,0,.18); }
  body.com-barra-cel .barra-cel.sem-monte .bc-ajuda, body.com-barra-cel .barra-cel.sem-monte .bc-whats { box-shadow: 0 6px 16px rgba(0,0,0,.18); }
}
/* 26/10/2026: rodapé no celular — logo e frase lado a lado, Navegação em duas colunas iguais, espaço para o botão da ajuda no fim */
@media (max-width: 760px) {
  footer .footer-top > div:first-child, .site-footer .footer-top > div:first-child { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 16px; align-items: center; }
  footer .footer-top > div:first-child .footer-logo, .site-footer .footer-top > div:first-child .footer-logo { width: 128px; margin: 0; }
  footer .footer-top > div:first-child p, .site-footer .footer-top > div:first-child p { margin: 0; max-width: none; font-size: 15px; line-height: 1.45; }
  footer .footer-top .footer-col:nth-child(2) ul, .site-footer .footer-top .footer-col:nth-child(2) ul { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 16px !important; }
  footer, .site-footer { padding-bottom: 96px !important; }
}
.footer-col li, .site-footer .footer-col li { color: rgba(255,255,255,.85); }
/* 26/10/2026: logo em cima (como antes) e a frase numa linha só */
@media (max-width: 760px) {
  footer .footer-top > div:first-child, .site-footer .footer-top > div:first-child { display: block; }
  footer .footer-top > div:first-child .footer-logo, .site-footer .footer-top > div:first-child .footer-logo { width: 170px; margin: 0 0 12px; }
  footer .footer-top > div:first-child p, .site-footer .footer-top > div:first-child p { white-space: nowrap; font-size: min(15px, 3.75vw); }
}
@media (max-width: 760px) { body.com-barra-cel footer, body.com-barra-cel .site-footer { padding-bottom: 22px !important; } }
/* 26/10/2026: painel de ajuda cabe na parte visível da tela (iPhone com a barra de endereço em cima ou embaixo) */
@media (max-width: 760px) {
  #ajudaPainel { max-height: calc(100vh - 190px) !important; max-height: calc(100dvh - 120px) !important; top: auto !important; }
  body.com-barra-cel #ajudaPainel { max-height: calc(100dvh - 104px - env(safe-area-inset-bottom, 0px)) !important; }
}
/* 26/10/2026: vantagens logo abaixo do "Monte sua viagem" (compacto) */
section.vantagens { padding-top: 48px; padding-bottom: 8px; }
@media (max-width: 760px) {
  section.vantagens { padding-top: 34px; padding-bottom: 0; }
  section.vantagens .trust-grid { gap: 22px 14px; }
  section.vantagens .trust-item h4 { margin-bottom: 4px; }
}
/* 26/10/2026: estações em cartões que deslizam para o lado no celular */
@media (max-width: 560px) {
  .dest-grid, .dest-grid.domains { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 74%; gap: 14px;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    margin-left: -16px; margin-right: -16px; padding: 4px 16px 14px; scroll-padding-left: 16px; }
  .dest-grid::-webkit-scrollbar { display: none; }
  .dest-grid > .dest-card { scroll-snap-align: start; aspect-ratio: 4/5; }
  .dest-grid > .dest-card .dc-overlay { padding: 16px; }
}
@media (max-width: 560px) {
  .dest-grid, .dest-grid.domains { grid-auto-columns: 80%; margin-left: -22px; margin-right: -22px; padding-left: 22px; padding-right: 22px; scroll-padding-left: 22px; }
  .dest-grid > .dest-card { aspect-ratio: 4/3; }
}



/* 26/10/2026: "Todas as estações" (página Estações): regiões que abrem e fecham, com busca pelo nome */
.regioes { max-width: 860px; margin: 30px auto 0; display: flex; flex-direction: column; gap: 12px; }
.reg-busca { display: flex; align-items: center; gap: 10px; height: 52px; padding: 0 16px; border: 1.5px solid var(--gray-light); border-radius: 14px; background: var(--white); color: var(--gray); margin-bottom: 6px; }
.reg-busca:focus-within { border-color: var(--teal-mid); }
.reg-busca input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 17px; color: var(--charcoal); }
.regiao { border: 1px solid var(--gray-light); border-radius: 16px; background: var(--off-white); overflow: hidden; }
.regiao[open] { background: var(--white); box-shadow: 0 8px 26px rgba(0,110,131,.08); }
.regiao summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; padding: 16px 18px; -webkit-tap-highlight-color: transparent; }
.regiao summary::-webkit-details-marker { display: none; }
.regiao summary::after { content: ''; width: 9px; height: 9px; border: solid var(--teal-deep); border-width: 0 2px 2px 0; transform: rotate(45deg); margin: -4px 4px 0 0; flex: 0 0 auto; transition: transform .25s ease; }
.regiao[open] summary::after { transform: rotate(225deg); margin-top: 4px; }
.reg-nome { flex: 1; min-width: 0; }
.reg-nome b { display: block; font-family: 'Cormorant Garamond', serif; font-size: var(--t-sub,20px); font-weight: 600; color: var(--teal-deep); line-height: 1.2; }
.reg-nome small { display: block; font-size: var(--t-pq,14px); color: var(--gray); margin-top: 2px; }
.reg-qtd { font-size: var(--t-pq,14px); color: var(--teal-deep); background: var(--teal-pale); padding: 4px 10px; border-radius: 20px; white-space: nowrap; flex: 0 0 auto; }
.regiao ul { list-style: none; margin: 0; padding: 0 18px 16px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; }
.regiao li { font-size: 16px; color: var(--charcoal); padding: 10px 0; border-top: 1px solid var(--gray-light); display: flex; align-items: center; gap: 8px; min-width: 0; }
.regiao li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--gray-light); flex: 0 0 auto; }
.regiao li.top { font-weight: 600; color: var(--teal-deep); }
.regiao li.top::before { background: #006E83; }
.regiao li a { color: inherit; text-decoration: none; min-width: 0; }
.regiao li .reg-seta { display: inline-block; vertical-align: middle; margin: -2px 0 0 2px; color: var(--teal-mid); }
.regiao li a:hover { color: var(--teal-deep); }
.regiao li[hidden], .regiao[hidden] { display: none; }
.reg-nada { text-align: center; color: var(--gray); font-size: 15px; margin: 6px 0; }
.reg-nota { display: flex; align-items: center; gap: 8px; font-size: var(--t-pq,14px); color: var(--gray); margin: 4px 2px 0; }
.reg-ponto { width: 6px; height: 6px; border-radius: 50%; background: #006E83; }
.reg-fale { margin-top: 18px; padding: 22px; border-radius: 16px; background: var(--teal-pale); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.reg-fale p { margin: 0; color: var(--teal-deep); font-size: 17px; flex: 1 1 260px; }
@media (max-width: 760px) { .regiao ul { grid-template-columns: 1fr 1fr; column-gap: 16px; } .regiao li { font-size: 15px; } }
@media (max-width: 420px) { .regiao summary { padding: 14px 14px; } .regiao ul { padding: 0 14px 14px; } .reg-fale { text-align: center; justify-content: center; } }

/* --- ajustes da paleta neutra --- */
.btn-gold{background:#006E83!important;color:#fff!important;border-color:#006E83!important}
.btn-gold:hover{background:#004E5D!important}
h1 em,h2 em,h3 em,.section-title em,.hero h1 em{font-style:normal!important}
body{background:#ffffff}
/* 27/10/2026: formulário da página inicial com a mesma setinha redonda do gerador */
.planner-form select{background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='14' fill='%23e8f6f8'/%3E%3Cpath d='M9.5 12.5l5.5 5.5 5.5-5.5' fill='none' stroke='%231a6b7a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:calc(100% - 10px) 50%!important;background-size:30px 30px!important;padding-right:52px!important;-webkit-appearance:none;appearance:none;cursor:pointer}
/* 27/10/2026: ao tocar/passar o dedo, o "Montar minha viagem" continua azul com letra branca (antes a letra ficava amarelada) */
.btn-gold:hover,.btn-gold:focus,.btn-gold:focus-visible,.btn-gold:active,.site-header .btn-gold:hover{background:#004E5D!important;color:#fff!important;border-color:#004E5D!important}
/* 27/10/2026: "Montar minha viagem" fosco até preencher estação, mês e adultos; depois azul vivo (igual ao Continuar do gerador) */
.btn-gold.apagado,.btn-gold.apagado:hover,.btn-gold.apagado:focus,.btn-gold.apagado:active{background:#006E83!important;color:#fff!important;border-color:#006E83!important;opacity:.4!important}
/* 27/10/2026: botão flutuante "Monte sua viagem" (barra de baixo no celular) em destaque: azul cheio, brilho que passa a cada 4,5 s (reflexo na neve) e afunda ao tocar */
@media (max-width:760px){
  .barra-cel .bc-monte{position:relative;overflow:hidden;isolation:isolate;background:#006E83!important;border-color:#006E83!important;color:#fff!important;box-shadow:0 6px 16px rgba(19,82,94,.30);transition:transform .15s ease,box-shadow .15s ease}
  .barra-cel .bc-monte .bc-seta{background:#fff!important;color:#006E83!important}
  .barra-cel .bc-monte::before{content:'';position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;pointer-events:none;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.42) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);opacity:0}
  .barra-cel .bc-monte:active{transform:translateY(1px) scale(.97);box-shadow:0 2px 8px rgba(19,82,94,.25)}
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){.barra-cel .bc-monte::before{animation:brilhoNeve 4.5s ease-in-out .6s infinite}}
@keyframes brilhoNeve{0%{left:-60%;opacity:0}6%{opacity:1}28%{left:120%;opacity:1}29%,100%{left:120%;opacity:0}}
@media (max-width:760px){body .barra-cel .bc-monte{justify-self:center;width:auto;max-width:100%;padding:0 22px 0 12px}}   /* 27/10/2026: botão do tamanho do texto, não da barra inteira */
/* 27/10/2026: barra do menu sem nenhuma transparência, em todas as páginas */
html body .site-header.solid:not(.x):not(.y),html body .site-header.scrolled:not(.x):not(.y){background:rgba(248,246,242,.85)!important;-webkit-backdrop-filter:blur(12px) saturate(1.2)!important;backdrop-filter:blur(12px) saturate(1.2)!important;opacity:1!important}   /* 27/10/2026: 15% de transparência, com desfoque */
/* 27/10/2026: menu lateral do celular mais estreito e, com ele aberto, o resto do site fica escurecido e fosco atrás */
@media (max-width:760px){
  html body .mobile-menu{box-sizing:border-box;width:min(270px,72vw)!important;padding-left:22px;padding-right:22px}
  html body .mobile-menu a:not(.btn):not(.drawer-brand){font-size:24px}
  html body .mobile-menu .drawer-brand-name{white-space:nowrap}
}
html body .menu-overlay{background:rgba(8,28,34,.38)!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}
html body .mobile-menu a.menu-insta{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;background:#fff!important;color:#006E83!important;border:1.5px solid #006E83!important}
@media (max-width:760px){html body .mobile-menu .drawer-brand-name{font-size:18px!important}html body .mobile-menu .drawer-brand img{width:38px;height:38px}}
/* 27/10/2026: no menu, WhatsApp · Instagram · idioma numa linha só, só os ícones */
html body .mobile-menu .menu-icones{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}
html body .mobile-menu .menu-icones a.btn{flex:none;width:50px!important;height:50px!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;display:grid!important;place-items:center;font-size:0!important;gap:0!important;box-shadow:0 4px 12px rgba(0,0,0,.18)}
html body .mobile-menu .menu-icones a.menu-whats{background:#25d366!important;border:0!important}
html body .mobile-menu .menu-icones a.menu-insta{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)!important;border:0!important}
html body .mobile-menu .menu-icones .wa-logo,html body .mobile-menu .menu-icones .ig-logo{width:auto!important;height:auto!important;background:none!important;display:grid;place-items:center}
html body .mobile-menu .menu-icones svg{width:24px;height:24px}
html body .mobile-menu .menu-icones .troca-idioma.no-menu{margin:0!important;align-self:center}
html body .mobile-menu .menu-icones .troca-idioma.no-menu .idioma-atual{height:50px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.35);color:#fff}
html body .mobile-menu .menu-icones{gap:10px}
html body .mobile-menu .menu-icones a.btn{width:44px!important;height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:0!important;transform:none}
html body .mobile-menu .menu-icones a.btn i{display:flex!important;align-items:center;justify-content:center;margin:0!important;line-height:0}
html body .mobile-menu .menu-icones svg{width:22px;height:22px;display:block}
html body .mobile-menu .menu-icones .troca-idioma.no-menu .idioma-atual{height:44px;padding:0 12px;font-size:16px!important}
html body .mobile-menu .menu-icones .troca-idioma.no-menu .idioma-lista{right:0!important;left:auto!important;transform:none!important}
/* 27/10/2026: "Monte sua viagem" do menu com o texto bem no meio do botão */
html body .mobile-menu a.menu-cta{display:flex!important;align-items:center!important;justify-content:center!important;height:50px!important;min-height:0!important;padding:0 16px!important;line-height:1.2!important}
/* 27/10/2026: idade das crianças lado a lado no celular, ocupando a largura toda do formulário */
@media (max-width:760px){html body .planner-form .planner-ages{grid-column:1 / -1!important;width:auto}html body .planner-form .planner-ages-g{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important}html body .planner-form .planner-ages-g label{min-width:0}html body .planner-form .planner-ages-g select{width:100%;min-width:0}}
.lista-numeros{max-height:236px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}   /* 27/10/2026: uns 6 itens à mostra, o resto rola (também no celular) */
.lista-trilho{position:absolute;z-index:701;width:4px;border-radius:4px;background:rgba(0,110,131,.15);pointer-events:none}.lista-trilho i{display:block;width:100%;border-radius:4px;background:#006E83}.lista-numeros{padding-right:10px}
.lista-numeros{scrollbar-width:none}.lista-numeros::-webkit-scrollbar{display:none}   /* só a nossa linha azul, sem a barra do navegador */
.lista-trilho{overflow:hidden}
/* 27/10/2026: no celular, os campos de lista só abrem a nossa lista curta (o toque é tratado em js/lista-curta.js) */
@media (hover:none){#qVila,#qMes,#qPax,#qCh,#qVilaM,#qMesM,#qPaxM,#qChM,select[id^="qAge"],select[data-idade],.gerador select{pointer-events:none}}
/* linha de rolagem azul na janela de detalhes e nas miniaturas */
#dlg{scrollbar-width:none}#dlg::-webkit-scrollbar{display:none}
#dlg .miniaturas{scrollbar-width:none}#dlg .miniaturas::-webkit-scrollbar{display:none}
.trilho-fixo{position:fixed;z-index:5;width:4px;border-radius:4px;background:rgba(0,110,131,.15);pointer-events:none;overflow:hidden}
.trilho-fixo i,.trilho-lado i{display:block;border-radius:4px;background:#006E83}
.trilho-fixo i{width:100%}
.trilho-lado{position:absolute;z-index:3;height:4px;border-radius:4px;background:rgba(0,110,131,.15);pointer-events:none;overflow:hidden}
.trilho-lado i{height:100%}
/* 27/10/2026: foto da ajuda na barra de baixo igual à do gerador: aro dourado, bolinha verde "online" e o balão no mesmo estilo */
@media (max-width:760px){
  html body .barra-cel .bc-ajuda{position:relative;overflow:visible!important;width:50px!important;height:50px!important;padding:3px!important;border:0!important;background:conic-gradient(from 210deg,#EDE7DC,#006E83,#004E5D,#006E83,#EDE7DC)!important;box-shadow:0 6px 16px rgba(16,60,70,.28)}
  html body .barra-cel .bc-ajuda img{border-radius:50%;border:2px solid #fff;box-sizing:border-box}
  html body .barra-cel .bc-ajuda::after{content:'';position:absolute;right:1px;bottom:2px;width:12px;height:12px;border-radius:50%;background:#2ecc71;border:2px solid #fff}
  html body .barra-cel .bc-bal{background:#fff!important;color:#004E5D!important;border:1.5px solid #006E83!important;border-radius:14px 14px 14px 4px!important;font-weight:600;box-shadow:0 10px 26px rgba(16,60,70,.18)!important;bottom:calc(100% + 10px)!important}
  html body .barra-cel .bc-bal::before,html body .barra-cel .bc-bal::after{content:none!important}
}
/* 27/10/2026: no quadro "Monte sua viagem" da página inicial, a mesma etiqueta do gerador: ⚡ Orçamento ultra simples, em poucos cliques */
.planner-aviso{display:inline-flex;align-items:center;gap:10px;margin:12px 0 0;padding:6px 16px 6px 6px;border-radius:999px;background:#F8F6F2;border:1.5px solid #DCD3C4;color:#004E5D;font:600 15px/1.3 'Jost',sans-serif;max-width:100%;box-sizing:border-box}
.planner-aviso .raio{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:#006E83;color:#ffd23f;font-size:16px;line-height:1;box-shadow:0 3px 10px rgba(19,135,156,.35)}
@media (max-width:560px){.planner-aviso{white-space:nowrap;font-size:14px;gap:8px;padding:5px 14px 5px 5px}.planner-aviso .raio{width:28px;height:28px;font-size:15px}}
@media (max-width:370px){.planner-aviso{font-size:13px;gap:6px;padding-right:10px}.planner-aviso .raio{width:24px;height:24px;font-size:13px}}
@media (max-width:350px){.planner-aviso{white-space:normal}}
@media (max-width:420px){.planner-aviso{font-size:13px;gap:6px;padding:4px 10px 4px 4px}.planner-aviso .raio{width:24px;height:24px;font-size:13px}}
@media (max-width:380px){.planner-aviso{white-space:normal}}
/* 27/10/2026: "Selecione o mês" (e outros textos de "escolha") mais apagados até a pessoa escolher */
html body select:has(option[value=""]:checked){color:#9aa5a8!important}
html body select:has(option[value=""]:checked) option{color:#1A1A1A}
/* 27/10/2026: menos espaço vazio entre "Qual é a sua viagem?" → "Quem organiza a sua viagem" → "O que está incluído" */
@media (max-width:760px){html body #perfis{padding-bottom:24px!important}html body #sobre{padding-top:32px!important;padding-bottom:24px!important}html body #servicos{padding-top:32px!important}}
@media (min-width:761px){html body #perfis{padding-bottom:40px!important}html body #sobre{padding-top:48px!important;padding-bottom:40px!important}html body #servicos{padding-top:48px!important}}
@media (max-width:760px){html body #sobre .intro-grid{margin-top:0!important}html body #perfis{padding-bottom:16px!important}}
/* 27/10/2026: "Qual é a sua viagem?": os dois botões lado a lado, iguais ("Montar a viagem" + guia) */
html body .perfil-links{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;align-items:stretch!important}
html body .perfil-links .btn{display:flex!important;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.25;min-height:48px;padding:10px 12px!important;text-decoration:none!important;margin:0!important;box-sizing:border-box;width:100%}
/* 27/10/2026: títulos das capas com foto mais fortes, como o da página inicial (não ficam apagados na foto) */
html body .page-hero.photo-hero h1, html body .page-hero.vit-hero-foto h1:not(.so-leitor) { font-weight: 600 !important; text-shadow: 0 2px 14px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.3); }
/* 27/10/2026: celular: logo e menu mais perto das bordas (mais respiro no meio), como a Performance */
@media (max-width:760px){html body .site-header{padding-left:14px!important;padding-right:12px!important}}
html{background:#f8f6f2}
/* 27/10/2026: no iPhone, a barra do menu continua por trás da hora e da bateria, com a mesma cor e a mesma transparência (como a Performance) */
html body { padding-top: env(safe-area-inset-top, 0px); }
html body .site-header { top: env(safe-area-inset-top, 0px) !important; }
html body .site-header::before { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: env(safe-area-inset-top, 0px); background: inherit; -webkit-backdrop-filter: inherit; backdrop-filter: inherit; pointer-events: none; }
@media (max-width:760px){ html body .mobile-menu { padding-top: calc(26px + env(safe-area-inset-top, 0px)) !important; } }
/* 27/10/2026: no celular a barra fica sólida: o iPhone pinta a área da hora com uma cor sólida, e com transparência ficavam dois tons */
@media (max-width:760px){html body .site-header.solid:not(.x):not(.y):not(.z),html body .site-header.scrolled:not(.x):not(.y):not(.z){background:#f8f6f2!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
/* 27/10/2026: foto da ajuda bem redonda (igual ao WhatsApp e ao Instagram) e com o aro dourado fininho e delicado */
@media (max-width:760px){
  html body .barra-cel .bc-ajuda{width:46px!important;height:46px!important;min-width:46px;flex:none!important;justify-self:center;align-self:center;padding:1.5px!important;aspect-ratio:1/1;border-radius:50%!important;background:#006E83!important;box-shadow:0 4px 12px rgba(16,60,70,.22)!important}
  html body .barra-cel .bc-ajuda img{width:100%!important;height:100%!important;border-width:1.5px!important}
  html body .barra-cel .bc-ajuda::after{width:11px;height:11px;right:0;bottom:1px;border-width:1.5px}
}
html body #ajudaBtn{padding:2px!important;background:#006E83!important;aspect-ratio:1/1}
html body #ajudaBtn img{border-width:1.5px!important}
html body #ajudaBtn::before{border-width:1px!important;border-color:rgba(0,110,131,.4)!important}
/* 27/10/2026: "Adultos" e "Crianças" com 0 ficam apagados como "Selecione o mês", até a pessoa escolher */
html body #qPax:has(option[value="0"]:checked), html body #qCh:has(option[value="0"]:checked), html body #qPaxM:has(option[value="0"]:checked) { color: #9aa5a8 !important; }
/* balão "Oi! Posso ajudar?" de novo como nuvenzinha de pensamento saindo da cabeça (duas bolinhas até a foto) */
@media (max-width:760px){
  html body .barra-cel .bc-bal{bottom:calc(100% + 24px)!important;border-radius:18px!important}
  html body .barra-cel .bc-bal::before, html body .barra-cel .bc-bal::after{content:''!important;position:absolute;border-radius:50%;background:#fff;border:1.5px solid #006E83}
  html body .barra-cel .bc-bal::after{width:11px;height:11px;left:20px;bottom:-15px}
  html body .barra-cel .bc-bal::before{width:7px;height:7px;left:15px;bottom:-26px}
}

/* 28/10/2026: lista curta aberta: a foto da ajuda, o balão e os botões flutuantes somem (não pegam o toque destinado à lista) */
html body.lista-aberta .barra-cel, html body.lista-aberta #ajudaBtn, html body.lista-aberta .whatsapp-float, html body.lista-aberta .instagram-float { opacity: 0 !important; pointer-events: none !important; transition: opacity .15s; }

/* 29/10/2026: cabeçalho com a cor cheia também no computador (a foto da capa aparecia de leve através dele e formava uma faixa de outra cor) */
html body .site-header:not(.x):not(.y):not(.z), html body .site-header.solid:not(.x):not(.y):not(.z), html body .site-header.scrolled:not(.x):not(.y):not(.z) { background: #f8f6f2 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
