:root{
  --c-primary:#0EA5B8;
  --c-primary-dark:#0B7E8E;
  --c-primary-50:#E6F7F9;
  --c-primary-100:#CDEEF2;
  --c-accent:#7A9A6B;
  --c-accent-dark:#5D7850;
  --c-accent-50:#F1F5EC;
  --c-dark:#0F2B39;
  --c-dark-2:#1D3C4F;
  --c-muted:#64748B;
  --c-text:#334155;
  --c-text-2:#475569;
  --c-bg:#F8FAFC;
  --c-bg-alt:#F1F5F9;
  --c-surface:#FFFFFF;
  --c-border:#E2E8F0;
  --c-border-soft:#EEF2F7;
  --r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:22px;
  --sh-xs:0 1px 2px rgba(15,43,57,.05);
  --sh-sm:0 2px 8px rgba(15,43,57,.06),0 1px 2px rgba(15,43,57,.03);
  --sh-md:0 8px 22px rgba(15,43,57,.08),0 2px 6px rgba(15,43,57,.04);
  --sh-lg:0 16px 40px rgba(15,43,57,.10),0 4px 10px rgba(15,43,57,.05);
  --tf:180ms cubic-bezier(.4,0,.2,1);
  --ts:300ms cubic-bezier(.4,0,.2,1);
  --f-display:"Playfair Display",Georgia,serif;
  --f-body:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color-scheme: light;
}

/* ============================================================
   CROSS-BROWSER HARD RESET v2 · Blink (Chrome/Edge) · Gecko (Firefox) · WebKit (Safari/iOS)
   Garante pixel-perfect idêntico entre o navegador integrado do Trae (Chromium)
   e Chrome/Firefox/Safari reais instalados na máquina do usuário.
   ============================================================ */
@-moz-document url-prefix() { /* firegecko-only: default 1.2x zoom em telas 1080p */ }
*,
*::before,
*::after{
  box-sizing:border-box !important;
  -moz-box-sizing:border-box !important;
  -webkit-box-sizing:border-box !important;
  margin:0;
  padding:0;
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-drag:none;
  -moz-user-focus:normal;
}
html,
body{
  margin:0;padding:0;border:0;outline:0;
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  text-size-adjust:100%;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -moz-font-smoothing:antialiased;
  -webkit-font-feature-settings:"kern" 1,"liga" 1;
  -moz-font-feature-settings:"kern" 1,"liga" 1;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:auto;
  scrollbar-gutter:stable both-edges;
}
html{
  scroll-behavior:smooth;
  hanging-punctuation:first allow-end last;
  -webkit-locale:"pt-BR";
  locale:"pt-BR";
}
/* Chrome/Safari vs Firefox: inputs nativos herdam font-family? NÃO. */
input,
button,
select,
textarea,
optgroup,
option{
  font:inherit;
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background-clip:padding-box;
  -webkit-background-clip:padding-box;
  -moz-background-clip:padding;
  border-radius:0; /* remove aparência nativa Safari/iOS */
  -webkit-border-radius:0;
  -moz-border-radius:0;
  outline-offset:2px;
}
button,[role="button"],[type="button"],[type="submit"],[type="reset"]{
  -webkit-appearance:button;
  -moz-appearance:button;
  appearance:button;
  user-select:none;
  -webkit-user-select:none;
  -moz-user-select:none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
input[type="number"]{ -moz-appearance:textfield; }
textarea{ vertical-align:top; overflow:auto; resize:vertical; }
::-webkit-input-placeholder{ color:#94A3B8; opacity:1; font-weight:400; }
::-moz-placeholder         { color:#94A3B8; opacity:1; font-weight:400; }
::placeholder              { color:#94A3B8; opacity:1; font-weight:400; }
::-webkit-calendar-picker-indicator{
  opacity:.65; cursor:pointer; margin-left:4px;
  color:var(--c-primary-dark);
}
::-webkit-datetime-edit,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-ampm-field{
  padding:0;
  letter-spacing:-.005em;
  font-variant-numeric:tabular-nums lining-nums;
  -moz-font-variant-numeric:tabular-nums lining-nums;
  -webkit-font-variant-numeric:tabular-nums lining-nums;
}
/* Scrollbar idêntica Blink vs Gecko */
*{
  scrollbar-color:rgba(14,165,184,.32) #F1F5F9;
  scrollbar-width:thin;
}
*::-webkit-scrollbar{ width:9px; height:9px; }
*::-webkit-scrollbar-track{ background:#F1F5F9; }
*::-webkit-scrollbar-thumb{
  background:rgba(14,165,184,.32);
  border:2px solid #F1F5F9;
  border-radius:6px;
}
*::-webkit-scrollbar-thumb:hover{ background:rgba(14,165,184,.5); }
table{ border-collapse:separate; border-spacing:0; empty-cells:show; }
sub,sup{ font-size:75%; line-height:0; position:relative; vertical-align:baseline; }
sup{ top:-.45em; } sub{ bottom:-.22em; }
hr{ box-sizing:content-box; height:0; overflow:visible; border:none; border-top:1px solid var(--c-border-soft); margin:12px 0; }
dialog{ padding:0; border:none; background:transparent; }
video,canvas,svg{ display:block; max-width:100%; }
details{ display:block; }
summary{ list-style:none; }
summary::-webkit-details-marker{ display:none; }
/* Blink vs Gecko ::marker */
::marker{ font-variant-numeric:tabular-nums; }
/* Evita bugs de overflow ao usar aspect ratio em images antigas */
img{ -webkit-user-drag:none; user-select:none; -moz-user-select:none; vertical-align:middle; }

body{
  font-family:var(--f-body);font-size:14.5px;line-height:1.55;color:var(--c-text);
  background:var(--c-bg);overflow-x:hidden;min-height:100dvh;
}
a{color:inherit;text-decoration:none;transition:color var(--tf)}
a:hover{color:var(--c-primary)}
button{cursor:pointer;border:0;background:none;color:inherit}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--c-dark);line-height:1.12;font-weight:600;letter-spacing:-.01em}
p{line-height:1.55}

.container{width:100%;max-width:1320px;margin:0 auto;padding:0 22px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:999px;
  font-size:13.5px;font-weight:600;letter-spacing:.005em;
  transition:transform var(--tf),box-shadow var(--ts),background var(--tf),color var(--tf),border-color var(--tf);
  white-space:nowrap;line-height:1;will-change:transform;
}
.btn svg{flex-shrink:0;transition:transform var(--tf)}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);color:#fff;
  box-shadow:0 6px 18px rgba(14,165,184,.26),inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-primary:hover{background:linear-gradient(135deg,var(--c-primary-dark),#095F6C);color:#fff;box-shadow:0 10px 26px rgba(14,165,184,.34)}
.btn-primary:hover svg{transform:translateX(2px)}
.btn-ghost{background:#fff;color:var(--c-dark);border:1.5px solid var(--c-border);box-shadow:var(--sh-xs)}
.btn-ghost:hover{background:var(--c-primary-50);color:var(--c-dark);border-color:var(--c-primary-100)}

.pulse-cta{position:relative;isolation:isolate}
.pulse-cta::before{
  content:"";position:absolute;inset:-2px;border-radius:999px;
  background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
  filter:blur(8px);opacity:.35;z-index:-1;animation:pulse 2.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.5;transform:scale(1.02)}}

/* ============================================================
   HERO LOGO SHOW — ANIMAÇÃO PRINCIPAL DA LOGOMARCA
   ============================================================ */
.hero-logo-stage{
  position:relative;
  min-height:88vh;
  overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#EAF6F7 0%,#F2F9F6 40%,#F6FBF7 100%);
  padding:86px 0 60px;
  display:flex;align-items:center;justify-content:center;
}
/* Fachada do hero: FALLBACK DEFAULT se nenhuma imagem for selecionada no customizer hero (campo hero_image).
   O customizer hero sobrescreve este background-image via style inline direto no <div class="hl-facade">
   (prioridade inline > regra CSS). Os filtros abaixo (brightness/saturate/contrast/scale/opacity) são SEMPRE
   aplicados tanto à imagem do admin quanto ao fallback. */
.hl-facade{
  position:absolute;inset:-6% -4% 0% -4%;
  z-index:-2;pointer-events:none;
  background-image:url("../img/fachada-patio-interno.png");
  background-size:cover;background-position:center 70%;background-repeat:no-repeat;
  filter:brightness(1.06) saturate(1.12) contrast(1.24);
  opacity:.86;
  mix-blend-mode:normal;
  transform:scale(1.02);
  will-change:transform;
  backface-visibility:hidden;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:optimizeQuality;
}
/* Overlay de fusão: junta a foto com a paleta clara do site */
.hl-facade-overlay{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(234,246,247,.08) 0%,rgba(242,249,246,.16) 44%,rgba(246,251,247,.30) 82%,#F6FBF7 100%),
    radial-gradient(ellipse 64% 56% at 50% 48%,transparent 0%,color-mix(in srgb, var(--hero-overlay-color,#083344) 12%, transparent) 100%);
  background-blend-mode:normal;
}
.hl-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}

/* AURORA animada de fundo */
.hl-aurora{
  position:absolute;inset:-10%;
  background:
    radial-gradient(ellipse 60% 55% at 15% 30%,var(--hero-aurora1,rgba(251,191,36,.28)),transparent 60%),
    radial-gradient(ellipse 55% 50% at 85% 20%,var(--hero-aurora2,rgba(14,165,184,.30)),transparent 60%),
    radial-gradient(ellipse 70% 60% at 50% 100%,var(--hero-aurora1,rgba(14,165,184,.14)),transparent 65%);
  background-size:200% 200%,200% 200%,200% 200%;
  animation:auroraShift 18s ease-in-out infinite;
  filter:blur(12px);
  opacity:.9;
}
@keyframes auroraShift{
  0%,100%{background-position:0% 0%,100% 0%,50% 100%}
  33%{background-position:50% 20%,80% 40%,60% 80%}
  66%{background-position:20% 40%,100% 20%,40% 90%}
}

/* 5 BLOBS com drifts individuais */
.hl-blob{position:absolute;border-radius:50%;filter:blur(64px);opacity:.48;will-change:transform;background:radial-gradient(circle,var(--hero-blob-color,rgba(168,85,247,.30)),transparent 70%);}
.hl-blob-1{
  width:440px;height:440px;
  top:-120px;left:-100px;
  animation:hlDrift1 22s ease-in-out infinite;
}
.hl-blob-2{
  width:520px;height:520px;
  top:-80px;right:-140px;
  animation:hlDrift2 26s ease-in-out infinite reverse;
}
.hl-blob-3{
  width:380px;height:380px;
  bottom:-120px;left:30%;
  animation:hlDrift3 30s ease-in-out infinite;
}
.hl-blob-4{
  width:300px;height:300px;
  top:35%;left:-60px;
  animation:hlDrift1 34s ease-in-out infinite reverse;
}
.hl-blob-5{
  width:360px;height:360px;
  bottom:20%;right:-80px;
  animation:hlDrift2 28s ease-in-out infinite;
}
@keyframes hlDrift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-20px) scale(1.08)}}
@keyframes hlDrift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-28px,26px) scale(1.06)}}
@keyframes hlDrift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,18px) scale(1.05)}}

/* 42 PARTÍCULAS */
.hl-particles{position:absolute;inset:0}
.hl-p{
  position:absolute;
  left:calc(var(--i) * 2.38%);
  bottom:-8px;
  width:3px;height:3px;border-radius:50%;
  background:var(--hero-particles,rgba(14,165,184,.68));
  opacity:0;
  animation:hlFloat 10s linear infinite;
  animation-delay:calc(var(--i) * 0.23s);
  will-change:transform,opacity;
}
.hl-p:nth-child(3n){width:2.2px;height:2.2px;background:color-mix(in srgb, var(--hero-particles,rgba(14,165,184,.55)) 95%, #0ea5b8 5%)}
.hl-p:nth-child(4n){width:4px;height:4px;background:color-mix(in srgb, var(--hero-particles,rgba(122,154,107,.45)) 90%, #7A9A6B 10%)}
.hl-p:nth-child(5n){width:2px;height:2px;background:rgba(255,255,255,.8);box-shadow:0 0 6px var(--hero-particles,rgba(14,165,184,.6))}
@keyframes hlFloat{
  0%{transform:translateY(0) translateX(0);opacity:0}
  10%{opacity:.85}
  100%{transform:translateY(-95vh) translateX(calc(var(--i) * 0.3px - 7px));opacity:0}
}

/* Grid overlay sutil */
.hl-grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--hero-grid-color,rgba(148,163,184,.06)) 1px,transparent 1px),
    linear-gradient(90deg,var(--hero-grid-color,rgba(148,163,184,.06)) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at center,black 40%,transparent 85%);
  -webkit-mask-image:radial-gradient(ellipse at center,black 40%,transparent 85%);
  opacity:.14;
}

/* CENA central */
.hl-scene{
  position:relative;z-index:1;
  width:100%;
  max-width:820px;
  margin:0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:18px;
  perspective:1200px;
  transform-style:preserve-3d;
  will-change:transform;
}

/* 3 ANÉIS ORBITAIS concêntricos SVG */
.hl-rings{
  position:absolute;
  top:50%;left:50%;
  width:min(88vh,820px);
  height:min(88vh,820px);
  max-width:160%;
  max-height:160%;
  transform:translate(-50%,-58%);
  pointer-events:none;
  overflow:visible;
  will-change:transform;
}
.hl-ring-group{transform-origin:300px 300px;will-change:transform}
.hl-ring-outer{animation:hlRingSpin 36s linear infinite}
.hl-ring-mid{animation:hlRingSpin 26s linear infinite reverse}
.hl-ring-inner{animation:hlRingSpin 18s linear infinite}
@keyframes hlRingSpin{to{transform:rotate(360deg)}}

.hl-ring-dashed{animation:hlRingDash 6s linear infinite}
.hl-ring-dashed2{animation:hlRingDash 9s linear infinite reverse}
.hl-ring-dashed3{animation:hlRingDash 4.5s linear infinite}
@keyframes hlRingDash{to{stroke-dashoffset:200}}

.hl-orbit-dots circle{filter:drop-shadow(0 0 6px currentColor)}

/* 2 PEIXES orbitando a logo em círculos */
.hl-fish-orbit{
  position:absolute;
  top:50%;left:50%;
  pointer-events:none;
  will-change:transform;
}
.hl-fish-orbit svg{
  display:block;
  filter:drop-shadow(0 6px 14px rgba(15,43,57,.25));
}
.hl-fish-blue{
  width:44px;height:44px;
  animation:hlOrbitBlue 14s linear infinite;
}
.hl-fish-olive{
  width:44px;height:44px;
  animation:hlOrbitOlive 19s linear infinite reverse;
}
@keyframes hlOrbitBlue{
  0%  {transform:translate(-50%,-50%) rotate(0deg)   translateX(calc(min(46vh,240px) * -1)) rotate(0deg)}
  100%{transform:translate(-50%,-50%) rotate(360deg) translateX(calc(min(46vh,240px) * -1)) rotate(-360deg)}
}
@keyframes hlOrbitOlive{
  0%  {transform:translate(-50%,-50%) rotate(180deg) translateX(calc(min(37vh,192px))) rotate(-180deg)}
  100%{transform:translate(-50%,-50%) rotate(540deg) translateX(calc(min(37vh,192px))) rotate(-540deg)}
}

/* LOGO central com halos, float e shine */
.hl-logo-wrap{
  position:relative;
  width:min(360px,54vw);
  height:min(308px,46vw);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:4px;
  z-index:2;
  will-change:transform;
}
.hl-logo-halo{
  position:absolute;
  top:50%;left:50%;
  width:170%;height:170%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,var(--hero-halo1-color,rgba(14,165,184,.28)) 0%,var(--hero-halo2-color,rgba(167,139,250,.24)) 38%,transparent 70%);
  filter:blur(6px);
  animation:hlHalo 5s ease-in-out infinite;
  will-change:transform,opacity;
}
.hl-logo-halo2{
  position:absolute;
  top:50%;left:50%;
  width:120%;height:120%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,var(--hero-logo-shine-color,rgba(255,255,255,.55)) 0%,var(--hero-halo1-color,rgba(14,165,184,.14)) 45%,transparent 72%);
  animation:hlHalo2 4.2s ease-in-out infinite reverse;
  will-change:transform,opacity;
}
@keyframes hlHalo{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes hlHalo2{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(.94)}}

.hl-logo{
  position:relative;
  z-index:1;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:10px 12px;
  overflow:visible;
  animation:hlLogoEntrance 1.4s cubic-bezier(.2,.8,.2,1) .1s both, hlLogoFloat 6.5s ease-in-out 1.6s infinite;
  will-change:transform;
}
.hl-logo-img{
  width:100%;height:auto;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 24px 52px rgba(15,43,57,.26)) drop-shadow(0 10px 26px rgba(14,165,184,.18));
  transform:translateZ(0);
}
@keyframes hlLogoEntrance{
  0%{opacity:0;transform:translateY(40px) scale(.78);filter:blur(8px)}
  60%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes hlLogoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}

/* SHINE sweep na logo */
.hl-logo-shine{
  position:absolute;inset:-6% -4%;z-index:3;
  border-radius:40% 60% 55% 45% / 50% 45% 55% 50%;
  overflow:hidden;pointer-events:none;
  mask-image:radial-gradient(ellipse 85% 72% at center,black 15%,black 60%,rgba(0,0,0,.35) 82%,transparent 96%);
  -webkit-mask-image:radial-gradient(ellipse 85% 72% at center,black 15%,black 60%,rgba(0,0,0,.35) 82%,transparent 96%);
}
.hl-logo-shine::before{
  content:"";
  position:absolute;
  top:0;left:-100%;
  width:60%;height:100%;
  background:linear-gradient(115deg,transparent 30%,var(--hero-logo-shine-color,rgba(255,255,255,.6)) 50%,transparent 70%);
  transform:skewX(-18deg);
  animation:hlShine 6s ease-in-out infinite;
  animation-delay:2s;
  will-change:left;
}
@keyframes hlShine{
  0%{left:-100%;opacity:0}
  10%{opacity:1}
  35%,100%{left:140%;opacity:0}
}

/* Badge orbitando a logo (★ RESERVA DIRETA) */
.hl-badge-orbit{
  position:absolute;
  top:50%;left:50%;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(8px);
  border:1px solid rgba(14,165,184,.25);
  box-shadow:0 8px 22px rgba(15,43,57,.12),0 0 0 4px rgba(14,165,184,.08);
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-primary-dark);
  white-space:nowrap;
  animation:hlBadgeOrbit 16s linear infinite;
  will-change:transform;
  z-index:4;
}
.hl-badge-star{color:var(--hero-badge-star-color,#ffffff);font-size:12px;filter:drop-shadow(0 0 4px rgba(245,158,11,.5))}
@keyframes hlBadgeOrbit{
  0%  {transform:translate(-50%,-50%) rotate(20deg)  translateX(calc(min(66vh,360px))) rotate(-20deg)}
  100%{transform:translate(-50%,-50%) rotate(380deg) translateX(calc(min(66vh,360px))) rotate(-380deg)}
}

/* TÍTULOS: reveal stagger letra-a-letra */
.hl-title-wrap{
  position:relative;z-index:2;
  width:100%;
  max-width:640px;
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.hl-eyebrow{
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--hero-eyebrow-color,var(--c-primary-dark));
  opacity:.9;
}
.hl-eyebrow span{display:inline-block;animation:hlTxtReveal .9s cubic-bezier(.2,.8,.2,1) .3s both;color:var(--hero-eyebrow-color,#263336) !important}
.hl-brand{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  line-height:1;
  margin:2px 0 0;
}
.hl-brand-prefix{
  font-family:var(--f-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:.55em;
  text-transform:uppercase;
  color:var(--hero-brand-prefix-color,#0d3c45) !important;
  animation:hlTxtReveal 1s cubic-bezier(.2,.8,.2,1) .5s both;
  padding-left:.55em;
}
.hl-brand-name{
  display:inline-flex;
  font-family:var(--f-display);
  font-weight:600;
  font-style:italic;
  font-size:clamp(52px,10.5vw,var(--hero-brand-size,112px));
  letter-spacing:-.022em;
  line-height:.95;
  color:var(--c-dark);
  padding:10px 14px;
  margin:-10px -14px;
  overflow:visible;
}
.hl-letter{
  display:inline-block;
  opacity:0;
  transform:translateY(48px) rotate(-8deg);
  animation:hlLetterIn .9s cubic-bezier(.2,.8,.2,1) forwards;
  animation-delay:calc(.85s + var(--d, 0s));
  will-change:transform,opacity;
  background:linear-gradient(135deg,var(--hero-brand-from,#0B2F3D) 0%,var(--hero-brand-mid,#0B7E8E) 50%,var(--hero-brand-to,#5D7850) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 6px 16px rgba(14,165,184,.14));
  padding:4px 3px;
  margin:-4px -3px;
  overflow:visible;
  transform-origin:50% 60%;
}
@keyframes hlLetterIn{
  0%{opacity:0;transform:translateY(48px) rotate(-8deg);filter:blur(6px)}
  60%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}
}
/* Versão OTIMIZADA de letter-anim para mobile/touch: sem blur, sem rotate, menor distancia.
   Aplicada via JS em todos os dispositivos (exceto prefers-reduced-motion). */
.hl-letter-anim{animation:hlLetterInMobile .58s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.55s + var(--d, 0s));opacity:0;transform:translateY(14px)}
@keyframes hlLetterInMobile{
  0%{opacity:0;transform:translateY(14px)}
  100%{opacity:1;transform:translateY(0)}
}
/* Versão mobile OTIMIZADA (sem blur) dos reveals de texto.
   Será aplicada em @media(hover:none) para execução CSS pura sem JS. */
@keyframes hlTxtRevealMobile{
  0%{opacity:0;transform:translateY(12px)}
  100%{opacity:1;transform:translateY(0)}
}
.hl-tagline{
  max-width:520px;
  font-size:15px;
  line-height:1.65;
  color:var(--hero-tagline-color,var(--c-text-2));
  margin-top:4px;
}
.hl-tagline span{display:inline-block;animation:hlTxtReveal 1s cubic-bezier(.2,.8,.2,1) 1.5s both;color:var(--hero-tagline-color,var(--c-text-2))}
.reveal-txt{opacity:0;transform:translateY(14px);will-change:opacity,transform;animation-play-state:paused}
/* reveal-txt-anim: versão OTIMIZADA mobile/todas telas via keyframes puros (sem transition hack).
   O JS seta animation-delay inline e animation-name revealTxtInMobile. */
.reveal-txt-anim{animation:revealTxtInMobile .62s cubic-bezier(.2,.8,.2,1) both;animation-play-state:running}
@keyframes revealTxtInMobile{
  0%{opacity:0;transform:translateY(14px)}
  100%{opacity:1;transform:translateY(0)}
}
/* Desktop fallback se JS não ativar (hero sempre à vista anyway) */
@keyframes hlTxtReveal{
  0%{opacity:0;transform:translateY(22px);filter:blur(4px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
.hl-ctas{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px;
  animation:hlTxtReveal 1s cubic-bezier(.2,.8,.2,1) 1.75s both;
}
.hl-ctas .btn{min-height:44px;padding:11px 19px;font-size:12.5px;gap:7px;display:inline-flex;align-items:center;justify-content:center}
.hl-chips{
  display:flex;flex-wrap:wrap;gap:7px;justify-content:center;
  margin-top:4px;
  animation:hlTxtReveal 1s cubic-bezier(.2,.8,.2,1) 1.95s both;
}
.hl-chips .chip{
  display:inline-flex;align-items:center;
  padding:5.5px 10px;border-radius:999px;
  background:var(--hero-chip-bg,#fff);
  border:1px solid color-mix(in srgb, var(--hero-chip-text,var(--c-text-2)) 18%, transparent);
  font-size:12px;font-weight:500;
  color:var(--hero-chip-text,var(--c-text-2));
  box-shadow:var(--sh-xs);
}

/* Scroll indicator animado */
.hl-scroll-indicator{
  position:absolute;
  bottom:22px;left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  color:var(--hero-scroll-color,var(--c-primary-dark));
  opacity:.8;
  animation:hlTxtReveal 1.2s ease 2.3s both;
}
.hl-scroll-indicator:hover{opacity:1;color:var(--hero-scroll-color,var(--c-primary))}
.hl-scroll-line{
  display:block;
  width:1.5px;height:36px;border-radius:2px;
  background:linear-gradient(to bottom,var(--hero-scroll-color,var(--c-primary)),transparent);
  position:relative;overflow:hidden;
}
.hl-scroll-line::before{
  content:"";position:absolute;top:-20px;left:0;
  width:100%;height:20px;
  background:linear-gradient(to bottom,transparent,#fff,transparent);
  animation:hlScrollDot 2.2s ease-in-out infinite;
}
.hl-scroll-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  animation:hlScrollArrow 1.8s ease-in-out infinite;
}
@keyframes hlScrollDot{0%{top:-20px}100%{top:100%}}
@keyframes hlScrollArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ============================================================
   HEADER / FOOTER / STAGE CONDENSADO — estilo original mantido
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(255,255,255,.78);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color var(--ts),box-shadow var(--ts),background var(--ts);
}
.site-header.scrolled{border-color:var(--c-border-soft);box-shadow:0 1px 3px rgba(15,43,57,.04),0 6px 20px rgba(15,43,57,.035);background:rgba(255,255,255,.9)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;height:52px}
.brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.brand-logo{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(15,43,57,.14))}
.brand-text em{font-family:var(--f-display);font-size:21px;font-style:italic;font-weight:600;color:var(--c-dark);letter-spacing:-.01em}
.site-nav{flex:1;display:flex;justify-content:center}
.nav-list{display:flex;align-items:center;gap:1px}
.nav-link{display:inline-block;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:500;color:var(--c-text-2);transition:color var(--tf),background var(--tf)}
.nav-link:hover{color:var(--c-dark);background:var(--c-bg-alt)}
.header-actions{display:flex;align-items:center;gap:7px}
.header-mini{
  width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:var(--c-bg-alt);color:var(--c-dark-2);transition:background var(--tf),color var(--tf),transform var(--tf);
}
.header-mini:hover{background:var(--c-primary-50);color:var(--c-primary-dark);transform:translateY(-1px)}
.btn-header{padding:10px 16px;font-size:12.5px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
.nav-toggle{display:none;flex-direction:column;gap:3.5px;padding:10px;border-radius:10px;min-height:40px;min-width:40px}
.nav-toggle span{display:block;width:20px;height:1.8px;background:var(--c-dark);border-radius:2px;transition:transform var(--ts),opacity var(--tf)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.3px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.3px) rotate(-45deg)}

.stage{
  position:relative;padding:66px 0 10px;min-height:auto;
  background:linear-gradient(180deg, var(--stage-bg-from,#F3FAFB) 0%, var(--stage-bg-to,#F8FAFC) 100%);overflow:hidden;isolation:isolate;
}
.stage-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.stage-grad{
  position:absolute;inset:-20% -8% auto -8%;height:95%;
  background:
    radial-gradient(ellipse 55% 65% at 18% 28%,rgba(14,165,184,.13),transparent 60%),
    radial-gradient(ellipse 45% 55% at 88% 22%,rgba(122,154,107,.11),transparent 60%),
    radial-gradient(ellipse 80% 50% at 50% 100%,rgba(14,165,184,.06),transparent 70%);
}
.stage-blob{position:absolute;border-radius:50%;filter:blur(var(--stage-blob-blur,56px));opacity:var(--stage-blob-opacity,.48)}
.blob-a{width:360px;height:360px;top:-60px;right:-80px;background:color-mix(in srgb, var(--stage-blob-a-color,#0EA5B8) 100%, transparent);animation:drift 18s ease-in-out infinite}
.blob-b{width:320px;height:320px;bottom:-90px;left:-60px;background:color-mix(in srgb, var(--stage-blob-b-color,#7A9A6B) 100%, transparent);animation:drift 22s ease-in-out infinite reverse}
@supports not (background:color-mix(in srgb, red 100%, white)){
  .blob-a{background:rgba(14,165,184,.16)}
  .blob-b{background:rgba(122,154,107,.15)}
}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-24px,18px)}}

.stage-inner{
  display:grid;grid-template-columns:1.15fr 1fr;gap:18px;align-items:stretch;
  min-height:auto;
}

.hero-panel{
  background:var(--hp-bg-color,rgba(255,255,255,.6));backdrop-filter:blur(6px);
  border:1.5px solid var(--hp-border-color,rgba(255,255,255,.8));
  border-radius:var(--r-xl);
  padding:14px 16px 14px;
  box-shadow:var(--sh-sm),0 0 0 5px color-mix(in srgb, var(--hp-border-color,rgba(14,165,184,.12)) 55%, transparent);
  display:grid;
  grid-template-columns:1fr 220px;
  grid-template-rows:auto auto auto auto auto auto 1fr;
  gap:5px 14px;
  position:relative;overflow:hidden;
  align-items:start;
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .hero-panel{box-shadow:var(--sh-sm),0 0 0 5px rgba(14,165,184,.08)}
}
.hero-panel > *{min-width:0}
.hero-badge{grid-column:1/2;grid-row:1/2}
.hero-eyebrow{grid-column:1/2;grid-row:2/3}
.hero-headline{grid-column:1/2;grid-row:3/4}
.hero-subheadline{grid-column:1/2;grid-row:4/5}
.hero-chips{grid-column:1/2;grid-row:5/6}
.hero-ctas{grid-column:1/2;grid-row:6/7}
.hero-media{
  grid-column:2/3;grid-row:1/5;
  position:relative;top:auto;right:auto;z-index:10;
  width:100%;height:auto;min-height:0;
  aspect-ratio:22 / 15;
  border-radius:14px;overflow:hidden;
  border:2px solid rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(15,43,57,.22),0 2px 6px rgba(15,43,57,.10),inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 6px color-mix(in srgb, var(--hp-border-color,rgba(14,165,184,.12)) 60%, transparent);
  transform:rotate(-.35deg);
  transition:transform 380ms cubic-bezier(.2,.8,.2,1),box-shadow var(--ts),border-color var(--ts);
  cursor:zoom-in;isolation:isolate;
  align-self:start;justify-self:stretch;
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .hero-media{box-shadow:0 12px 30px rgba(15,43,57,.22),0 2px 6px rgba(15,43,57,.10),inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 6px rgba(14,165,184,.12)}
}
.hero-media img{
  width:100%;height:100%;object-fit:cover;object-position:center 22%;
  display:block;
  filter:brightness(.99) contrast(1.22) saturate(1.11);
  image-rendering:-webkit-optimize-contrast;
  image-rendering:optimizeQuality;
  transform:scale(1);
  transition:transform 520ms cubic-bezier(.2,.8,.2,1),filter var(--ts);
}
.hero-media::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),inset 0 -10px 20px rgba(15,43,57,.12);
}
.hero-media:hover{
  transform:rotate(0deg) translateY(-2px) scale(1.008);
  border-color:#fff;
  box-shadow:0 14px 32px rgba(15,43,57,.26),0 3px 6px rgba(15,43,57,.1),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 6px color-mix(in srgb, var(--hp-border-color,rgba(14,165,184,.16)) 70%, transparent);
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .hero-media:hover{box-shadow:0 14px 32px rgba(15,43,57,.26),0 3px 6px rgba(15,43,57,.1),inset 0 0 0 1px rgba(255,255,255,.9),0 0 0 6px rgba(14,165,184,.16)}
}
.hero-media:hover img{transform:scale(1.07);filter:brightness(1.02) contrast(1.26) saturate(1.16)}
.hero-panel::before{
  content:"";position:absolute;inset:auto -30% -80% auto;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,184,.07),transparent 70%);pointer-events:none;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  padding:5px 11px;border-radius:999px;background:var(--hp-badge-bg,#fff);color:var(--hp-badge-text-color,var(--c-primary-dark,#065663));
  font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  box-shadow:var(--sh-xs),0 0 0 1px color-mix(in srgb, var(--hp-badge-color,#F59E0B) 40%, var(--c-primary-100,rgba(14,165,184,.1)));
  margin:0;
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .hero-badge{box-shadow:var(--sh-xs),0 0 0 1px var(--c-primary-100,rgba(14,165,184,.1))}
}
.hero-badge svg{color:var(--hp-badge-color,var(--c-accent,#F59E0B));width:11px;height:11px}
.hero-logo-sm{margin:0;flex-shrink:0;line-height:0}
.hero-logo-sm img{width:110px;height:auto;filter:drop-shadow(0 6px 16px rgba(15,43,57,.13))}
.hero-eyebrow{font-size:12.5px;font-weight:600;color:var(--hp-eyebrow-text-color,#073D47);
  background:linear-gradient(180deg, color-mix(in srgb, var(--hp-eyebrow-bg,#0EA5B8) 11%, transparent) 0%, color-mix(in srgb, var(--hp-eyebrow-bg,#7A9A6B) 6%, transparent) 100%);
  border:1px solid var(--hp-eyebrow-border,rgba(14,165,184,.30));
  display:inline-flex;align-items:center;
  padding:3.5px 9px;border-radius:999px;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  align-self:flex-start;
  margin:0;
}
@supports not (background:color-mix(in srgb, red 11%, white)){
  .hero-eyebrow{background:linear-gradient(180deg, rgba(14,165,184,.11) 0%, rgba(122,154,107,.06) 100%)}
}
.hero-headline{font-size:clamp(24px,2.8vw,34px);font-weight:600;letter-spacing:-.012em;line-height:1.00;margin:0;padding:2px 0 0;color:var(--hp-headline-color,#083344)}
.hero-subheadline{font-size:13px;font-weight:600;color:var(--hp-subheadline-color,#102A39);line-height:1.42;max-width:520px;margin:0;padding:0;
  text-shadow:0 1px 0 rgba(255,255,255,.92);
  -webkit-font-smoothing:antialiased;
}
.hero-chips{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0}
.hero-chips .chip{padding:3px 8px;font-size:10.5px;line-height:1.3;border-radius:8px;border:1px solid var(--hp-chip-border,rgba(15,43,57,.07));background:var(--hp-chip-bg,rgba(255,255,255,.72));color:var(--hp-chip-text-color,#1F3746);font-weight:500;letter-spacing:.005em;-webkit-font-smoothing:antialiased}
.hero-ctas{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;align-items:center;justify-content:flex-start}
.hero-ctas .btn{flex:0 1 auto;min-width:0;min-height:42px;padding:11px 18px;font-size:12.5px;gap:7px;display:inline-flex;align-items:center;justify-content:center}
.hero-ctas .btn svg{width:13px;height:13px}
.hero-ctas .btn.btn-primary{min-height:42px;padding:11px 19px}
.hero-ctas .btn.btn-ghost{min-height:42px;padding:10.5px 17px}

.hero-attractions{
  grid-column:1/3;grid-row:7/8;
  position:relative;margin-top:3px;border-radius:14px;overflow:hidden;isolation:isolate;
  aspect-ratio:21 / 9;
  border:2px solid rgba(255,255,255,.96);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.62) inset,
    0 16px 36px rgba(15,43,57,.22),
    0 3px 9px rgba(15,43,57,.09),
    0 0 0 5px var(--ha-border-color,rgba(14,165,184,.25));
  transform:rotate(.16deg);
  transition:transform 420ms cubic-bezier(.2,.8,.2,1),box-shadow 340ms cubic-bezier(.2,.8,.2,1),border-color 280ms;
  cursor:pointer;
  width:100%;
  align-self:stretch;
  contain:layout paint;
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .hero-attractions{box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(255,255,255,.62) inset,0 16px 36px rgba(15,43,57,.22),0 3px 9px rgba(15,43,57,.09),0 0 0 5px rgba(14,165,184,.25)}
}
.ha-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  max-width:100%;max-height:100%;
  object-fit:cover;object-position:center 46%;
  transition:transform 700ms cubic-bezier(.2,.8,.2,1),filter 320ms;
  filter:saturate(1.12) contrast(1.08) brightness(.98);
  image-rendering:-webkit-optimize-contrast;
  image-rendering:optimizeQuality;
  display:block;
  transform-origin:center center;
  backface-visibility:hidden;
  -webkit-transform:translate3d(0,0,0);
  transform:translate3d(0,0,0);
}
.ha-overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--ha-overlay-base,#0F766E) 0%, transparent) 20%, color-mix(in srgb, var(--ha-overlay-base,#06141C) 55%, transparent) 52%, color-mix(in srgb, var(--ha-overlay-base,#06141C) 92%, rgba(6,20,28,.82)) 100%),
    linear-gradient(90deg, color-mix(in srgb, var(--ha-overlay-base,#06141C) 60%, rgba(6,20,28,.40)) 0%, color-mix(in srgb, var(--ha-overlay-base,#06141C) 9%, transparent) 42%, rgba(6,20,28,0) 60%);
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .ha-overlay{background:linear-gradient(180deg, rgba(6,20,28,.0) 20%, rgba(6,20,28,.22) 52%, rgba(6,20,28,.82) 100%),linear-gradient(90deg, rgba(6,20,28,.40) 0%, rgba(6,20,28,.06) 42%, rgba(6,20,28,0) 60%)}
}
.ha-overlay::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -16px 32px rgba(6,20,28,.24);
}
.ha-badge{
  position:absolute;top:8px;left:8px;z-index:3;
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 9px;border-radius:999px;
  background:var(--ha-badge-bg,rgba(255,255,255,.98));backdrop-filter:blur(6px);
  color:var(--ha-badge-text-color,#0A2540);font-size:8.5px;font-weight:800;letter-spacing:.10em;text-transform:uppercase;line-height:1.2;
  box-shadow:0 3px 8px rgba(6,20,28,.15),0 0 0 1px color-mix(in srgb, var(--ha-badge-color,#F59E0B) 40%, rgba(14,165,184,.30)),0 0 0 2.5px rgba(122,154,107,.10);
}
@supports not (color:color-mix(in srgb, red 60%, white)){
  .ha-badge{box-shadow:0 3px 8px rgba(6,20,28,.15),0 0 0 1px rgba(14,165,184,.30),0 0 0 2.5px rgba(122,154,107,.10)}
}
.ha-badge svg{color:var(--ha-badge-color,#5E7A51);flex-shrink:0;width:11px;height:11px;filter:drop-shadow(0 0 1.5px rgba(94,122,81,.26))}
.ha-zoom-hint{
  position:absolute;top:8px;right:8px;z-index:3;
  display:inline-flex;align-items:center;gap:5px;
  padding:4.5px 9px;border-radius:999px;
  background:var(--ha-zoom-bg,rgba(6,20,28,.58));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  color:var(--ha-zoom-text-color,#FFFFFF);font-size:9.5px;font-weight:700;letter-spacing:.02em;line-height:1.2;
  box-shadow:0 3px 8px rgba(6,20,28,.24),0 0 0 1px rgba(255,255,255,.22),0 0 0 2.5px rgba(14,165,184,.20);
  transform:translateY(0);opacity:1;
  transition:transform 260ms cubic-bezier(.2,.8,.2,1),opacity 260ms,box-shadow 260ms,background-color 260ms;
}
.ha-zoom-hint svg{flex-shrink:0;width:12px;height:12px;stroke:currentColor;
  filter:drop-shadow(0 0 2px rgba(14,165,184,.55));
}
.hero-attractions:hover .ha-zoom-hint{
  transform:translateY(-1.5px);opacity:1;background:color-mix(in srgb, var(--ha-zoom-bg,rgba(6,20,28,.58)) 88%, black);
  box-shadow:0 6px 14px rgba(6,20,28,.34),0 0 0 1px rgba(14,165,184,.44),0 0 0 3px rgba(122,154,107,.12);
}
@supports not (background:color-mix(in srgb, red 88%, white)){
  .hero-attractions:hover .ha-zoom-hint{background:rgba(6,20,28,.72)}
}
.hero-attractions:focus-visible{
  outline:none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.97) inset,
    0 0 0 1px rgba(255,255,255,.8) inset,
    0 26px 56px rgba(15,43,57,.28),
    0 6px 14px rgba(15,43,57,.12),
    0 0 0 3px #0EA5B8,
    0 0 0 6px rgba(14,165,184,.22);
}
.hero-attractions:focus-visible .ha-zoom-hint{
  background:rgba(14,165,184,.88);
  box-shadow:0 6px 14px rgba(6,20,28,.34),0 0 0 1px rgba(255,255,255,.50);
}
.ha-caption{
  position:absolute;left:11px;right:11px;bottom:9px;z-index:3;
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px;align-items:end;
  max-width:calc(100% - 22px);
}
.ha-title{
  grid-column:1/2;grid-row:1/2;
  color:var(--ha-title-color,#FFFFFF);font-size:13px;font-weight:700;line-height:1.18;letter-spacing:-.004em;
  text-shadow:
    0 1px 0 rgba(0,0,0,.72),
    0 2px 8px rgba(6,20,28,.82),
    0 0 0 1px rgba(6,20,28,.14);
  -webkit-font-smoothing:antialiased;
  font-family:var(--f-display);
  max-width:100%;
  overflow-wrap:break-word;
}
.ha-sub{
  grid-column:1/2;grid-row:2/3;margin:0;color:var(--ha-subtitle-color,#FFFFFF);font-size:11.5px;line-height:1.34;font-weight:600;
  text-shadow:0 1px 0 rgba(0,0,0,.68),0 2px 8px rgba(6,20,28,.74);
  -webkit-font-smoothing:antialiased;
  max-width:100%;
}
.ha-cta{
  grid-column:2/3;grid-row:1/3;align-self:end;justify-self:end;
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 9px;border-radius:999px;
  background:var(--ha-cta-bg,rgba(255,255,255,.98));color:var(--ha-cta-text-color,#072836);
  font-size:9.5px;font-weight:800;letter-spacing:.01em;line-height:1.2;
  box-shadow:0 3px 9px rgba(6,20,28,.16),0 0 0 1px color-mix(in srgb, var(--ha-cta-text-color,#072836) 36%, transparent);
  transition:transform 260ms cubic-bezier(.2,.8,.2,1),box-shadow 260ms,background-color 260ms;
  white-space:nowrap;
}
@supports not (color-mix(in srgb, #000 50%, transparent)){
  .ha-cta{box-shadow:0 3px 9px rgba(6,20,28,.16),0 0 0 1px rgba(14,165,184,.36)}
}
.ha-cta:hover{transform:translateY(-1px);background:color-mix(in srgb, var(--ha-cta-bg,rgba(255,255,255,.98)) 96%, #fff);box-shadow:0 7px 16px rgba(6,20,28,.24),0 0 0 1px color-mix(in srgb, var(--ha-cta-text-color,#072836) 50%, transparent),0 0 0 2.5px rgba(122,154,107,.10)}
@supports not (color-mix(in srgb, #000 50%, transparent)){
  .ha-cta:hover{background:#fff;box-shadow:0 7px 16px rgba(6,20,28,.24),0 0 0 1px rgba(14,165,184,.50),0 0 0 2.5px rgba(122,154,107,.10)}
}
.hero-attractions:hover{
  transform:rotate(0deg) translateY(-2.4px) scale(1.004);
  border-color:#fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,.97) inset,
    0 0 0 1px rgba(255,255,255,.8) inset,
    0 26px 56px rgba(15,43,57,.28),
    0 6px 14px rgba(15,43,57,.12),
    0 0 0 6px var(--ha-border-color,rgba(14,165,184,.30));
}
.hero-attractions:hover .ha-img{transform:scale(1.06);filter:saturate(1.18) contrast(1.12) brightness(1.00)}

.rooms-panel{
  background:var(--c-surface);border:1px solid var(--c-border-soft);
  border-radius:var(--r-xl);padding:14px;
  box-shadow:var(--sh-md);
  display:flex;flex-direction:column;gap:10px;
}
.rooms-panel-head{display:flex;align-items:flex-end;justify-content:space-between;padding:0 2px 0}
.rooms-panel-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary);background:var(--c-primary-50);padding:5.5px 11px;border-radius:999px}
.rooms-panel-title{font-size:20px;font-weight:600}

/* ============================================================
   ÁRVORE RETRÁTIL · CATEGORIAS DE QUARTOS (ACCORDION)
   Cada categoria → <details> com header clicável + quarto
   Botão .room-btn dos quartos NÃO É ALTERADO (36×36 original)
   ============================================================ */
.room-categories{display:flex;flex-direction:column;gap:10px;flex:1}
.room-cat{
  background:#fff;border:1px solid var(--c-border-soft);
  border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  transition:box-shadow 300ms ease,border-color 260ms ease,transform 260ms cubic-bezier(.2,.8,.2,1);
}
.room-cat[open]{
  border-color:rgba(14,165,184,.30);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 10px 26px rgba(15,43,57,.10),
    0 2px 8px rgba(14,165,184,.12),
    0 0 0 3px rgba(14,165,184,.06);
}
.room-cat:hover{transform:translateY(-1px)}
.room-cat-head{
  list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;cursor:pointer;user-select:none;
  background:linear-gradient(180deg,#ffffff 0%,#FAFBFB 100%);
  border-bottom:1px solid transparent;
  transition:background 240ms ease,border-color 240ms ease;
}
.room-cat[open] > .room-cat-head{
  border-bottom-color:var(--c-border-soft);
  background:linear-gradient(180deg,#ffffff 0%,#F5FBFC 100%);
}
/* Remove default ::marker triângulo do details/summary em TODOS browsers */
.room-cat-head::-webkit-details-marker,
.room-cat-head::marker{display:none;content:""}
.room-cat-head::-moz-list-bullet{list-style-type:none}
.rc-head-left{display:flex;align-items:center;gap:11px;min-width:0}
.rc-head-emoji{
  width:36px;height:36px;border-radius:12px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;font-size:18px;
  background:linear-gradient(140deg,var(--c-primary-50),#ffffff);
  border:1px solid var(--c-border-soft);
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 2px 4px rgba(15,43,57,.06);
}
/* cores temáticas por categoria */
.room-cat-master .rc-head-emoji{background:linear-gradient(140deg,#FEF3C7,#fff);border-color:rgba(245,158,11,.26)}
.room-cat-suite  .rc-head-emoji{background:linear-gradient(140deg,var(--c-primary-50),#fff);border-color:rgba(14,165,184,.24)}
.room-cat-std    .rc-head-emoji{background:linear-gradient(140deg,#EAF4F9,#fff);border-color:rgba(100,116,139,.22)}
.room-cat-head-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.rc-head-title{
  font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--c-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rc-head-meta{font-size:11.5px;color:var(--c-muted-1);font-weight:500}
.rc-head-chevron{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;color:var(--c-muted-1);
  background:rgba(15,43,57,.04);
  transition:transform 300ms cubic-bezier(.2,.8,.2,1),color 240ms ease,background 240ms ease;
}
.room-cat[open] > .room-cat-head .rc-head-chevron{
  transform:rotate(180deg);
  color:var(--c-primary);
  background:var(--c-primary-50);
}
.room-cat-head:hover .rc-head-chevron{color:var(--c-primary)}
.room-cat-head:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--c-primary-50),inset 0 0 0 3px rgba(14,165,184,.55)}
.room-cat-panel{
  padding:10px 12px 12px;
  background:linear-gradient(180deg,#FBFCFC 0%,#F6F8F8 100%);
  animation:catPanelOpen 300ms cubic-bezier(.2,.8,.2,1) both;
}
@keyframes catPanelOpen{
  from{opacity:0;transform:translateY(-6px)}
  to  {opacity:1;transform:translateY(0)}
}
.room-cat-panel > .rooms-list{gap:8px}

.rooms-list{display:flex;flex-direction:column;gap:8px;flex:1}
.room-row{
  display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;
  padding:8px;border-radius:var(--r-md);border:1px solid var(--c-border-soft);background:#fff;
  position:relative;isolation:isolate;overflow:visible;
  transition:transform 340ms cubic-bezier(.2,.8,.2,1),box-shadow 380ms cubic-bezier(.2,.8,.2,1),border-color 260ms ease,background 300ms ease;
}
/* ============================================================
   ROOM ROW HOVER — MESMO EFEITO DOS BOTÕES PREMIUM
   ============================================================ */
.room-row::after{
  /* Shine overlay no hover */
  content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.88),transparent);
  transform:skewX(-14deg);opacity:0;pointer-events:none;z-index:2;
}
.room-row:hover::after{opacity:1;animation:rowShine 820ms cubic-bezier(.2,.8,.2,1) forwards}
@keyframes rowShine{0%{left:-40%}100%{left:120%}}
.room-row::before{
  /* Pulse halo anel (similar ao rgbPulseRing) no hover */
  content:"";position:absolute;inset:-3px;border-radius:calc(var(--r-md) + 3px);
  border:2px solid rgba(14,165,184,.48);opacity:0;pointer-events:none;z-index:-1;
  transform-origin:50% 50%;
}
.room-row:hover::before{animation:rowHalo 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes rowHalo{
  0%{transform:scale(1);opacity:.52}
  100%{transform:scale(1.06);opacity:0}
}
.room-row:hover{
  transform:translateY(-3.5px);
  border-color:rgba(14,165,184,.34);
  background:linear-gradient(180deg,#fff 0%,#F7FCFD 58%,#F4FAF0 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 12px 30px rgba(15,43,57,.14),
    0 4px 12px rgba(14,165,184,.16),
    0 0 0 3px rgba(14,165,184,.08);
}
/* Acomodação destaque em hover: ainda mais expressiva */
.room-row.room-row-featured:hover{
  transform:translateY(-4px);
  background:linear-gradient(180deg,#fff 0%,#F0FBF7 55%,#ECF6E3 100%);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.78) inset,
    0 14px 36px rgba(15,43,57,.18),
    0 6px 16px rgba(14,165,184,.20),
    0 0 0 4px rgba(122,154,107,.10);
}
/* :active state = TAP micro-feedback (celular) */
.room-row:active{transform:translateY(-.5px) scale(.996)}
.room-row:focus-within{outline:none;box-shadow:0 0 0 3px rgba(14,165,184,.20),0 1px 0 rgba(255,255,255,.95) inset,0 0 0 1px rgba(255,255,255,.72) inset,0 4px 14px rgba(15,43,57,.12)}

.room-row-featured{background:linear-gradient(180deg,#fff 0%,#F7FCFD 100%);border:1.5px solid var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-50)}
.room-thumb{
  position:relative;width:52px;height:52px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:rgba(15,43,57,.22);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.95) inset,
    0 2px 6px rgba(15,43,57,.12),
    0 0 0 1px rgba(14,165,184,.12);
}
.room-thumb-img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;
  transform:scale(1.02);
  transition:transform 400ms cubic-bezier(.2,.8,.2,1),filter 400ms ease;
  filter:saturate(1.05) contrast(1.02);
}
.room-row:hover .room-thumb-img{transform:scale(1.1);filter:saturate(1.15) contrast(1.05)}
.room-thumb-grad{
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(10,124,139,.18) 0%,rgba(122,154,107,.22) 50%,rgba(15,43,57,.55) 100%);
  z-index:1;
}
.room-row-featured .room-thumb-grad{background:linear-gradient(160deg,rgba(245,158,11,.22) 0%,rgba(10,124,139,.20) 55%,rgba(15,43,57,.58) 100%)}
.room-thumb-badge{
  position:absolute;left:4px;bottom:4px;z-index:2;
  width:18px;height:18px;border-radius:50%;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  color:#0A7C8B;
  box-shadow:0 1px 3px rgba(15,43,57,.2),0 0 0 1px rgba(255,255,255,.75);
}
.room-row-featured .room-thumb-badge{color:#B45309;background:rgba(255,251,235,.95)}
.room-info{min-width:0;display:flex;flex-direction:column;gap:2px}
.room-tag-row{display:flex;align-items:center;gap:6px}
.room-tag{
  font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:3.5px 8px;border-radius:999px;background:var(--c-primary-50);color:var(--c-primary-dark);
}
.room-star{color:#F59E0B;font-size:13px;line-height:1}
.room-name{font-size:16px;font-weight:600;font-family:var(--f-display)}
/* ============================================================
   ROOM UNITS (indicador criativo de quantidade de quartos)
   ============================================================ */
.room-units{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  margin:3px 0 1px;padding:4px 9px 4px 7px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(14,165,184,.06) 0%,rgba(122,154,107,.08) 100%);
  border:1px solid rgba(14,165,184,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  position:relative;overflow:hidden;
}
.room-units::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 120% at 0% 50%,rgba(14,165,184,.10),transparent 55%),
             radial-gradient(50% 100% at 100% 50%,rgba(122,154,107,.10),transparent 50%);
}
.ru-stack{display:inline-flex;align-items:center;gap:2px;position:relative;z-index:1}
.ru-dot{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,#fff 0%,#E8F7F9 60%,#E9F2E2 100%);
  color:#0A7C8B;
  border:1px solid rgba(14,165,184,.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 1px 2px rgba(14,165,184,.14);
  transition:transform 280ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,color 280ms ease;
}
.ru-dot:nth-child(2){color:#0C8292;transform:translateX(-2px)}
.ru-dot:nth-child(3){color:#5A7F47;transform:translateX(-4px)}
.room-row:hover .ru-dot{transform:translateX(0) translateY(-1px)}
.room-row:hover .ru-dot-1{transition-delay:40ms}
.room-row:hover .ru-dot-2{transition-delay:80ms}
.room-row:hover .ru-dot-3{transition-delay:120ms}
.ru-label{
  font-size:10.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;
  color:#215A68;
  position:relative;z-index:1;
  white-space:nowrap;
}
/* Destaque para SUITES MASTER */
.room-row-featured .room-units{
  background:linear-gradient(135deg,rgba(245,158,11,.08) 0%,rgba(14,165,184,.07) 100%);
  border-color:rgba(245,158,11,.28);
}
.room-row-featured .ru-dot{
  background:linear-gradient(135deg,#fff 0%,#FEF3C7 60%,#E8F7F9 100%);
  border-color:rgba(245,158,11,.32);
}
.room-row-featured .ru-dot-1{color:#B45309}
.room-row-featured .ru-dot-2{color:#0A7C8B}
.room-row-featured .ru-dot-3{color:#5A7F47}
.room-row-featured .ru-label{color:#7C4A05}
/* ============================================================
   ROOM PRICE (chip de preço em destaque)
   ============================================================ */
.room-price{
  display:inline-flex;align-items:baseline;gap:5px;flex-wrap:wrap;
  margin:3px 0 2px;
}
.room-price-prefix{
  display:inline-flex;align-items:center;gap:4px;
  font-size:9.5px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;
  color:var(--c-accent-dark);
  background:linear-gradient(135deg,var(--c-accent-50) 0%,rgba(122,154,107,.12) 100%);
  padding:3.5px 7px;border-radius:999px;
  border:1px solid rgba(122,154,107,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  line-height:1.15;
}
.room-price-prefix svg{color:var(--c-accent-dark);flex-shrink:0}
.room-price-value{
  display:inline-flex;align-items:baseline;gap:3.5px;
  font-family:var(--f-display);
  background:linear-gradient(135deg,#0A7C8B 0%,#0C8292 55%,#7A9A6B 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  padding:1px 0;
  filter:drop-shadow(0 .5px 0 rgba(255,255,255,.75));
  position:relative;
}
.room-price-value::before{
  /* Brilho sutil por baixo do gradiente para legibilidade máxima */
  content:"";position:absolute;inset:-2px -3px -2px -3px;border-radius:8px;z-index:-1;
  background:linear-gradient(135deg,rgba(14,165,184,.06),rgba(122,154,107,.05));
  box-shadow:inset 0 0 0 1px rgba(14,165,184,.10);
}
.rpv-currency{font-size:12.5px;font-weight:700}
.rpv-amount{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1}
.room-price-period{
  font-size:10px;font-weight:600;color:#3E5263;
  margin-left:-1px;
}
/* Destaque em acomodação principal: preço ainda mais evidente */
.room-row-featured .room-price-value{
  background:linear-gradient(135deg,#0B5C68 0%,#0A7C8B 50%,#5A7F47 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.room-row-featured .rpv-amount{font-size:21.5px;font-weight:800;letter-spacing:-.015em}
.room-row-featured .room-price-prefix{
  color:#0F3B27;
  background:linear-gradient(135deg,#DCEAD1 0%,rgba(122,154,107,.22) 100%);
  border-color:rgba(122,154,107,.42);
}
.room-desc{font-size:12.5px;color:var(--c-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.room-gallery-btn{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
  margin-top:6px;padding:9px 14px 9px 9px;border-radius:999px;min-height:38px;
  border:1px solid rgba(14,165,184,.44);
  background:
    linear-gradient(140deg,#F6FCFD 0%,#DEF4F7 46%,#E9F2E2 100%);
  color:#083344;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  cursor:pointer;position:relative;isolation:isolate;overflow:visible;
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 0 0 1px rgba(255,255,255,.72) inset,
    0 3px 10px rgba(14,165,184,.14),
    0 1px 3px rgba(15,43,57,.08);
  transform:translateZ(0);
  transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
  animation:rgbBreath 2.35s ease-in-out infinite,rgbGlowPulse 2.35s ease-in-out infinite;
}
.room-gallery-btn::before{
  content:"";position:absolute;inset:-2px;
  border-radius:999px;border:2px solid rgba(14,165,184,.56);
  opacity:.7;pointer-events:none;z-index:-1;
  transform-origin:50% 50%;
  animation:rgbPulseRing 2.35s cubic-bezier(.22,.8,.3,1) infinite;
}
.room-gallery-btn::after{
  content:"";position:absolute;top:0;bottom:0;left:-36%;width:28%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.92),transparent);
  transform:skewX(-16deg);
  opacity:0;pointer-events:none;z-index:2;
}
.room-gallery-btn:hover::after,.room-gallery-btn:focus-visible::after{
  opacity:1;animation:rgbShine 720ms cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes rgbShine{0%{left:-36%}100%{left:110%}}
@keyframes rgbBreath{
  0%,100%{transform:translateY(0) scale(1)}
  46%{transform:translateY(-.6px) scale(1.025)}
  60%{transform:translateY(-.4px) scale(1.018)}
}
@keyframes rgbGlowPulse{
  0%,100%{
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 0 0 0 rgba(14,165,184,.22),
      0 1px 3px rgba(15,43,57,.08);
  }
  46%{
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 6px 18px rgba(14,165,184,.22),
      0 0 0 4px rgba(14,165,184,.12),
      0 2px 6px rgba(15,43,57,.10);
  }
  60%{
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 5px 15px rgba(14,165,184,.18),
      0 0 0 3px rgba(14,165,184,.10),
      0 1.5px 5px rgba(15,43,57,.09);
  }
}
@keyframes rgbPulseRing{
  0%{transform:scale(1);opacity:.58}
  55%{transform:scale(1.26);opacity:.04}
  56%{transform:scale(1.26);opacity:0}
  100%{transform:scale(1.26);opacity:0}
}
.rgb-icon{
  position:relative;z-index:3;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:
    radial-gradient(circle at 32% 30%,#fff 0 46%,#E0F2FE 52%,#CFEEF3 68%,#D4E7C9 100%);
  color:#0E7490;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 0 0 1px rgba(14,165,184,.26) inset,
    0 2px 5px rgba(14,165,184,.18);
  transform-origin:50% 55%;
  animation:rgbIconPulse 2.35s ease-in-out infinite,rgbWiggle 3.4s ease-in-out infinite;
}
.rgb-icon svg{display:block}
@keyframes rgbIconPulse{
  0%,100%{transform:rotate(0deg) scale(1);filter:brightness(1)}
  46%{transform:rotate(-2deg) scale(1.07);filter:brightness(1.08)}
  60%{transform:rotate(0deg) scale(1.03);filter:brightness(1.04)}
}
@keyframes rgbWiggle{
  0%,18%,38%,58%,78%,100%{rotate:0}
  22%{rotate:-12deg}
  28%{rotate:+10deg}
  34%{rotate:-6deg}
  62%{rotate:+12deg}
  68%{rotate:-9deg}
  74%{rotate:+5deg}
}
.rgb-text{
  position:relative;z-index:3;
  display:inline-block;vertical-align:middle;
  height:13px;line-height:13px;overflow:hidden;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
}
.rgb-line{
  display:block;height:13px;line-height:13px;white-space:nowrap;
  transform:translateY(0);
  transition:transform 380ms cubic-bezier(.2,.8,.2,1);
}
.rgb-line-2 em{
  font-style:normal;color:#B45309;display:inline-block;
  text-shadow:0 0 6px rgba(245,158,11,.42);
  animation:rgbSpark 1.8s ease-in-out infinite;
}
@keyframes rgbSpark{
  0%,100%{transform:scale(1) rotate(0deg);opacity:.92;filter:drop-shadow(0 0 0 rgba(245,158,11,0))}
  50%{transform:scale(1.24) rotate(18deg);opacity:1;filter:drop-shadow(0 0 4px rgba(245,158,11,.55))}
}
.room-gallery-btn:hover,.room-gallery-btn:focus-visible{
  transform:translateY(-1.8px) scale(1.02);
  background:linear-gradient(140deg,#FFFFFF 0%,#CFEEF3 48%,#DBE9D1 100%);
  border-color:rgba(14,165,184,.68);
  color:#082F3F;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 0 0 1px rgba(255,255,255,.8) inset,
    0 10px 24px rgba(14,165,184,.26),
    0 0 0 5px rgba(14,165,184,.14),
    0 3px 7px rgba(15,43,57,.12);
  outline:none;
  animation:none;
}
.room-gallery-btn:hover .rgb-line-1,.room-gallery-btn:focus-visible .rgb-line-1{transform:translateY(-100%)}
.room-gallery-btn:hover .rgb-line-2,.room-gallery-btn:focus-visible .rgb-line-2{transform:translateY(-100%)}
.room-gallery-btn:hover .rgb-icon,.room-gallery-btn:focus-visible .rgb-icon{
  background:
    radial-gradient(circle at 30% 28%,#fff 0 44%,#BAE6FD 56%,#CFEEF3 72%,#D4E7C9 100%);
  color:#0B6880;
  animation:rgbSnap 420ms cubic-bezier(.2,.8,.2,1);
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 0 0 1px rgba(14,165,184,.36) inset,
    0 4px 9px rgba(14,165,184,.22);
}
@keyframes rgbSnap{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.2) rotate(-22deg)}70%{transform:scale(.96) rotate(12deg)}100%{transform:scale(1) rotate(0)}}
.room-gallery-btn:active{transform:translateY(0) scale(.97);animation:none}
.room-gallery-btn:active .rgb-icon{animation:rgbClick 220ms ease-out}
@keyframes rgbClick{0%{transform:scale(1)}50%{transform:scale(.78)}100%{transform:scale(1)}}
.room-btn{
  width:auto;min-height:44px;height:auto;padding:10px 15px;border-radius:14px;flex-shrink:0;gap:6px;
  background:var(--c-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:700;letter-spacing:.01em;line-height:1;white-space:nowrap;
  box-shadow:0 5px 14px rgba(14,165,184,.28);transition:background var(--tf),transform var(--tf),box-shadow var(--tf);
}
.room-btn-label{display:inline-flex;align-items:center;justify-content:center}
.room-btn:hover{background:var(--c-primary-dark);color:#fff;transform:scale(1.03)}
.room-btn:active{transform:scale(.97) translateY(1px);box-shadow:0 2px 8px rgba(14,165,184,.24)}
.room-row-featured .room-btn{background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));box-shadow:0 5px 14px rgba(122,154,107,.3)}
.room-row-featured .room-btn:hover{background:linear-gradient(135deg,var(--c-accent-dark),#485f3e);color:#fff}
.room-row-featured .room-btn:active{transform:scale(.97) translateY(1px)}
.rooms-panel-cta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:0;padding:9px 12px;border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--c-primary),var(--c-accent-dark));color:#fff;
  font-size:12px;font-weight:600;
  box-shadow:0 8px 22px rgba(14,165,184,.22);
  transition:transform var(--tf),box-shadow var(--ts),filter var(--tf);
  position:relative;isolation:isolate;overflow:visible;
}
.rooms-panel-cta::before{
  content:"";position:absolute;inset:-2px;border-radius:calc(var(--r-md) + 2px);
  border:2px solid rgba(14,165,184,.46);opacity:0;pointer-events:none;z-index:-1;transform-origin:50% 50%;
}
.rooms-panel-cta:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 14px 30px rgba(14,165,184,.3)}
.rooms-panel-cta:hover::before{animation:rowHalo 1.6s cubic-bezier(.2,.8,.2,1) both}
.rooms-panel-cta:hover svg{transform:translateX(3px)}
.rooms-panel-cta:active{transform:translateY(0) scale(.99);filter:brightness(.98);box-shadow:0 5px 14px rgba(14,165,184,.26)}
.rooms-panel-cta:active svg{transform:translateX(1px)}
.rooms-panel-cta svg{transition:transform var(--tf)}

.contact-bar{padding:10px 0 10px;background:var(--c-bg)}
.contact-bar-inner{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
}
.contact-item{
  display:flex;align-items:center;gap:11px;
  padding:10px 14px;border-radius:var(--r-md);
  background:var(--c-surface);border:1px solid var(--c-border-soft);
  box-shadow:var(--sh-xs);transition:transform var(--tf),box-shadow var(--ts),border-color var(--tf);
  min-width:0;text-decoration:none;color:inherit;
}
.contact-item:hover{transform:translateY(-1.5px);box-shadow:var(--sh-md);border-color:var(--c-primary-100)}
.contact-item[style*="--ch-bg"]{
  background:linear-gradient(135deg, var(--ch-bg, #fff) 0%, var(--ch-ic, #f8fafc) 100%);
  color:var(--ch-text, var(--c-dark));
  border:1px solid rgba(15,23,42,.08);
}
.contact-item[style*="--ch-bg"]:hover{transform:translateY(-1.8px) scale(1.005);box-shadow:0 10px 24px rgba(15,23,42,.10),0 2px 4px rgba(15,23,42,.05);}
.contact-item[style*="--ch-bg"] .contact-title{color:inherit;}
.contact-item[style*="--ch-bg"] .contact-action{color:inherit;opacity:.88;}
.contact-icon{
  width:34px;height:34px;border-radius:10px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.contact-item[style*="--ch-bg"] .contact-icon{
  background:rgba(255,255,255,.52);
  border:1px solid rgba(255,255,255,.75);
  color:inherit;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
@media (pointer: coarse){
  .contact-item[style*="--ch-bg"] .contact-icon{backdrop-filter:none;-webkit-backdrop-filter:none;}
}
.contact-icon-endereco{background:linear-gradient(135deg,var(--c-primary-50),#D1F1F5);color:var(--c-primary-dark)}
.contact-icon-telefone{background:linear-gradient(135deg,#ECFDF5,#BBF7D0);color:#065F46}
.contact-icon-whatsapp{background:linear-gradient(135deg,#DDFBE7,#B6EBC8);color:#065F46}
.contact-icon-email{background:linear-gradient(135deg,var(--c-accent-50),#E2ECDA);color:var(--c-accent-dark)}
.contact-texts{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.contact-title{font-size:12.5px;font-weight:600;color:var(--c-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.contact-action{font-size:11px;color:var(--c-primary-dark);font-weight:500}

/* ============================================================
   SEÇÃO FAQ — PERGUNTAS FREQUENTES
   (alinhada visualmente com video-stage e contact-bar)
   ============================================================ */
.faq-stage{
  position:relative;padding:36px 0 14px;
  background:linear-gradient(180deg,#EEF6F3 0%,#F6FAF8 35%,var(--c-bg) 100%);
  overflow:hidden;isolation:isolate;
}
.faq-inner{
  display:flex;flex-direction:column;gap:14px;
  max-width:860px;
}
.faq-head{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:6px;max-width:620px;margin:0 auto 4px;
}
.faq-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#065F46;background:linear-gradient(135deg,#D1FAE5,#BBF7D0 60%,#ECFDF5);
  padding:5.5px 12px;border-radius:999px;border:1px solid rgba(16,185,129,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.faq-eyebrow svg{flex-shrink:0}
.faq-title{font-size:24px;font-weight:600;line-height:1.12;letter-spacing:-.01em;color:var(--c-dark)}
.faq-subtitle{font-size:13px;font-weight:500;color:#3E5263;line-height:1.45;max-width:560px}

.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{
  background:var(--c-surface);border:1px solid var(--c-border-soft);
  border-radius:var(--r-lg);box-shadow:var(--sh-xs);
  overflow:hidden;transition:box-shadow var(--ts),border-color var(--tf),transform var(--tf);
}
.faq-item[open]{
  border-color:rgba(14,165,184,.28);
  box-shadow:var(--sh-md),0 0 0 4px rgba(14,165,184,.06) inset;
}
.faq-item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;min-height:48px;
  user-select:none;-webkit-user-select:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-q{
  font-size:14px;font-weight:600;color:var(--c-dark);line-height:1.35;
  text-align:left;flex:1;min-width:0;
}
.faq-toggle{
  position:relative;width:22px;height:22px;flex-shrink:0;
  border-radius:7px;background:linear-gradient(135deg,var(--c-primary-50),#D7F0F3);
  border:1px solid rgba(14,165,184,.2);
  transition:transform var(--tf),background var(--tf);
}
.faq-toggle::before,.faq-toggle::after{
  content:"";position:absolute;top:50%;left:50%;
  width:10px;height:1.8px;background:var(--c-primary-dark);
  border-radius:2px;transform:translate(-50%,-50%);transition:transform var(--tf),opacity var(--tf);
}
.faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] .faq-toggle{
  background:linear-gradient(135deg,#FEF3C7,#FDE68A);
  border-color:rgba(217,119,6,.22);
  transform:rotate(90deg);
}
.faq-item[open] .faq-toggle::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
.faq-a{
  padding:0 16px 16px;border-top:1px dashed rgba(14,165,184,.18);
  padding-top:12px;
  animation:faqIn .26s ease-out both;
}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.faq-a p{font-size:13.5px;line-height:1.6;color:#334657;font-weight:500;margin:0 0 8px}
.faq-a p:last-child{margin-bottom:0}
.faq-a strong{color:#085166;font-weight:700}
.faq-a ul{margin:4px 0 8px 4px;padding:0 0 0 18px;list-style:none;counter-reset:faqli}
.faq-a ul li{
  position:relative;font-size:13px;line-height:1.55;color:#334657;font-weight:500;
  padding:3px 0 3px 0;
}
.faq-a ul li::before{
  content:"";position:absolute;left:-16px;top:11px;
  width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg,#0EA5B8,#10B981);
  box-shadow:0 0 0 3px rgba(14,165,184,.10);
}

@media (max-width:860px){
  .faq-stage{padding:28px 0 10px}
  .faq-title{font-size:20px}
  .faq-q{font-size:13.5px}
  .faq-a p{font-size:13px}
  .faq-a ul li{font-size:12.5px}
}
@media (max-width:640px){
  .faq-stage{padding:22px 0 8px}
  .faq-inner{gap:10px}
  .faq-title{font-size:18px}
  .faq-subtitle{font-size:12.5px}
  .faq-item summary{padding:12px 13px;min-height:44px}
  .faq-q{font-size:13px}
  .faq-a{padding:0 13px 13px;padding-top:10px}
  .faq-a p{font-size:12.5px}
}
@media (max-width:480px){
  .faq-stage{padding:18px 0 6px}
  .faq-title{font-size:16.5px;line-height:1.18}
}
@media (max-width:360px){
  .faq-title{font-size:15.5px}
  .faq-q{font-size:12.5px}
}

.site-footer{
  background:var(--c-dark);color:#9DB3C1;padding:10px 0;border-top:1px solid rgba(255,255,255,.06);
}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer-left,.footer-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.footer-sep{opacity:.35}
.footer-text{font-size:12px;color:#7F98A9}
.footer-link{font-size:12px;color:#9DB3C1;font-weight:500}
.footer-link:hover{color:#fff}
.brand-footer .brand-logo{width:24px;height:24px}
.brand-footer .brand-text em{font-size:16px;color:#fff}

.whatsapp-flutuante{
  position:fixed;right:16px;bottom:16px;z-index:60;
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(37,211,102,.36),inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform var(--tf),box-shadow var(--ts);
}
.whatsapp-flutuante.pulse-wa{animation:wapulse 2.8s ease-in-out infinite}
.whatsapp-flutuante:hover{color:#fff;transform:translateY(-2px) scale(1.04);box-shadow:0 14px 30px rgba(37,211,102,.45)}
@keyframes wapulse{0%,100%{box-shadow:0 10px 24px rgba(37,211,102,.36),0 0 0 0 rgba(37,211,102,.32)}50%{box-shadow:0 10px 24px rgba(37,211,102,.36),0 0 0 12px rgba(37,211,102,0)}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--ts),transform var(--ts)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}

/* ============================================================
   SEÇÃO VÍDEO PROMOCIONAL
   ============================================================ */
.video-stage{
  position:relative;padding:38px 0 10px;
  background:linear-gradient(180deg,#F8FAFC 0%,#EEF6F3 100%);
  overflow:hidden;isolation:isolate;
}
.video-stage-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.vs-grad{
  position:absolute;inset:-10% -5% auto -5%;height:100%;
  background:
    radial-gradient(ellipse 45% 55% at 12% 35%,rgba(14,165,184,.12),transparent 60%),
    radial-gradient(ellipse 40% 50% at 92% 28%,rgba(122,154,107,.11),transparent 60%),
    radial-gradient(ellipse 70% 50% at 50% 110%,rgba(14,165,184,.05),transparent 70%);
}
.vs-blob{position:absolute;border-radius:50%;filter:blur(54px);opacity:.46}
.vs-blob-a{width:300px;height:300px;top:-50px;right:-60px;background:rgba(122,154,107,.16);animation:drift 20s ease-in-out infinite}
.vs-blob-b{width:270px;height:270px;bottom:-70px;left:-50px;background:rgba(14,165,184,.14);animation:drift 24s ease-in-out infinite reverse}

.video-stage-inner{
  display:flex;flex-direction:column;gap:12px;align-items:center;
  max-width:1100px;
}
.video-head{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:5px;max-width:640px;
}
.video-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--c-primary-dark);background:linear-gradient(135deg,var(--c-primary-50),#D7F0F3);
  padding:5.5px 12px;border-radius:999px;border:1px solid rgba(14,165,184,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.video-eyebrow svg{flex-shrink:0}
.video-title{font-size:26px;font-weight:600;line-height:1.1;letter-spacing:-.01em;color:var(--c-dark)}
.video-subtitle{font-size:13px;font-weight:500;color:#3E5263;line-height:1.45;max-width:560px}

.video-card{
  width:100%;
  background:var(--c-surface);
  border:1px solid var(--c-border-soft);
  border-radius:var(--r-xl);
  padding:10px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    var(--sh-lg),
    0 0 0 1px rgba(255,255,255,.6) inset;
  display:flex;flex-direction:column;gap:8px;
}
.video-frame{
  position:relative;width:100%;
  aspect-ratio:16/9;
  border-radius:var(--r-lg);
  overflow:hidden;
  background:#000;
  isolation:isolate;
  box-shadow:
    0 0 0 1.5px rgba(14,165,184,.22),
    0 12px 36px rgba(15,43,57,.28);
}
.video-player{
  width:100%;height:100%;
  object-fit:contain;
  background:#000;
  display:block;
}
.video-player::-webkit-media-controls{filter:saturate(1.05)}
.video-overlay-glow{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%,rgba(14,165,184,.18),transparent 55%),
    radial-gradient(ellipse 50% 50% at 50% 100%,rgba(122,154,107,.12),transparent 55%);
  mix-blend-mode:screen;opacity:.9;
  z-index:1;
}

.video-meta{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:2px 4px 0;
  flex-wrap:wrap;
}
.video-meta-info{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vm-chip{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:600;
  color:#2B3F4B;background:#F1F5F9;
  padding:4.5px 10px;border-radius:999px;
  border:1px solid var(--c-border-soft);
}
.vm-chip svg{flex-shrink:0;color:var(--c-primary-dark)}
.vm-chip-alt{background:linear-gradient(135deg,var(--c-accent-50),#E5EEDD);color:#3F5336;border-color:rgba(122,154,107,.28)}
.vm-chip-alt svg{color:var(--c-accent-dark)}
a.vm-chip-link{text-decoration:none;cursor:pointer;background:linear-gradient(135deg,#FF0000,#CC0000);color:white;border-color:rgba(204,0,0,.35);box-shadow:0 1px 3px rgba(204,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
a.vm-chip-link:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 3px 8px rgba(204,0,0,.28)}
a.vm-chip-link svg{color:white}
.video-meta-ctas{display:flex;align-items:center;gap:6px;flex-shrink:0}

/* Legenda / Caption do vídeo (toggle is_show_caption) */
.video-caption{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;
  margin:12px 6px 2px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(14,165,184,.07),rgba(122,154,107,.06));
  border:1px solid rgba(14,165,184,.18);
  font-size:12.5px;line-height:1.55;color:var(--c-text-2);
}
.video-caption-kicker{
  display:inline-flex;align-items:center;gap:5px;
  padding:3.5px 10px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;
  color:#073D47;
  background:rgba(14,165,184,.14);
  border:1px solid rgba(14,165,184,.28);
  text-transform:uppercase;
}
.video-caption-title{
  font-weight:700;color:var(--c-text-1);font-size:13px;
}
.video-caption-sep{color:rgba(15,43,57,.25);margin:0 2px;font-weight:700}
.video-caption-text{color:var(--c-text-2)}
@media (max-width:640px){
  .video-caption{margin:10px 2px 0;padding:10px 11px;border-radius:12px;gap:6px}
  .video-caption-title{display:block;width:100%}
  .video-caption-sep{display:none}
  .video-caption-text{font-size:12px}
}
@media (max-width:380px){
  .video-caption{padding:9px;border-radius:11px;font-size:11.5px}
  .video-caption-kicker{font-size:10px;padding:3px 8px}
  .video-caption-title{font-size:12.5px}
}

/* ============================================================
   MICRO-INTERAÇÕES VÍDEO (desktop + tablets — hover:fine)
   ============================================================ */
@media (hover:hover) and (pointer:fine){
  .video-card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s cubic-bezier(.2,.8,.2,1)}
  .video-card:hover{
    transform:translateY(-4px);
    box-shadow:
      0 1px 0 rgba(255,255,255,.94) inset,
      0 44px 70px rgba(15,43,57,.22),
      0 10px 24px rgba(15,43,57,.12),
      0 0 0 1px rgba(14,165,184,.16) inset;
  }
  .video-frame{
    transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s cubic-bezier(.2,.8,.2,1);
  }
  .video-card:hover .video-frame{
    transform:translateY(-1px);
    box-shadow:
      0 0 0 2px rgba(14,165,184,.26),
      0 26px 60px rgba(15,43,57,.36);
  }
  .video-card:hover .video-overlay-glow{opacity:1;mix-blend-mode:screen}
  .video-overlay-glow{transition:opacity .45s ease,background .45s ease}
  /* CTA do vídeo em hover: subida sutil + brilho extra */
  .video-meta-ctas .btn{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s cubic-bezier(.2,.8,.2,1)}
  .video-meta-ctas .btn:hover{transform:translateY(-1px)}
  .video-meta-ctas .btn:active{transform:translateY(0)}
  .vm-chip{transition:transform .25s ease,background .25s ease,border-color .25s ease}
  .video-meta:hover .vm-chip{transform:translateY(0)}
}
/* Acessibilidade: foco visível FORTÍSSIMO em todos os elementos interativos do card */
.video-card:focus-within{
  outline:none;
  box-shadow:
    0 1px 0 rgba(255,255,255,.94) inset,
    0 0 0 3px rgba(14,165,184,.22),
    0 0 0 4.5px rgba(14,165,184,.14);
}
.video-player:focus-visible{
  outline:3px solid #0EA5B8 !important;
  outline-offset:1.5px;
  border-radius:inherit;
}
/* Shimmer sutil de "esperando interação" no frame: animação lenta
   (3s loop, sem blur, só gradiente translate — composite apenas, GPU-friendly) */
.video-frame::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;
  background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.09) 50%,transparent 80%);
  background-size:240% 100%;
  background-position:150% 0;
  animation:videoShimmer 4.4s cubic-bezier(.4,.0,.2,1) infinite;
  opacity:.0;mix-blend-mode:screen;
}
@keyframes videoShimmer{
  0%,65%{background-position:150% 0;opacity:0}
  70%{opacity:1}
  100%{background-position:-120% 0;opacity:0}
}
/* Em telas touch / mobile o shimmer fica sempre OFF para economia de bateria */
@media (hover:none) and (pointer:coarse){
  .video-frame::before{animation:none !important;display:none}
}

/* ============================================================
   RESPONSIVIDADE
   ============================================================ */
@media (min-width:1440px){
  .hero-panel{grid-template-columns:1fr 250px;padding:16px 20px 16px;gap:6px 16px}
  .hero-headline{font-size:38px;line-height:1.00;padding:2px 0 0}
  .rooms-panel-title{font-size:22px}
  .room-name{font-size:17px}
  .room-price{margin:4px 0 3px}
  .rpv-amount{font-size:22px}
  .room-row-featured .rpv-amount{font-size:23.5px}
  .rpv-currency{font-size:13.5px}
  .room-price-period{font-size:10.5px}
  .room-price-prefix{font-size:10px;padding:4px 8px}
  .hero-logo-stage{min-height:86vh}
  .hero-media{height:auto;min-height:0;aspect-ratio:22 / 15;border-radius:16px;align-self:start}
  .hero-media img{object-position:center 24%}
  .hero-badge{padding:5px 11px;font-size:9.5px;gap:6px}
  .hero-logo-sm img{width:126px}
  .hero-eyebrow{font-size:13px;font-weight:700;color:#06363F;padding:4px 10px;border:1px solid rgba(14,165,184,.34)}
  .hero-subheadline{font-size:13.5px;font-weight:600;color:#0E2634;line-height:1.44;max-width:560px}
  .hero-chips{gap:5px}
  .hero-chips .chip{padding:3px 8px;font-size:10.5px}
  .hero-ctas{gap:6px}
  .hero-ctas .btn{padding:10px 16px;font-size:13px;gap:7px}
  .hero-ctas .btn svg{width:13.5px;height:13.5px}
  .hero-ctas .btn.btn-primary{padding:10px 17px}
  .hero-ctas .btn.btn-ghost{padding:9.5px 15px}
  .hero-attractions{aspect-ratio:21/9;margin-top:4px;border-radius:16px}
  .ha-caption{left:13px;right:13px;bottom:10px;grid-template-columns:1fr auto;gap:2px 12px;max-width:calc(100% - 26px)}
  .ha-title{font-size:13.5px;font-weight:700;line-height:1.18}
  .ha-sub{font-size:12px;line-height:1.34;font-weight:600}
  .ha-cta{font-size:10px;padding:5px 10px;gap:5px}
  .ha-badge{font-size:9px;padding:4px 9px;top:8px;left:8px;gap:5px;line-height:1.2}
  .video-stage{padding:44px 0 12px}
  .video-stage-inner{gap:14px;max-width:1160px}
  .video-title{font-size:30px}
  .video-subtitle{font-size:14px;max-width:600px}
  .video-card{padding:12px;border-radius:24px}
  .video-frame{border-radius:18px}
  .video-meta{padding:3px 6px 0}
  .vm-chip{font-size:11px;padding:5px 12px}
}
@media (min-width:1700px){
  .hero-panel{grid-template-columns:1fr 272px;padding:18px 22px 18px;gap:7px 18px}
  .hero-headline{font-size:42px;line-height:1.00;padding:2px 0 0}
  .hero-badge{padding:5.5px 12px;font-size:10px;gap:6px}
  .hero-logo-sm img{width:136px}
  .hero-media{height:auto;min-height:0;aspect-ratio:22 / 15;border-radius:18px;align-self:start;
    box-shadow:0 1px 0 rgba(255,255,255,.97) inset,0 26px 58px rgba(15,43,57,.32),0 6px 13px rgba(15,43,57,.10),0 0 0 4.5px rgba(14,165,184,.14);
  }
  .hero-media img{object-position:center 24%}
  .hero-attractions{aspect-ratio:21/9;margin-top:5px;border-radius:18px;border-width:2.5px;
    box-shadow:
      0 1px 0 rgba(255,255,255,.98) inset,
      0 0 0 1px rgba(255,255,255,.78) inset,
      0 28px 62px rgba(15,43,57,.30),
      0 7px 16px rgba(15,43,57,.12),
      0 0 0 6.5px rgba(14,165,184,.18),
      0 0 0 11px rgba(122,154,107,.06);
  }
  .ha-img{object-position:center 40%;filter:saturate(1.18) contrast(1.10) brightness(.97)}
  .ha-overlay{background:
    linear-gradient(180deg, rgba(6,20,28,.0) 12%, rgba(6,20,28,.28) 46%, rgba(6,20,28,.88) 100%),
    linear-gradient(90deg, rgba(6,20,28,.48) 0%, rgba(6,20,28,.10) 40%, rgba(6,20,28,0) 62%);}
  .ha-caption{left:15px;right:15px;bottom:12px;gap:3px 16px;max-width:calc(100% - 30px)}
  .ha-title{font-size:15px;font-weight:700;letter-spacing:-.006em;line-height:1.18;
    text-shadow:
      0 1px 0 rgba(0,0,0,.74),
      0 3px 14px rgba(6,20,28,.84),
      0 0 1px rgba(6,20,28,.20);
  }
  .ha-sub{font-size:13px;font-weight:600;line-height:1.36;
    text-shadow:0 1px 0 rgba(0,0,0,.68),0 3px 12px rgba(6,20,28,.78);
  }
  .ha-cta{font-size:10.5px;padding:5.5px 11px;gap:5.5px;line-height:1.2;
    box-shadow:0 6px 14px rgba(6,20,28,.26),0 0 0 1px rgba(14,165,184,.46),0 0 0 3px rgba(122,154,107,.10);
  }
  .ha-badge{font-size:9.5px;padding:4.5px 10px;top:9px;left:9px;font-weight:800;gap:5px;line-height:1.2;
    box-shadow:0 5px 14px rgba(6,20,28,.24),0 0 0 1px rgba(14,165,184,.40),0 0 0 3px rgba(122,154,107,.12);
  }
  .hero-eyebrow{font-size:13.5px;font-weight:700;color:#042C33;padding:4.5px 11px;border:1px solid rgba(14,165,184,.36);letter-spacing:.004em}
  .hero-subheadline{font-size:14px;font-weight:600;color:#0C2230;line-height:1.46;max-width:580px}
  .hero-ctas .btn{padding:10.5px 17px;font-size:13.5px;gap:7px}
  .hero-ctas .btn svg{width:14px;height:14px}
  .hero-ctas .btn.btn-primary{padding:10.5px 18px}
  .hero-ctas .btn.btn-ghost{padding:10px 16px}
  .room-name{font-size:17.5px}
  .room-price{margin:4.5px 0 3px}
  .rpv-amount{font-size:23px}
  .room-row-featured .rpv-amount{font-size:24.5px}
  .rpv-currency{font-size:14px}
  .room-price-period{font-size:11px}
  .room-price-prefix{font-size:10.5px;padding:4px 9px;gap:5px}
  .video-stage{padding:50px 0 14px}
  .video-stage-inner{gap:16px;max-width:1240px}
  .video-title{font-size:34px}
  .video-subtitle{font-size:14.5px;max-width:640px}
  .video-card{padding:14px;border-radius:26px}
  .video-frame{border-radius:20px}
  .video-meta-ctas .btn{padding:10.5px 18px;font-size:13px}
}
@media (max-width:1180px){
  .header-inner{height:55px;gap:14px}
  .brand{gap:8px}
  .brand-logo{width:40px;height:40px}
  .brand-text em{font-size:21px}
  .stage-inner{grid-template-columns:1.05fr 1fr;gap:14px}
  .hero-panel{grid-template-columns:1fr 176px;padding:14px 16px 14px;gap:5px 12px}
  .hero-media{height:auto;min-height:0;aspect-ratio:22 / 15;border-width:1.5px;border-radius:12px;align-self:start}
  .hero-media img{object-position:center 24%}
  .hero-headline{font-size:clamp(22px,2.5vw,30px);max-width:100%;line-height:1.00;padding:1px 0 0}
  .hero-logo-sm img{width:106px}
  .hero-badge{padding:4.5px 10px;font-size:9px;gap:5.5px;line-height:1.2}
  .hero-badge svg{width:10px;height:10px}
  .hero-eyebrow{font-size:12px;font-weight:600;color:#084954;padding:3.5px 8px;border:1px solid rgba(14,165,184,.26)}
  .hero-subheadline{font-size:12.5px;font-weight:600;color:#142F40;line-height:1.40}
  .hero-chips{gap:4px}
  .hero-chips .chip{padding:2.5px 7px;font-size:10px;line-height:1.28}
  .hero-ctas{gap:5px}
  .hero-ctas .btn{padding:8px 12px;font-size:11.5px;gap:5.5px}
  .hero-ctas .btn svg{width:12px;height:12px}
  .hero-ctas .btn.btn-primary{padding:8px 13px}
  .hero-ctas .btn.btn-ghost{padding:7.5px 11.5px}
  .room-gallery-btn{
    margin-top:4px;padding:6px 13px 6px 8px;font-size:11px;font-weight:700;letter-spacing:.02em;gap:7px;
    animation:rgbBreath 2.35s ease-in-out infinite,rgbGlowPulse 2.35s ease-in-out infinite;
    transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
    transform:translateZ(0);overflow:visible;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn::before{
    content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid rgba(14,165,184,.54);
    opacity:.58;pointer-events:none;z-index:-1;transform-origin:50% 50%;
    animation:rgbPulseRing 2.4s cubic-bezier(.22,.8,.3,1) infinite;
  }
  .room-gallery-btn::after{display:block !important}
  .rgb-icon{width:19px;height:19px;animation:rgbIconPulse 2.35s ease-in-out infinite,rgbWiggle 3.4s ease-in-out infinite}
  .rgb-text{display:inline-block !important;height:12.5px;line-height:12.5px;overflow:hidden}
  .rgb-line{height:12.5px;line-height:12.5px}
  /* TAP :active micro-feedback */
  .room-gallery-btn:active{transform:translateY(.6px) scale(.988)}
  .room-gallery-btn:active .rgb-line{transform:translateY(-12.5px)}
  .room-btn{min-height:46px;padding:10px 14px;font-size:13px;border-radius:14px;gap:6.5px}
  .contact-bar-inner{grid-template-columns:repeat(2,1fr)}
  .hero-attractions{aspect-ratio:21/9;border-radius:12px;margin-top:3px;border-width:1.5px}
  .ha-caption{left:11px;right:11px;bottom:9px;max-width:calc(100% - 22px);gap:2px 10px}
  .ha-badge{top:7px;left:7px;padding:3.5px 8px;font-size:8.5px;gap:4.5px;line-height:1.18}
  .ha-badge svg{width:10.5px;height:10.5px}
  .ha-title{font-size:12.5px;font-weight:700;line-height:1.18}
  .ha-sub{font-size:11px;line-height:1.34;font-weight:600}
  .ha-cta{font-size:9.5px;padding:4.5px 8.5px;gap:4.5px;line-height:1.18}
  .video-stage{padding:30px 0 8px}
  .video-stage-inner{gap:10px}
  .video-title{font-size:22px}
  .video-subtitle{font-size:12px;max-width:520px}
  .video-card{padding:8px;border-radius:18px}
  .video-frame{border-radius:14px}
  .video-meta{padding:1px 2px 0;gap:8px}
  .video-meta-info{gap:5px}
  .vm-chip{font-size:10px;padding:4px 9px;gap:5px}
  .video-meta-ctas .btn{padding:8px 13px;font-size:11.5px;gap:5.5px}
  .video-meta-ctas .btn svg{width:12px;height:12px}
}
@media (max-width:960px){
  .header-inner{height:53px;gap:12px}
  .brand{gap:7px}
  .brand-logo{width:36px;height:36px}
  .brand-text em{font-size:20px}
  .hero-logo-stage{min-height:82vh;padding:76px 0 46px}
  .hl-logo-wrap{width:min(295px,74vw);height:min(250px,64vw)}
  .hl-brand-name{font-size:clamp(48px,15vw,88px)}
  .hl-badge-orbit{font-size:9.5px;padding:5px 10px;animation-duration:20s}
  .hl-fish-orbit svg{width:36px;height:36px}
  .stage{padding:62px 0 6px;min-height:auto}
  .stage-inner{grid-template-columns:1fr;min-height:auto;gap:12px}
  .hero-panel{order:1;grid-template-columns:1fr 158px;padding:12px 14px 12px;gap:4px 12px}
  .rooms-panel{order:2}
  .hero-media{height:auto;min-height:0;aspect-ratio:22 / 15;border-radius:11px;align-self:start}
  .hero-media img{object-position:center 28%;filter:brightness(.99) contrast(1.20) saturate(1.09)}
  .hl-facade{background-position:center 70%;filter:brightness(1.04) saturate(1.10) contrast(1.20);opacity:.80;transform:scale(1.02)}
  .hl-facade-overlay{background:linear-gradient(180deg,rgba(234,246,247,.09) 0%,rgba(242,249,246,.17) 44%,rgba(246,251,247,.34) 82%,#F6FBF7 100%),radial-gradient(ellipse 64% 56% at 50% 48%,transparent 0%,rgba(15,43,57,.13) 100%)}
  .hero-headline{font-size:clamp(23px,5vw,33px);max-width:100%;line-height:1.00;padding:1px 0 0}
  .hero-logo-sm img{width:98px}
  .hero-badge{padding:4px 9px;font-size:8.5px;gap:5px;line-height:1.2}
  .hero-badge svg{width:10px;height:10px}
  .hero-eyebrow{font-size:11.5px;font-weight:600;color:#074954;padding:3.5px 8px;border:1px solid rgba(14,165,184,.24)}
  .hero-subheadline{font-size:12px;font-weight:600;color:#142F40;line-height:1.38}
  .hero-chips{gap:4px}
  .hero-chips .chip{padding:2.5px 6.5px;font-size:9.5px;line-height:1.26}
  .hero-ctas{gap:7px}
  .hero-ctas .btn{min-height:46px;padding:13px 16px;font-size:12px;gap:7px;display:inline-flex;align-items:center;justify-content:center}
  .hero-ctas .btn svg{width:12.5px;height:12.5px}
  .hero-ctas .btn.btn-primary{min-height:46px;padding:13px 17px}
  .hero-ctas .btn.btn-ghost{min-height:46px;padding:12.5px 15.5px}
  .room-gallery-btn{margin-top:2px;padding:10.5px 11.5px 10.5px 7.5px;font-size:10px;gap:5px;min-height:46px;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 2px 7px rgba(14,165,184,.11),
      0 1px 2px rgba(15,43,57,.06);
  }
  .rgb-icon{width:16px;height:16px}
  .rgb-text{height:12px;line-height:12px}
  .rgb-line{height:12px;line-height:12px}
  .site-nav{display:none;position:fixed;inset:52px 0 auto 0;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border-soft);padding:10px 14px;z-index:49}
  .site-nav.open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:1px}
  .nav-link{display:block;padding:7px 11px;border-radius:8px;font-size:12.8px}
  .nav-toggle{display:flex;min-height:46px;min-width:46px;padding:11px;gap:4.2px;border-radius:11px}
  .contact-bar-inner{grid-template-columns:repeat(2,1fr);gap:7px}
  .hero-attractions{aspect-ratio:21/9;margin-top:4px;transform:rotate(.10deg);border-radius:12px}
  .ha-caption{max-width:calc(100% - 22px);grid-template-columns:1fr auto;gap:2px 9px;left:10px;right:10px;bottom:8px}
  .ha-badge{top:7px;left:7px;padding:3.5px 8px;font-size:8px;gap:4px;line-height:1.16}
  .ha-badge svg{width:10px;height:10px}
  .ha-title{font-size:11.5px;font-weight:700;line-height:1.16}
  .ha-sub{font-size:10.5px;line-height:1.34;font-weight:600}
  .ha-cta{font-size:9px;padding:4px 8px;gap:4px;line-height:1.16}
  .video-stage{padding:24px 0 6px}
  .video-stage-inner{gap:9px}
  .video-head{gap:4px}
  .video-eyebrow{font-size:10px;padding:5px 10px;gap:6px}
  .video-title{font-size:clamp(20px,5.2vw,26px)}
  .video-subtitle{font-size:11.5px;max-width:480px;line-height:1.42}
  .video-card{padding:7px;border-radius:16px;gap:7px}
  .video-frame{border-radius:13px}
  .video-meta{padding:0;gap:7px}
  .video-meta-info{gap:4.5px}
  .vm-chip{font-size:9.5px;padding:3.5px 8.5px;gap:4.5px}
  .video-meta-ctas .btn{padding:7.5px 12px;font-size:11px;gap:5px}
  .video-meta-ctas .btn svg{width:11.5px;height:11.5px}
}
@media (max-width:640px){
  .container{padding:0 16px}
  .header-inner{height:54px;gap:10px}
  .brand{gap:6px}
  .brand-logo{width:38px;height:38px}
  .brand-text em{font-size:20px}
  .header-actions .header-mini{display:none}
  .hero-logo-stage{min-height:auto;padding:72px 0 44px}
  .hl-logo-wrap{width:min(260px,92vw);height:min(220px,80vw)}
  .hl-scene{gap:12px}
  .hl-eyebrow{font-size:10.5px;letter-spacing:.18em}
  .hl-brand-prefix{font-size:10.5px;letter-spacing:.42em}
  .hl-brand-name{font-size:clamp(42px,16vw,68px)}
  .hl-tagline{font-size:13px;max-width:100%}
  .hl-ctas{flex-direction:column;width:100%}
  .hl-ctas .btn{width:100%;min-height:46px;padding:12px 16px;font-size:12.5px;gap:7px;display:inline-flex;align-items:center;justify-content:center}
  .btn-header{min-height:46px;padding:11px 15px;font-size:12.5px;display:inline-flex;align-items:center;justify-content:center}
  .hl-chips .chip{font-size:11px;padding:4.5px 8px}
  .hl-scroll-indicator{bottom:13px}
  .hero-panel{grid-template-columns:1fr;padding:11px 12px 12px;border-radius:var(--r-lg);gap:7px}
  .hero-badge{grid-column:1/2;grid-row:1/2}
  .hero-media{grid-column:1/2;grid-row:2/3;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;transform:none;border-radius:11px;z-index:auto;align-self:stretch}
  .hero-media img{object-position:center 24%;filter:brightness(.99) contrast(1.20) saturate(1.09)}
  .hero-panel:hover .hero-media{transform:none}
  .hero-media:hover{transform:none}
  .hero-eyebrow{grid-column:1/2;grid-row:3/4}
  .hero-headline{grid-column:1/2;grid-row:4/5;font-size:22px;line-height:1.04;max-width:100%;padding:1px 0 0}
  .hero-subheadline{grid-column:1/2;grid-row:5/6}
  .hero-chips{grid-column:1/2;grid-row:6/7}
  .hero-ctas{grid-column:1/2;grid-row:7/7}
  .hero-attractions{grid-column:1/2;grid-row:8/9}
  .hero-logo-sm img{width:90px}
  .hero-badge{padding:4px 9px;font-size:8.5px;gap:5px;line-height:1.2}
  .hero-badge svg{width:10px;height:10px}
  .hero-eyebrow{font-size:11.5px;font-weight:600;color:#084651;padding:3.5px 8px;border:1px solid rgba(14,165,184,.24);background:linear-gradient(180deg,rgba(14,165,184,.10) 0%,rgba(122,154,107,.06) 100%)}
  .hero-subheadline{font-size:12px;font-weight:600;color:#152F3F;line-height:1.44;text-shadow:0 1px 0 rgba(255,255,255,.92)}
  .hero-chips{gap:4px}
  .hero-chips .chip{padding:2.5px 7px;font-size:9.5px;line-height:1.28}
  .hero-ctas{flex-direction:row;flex-wrap:wrap;gap:7px;align-items:center}
  .hero-ctas .btn{flex:1 1 calc(50% - 7px);min-width:0;min-height:46px;padding:12px 13px;font-size:12px;gap:6px;width:auto;display:inline-flex;align-items:center;justify-content:center}
  .hero-ctas .btn svg{width:12px;height:12px}
  .rooms-panel{padding:12px;border-radius:var(--r-lg);gap:9px}
  .rooms-panel-head{align-items:flex-start;flex-direction:column;gap:5px;padding:0}
  .rooms-panel-title{font-size:19px}
  .room-row{grid-template-columns:44px 1fr auto;gap:9px;padding:8px}
  .room-thumb{width:44px;height:44px}
  .room-name{font-size:14.5px}
  .room-price{margin:2px 0 2px;gap:4px}
  .rpv-amount{font-size:17.5px;font-weight:700}
  .room-row-featured .rpv-amount{font-size:18.5px;font-weight:800}
  .rpv-currency{font-size:11px}
  .room-price-period{font-size:9.5px}
  .room-price-prefix{font-size:8.5px;padding:2.5px 6px;gap:3.5px;letter-spacing:.05em}
  .room-price-prefix svg{width:9.5px;height:9.5px}
  .room-desc{font-size:11.5px;-webkit-line-clamp:3}
  .room-units{margin:2px 0 1px;padding:3px 8px 3px 6px;gap:6px}
  .ru-dot{width:16px;height:16px}
  .ru-dot svg{width:9px;height:9px}
  .ru-label{font-size:9.5px;letter-spacing:.03em}
  /* ============ RESTAURA BOTÃO FOTOS (tamanho normal + animações RGB + dual line) ============
     Hack anterior removido: ::before content:"Fotos" + rgb-text display:none deixavam o botão mini e sem animação.
     Agora em mobile mantemos a MESMA ESTRUTURA do desktop (rgb-icon + rgb-text dupla linha)
     com tamanhos ajustados mas animações PRESERVADAS. */
  .room-gallery-btn{
    margin-top:4px;
    padding:10.5px 13px 10.5px 8px;min-height:46px;
    font-size:10.5px;font-weight:700;letter-spacing:.02em;
    gap:6.5px;border-radius:999px;
    border:1px solid rgba(14,165,184,.44);
    background:linear-gradient(140deg,#F6FCFD 0%,#DEF4F7 46%,#E9F2E2 100%);
    color:#083344;
    animation:rgbBreath 2.35s ease-in-out infinite,rgbGlowPulse 2.35s ease-in-out infinite;
    transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
    transform:translateZ(0);
    overflow:visible;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn::before{
    /* Anel pulsante (versão mobile do rgbPulseRing) — levemente reduzido */
    content:"";position:absolute;inset:-2px;
    border-radius:999px;border:2px solid rgba(14,165,184,.52);
    opacity:.56;pointer-events:none;z-index:-1;
    transform-origin:50% 50%;
    animation:rgbPulseRing 2.45s cubic-bezier(.22,.8,.3,1) infinite;
  }
  .room-gallery-btn::after{
    /* Shine overlay: mantido (opacidade 0; em :active dispara shine instantâneo) */
    display:block !important;
    content:"";position:absolute;top:0;bottom:0;left:-36%;width:28%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.9),transparent);
    transform:skewX(-16deg);opacity:0;pointer-events:none;z-index:2;
  }
  /* RGB icon: tamanho reduzido mas com TODAS as animações */
  .rgb-icon{
    width:18px;height:18px;border-radius:50%;
    animation:rgbIconPulse 2.35s ease-in-out infinite,rgbWiggle 3.4s ease-in-out infinite;
  }
  /* RGB text dupla linha: alturas ajustadas mas swap PRESERVADO */
  .rgb-text{display:inline-block !important;height:12px;line-height:12px;overflow:hidden}
  .rgb-line{height:12px;line-height:12px;white-space:nowrap;transition:transform 360ms cubic-bezier(.2,.8,.2,1)}
  /* TAP feedback no mobile: shine + scale + rgb-line swap instantâneo */
  .room-gallery-btn:active{
    transform:translateY(.8px) scale(.985);
    background:linear-gradient(140deg,#F0FAFB 0%,#D3EEF3 46%,#E1EFDA 100%);
  }
  .room-gallery-btn:active::after{opacity:1;animation:rgbShine 560ms cubic-bezier(.2,.8,.2,1) forwards}
  .room-gallery-btn:active .rgb-line{transform:translateY(-12px)}
  .room-btn{min-height:45px;padding:9px 12px;font-size:12.5px;border-radius:13px;gap:6px}
  .rooms-panel-cta{padding:9px 11px;font-size:11.5px;text-align:left}
  .contact-bar{padding:9px 0 9px}
  .contact-bar-inner{grid-template-columns:1fr 1fr;gap:6px}
  .contact-item{padding:8px 9px;gap:8px}
  .contact-icon{width:28px;height:28px}
  .contact-title{font-size:11px}
  .contact-action{font-size:10px}
  .footer-inner{flex-direction:column;text-align:center;gap:6px;padding:2px 0}
  .site-footer{padding:10px 0 11px}
  .whatsapp-flutuante{width:44px;height:44px;right:12px;bottom:12px}
  .hero-attractions{aspect-ratio:16/10;border-radius:13px;margin-top:5px;border-width:1.5px;transform:none;box-shadow:
    0 1px 0 rgba(255,255,255,.94) inset,
    0 0 0 1px rgba(255,255,255,.62) inset,
    0 12px 26px rgba(15,43,57,.18),
    0 3px 8px rgba(15,43,57,.08),
    0 0 0 4px rgba(14,165,184,.1);}
  .ha-img{object-position:center 48%;filter:saturate(1.10) contrast(1.06) brightness(.97)}
  .ha-overlay{background:
    linear-gradient(180deg, rgba(6,20,28,.0) 10%, rgba(6,20,28,.26) 48%, rgba(6,20,28,.86) 100%),
    linear-gradient(90deg, rgba(6,20,28,.44) 0%, rgba(6,20,28,.08) 46%, rgba(6,20,28,0) 66%);}
  .ha-badge{top:8px;right:8px;left:auto;padding:5px 9px;font-size:8.5px;letter-spacing:.09em}
  .ha-caption{left:12px;right:12px;bottom:11px;max-width:calc(100% - 24px);display:flex;flex-direction:column;gap:3px;align-items:flex-start;grid-template-columns:none;grid-template-rows:none}
  .ha-title{font-size:14px;line-height:1.22;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.68),0 2px 10px rgba(6,20,28,.78)}
  .ha-sub{font-size:11.5px;line-height:1.42;font-weight:600;text-shadow:0 1px 0 rgba(0,0,0,.62),0 2px 8px rgba(6,20,28,.70)}
  .ha-cta{font-size:10px;padding:5px 9px;margin-top:3px;align-self:flex-start;white-space:normal}
  .video-stage{padding:20px 0 5px}
  .video-stage-inner{gap:8px}
  .video-head{gap:3px}
  .video-eyebrow{font-size:9.5px;padding:4.5px 9px;gap:5.5px;letter-spacing:.10em}
  .video-title{font-size:clamp(18px,6.2vw,23px);line-height:1.12}
  .video-subtitle{font-size:11px;line-height:1.40;max-width:100%}
  .video-card{padding:6px;border-radius:15px;gap:6px}
  .video-frame{aspect-ratio:16/10;border-radius:12px}
  .video-meta{padding:0;gap:6px;flex-direction:column;align-items:stretch}
  .video-meta-info{justify-content:center}
  .video-meta-ctas{justify-content:center}
  .vm-chip{font-size:9px;padding:3.5px 8px;gap:4.5px}
  .video-meta-ctas .btn{padding:8px 14px;font-size:11px;gap:5px;width:100%;justify-content:center}
  .video-meta-ctas .btn svg{width:11.5px;height:11.5px}
}

/* ============================ */
/* LIGHTBOX GALERIA FOTOS       */
/* ============================ */
.lb{
  position:fixed;inset:0;z-index:1000;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.lb[hidden]{display:none}
.lb-backdrop{
  position:absolute;inset:0;
  background:rgba(6,20,28,.72);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:lbFade .28s ease-out both;
}
.lb-stage{
  position:relative;z-index:2;
  width:min(1100px,94vw);height:min(760px,88vh);
  display:grid;grid-template-rows:minmax(0,1fr) auto;
  gap:12px;align-items:center;justify-items:center;
  animation:lbIn .38s cubic-bezier(.2,.8,.2,1) both;
}
.lb-close{
  position:absolute;top:-6px;right:-4px;z-index:5;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.94);color:var(--c-dark);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,.24);cursor:pointer;border:0;
  transition:transform 200ms cubic-bezier(.2,.8,.2,1),background var(--tf);
}
.lb-close:hover{transform:rotate(90deg) scale(1.06);background:#fff}
.lb-close:active{transform:rotate(90deg) scale(.96)}
.lb-nav{
  position:absolute;top:50%;z-index:4;
  transform:translateY(-50%);
  width:50px;height:50px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--c-dark);
  display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(0,0,0,.22);cursor:pointer;border:0;
  transition:transform 220ms cubic-bezier(.2,.8,.2,1),background var(--tf);
}
.lb-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.lb-nav:active{transform:translateY(-50%) scale(.95)}
.lb-prev{left:-8px}
.lb-next{right:-8px}
.lb-figure{
  margin:0;grid-row:1 / -1;width:100%;height:100%;
  position:relative;display:flex;align-items:center;justify-content:center;
}
.lb-img{
  max-width:100%;max-height:100%;
  object-fit:contain;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.03);
  box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.08);
  animation:lbImgIn .44s cubic-bezier(.2,.8,.2,1) both;
  will-change:transform,opacity;
}
.lb-caption{
  position:absolute;left:18px;right:18px;bottom:16px;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:9px 14px;border-radius:999px;
  background:rgba(8,24,34,.54);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  font-size:13px;
}
.lb-counter{
  font-weight:700;letter-spacing:.08em;color:#5EC6D3;
  font-variant-numeric:tabular-nums;
}
.lb-title{color:#F2FBFA;font-weight:500;letter-spacing:.01em;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-thumbs{
  display:flex;gap:8px;flex-wrap:wrap;justify-content:center;
  max-width:100%;padding:2px 4px 0;
}
.lb-thumbs button{
  width:58px;height:44px;padding:0;border:0;cursor:pointer;
  border-radius:9px;overflow:hidden;flex-shrink:0;
  background:rgba(255,255,255,.06);
  border:2px solid transparent;
  transition:border-color 200ms ease,transform 220ms cubic-bezier(.2,.8,.2,1),box-shadow var(--ts),opacity 200ms ease;
  opacity:.7;
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}
.lb-thumbs button:hover{opacity:1;transform:translateY(-2px)}
.lb-thumbs button.active{
  border-color:#F59E0B;opacity:1;
  box-shadow:0 6px 16px rgba(245,158,11,.28),0 0 0 3px rgba(245,158,11,.14);
}
.lb-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
@keyframes lbIn{0%{opacity:0;transform:translateY(18px) scale(.96);filter:blur(10px)}60%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes lbImgIn{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}

@media (max-width:640px){
  .lb-stage{width:96vw;height:92vh;gap:8px}
  .lb-close{top:0;right:0;width:38px;height:38px}
  .lb-close svg{width:18px;height:18px}
  .lb-nav{width:40px;height:40px}
  .lb-nav svg{width:20px;height:20px}
  .lb-prev{left:0}
  .lb-next{right:0}
  .lb-caption{left:10px;right:10px;bottom:10px;padding:7px 11px;font-size:11.5px;flex-direction:column;gap:2px;align-items:stretch;border-radius:14px}
  .lb-title{max-width:100%;text-align:center}
  .lb-counter{text-align:center}
  .lb-thumbs button{width:46px;height:34px;border-radius:7px}
}

/* ============================ */
/* MODAL MAPA SUSPENSO          */
/* ============================ */
.contact-item-btn{border:0;background:transparent;width:100%;justify-content:flex-start;text-align:left;font:inherit;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--c-border-soft);box-shadow:var(--sh-xs)}
.contact-item-btn:hover{transform:translateY(-1.5px);box-shadow:var(--sh-md);border-color:var(--c-primary-100)}
.maps-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}
.maps-modal[hidden]{display:none}
.maps-backdrop{position:absolute;inset:0;background:rgba(7,22,30,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:mapsFade .26s ease-out both;cursor:zoom-out}
.maps-window{
  position:relative;z-index:2;
  width:min(920px,96vw);height:min(730px,90vh);
  display:grid;grid-template-rows:46px minmax(0,1fr) auto auto;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FCFC 100%);
  border-radius:18px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:
    0 0 0 1px rgba(15,43,57,.08),
    0 1px 0 rgba(255,255,255,.96) inset,
    0 30px 80px rgba(6,20,28,.42),
    0 10px 28px rgba(6,20,28,.22);
  animation:mapsIn .42s cubic-bezier(.2,.8,.2,1) both;
}
.maps-titlebar{
  display:grid;grid-template-columns:100px 1fr 100px;align-items:center;
  padding:0 14px;
  background:
    linear-gradient(180deg,#FAFCFC 0%,#F0F6F7 100%);
  border-bottom:1px solid rgba(15,43,57,.08);
  box-shadow:0 1px 0 rgba(255,255,255,.96) inset;
  user-select:none;
}
.maps-traffic{display:flex;align-items:center;gap:8px}
.maps-dot{width:12px;height:12px;border-radius:50%;display:inline-block;cursor:pointer;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.14),0 1px 0 rgba(255,255,255,.7)}
.maps-dot-r{background:linear-gradient(180deg,#FF7A73,#E04F49)}
.maps-dot-y{background:linear-gradient(180deg,#FFD26F,#E7A43B)}
.maps-dot-g{background:linear-gradient(180deg,#6FD38C,#3FA35F)}
.maps-title{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12.5px;font-weight:700;color:#0B3444;letter-spacing:.02em}
.maps-title svg{color:#0EA5B8}
.maps-close{
  justify-self:end;
  width:30px;height:30px;border-radius:9px;border:0;cursor:pointer;
  background:rgba(15,43,57,.06);color:#082F3F;
  display:inline-flex;align-items:center;justify-content:center;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),background .2s ease,color .2s ease;
}
.maps-close:hover{transform:rotate(90deg) scale(1.06);background:linear-gradient(180deg,#FF7A73,#E04F49);color:#fff}
.maps-close:active{transform:rotate(90deg) scale(.96)}
.maps-frame{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%,rgba(14,165,184,.08),transparent 45%),
    radial-gradient(circle at 80% 70%,rgba(122,154,107,.08),transparent 45%),
    #EFF6F3;
}
.maps-skeleton{
  position:absolute;inset:0;z-index:1;
  display:flex;align-items:center;justify-content:center;
  color:#3A6B76;font-size:12.5px;font-weight:600;letter-spacing:.04em;
  pointer-events:none;transition:opacity .3s ease;
}
.maps-skeleton::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(135deg,transparent 25%,rgba(255,255,255,.55) 50%,transparent 75%) -200% 0 / 60% 100% no-repeat,
    linear-gradient(180deg,#F3FAF8,#EEF6F2);
  animation:mapsShimmer 1.8s linear infinite;
}
.maps-skel-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(14,165,184,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,165,184,.09) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(ellipse at 50% 50%,#000 48%,transparent 82%);
}
.maps-skel-pin{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);
  width:36px;height:46px;z-index:2;
  background:
    radial-gradient(circle at 50% 28%,#fff 0 30%,#E1554B 33% 62%,#9E2C26 65%);
  clip-path:path("M 18 0 C 6 0 0 10 0 19 C 0 30 10 40 18 46 C 26 40 36 30 36 19 C 36 10 30 0 18 0 Z");
  filter:drop-shadow(0 6px 10px rgba(158,44,38,.32));
  animation:mapsPinBob 2s ease-in-out infinite;
}
.maps-skeleton span{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.86);padding:7px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(15,43,57,.12);border:1px solid rgba(255,255,255,.9)}
.maps-iframe{width:100%;height:100%;border:0;display:block;position:relative;z-index:2;background:transparent}
.maps-iframe[src="about:blank"],.maps-iframe:not([src]){opacity:0}
.maps-photos{
  display:flex;flex-direction:column;gap:9px;
  padding:11px 16px 0;
  background:linear-gradient(180deg,#FBFEFD 0%,#F3FAF7 100%);
  border-top:1px solid rgba(15,43,57,.06);
  box-shadow:0 -1px 0 rgba(255,255,255,.96) inset;
}
.maps-photos-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.maps-photos-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#135262;
}
.maps-photos-label svg{color:#0EA5B8;stroke-width:2.1}
.maps-photos-sub{
  font-size:11px;font-weight:600;color:#5D8593;letter-spacing:.01em;
}
.maps-photos-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
}
.maps-photo-tile{
  position:relative;aspect-ratio:auto;min-height:88px;
  border-radius:12px;overflow:hidden;
  border:1.5px solid rgba(255,255,255,.96);
  background:#FFFFFF;
  padding:9px 10px 9px 9px;cursor:pointer;
  display:grid;grid-template-columns:38px 1fr auto;grid-template-rows:1fr;gap:8px;align-items:center;
  text-decoration:none;color:inherit;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 0 0 1px rgba(255,255,255,.7) inset,
    0 6px 14px rgba(15,43,57,.09),
    0 2px 4px rgba(15,43,57,.05),
    0 0 0 3px rgba(14,165,184,.06);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s,background .3s;
  isolation:isolate;
}
.maps-photo-tile::before{
  content:"";position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .3s;pointer-events:none;
  background:
    radial-gradient(120% 140% at 90% -10%,rgba(14,165,184,.08),transparent 56%),
    radial-gradient(110% 140% at 0% 110%,rgba(122,154,107,.08),transparent 58%);
}
.maps-photo-tile:hover{
  transform:translateY(-2.5px) scale(1.01);
  border-color:#FFFFFF;
  box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,
    0 0 0 1px rgba(255,255,255,.86) inset,
    0 18px 34px rgba(15,43,57,.14),
    0 6px 12px rgba(15,43,57,.09),
    0 0 0 3.5px rgba(14,165,184,.12),
    0 0 0 6px rgba(122,154,107,.06);
}
.maps-photo-tile:hover::before{opacity:1}
.maps-photo-tile:active{transform:translateY(0) scale(.99)}
.maps-tile-icon{
  position:relative;z-index:1;
  width:38px;height:38px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
  background:rgba(14,165,184,.10);color:#0C4A5A;
  border:1px solid rgba(14,165,184,.22);
  box-shadow:0 1px 0 rgba(255,255,255,.96) inset;
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .26s,color .26s,border-color .26s,box-shadow .26s;
}
.maps-photo-tile:hover .maps-tile-icon{transform:scale(1.06)}
.maps-photo-caption-wrap{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:2.5px;min-width:0;
}
.maps-photo-caption-title{
  font-size:11.5px;font-weight:800;color:#082F3F;line-height:1.15;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.maps-photo-caption-sub{
  font-size:10.5px;font-weight:600;color:#5D8593;line-height:1.22;letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.maps-photo-arrow{
  position:relative;z-index:1;
  width:24px;height:24px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:rgba(15,43,57,.04);color:#0C4A5A;
  border:1px solid rgba(15,43,57,.08);
  transition:transform .26s cubic-bezier(.2,.8,.2,1),background .24s,color .24s,border-color .24s;
}
.maps-photo-arrow svg{stroke-width:2.6}
.maps-photo-tile:hover .maps-photo-arrow{
  transform:translateX(3px);background:rgba(14,165,184,.88);color:#FFFFFF;border-color:rgba(14,165,184,.88);
  box-shadow:0 4px 10px rgba(14,165,184,.28);
}
/* Cores temáticas por categoria */
.maps-tile-photos .maps-tile-icon{background:rgba(14,165,184,.12);color:#0B5A6C;border-color:rgba(14,165,184,.28)}
.maps-tile-photos:hover .maps-tile-icon{background:linear-gradient(140deg,#0EA5B8,#0E7490);color:#FFF;border-color:transparent;box-shadow:0 8px 16px rgba(14,165,184,.26)}
.maps-tile-photos:hover{box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,0 0 0 1px rgba(255,255,255,.86) inset,
    0 18px 34px rgba(14,165,184,.14),0 6px 12px rgba(15,43,57,.09),
    0 0 0 3.5px rgba(14,165,184,.14),0 0 0 6px rgba(14,165,184,.06);}
.maps-tile-reviews .maps-tile-icon{background:rgba(247,154,20,.11);color:#A15D00;border-color:rgba(247,154,20,.26)}
.maps-tile-reviews:hover .maps-tile-icon{background:linear-gradient(140deg,#F59E0B,#D97706);color:#FFF;border-color:transparent;box-shadow:0 8px 16px rgba(247,154,20,.22)}
.maps-tile-reviews:hover{box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,0 0 0 1px rgba(255,255,255,.86) inset,
    0 18px 34px rgba(247,154,20,.13),0 6px 12px rgba(15,43,57,.09),
    0 0 0 3.5px rgba(247,154,20,.12),0 0 0 6px rgba(247,154,20,.05);}
.maps-tile-route .maps-tile-icon{background:rgba(94,122,81,.12);color:#3E542E;border-color:rgba(122,154,107,.28)}
.maps-tile-route:hover .maps-tile-icon{background:linear-gradient(140deg,#7A9A6B,#5B7C4C);color:#FFF;border-color:transparent;box-shadow:0 8px 16px rgba(122,154,107,.22)}
.maps-tile-route:hover{box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,0 0 0 1px rgba(255,255,255,.86) inset,
    0 18px 34px rgba(122,154,107,.14),0 6px 12px rgba(15,43,57,.09),
    0 0 0 3.5px rgba(122,154,107,.14),0 0 0 6px rgba(122,154,107,.06);}
.maps-tile-street .maps-tile-icon{background:rgba(219,120,106,.10);color:#8A3626;border-color:rgba(219,120,106,.24)}
.maps-tile-street:hover .maps-tile-icon{background:linear-gradient(140deg,#DB786A,#B55648);color:#FFF;border-color:transparent;box-shadow:0 8px 16px rgba(219,120,106,.22)}
.maps-tile-street:hover{box-shadow:
    0 1px 0 rgba(255,255,255,.96) inset,0 0 0 1px rgba(255,255,255,.86) inset,
    0 18px 34px rgba(219,120,106,.12),0 6px 12px rgba(15,43,57,.09),
    0 0 0 3.5px rgba(219,120,106,.12),0 0 0 6px rgba(219,120,106,.05);}
.maps-footer{
  display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;
  padding:11px 16px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F4FAFB 100%);
  border-top:1px solid rgba(15,43,57,.08);
  box-shadow:0 -1px 0 rgba(255,255,255,.96) inset;
}
.maps-address{display:flex;flex-direction:column;line-height:1.15;gap:2px;min-width:0}
.maps-address-label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6A94A1}
.maps-address-value{font-size:13.5px;color:#082F3F;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.maps-address-sub{font-size:11.5px;color:#4D7481;font-weight:500}
.maps-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.maps-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 12px;border-radius:10px;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.maps-btn-ghost{
  background:rgba(15,43,57,.05);color:#0B3444;
  border:1px solid rgba(15,43,57,.1);
  box-shadow:0 1px 0 rgba(255,255,255,.96) inset;
}
.maps-btn-ghost:hover{transform:translateY(-1px);background:rgba(15,43,57,.08);box-shadow:0 4px 12px rgba(15,43,57,.08)}
.maps-btn-primary{
  background:linear-gradient(140deg,#0EA5B8 0%,#0E7490 52%,#0F4C5C 100%);color:#fff;
  border:1px solid rgba(10,68,82,.4);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 6px 16px rgba(14,165,184,.28);
}
.maps-btn-primary:hover{transform:translateY(-1.5px);filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.24) inset,0 10px 24px rgba(14,165,184,.36);color:#fff}
.maps-btn-primary:active{transform:translateY(0) scale(.98)}
@keyframes mapsFade{from{opacity:0}to{opacity:1}}
@keyframes mapsIn{0%{opacity:0;transform:translateY(22px) scale(.94);filter:blur(10px)}55%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes mapsShimmer{0%{background-position:-200% 0,0 0}100%{background-position:200% 0,0 0}}
@keyframes mapsPinBob{0%,100%{transform:translate(-50%,-100%)}50%{transform:translate(-50%,-108%)}}

/* ============================ */
/* MODAL CONTATO — Tema Bonito MS */
/* ============================ */
.contact-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;isolation:isolate;overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch}
.contact-modal[hidden]{display:none !important}
.contact-modal[aria-hidden="true"]{pointer-events:none}
.contact-backdrop{position:absolute;inset:0;background:rgba(7,22,30,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:contactFade .26s ease-out both;cursor:zoom-out}
.contact-window{
  position:relative;z-index:2;
  width:min(1080px,96vw);max-height:91vh;height:auto;
  display:grid;grid-template-rows:44px minmax(0,1fr);
  border-radius:18px;overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.96);
  box-shadow:
    0 1px 0 rgba(255,255,255,.98) inset,
    0 0 0 1px rgba(15,43,57,.08),
    0 36px 80px rgba(6,20,28,.45),
    0 10px 22px rgba(6,20,28,.22),
    0 0 0 10px rgba(14,165,184,.08);
  animation:contactIn .38s cubic-bezier(.2,.8,.2,1) both;
  margin:auto 0;
}
.contact-titlebar{
  display:grid;grid-template-columns:100px 1fr 100px;align-items:center;
  padding:0 14px;
  background:
    linear-gradient(180deg,#FFFFFF 0%,#F4FAFB 100%);
  border-bottom:1px solid rgba(15,43,57,.08);
  position:relative;z-index:5;
}
.contact-traffic{display:flex;align-items:center;gap:8px}
.contact-dot{width:12px;height:12px;border-radius:50%;display:inline-block;cursor:pointer;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.14),0 1px 0 rgba(255,255,255,.7)}
.contact-dot-r{background:linear-gradient(180deg,#FF7A73,#E04F49)}
.contact-dot-y{background:linear-gradient(180deg,#FFD26F,#E7A43B)}
.contact-dot-g{background:linear-gradient(180deg,#6ED189,#3FAA5A)}
.contact-dot-r:hover{background:linear-gradient(180deg,#FF5A51,#CC3C37)}
.contact-title{
  display:flex;align-items:center;gap:7px;justify-self:center;
  color:#082F3F;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  padding:3px 10px;border-radius:8px;background:rgba(14,165,184,.08);border:1px solid rgba(14,165,184,.16);
  max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.contact-title-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(8,47,63,.22)) drop-shadow(0 0 8px rgba(14,165,184,.22))}
.contact-title svg{color:#0E7490}
.contact-close{
  justify-self:end;
  width:30px;height:30px;border-radius:9px;border:0;cursor:pointer;
  background:rgba(15,43,57,.06);color:#082F3F;
  display:flex;align-items:center;justify-content:center;
  transition:transform .22s cubic-bezier(.2,.8,.2,1),background .22s,color .22s,box-shadow .22s;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 1px 2px rgba(15,43,57,.08);
}
.contact-close:hover{transform:rotate(90deg) scale(1.06);background:linear-gradient(180deg,#FF7A73,#E04F49);color:#fff}
.contact-close:active{transform:rotate(90deg) scale(.96)}
.contact-body{
  display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);
  overflow:hidden;position:relative;min-height:0;
}

/* ---- COLUNA ESQ: CENÁRIO BONITO MS ANIMADO ---- */
.contact-hero{
  position:relative;overflow:hidden;isolation:isolate;min-height:0;
  border-right:1px solid rgba(15,43,57,.08);
  background:linear-gradient(180deg,#B7E6EA 0%,#86CBD4 38%,#5BA8B2 100%);
}

/* Watermark logomarca */
.ch-logo-watermark{
  position:absolute;top:14px;left:16px;z-index:6;
  width:clamp(44px,9vw,78px);height:auto;
  opacity:.86;filter:drop-shadow(0 4px 12px rgba(8,47,63,.32)) drop-shadow(0 1px 2px rgba(255,255,255,.5));
  animation:chLogoIn .7s cubic-bezier(.2,.8,.2,1) both;
  pointer-events:none;
}

.ch-sky{
  position:absolute;inset:0 0 58% 0;
  background:
    radial-gradient(ellipse 80% 100% at 50% 0%,rgba(255,255,255,.88) 0%,transparent 60%),
    radial-gradient(ellipse 60% 80% at 78% 10%,rgba(255,246,210,.62) 0%,transparent 60%),
    linear-gradient(180deg,#EFFBFD 0%,#C6EDF1 48%,#A4DCE3 100%);
}
.ch-sun{
  position:absolute;top:8%;left:68%;width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,250,214,.98) 0%,rgba(255,230,140,.7) 40%,rgba(255,200,80,.22) 68%,transparent 82%);
  filter:blur(.3px);
  animation:chSunPulse 5s ease-in-out infinite;
  z-index:2;
}
.ch-sun-halo{
  position:absolute;top:2%;left:60%;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,236,170,.28) 0%,rgba(255,220,120,.1) 40%,transparent 72%);
  animation:chHaloDrift 9s ease-in-out infinite;
  z-index:1;pointer-events:none;
}

/* Nuvens */
.ch-cloud{position:absolute;filter:drop-shadow(0 4px 10px rgba(8,47,63,.08));z-index:2;pointer-events:none}
.ch-cloud-1{top:10%;left:-18%;animation:chCloudDrift1 38s linear infinite}
.ch-cloud-2{top:18%;left:-25%;animation:chCloudDrift2 52s linear infinite;animation-delay:-14s}
.ch-cloud-3{top:5%;left:-15%;animation:chCloudDrift3 46s linear infinite;animation-delay:-26s}

/* Pássaros */
.ch-bird{position:absolute;z-index:3;pointer-events:none}
.ch-bird-1{top:14%;left:-6%;animation:chBirdFly1 18s linear infinite,chBirdFlap 1.1s ease-in-out infinite}
.ch-bird-2{top:20%;left:-4%;animation:chBirdFly2 22s linear infinite,chBirdFlap .9s ease-in-out infinite;animation-delay:-4s,-4s}
.ch-bird-3{top:9%;left:-3%;animation:chBirdFly3 26s linear infinite,chBirdFlap 1.3s ease-in-out infinite;animation-delay:-9s,-9s}

.ch-mountains{
  position:absolute;left:0;right:0;bottom:42%;height:30%;
  background:
    linear-gradient(135deg,transparent 40%,#4A7B86 40% 60%,#5D8D99 60% 78%,#3E6C76 78% 100%) 0 100%/38% 100% no-repeat,
    linear-gradient(115deg,transparent 32%,#6B9BA6 32% 55%,#84B3BE 55% 75%,#558691 75% 100%) 32% 100%/52% 100% no-repeat,
    linear-gradient(160deg,transparent 42%,#7AAFB8 42% 64%,#5F96A0 64% 82%,#3F747D 82% 100%) 70% 100%/38% 100% no-repeat;
  filter:saturate(.88) contrast(1.08);
  z-index:3;
}
.ch-forest{
  position:absolute;left:0;right:0;bottom:32%;height:22%;
  background:
    radial-gradient(circle at 10% 100%,#2D5F34 0 10%,transparent 11%),
    radial-gradient(circle at 22% 100%,#3C7A45 0 13%,transparent 14%),
    radial-gradient(circle at 36% 100%,#2A5A31 0 11%,transparent 12%),
    radial-gradient(circle at 50% 100%,#4A8D54 0 14%,transparent 15%),
    radial-gradient(circle at 66% 100%,#326C3A 0 12%,transparent 13%),
    radial-gradient(circle at 80% 100%,#55A060 0 13%,transparent 14%),
    radial-gradient(circle at 92% 100%,#2D5F34 0 10%,transparent 11%);
  filter:saturate(1.1) contrast(1.12);
  z-index:4;
}

/* Rio Sucuri com ondas, reflexo e rochas */
.ch-river{position:absolute;inset:58% 0 0 0;overflow:hidden;z-index:4}
.ch-river-shine{
  position:absolute;top:0;left:40%;right:-10%;height:22px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,246,200,.55) 30%,rgba(255,255,220,.8) 52%,rgba(255,246,200,.45) 74%,transparent 100%);
  filter:blur(2px);
  animation:chShineMove 7s ease-in-out infinite;
  z-index:1;
}
.ch-rocks{
  position:absolute;left:0;right:0;top:0;height:16px;
  background:
    radial-gradient(ellipse 20px 10px at 6% 100%,#6B7B6A 0 60%,transparent 62%),
    radial-gradient(ellipse 28px 13px at 22% 100%,#5A6A58 0 60%,transparent 62%),
    radial-gradient(ellipse 18px 9px at 42% 100%,#768674 0 60%,transparent 62%),
    radial-gradient(ellipse 26px 12px at 64% 100%,#5E6E5C 0 60%,transparent 62%),
    radial-gradient(ellipse 30px 14px at 86% 100%,#6C7C6A 0 60%,transparent 62%);
  opacity:.78;
}
.ch-river-wave{
  position:absolute;left:-10%;right:-10%;height:120%;top:-20%;
  background-repeat:repeat-x;
}
.ch-river-wave-1{
  background-image:radial-gradient(ellipse 56px 14px at 56px 50%,#4EB3C1 0 60%,transparent 62%);
  background-size:112px 44px;
  opacity:.68;
  top:-4%;
  animation:chWaveMove 9s linear infinite;
}
.ch-river-wave-2{
  background-image:radial-gradient(ellipse 72px 18px at 72px 50%,#349DAD 0 62%,transparent 64%);
  background-size:144px 56px;
  opacity:.5;
  top:2%;
  animation:chWaveMove 13s linear infinite reverse;
}
.ch-river-wave-3{
  background-image:radial-gradient(ellipse 90px 22px at 90px 50%,#1F8191 0 64%,transparent 66%);
  background-size:180px 68px;
  opacity:.36;
  top:12%;
  animation:chWaveMove 17s linear infinite;
}

/* Peixes animados */
.ch-fish{position:absolute;z-index:5;filter:drop-shadow(0 2px 4px rgba(0,0,0,.14))}
.ch-fish-cyan-1{bottom:22%;left:-10%;animation:chFish1 12s ease-in-out infinite}
.ch-fish-olive-1{bottom:14%;right:-8%;animation:chFish2 14s ease-in-out infinite;transform:scaleX(-1)}
.ch-fish-cyan-2{bottom:36%;left:-6%;animation:chFish3 10s ease-in-out infinite;animation-delay:-2s}
.ch-fish-yellow{bottom:30%;left:-9%;animation:chFish4 13s ease-in-out infinite;animation-delay:-5s}
.ch-fish-red{bottom:18%;right:-7%;animation:chFish5 11s ease-in-out infinite;animation-delay:-3s;transform:scaleX(-1)}

/* Folhas caindo (contidas no container) */
.ch-leaf{position:absolute;z-index:6;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}
.ch-leaf-1{top:-10%;left:8%;animation:chLeafFall1 18s linear infinite}
.ch-leaf-2{top:-14%;left:32%;animation:chLeafFall2 22s linear infinite;animation-delay:-4s}
.ch-leaf-3{top:-8%;left:60%;animation:chLeafFall3 20s linear infinite;animation-delay:-8s}
.ch-leaf-4{top:-12%;left:84%;animation:chLeafFall4 19s linear infinite;animation-delay:-12s}

/* Vagalumes subindo */
.ch-firefly{position:absolute;width:6px;height:6px;border-radius:50%;z-index:5;
  background:radial-gradient(circle,rgba(255,240,140,.98) 0%,rgba(255,220,90,.55) 48%,transparent 82%);
  box-shadow:0 0 8px rgba(255,230,120,.85),0 0 18px rgba(255,210,80,.42);
  animation:chFirefly 8s ease-in-out infinite;
}
.ch-firefly-1{bottom:28%;left:18%;animation-delay:-1.2s}
.ch-firefly-2{bottom:26%;left:40%;width:5px;height:5px;animation-delay:-3.6s}
.ch-firefly-3{bottom:30%;left:58%;width:7px;height:7px;animation-delay:-5.1s}
.ch-firefly-4{bottom:27%;left:74%;width:4.5px;height:4.5px;animation-delay:-2.4s}
.ch-firefly-5{bottom:29%;left:88%;animation-delay:-6.7s}

/* Partículas de luz sparkle */
.ch-sparkle{position:absolute;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,220,.98) 0%,rgba(255,240,160,.42) 50%,transparent 80%);box-shadow:0 0 10px rgba(255,240,160,.6);animation:chSparkle 3.2s ease-in-out infinite;z-index:4}
.ch-sparkle-1{top:18%;left:14%;animation-delay:-0.2s}
.ch-sparkle-2{top:10%;left:48%;animation-delay:-0.9s;width:4px;height:4px}
.ch-sparkle-3{top:24%;left:76%;animation-delay:-1.6s;width:6px;height:6px}
.ch-sparkle-4{top:42%;left:22%;animation-delay:-2.3s;width:3px;height:3px}
.ch-sparkle-5{top:48%;left:58%;animation-delay:-2.8s}
.ch-sparkle-6{top:36%;left:86%;animation-delay:-1.1s;width:4.5px;height:4.5px}

/* Caption inferior */
.ch-caption{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:10;
  padding:10px 12px 11px;border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(246,251,247,.94) 100%);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 14px 34px rgba(10,60,72,.26),0 2px 6px rgba(10,60,72,.1),inset 0 1px 0 rgba(255,255,255,.98);
  display:flex;flex-direction:column;gap:3px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.ch-chip{
  align-self:flex-start;display:inline-flex;align-items:center;gap:5px;
  padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.03em;
  color:#2F5A3B;background:linear-gradient(180deg,#D6EBC6 0%,#BFDAA7 100%);
  border:1px solid rgba(122,154,107,.36);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.ch-caption strong{font-size:13.5px;color:#082F3F;font-weight:700;line-height:1.25;margin-top:1px}
.ch-caption p{font-size:11px;color:#3A6B76;line-height:1.4;margin:0}

/* ---- COLUNA DIR: FORMULÁRIO (COM ROLAGEM VERTICAL INTERNA) ---- */
.contact-form{
  padding:14px 18px 12px;overflow-y:auto !important;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  background:
    radial-gradient(ellipse 70% 40% at 100% 0%,rgba(207,238,243,.38) 0%,transparent 58%),
    radial-gradient(ellipse 60% 50% at 0% 100%,rgba(219,233,209,.30) 0%,transparent 60%),
    linear-gradient(180deg,#FFFFFF 0%,#F7FCFB 100%);
  display:flex;flex-direction:column;gap:10px;
}
.cf-head{display:flex;flex-direction:column;gap:4px;padding-bottom:9px;border-bottom:1px dashed rgba(15,43,57,.1);margin-bottom:1px;flex-shrink:0}
.cf-eyebrow{
  display:inline-flex;align-self:flex-start;align-items:center;gap:5px;
  padding:2.5px 9px;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#0E7490;background:linear-gradient(180deg,#CFEEF3 0%,#B3DEE6 100%);
  border:1px solid rgba(14,165,184,.22);
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
}
.cf-head h3{font-family:"Playfair Display",serif;font-size:21px;font-weight:700;line-height:1.15;color:#082F3F;margin:2px 0 0;letter-spacing:-.01em}
.cf-head p{font-size:12px;line-height:1.45;color:#3A6B76;margin:0}

.cf-grid,.cf-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;flex-shrink:0}
.cf-field{display:flex;flex-direction:column;gap:3px;position:relative;min-width:0}
.cf-field-2{min-width:0}
.cf-label{font-size:11px;font-weight:600;color:#0B4358;letter-spacing:.01em}
.cf-label em{color:#D97706;font-style:normal;font-weight:700;margin-left:2px}
.cf-field input[type=text],
.cf-field input[type=email],
.cf-field input[type=tel],
.cf-field input[type=date],
.cf-field select,
.cf-field textarea{
  width:100%;
  padding:7px 10px;font-size:12px;color:#082F3F;line-height:1.45;
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FCFD 100%);
  border:1.5px solid rgba(15,43,57,.12);
  border-radius:9px;outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s,transform .08s;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 1px 2px rgba(15,43,57,.04);
  font-family:inherit;box-sizing:border-box;
}
.cf-field select{padding:6px 9px;cursor:pointer}
.cf-field textarea{resize:none;min-height:60px;max-height:72px;font-family:inherit;line-height:1.4}
.cf-field input:hover,
.cf-field select:hover,
.cf-field textarea:hover{border-color:rgba(14,165,184,.28)}
.cf-field input:focus,
.cf-field select:focus,
.cf-field textarea:focus{
  border-color:#0EA5B8;
  box-shadow:0 0 0 4px rgba(14,165,184,.14),0 1px 0 rgba(255,255,255,.9) inset;
  background:#FFF;
}
.cf-field.has-error input,
.cf-field.has-error select,
.cf-field.has-error textarea{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.12)}

/* Prefixo WhatsApp (67) */
.cf-prefix-badge{
  position:absolute;top:20px;left:1.5px;height:calc(100% - 24px - 3px);
  display:flex;align-items:center;gap:4px;
  padding:0 8px;border-right:1px solid rgba(15,43,57,.12);
  font-size:11px;font-weight:700;color:#082F3F;
  pointer-events:none;z-index:2;
}
.cf-field input[name=whatsapp]{padding-left:64px}

.cf-error{
  font-size:10px;color:#DC2626;font-weight:600;line-height:1.2;
  min-height:0;max-height:0;overflow:hidden;opacity:0;
  transition:max-height .2s,opacity .2s,margin .2s;
}
.cf-field.has-error .cf-error{max-height:20px;opacity:1;margin-top:-1px}

/* Consentimento checkbox */
.cf-consent{
  display:flex;align-items:flex-start;gap:8px;padding:7px 10px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(180deg,rgba(219,233,209,.38) 0%,rgba(207,238,243,.22) 100%);
  border:1px solid rgba(122,154,107,.22);
  cursor:pointer;
}
.cf-consent input{margin-top:2px;accent-color:#7A9A6B;cursor:pointer;width:13px;height:13px;flex-shrink:0}
.cf-consent span{display:flex;flex-direction:column;gap:1px;line-height:1.35}
.cf-consent strong{font-size:11.5px;color:#082F3F;font-weight:700}
.cf-consent em{font-size:10.5px;color:#3A6B76;font-style:normal;font-weight:500}

/* Actions */
.cf-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:auto;padding-top:2px;align-items:stretch;flex-shrink:0}
.cf-send-group{display:grid;grid-template-columns:auto 1fr;gap:6px;min-width:0}
.cf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 13px;border-radius:9px;cursor:pointer;
  font-size:12px;font-weight:600;font-family:inherit;line-height:1;position:relative;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,filter .18s,background .18s,border-color .18s;
  border:1.5px solid transparent;user-select:none;white-space:nowrap;
}
.cf-btn-sub{font-size:9px;font-weight:700;letter-spacing:.3px;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.2);color:rgba(255,255,255,.88);line-height:1;font-style:normal;margin-left:2px}
.cf-btn-ghost{
  color:#082F3F;background:linear-gradient(180deg,#FFFFFF 0%,#F4FAFB 100%);
  border-color:rgba(15,43,57,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 2px 5px rgba(15,43,57,.06);
}
.cf-btn-ghost:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 5px 12px rgba(15,43,57,.1)}
.cf-btn-ghost:active{transform:translateY(0) scale(.98)}
.cf-btn-secondary{
  background:linear-gradient(140deg,#1CA963 0%,#138B50 52%,#0F7040 100%);color:#fff;
  border-color:rgba(14,90,48,.4);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 5px 14px rgba(28,169,99,.22),0 0 0 1px rgba(28,169,99,.2) inset;
}
.cf-btn-secondary:hover{transform:translateY(-1.5px);filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 9px 20px rgba(28,169,99,.32)}
.cf-btn-secondary:active{transform:translateY(0) scale(.98)}
.cf-btn-primary{
  background:linear-gradient(140deg,#7A9A6B 0%,#0EA5B8 52%,#0E7490 100%);color:#fff;
  border-color:rgba(10,68,82,.4);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 6px 16px rgba(14,165,184,.24),0 0 0 1px rgba(122,154,107,.22) inset;
}
.cf-btn-primary:hover{transform:translateY(-1.5px);filter:brightness(1.06);box-shadow:0 1px 0 rgba(255,255,255,.24) inset,0 10px 22px rgba(14,165,184,.34);color:#fff}
.cf-btn-primary:active{transform:translateY(0) scale(.98)}
.cf-btn[disabled]{opacity:.56;cursor:not-allowed;transform:none !important;filter:grayscale(.2) !important}
.cf-email-info{
  display:flex;align-items:center;gap:6px;margin-top:5px;padding:5px 8px 5.5px;
  border-radius:8px;background:rgba(14,165,184,.07);border:1px dashed rgba(14,165,184,.25);
  color:#0B4A58;font-size:10.5px;line-height:1.35;flex-shrink:0;
}
.cf-email-info strong{font-weight:700;color:#082F3F}
.cf-email-info em{margin:0 4px;color:rgba(11,74,88,.45);font-style:normal;font-weight:700}

/* ---- KEYFRAMES BONITO MS ---- */
@keyframes contactFade{from{opacity:0}to{opacity:1}}
@keyframes contactIn{0%{opacity:0;transform:translateY(22px) scale(.94);filter:blur(10px)}55%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes chLogoIn{0%{opacity:0;transform:translateY(-14px) scale(.8) rotate(-4deg)}60%{opacity:1}100%{opacity:.86;transform:none}}
@keyframes chSunPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.1)}}
@keyframes chHaloDrift{0%,100%{transform:translate(0,0) scale(1);opacity:.8}50%{transform:translate(10px,6px) scale(1.08);opacity:1}}
@keyframes chWaveMove{0%{transform:translateX(0)}100%{transform:translateX(-112px)}}
@keyframes chShineMove{0%,100%{transform:translateX(-8%);opacity:.55}50%{transform:translateX(10%);opacity:.95}}
@keyframes chFish1{0%{transform:translate(-20px,6px) rotate(-2deg)}25%{transform:translate(80px,-10px) rotate(3deg)}50%{transform:translate(180px,4px) rotate(-1deg)}75%{transform:translate(290px,-6px) rotate(2deg)}100%{transform:translate(420px,8px) rotate(0deg)}}
@keyframes chFish2{0%{transform:scaleX(-1) translate(-20px,4px) rotate(2deg)}25%{transform:scaleX(-1) translate(100px,-8px) rotate(-3deg)}50%{transform:scaleX(-1) translate(220px,6px) rotate(1deg)}75%{transform:scaleX(-1) translate(330px,-4px) rotate(-2deg)}100%{transform:scaleX(-1) translate(460px,8px) rotate(0deg)}}
@keyframes chFish3{0%{transform:translate(-10px,0) rotate(-1deg)}35%{transform:translate(160px,-14px) rotate(2deg)}70%{transform:translate(320px,8px) rotate(-2deg)}100%{transform:translate(500px,-4px) rotate(1deg)}}
@keyframes chFish4{0%{transform:translate(-30px,10px) rotate(-3deg)}30%{transform:translate(120px,-6px) rotate(2deg)}60%{transform:translate(260px,8px) rotate(-1deg)}100%{transform:translate(440px,-2px) rotate(1deg)}}
@keyframes chFish5{0%{transform:scaleX(-1) translate(-25px,2px) rotate(3deg)}35%{transform:scaleX(-1) translate(150px,-10px) rotate(-2deg)}70%{transform:scaleX(-1) translate(310px,6px) rotate(2deg)}100%{transform:scaleX(-1) translate(480px,-4px) rotate(-1deg)}}
@keyframes chLeafFall1{0%{transform:translate(0,0) rotate(0deg);opacity:0}8%{opacity:1}50%{transform:translate(50px,60vh) rotate(180deg)}100%{transform:translate(30px,130vh) rotate(360deg);opacity:.4}}
@keyframes chLeafFall2{0%{transform:translate(0,0) rotate(0deg);opacity:0}10%{opacity:1}50%{transform:translate(-40px,60vh) rotate(-160deg)}100%{transform:translate(-20px,130vh) rotate(-340deg);opacity:.4}}
@keyframes chLeafFall3{0%{transform:translate(0,0) rotate(0deg);opacity:0}7%{opacity:1}50%{transform:translate(70px,60vh) rotate(200deg)}100%{transform:translate(40px,130vh) rotate(380deg);opacity:.4}}
@keyframes chLeafFall4{0%{transform:translate(0,0) rotate(0deg);opacity:0}9%{opacity:1}50%{transform:translate(-60px,60vh) rotate(-190deg)}100%{transform:translate(-30px,130vh) rotate(-370deg);opacity:.4}}
@keyframes chSparkle{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}
@keyframes chFirefly{0%{transform:translate(0,0) scale(.8);opacity:.35}15%{opacity:1}25%{transform:translate(14px,-36px) scale(1.1);opacity:.9}40%{transform:translate(-6px,-72px) scale(.95);opacity:.75}55%{transform:translate(20px,-110px) scale(1.05);opacity:1}70%{transform:translate(-10px,-148px) scale(.9);opacity:.7}85%{transform:translate(12px,-182px) scale(1);opacity:.5}100%{transform:translate(0,-220px) scale(.7);opacity:0}}
@keyframes chCloudDrift1{0%{transform:translateX(0)}100%{transform:translateX(150vw)}}
@keyframes chCloudDrift2{0%{transform:translateX(0)}100%{transform:translateX(140vw)}}
@keyframes chCloudDrift3{0%{transform:translateX(0)}100%{transform:translateX(160vw)}}
@keyframes chBirdFly1{0%{transform:translateX(0) translateY(0)}50%{transform:translateX(60vw) translateY(-14px)}100%{transform:translateX(120vw) translateY(4px)}}
@keyframes chBirdFly2{0%{transform:translateX(0) translateY(0)}50%{transform:translateX(55vw) translateY(10px)}100%{transform:translateX(115vw) translateY(-6px)}}
@keyframes chBirdFly3{0%{transform:translateX(0) translateY(0)}50%{transform:translateX(65vw) translateY(-8px)}100%{transform:translateX(125vw) translateY(8px)}}
@keyframes chBirdFlap{0%,100%{transform-origin:50% 50%;transform:scaleY(1)}50%{transform:scaleY(.45)}}

/* ===================================================== */
/* HERO REESCRITO — FOTO REAL RIO SUCURI + LOGOMARCA SUPER DESTAQUE */
/* ===================================================== */
.contact-hero{
  background-color:#083844 !important;
  background-image:
    url("../img/bonito-rio-sucuri-U3.jpg"),
    url("../img/bonito-rio-sucuri-U4.jpg"),
    url("../img/bonito-rio-sucuri-P3.jpg"),
    url("../img/bonito-rio-sucuri-U1.jpg"),
    url("../img/bonitoms-PousadaMariole.png"),
    linear-gradient(180deg,#0E6679 0%,#0B4A58 45%,#083844 100%) !important;
  background-size:cover,cover,cover,cover,cover,100% 100% !important;
  background-position:center,center,center,center,center,center !important;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat !important;
  animation:chPhotoFadeIn .9s cubic-bezier(.2,.8,.2,1) both !important;
}
.ch-photo-vignette{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 120% 90% at 50% 50%,transparent 0%,rgba(5,20,28,.20) 52%,rgba(5,20,28,.60) 100%);pointer-events:none}
.ch-photo-overlay-top{position:absolute;inset:0 0 42% 0;z-index:2;background:linear-gradient(180deg,rgba(5,20,28,.60) 0%,rgba(5,20,28,.35) 42%,transparent 100%);pointer-events:none}
.ch-photo-overlay-bottom{position:absolute;inset:auto 0 0 0;height:40%;z-index:2;background:linear-gradient(0deg,rgba(5,20,28,.78) 0%,rgba(5,20,28,.38) 55%,transparent 100%);pointer-events:none}
.ch-logo-stage{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ch-logo-glow{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(420px,60vw);height:min(420px,60vw);
  background:radial-gradient(circle,rgba(255,246,200,.30) 0%,rgba(14,165,184,.20) 30%,rgba(122,154,107,.10) 55%,transparent 80%);
  border-radius:50%;filter:blur(14px);
  animation:chLogoGlowPulse 4.4s ease-in-out infinite;
}
.ch-logo-watermark{
  position:relative !important;
  top:auto !important;left:auto !important;
  width:clamp(130px,23vw,220px) !important;
  opacity:1 !important;
  filter:
    drop-shadow(0 12px 28px rgba(5,20,28,.68))
    drop-shadow(0 2px 4px rgba(0,0,0,.48))
    drop-shadow(0 0 42px rgba(255,240,180,.22)) !important;
  animation:chLogoStageIn 1.05s cubic-bezier(.2,.8,.2,1) both !important;
  transform-origin:center center;
}
.ch-caption{
  background:linear-gradient(180deg,rgba(10,35,44,.88) 0%,rgba(7,26,33,.88) 100%) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 40px rgba(5,20,28,.58),0 2px 8px rgba(5,20,28,.38),inset 0 1px 0 rgba(255,255,255,.08) !important;
  backdrop-filter:blur(10px) saturate(1.3) !important;-webkit-backdrop-filter:blur(10px) saturate(1.3) !important;
  padding:11px 13px 12px !important;
  left:14px !important;right:14px !important;bottom:14px !important;
  border-radius:16px !important;
}
.ch-caption strong{color:#F4FAFB !important;text-shadow:0 1px 2px rgba(5,20,28,.55);font-size:14px !important;margin-top:2px !important}
.ch-caption p{color:#BFD8DC !important;text-shadow:0 1px 2px rgba(5,20,28,.55);font-size:11px !important}
.ch-chip{
  color:#2F5A3B !important;
  background:linear-gradient(180deg,#E7F4D7 0%,#CDF0A9 100%) !important;
  border:1px solid rgba(122,154,107,.52) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 2px 6px rgba(5,20,28,.3) !important;
  padding:3.5px 11px !important;
}
@keyframes chPhotoFadeIn{0%{opacity:0;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@keyframes chLogoStageIn{0%{opacity:0;transform:translateY(16px) scale(.70) rotate(-3deg);filter:blur(8px)}50%{opacity:1;filter:blur(0)}72%{transform:translateY(-4px) scale(1.06) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes chLogoGlowPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.76}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}

@media (max-width:1099px){
  .contact-window{width:min(980px,96vw);max-height:92vh}
  .contact-body{grid-template-columns:minmax(0,41fr) minmax(0,59fr)}
}

@media (max-width:960px){
  .contact-window{width:100%;max-height:94vh;height:auto;border-radius:14px;grid-template-rows:42px minmax(0,1fr)}
  .contact-titlebar{grid-template-columns:70px 1fr 70px;padding:0 10px}
  .contact-title{font-size:11.5px}
  .contact-title-logo{width:18px;height:18px}
  .contact-close{width:28px;height:28px}
  .contact-body{grid-template-columns:1fr;grid-template-rows:minmax(0,32%) minmax(0,1fr)}
  .contact-hero{border-right:0;border-bottom:1px solid rgba(15,43,57,.08)}
  .ch-caption{padding:8px 10px 9px;left:8px;right:8px;bottom:8px}
  .ch-caption strong{font-size:12px}
  .ch-caption p{font-size:10px}
  .contact-form{padding:12px 13px 11px;gap:9px}
  .cf-head h3{font-size:19px}
  .cf-head p{font-size:11.5px}
  .cf-grid,.cf-dates{gap:7px 9px}
  .cf-field textarea{min-height:56px;max-height:66px}
}

@media (max-width:768px){
  .contact-window{max-height:96vh}
  .contact-body{grid-template-rows:minmax(0,28%) minmax(0,1fr)}
  .contact-title-logo{width:20px;height:20px}
  .ch-logo-watermark{width:clamp(92px,22vw,140px) !important}
  .ch-logo-glow{width:min(280px,48vw) !important;height:min(280px,48vw) !important}
  .ch-caption{padding:7px 9px 8px !important;left:7px !important;right:7px !important;bottom:7px !important;border-radius:12px !important}
  .ch-caption strong{font-size:11.5px !important}
  .ch-caption p{font-size:9.5px !important}
}

@media (max-width:640px){
  .contact-modal{padding:5px 4px !important;overflow-y:auto !important}
  .contact-window{max-height:98vh !important;border-radius:12px;margin:auto 0}
  .contact-body{grid-template-rows:minmax(0,30%) minmax(0,1fr)} /* ↑ MAIS espaço para HERO/IMAGEM/LOGO */
  .contact-title-logo{width:17px;height:17px}
  .ch-logo-watermark{width:clamp(72px,21vw,100px) !important;filter:drop-shadow(0 8px 18px rgba(5,20,28,.6)) drop-shadow(0 2px 4px rgba(0,0,0,.45)) drop-shadow(0 0 34px rgba(255,240,180,.18))}
  .ch-logo-glow{width:min(230px,45vw) !important;height:min(230px,45vw) !important;filter:blur(12px)}
  .ch-caption{padding:5px 7px 6px !important;left:6px !important;right:6px !important;bottom:6px !important;border-radius:10px !important}
  .ch-caption strong{font-size:10.5px !important}
  .ch-caption p{display:none}
  .contact-form{padding:8px 9px 9px !important;gap:6px !important}
  .cf-head{gap:2px !important;padding-bottom:6px !important;margin-bottom:0 !important}
  .cf-eyebrow{font-size:8.5px;padding:2px 5px;gap:3px}
  .cf-head h3{font-size:15.5px !important;line-height:1.1 !important;letter-spacing:-.01em}
  .cf-head p{font-size:10px !important;line-height:1.3 !important}
  .cf-grid,.cf-dates{grid-template-columns:1fr !important;gap:5px !important}
  .cf-field{gap:2px !important}
  .cf-label{font-size:10px !important}
  .cf-field input[type=text],.cf-field input[type=email],.cf-field input[type=tel],.cf-field input[type=date],.cf-field select{padding:6px 8px;font-size:11px !important;line-height:1.35}
  .cf-field textarea{min-height:44px;max-height:52px;font-size:11px !important;line-height:1.35;padding:6px 8px}
  .cf-actions{grid-template-columns:1fr !important;margin-top:1px !important;gap:5px !important}
  .cf-send-group{grid-template-columns:1fr 1fr !important;gap:5px}
  .cf-btn{justify-content:center !important;padding:7px 8px !important;font-size:10.5px !important;border-radius:10px !important;gap:5px !important}
  .cf-btn svg{width:13px;height:13px}
  .cf-consent{padding:4px 6px !important;gap:6px !important;border-radius:9px !important}
  .cf-consent label{gap:5px !important;font-size:9.5px !important;line-height:1.25}
  .cf-consent strong{font-size:9.5px !important}
  .cf-consent em{font-size:9px !important;line-height:1.25}
  .cf-whatsapp-prefix{font-size:10px !important;padding:5.5px 6px 5.5px 7px}
  .cf-field input[name=whatsapp]{padding-left:56px}
  .cf-error{font-size:9.5px;line-height:1.25;padding:3px 6px}
}

@media (max-width:480px){
  .contact-modal{padding:2px !important;gap:0;overflow-y:auto !important}
  .contact-window{max-height:99vh !important;width:99vw !important;border-radius:10px;grid-template-rows:38px minmax(0,1fr)}
  .contact-titlebar{grid-template-columns:52px 1fr 52px;padding:0 7px}
  .contact-close{width:26px;height:26px;border-radius:7px}
  .contact-close svg{width:13px;height:13px}
  .contact-title-logo{width:16px;height:16px}
  .contact-title{font-size:10.5px !important;letter-spacing:-.01em}
  .contact-body{grid-template-rows:minmax(0,28%) minmax(0,1fr)} /* ↑ HERO MANTIDO GIGANTE */
  .ch-logo-stage{display:flex !important}
  .ch-logo-watermark{width:clamp(60px,20vw,82px) !important;top:auto !important;left:auto !important;position:relative !important;transform:none !important;filter:drop-shadow(0 6px 16px rgba(5,20,28,.62)) drop-shadow(0 2px 4px rgba(0,0,0,.48)) drop-shadow(0 0 30px rgba(255,240,180,.20))}
  .ch-logo-glow{width:min(180px,44vw) !important;height:min(180px,44vw) !important;filter:blur(11px)}
  .ch-caption{padding:4px 6px 5px !important;left:5px !important;right:5px !important;bottom:5px !important;border-radius:9px !important}
  .ch-caption strong{font-size:9.5px !important;line-height:1.2}
  .contact-form{padding:6px 7px 7px !important;gap:5px !important}
  .cf-head{padding-bottom:5px !important;margin-bottom:0 !important;gap:2px}
  .cf-eyebrow{font-size:8px;padding:2px 5px;gap:3px;border-radius:6px}
  .cf-head h3{font-size:14.5px !important;line-height:1.1 !important}
  .cf-head p{font-size:9.5px !important;line-height:1.25}
  .cf-grid,.cf-dates{gap:4px !important}
  .cf-field{gap:1.5px !important}
  .cf-label{font-size:9.5px !important}
  .cf-field input[type=text],.cf-field input[type=email],.cf-field input[type=tel],.cf-field input[type=date],.cf-field select{padding:5.5px 7px !important;font-size:10.5px !important;line-height:1.3;border-radius:8px}
  .cf-field textarea{min-height:40px;max-height:48px;font-size:10.5px !important;padding:5.5px 7px !important;border-radius:8px;line-height:1.3}
  .cf-actions{gap:4px !important}
  .cf-send-group{gap:4px}
  .cf-btn{padding:6.5px 7px !important;font-size:10px !important;border-radius:9px !important}
  .cf-btn svg{width:12px;height:12px}
  .cf-consent{padding:3px 5px !important;gap:5px !important;border-radius:8px !important}
  .cf-consent label{gap:4px !important;font-size:9px !important;line-height:1.2}
  .cf-consent strong{font-size:9px !important}
  .cf-consent em{font-size:8.5px !important;line-height:1.2}
  .cf-whatsapp-prefix{font-size:9.5px !important;padding:5px 5px 5px 6px}
  .cf-field input[name=whatsapp]{padding-left:50px}
  .room-price{margin:1.5px 0 1.5px;gap:3.5px}
  .rpv-amount{font-size:16px;font-weight:700}
  .room-row-featured .rpv-amount{font-size:17px;font-weight:800}
  .rpv-currency{font-size:10.5px}
  .room-price-period{font-size:9px}
  .room-price-prefix{font-size:8px;padding:2.5px 5.5px;gap:3px;letter-spacing:.04em}
  .room-price-prefix svg{width:9px;height:9px}
  .video-stage{padding:16px 0 4px}
  .video-stage-inner{gap:7px}
  .video-eyebrow{font-size:9px;padding:4px 8px;gap:5px;letter-spacing:.08em}
  .video-title{font-size:clamp(17px,6.8vw,20px);line-height:1.14}
  .video-subtitle{font-size:10.5px;line-height:1.38}
  .video-card{padding:5px;border-radius:13px;gap:5px}
  .video-frame{aspect-ratio:16/10;border-radius:11px}
  .video-meta{gap:5px}
  .vm-chip{font-size:8.5px;padding:3px 7.5px;gap:4px}
  .video-meta-ctas .btn{padding:7.5px 12px;font-size:10.5px;gap:4.5px}
  .video-meta-ctas .btn svg{width:11px;height:11px}
  /* ========================= BOTÃO FOTOS 480px: tamanho normal + RGB completo ========================= */
  .room-gallery-btn{
    margin-top:3.5px;padding:10px 12px 10px 7px;min-height:45px;font-size:10px;font-weight:700;letter-spacing:.02em;gap:6px;
    border-radius:999px;border:1px solid rgba(14,165,184,.44);
    background:linear-gradient(140deg,#F6FCFD 0%,#DEF4F7 46%,#E9F2E2 100%);
    color:#083344;
    animation:rgbBreath 2.4s ease-in-out infinite,rgbGlowPulse 2.4s ease-in-out infinite;
    transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
    transform:translateZ(0);overflow:visible;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn::before{
    content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid rgba(14,165,184,.5);
    opacity:.54;pointer-events:none;z-index:-1;transform-origin:50% 50%;
    animation:rgbPulseRing 2.5s cubic-bezier(.22,.8,.3,1) infinite;
  }
  .room-gallery-btn::after{display:block !important}
  .rgb-icon{width:17px;height:17px;animation:rgbIconPulse 2.4s ease-in-out infinite,rgbWiggle 3.4s ease-in-out infinite}
  .rgb-text{display:inline-block !important;height:11.5px;line-height:11.5px;overflow:hidden}
  .rgb-line{height:11.5px;line-height:11.5px;transition:transform 360ms cubic-bezier(.2,.8,.2,1)}
  /* TAP feedback :active */
  .room-gallery-btn:active{transform:translateY(.8px) scale(.985);background:linear-gradient(140deg,#EFFAFB 0%,#D0ECF1 46%,#DCECD2 100%)}
  .room-gallery-btn:active::after{opacity:1;animation:rgbShine 520ms cubic-bezier(.2,.8,.2,1) forwards}
  .room-gallery-btn:active .rgb-line{transform:translateY(-11.5px)}
  .room-btn{min-height:44px;padding:8.5px 10.5px;font-size:12px;border-radius:12.5px;gap:5.5px}
}

/* TELAS MUITO CURTAS / MUITO PEQUENAS (ex.: iPhone SE 1, 320x480, Androids antigos) */
/* ESTRATÉGIA: NUNCA ESCONDER LOGO OU IMAGEM — sempre destaque, densifica form ao extremo */
@media (max-width:420px),(max-height:640px){
  .contact-modal{align-items:center !important;padding:2px !important}
  .contact-window{max-height:calc(100vh - 4px) !important;border-radius:9px;margin:2px 0}
  .contact-body{grid-template-rows:minmax(0,24%) minmax(0,1fr)} /* 24% HERO — NUNCA some */
  .ch-logo-stage{display:flex !important}
  .ch-logo-watermark{width:clamp(52px,18vw,72px) !important}
  .ch-logo-glow{width:min(160px,40vw) !important;height:min(160px,40vw) !important;filter:blur(10px)}
  .ch-caption{display:flex !important;padding:3px 5px 4px !important;left:4px !important;right:4px !important;bottom:4px !important;border-radius:8px !important;gap:3px !important}
  .ch-caption strong{font-size:9px !important}
  .ch-caption .ch-chip{padding:2px 4px !important;font-size:7.5px !important;border-radius:5px !important;gap:2px}
  .contact-form{padding:5px 6px 6px !important;gap:4px !important}
  .cf-head{padding-bottom:4px;gap:1px}
  .cf-eyebrow{font-size:7.5px;padding:2px 4px;border-radius:5px;gap:2px}
  .cf-head h3{font-size:13.5px !important}
  .cf-head p{font-size:9px !important;line-height:1.2}
  .cf-field{gap:1px !important}
  .cf-label{font-size:9px !important}
  .cf-field input[type=text],.cf-field input[type=email],.cf-field input[type=tel],.cf-field input[type=date],.cf-field select{padding:5px 6.5px !important;font-size:10px !important;line-height:1.25;border-radius:7px}
  .cf-field textarea{min-height:36px;max-height:44px;font-size:10px !important;padding:5px 6.5px !important;border-radius:7px;line-height:1.25}
  .cf-actions{gap:3px !important}
  .cf-send-group{gap:3px}
  .cf-btn{padding:6px 6.5px !important;font-size:9.5px !important;border-radius:8px !important}
  .cf-btn svg{width:11px;height:11px}
  .cf-consent{padding:2.5px 4px !important;gap:4px !important;border-radius:7px !important}
  .cf-consent label{gap:3px !important;font-size:8.5px !important;line-height:1.15}
  .cf-consent strong{font-size:8.5px !important}
  .cf-consent em{font-size:8px !important;line-height:1.15}
  .contact-title-logo{width:14px;height:14px}
  .contact-title{font-size:10px !important}
  .room-price{margin:1px 0 1px;gap:3px}
  .rpv-amount{font-size:15px;font-weight:700}
  .room-row-featured .rpv-amount{font-size:15.5px;font-weight:800}
  .rpv-currency{font-size:10px}
  .room-price-period{font-size:8.5px}
  .hero-ctas{gap:6px}
  .hero-ctas .btn{min-height:44px;padding:11px 11px;font-size:11.5px;gap:5.5px}
  .room-price-prefix{font-size:7.5px;padding:2px 5px;gap:2.5px;letter-spacing:.03em}
  .room-price-prefix svg{width:8.5px;height:8.5px}
  .video-stage{padding:14px 0 3px}
  .video-stage-inner{gap:6px}
  .video-eyebrow{font-size:8.5px;padding:3.5px 7px;gap:4.5px}
  .video-title{font-size:clamp(16px,7.4vw,18px);line-height:1.16}
  .video-subtitle{font-size:10px;line-height:1.36}
  .video-card{padding:4.5px;border-radius:12px;gap:4.5px}
  .video-frame{aspect-ratio:4/3;border-radius:10px}
  .video-meta{gap:4.5px}
  .vm-chip{font-size:8px;padding:2.5px 7px;gap:3.5px}
  .video-meta-ctas .btn{padding:7px 11px;font-size:10px;gap:4px}
  .video-meta-ctas .btn svg{width:10.5px;height:10.5px}
  /* ========================= BOTÃO FOTOS 420px: tamanho normal + RGB completo ========================= */
  .room-gallery-btn{
    margin-top:3px;padding:9.5px 11px 9.5px 6.5px;min-height:44px;font-size:9.5px;font-weight:700;letter-spacing:.02em;gap:5.5px;
    border-radius:999px;border:1px solid rgba(14,165,184,.44);
    background:linear-gradient(140deg,#F6FCFD 0%,#DEF4F7 46%,#E9F2E2 100%);
    color:#083344;
    animation:rgbBreath 2.5s ease-in-out infinite,rgbGlowPulse 2.5s ease-in-out infinite;
    transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
    transform:translateZ(0);overflow:visible;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn::before{
    content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid rgba(14,165,184,.48);
    opacity:.5;pointer-events:none;z-index:-1;transform-origin:50% 50%;
    animation:rgbPulseRing 2.6s cubic-bezier(.22,.8,.3,1) infinite;
  }
  .room-gallery-btn::after{display:block !important}
  .rgb-icon{width:16px;height:16px;animation:rgbIconPulse 2.5s ease-in-out infinite,rgbWiggle 3.6s ease-in-out infinite}
  .rgb-text{display:inline-block !important;height:11px;line-height:11px;overflow:hidden}
  .rgb-line{height:11px;line-height:11px;transition:transform 360ms cubic-bezier(.2,.8,.2,1)}
  /* TAP feedback :active */
  .room-gallery-btn:active{transform:translateY(.9px) scale(.985);background:linear-gradient(140deg,#EEF9FA 0%,#CEEAEF 46%,#D9E9CD 100%)}
  .room-gallery-btn:active::after{opacity:1;animation:rgbShine 500ms cubic-bezier(.2,.8,.2,1) forwards}
  .room-gallery-btn:active .rgb-line{transform:translateY(-11px)}
  .room-btn{width:30px;height:30px}
}

/* TELAS EXTREMAMENTE BAIXAS (paisagem em celular antigo: ex. 320x240) */
/* NUNCA ESCONDER HERO — mantém 18% mínimo, logo pequena mas presente */
@media (max-height:520px){
  .contact-window{max-height:calc(100vh - 2px)}
  .contact-body{grid-template-rows:minmax(0,18%) minmax(0,1fr)}
  .contact-hero{display:grid !important}
  .ch-logo-stage{display:flex !important}
  .ch-logo-watermark{width:clamp(40px,13vw,54px) !important}
  .ch-logo-glow{width:min(110px,30vw) !important;height:min(110px,30vw) !important;filter:blur(9px)}
  .ch-caption{display:none !important}
  .contact-form{padding:4px 5px 5px !important;gap:3px !important}
  .cf-head{padding-bottom:3px;gap:1px}
  .cf-head h3{font-size:12.5px !important}
  .cf-head p{display:none !important}
  .contact-titlebar{grid-template-rows:34px minmax(0,1fr)}
}

@media (hover:none),(pointer:coarse),(max-width:640px){
  .contact-window,.contact-backdrop{filter:none !important;animation:none !important}
}

@media (hover:none),(pointer:coarse){
  .contact-backdrop{background:rgba(6,20,28,.84)}
}

@media (prefers-reduced-motion:reduce){
  .contact-window,
  .contact-backdrop,
  .ch-sun,
  .ch-sun-halo,
  .ch-river-shine,
  .ch-river-wave,
  .ch-fish,
  .ch-leaf,
  .ch-firefly,
  .ch-sparkle,
  .ch-cloud,
  .ch-bird,
  .ch-logo-watermark{animation:none !important;transition:none !important}
  .contact-hero,.ch-logo-glow{animation:none !important;transition:none !important}
}

/* ============ BREAKPOINTS MODAL — SOBRESCREVE HERO/LOGO ============ */
@media (max-width:960px){
  .contact-title-logo{width:20px;height:20px}
  .ch-logo-watermark{width:clamp(96px,20vw,150px) !important}
  .ch-logo-glow{width:min(320px,50vw) !important;height:min(320px,50vw) !important}
  .ch-caption{padding:8px 10px 9px !important;left:8px !important;right:8px !important;bottom:8px !important;border-radius:13px !important}
  .ch-caption strong{font-size:12px !important}
  .ch-caption p{font-size:10px !important}
}
@media (max-width:768px){
  .ch-caption p{display:none !important}
}
@media (max-width:640px){
  .contact-title-logo{width:18px;height:18px}
  .ch-logo-watermark{width:clamp(64px,17vw,96px) !important;
    filter:
      drop-shadow(0 6px 14px rgba(5,20,28,.65))
      drop-shadow(0 1px 3px rgba(0,0,0,.5)) !important;
  }
  .ch-logo-glow{width:min(220px,44vw) !important;height:min(220px,44vw) !important;filter:blur(10px) !important}
  .ch-caption{padding:6px 8px 7px !important;border-radius:11px !important}
  .ch-caption strong{font-size:11px !important}
  .ch-photo-overlay-top{inset:0 0 30% 0}
  .ch-photo-overlay-bottom{height:32%}
}
@media (max-width:480px){
  .ch-logo-watermark{width:clamp(52px,16vw,80px) !important}
  .ch-logo-glow{width:min(180px,40vw) !important;height:min(180px,40vw) !important;filter:blur(8px) !important}
}
@media (hover:none),(pointer:coarse),(max-width:640px){
  .contact-window,.contact-backdrop{filter:none !important;animation:none !important}
  .contact-hero{animation:none !important}
  .ch-logo-glow{animation-duration:10s !important}
}

@media (max-width:640px){
  .maps-modal{padding:8px}
  .maps-window{width:100%;height:94vh;border-radius:14px;grid-template-rows:40px minmax(0,1fr) auto auto}
  .maps-titlebar{grid-template-columns:70px 1fr 70px;padding:0 10px}
  .maps-title{font-size:11.5px}
  .maps-title span{display:none}
  .maps-close{width:28px;height:28px}
  .maps-photos{padding:8px 12px 0;gap:7px}
  .maps-photos-grid{grid-template-columns:repeat(2,1fr);gap:6px}
  .maps-photo-tile{min-height:82px;padding:8px 8px 8px 8px;grid-template-columns:34px 1fr auto;gap:7px;border-radius:11px}
  .maps-tile-icon{width:34px;height:34px;border-radius:9px}
  .maps-tile-icon svg{width:16px;height:16px}
  .maps-photo-caption-title{font-size:11px;letter-spacing:.005em}
  .maps-photo-caption-sub{font-size:9.5px}
  .maps-photo-arrow{width:22px;height:22px}
  .maps-photo-arrow svg{width:11px;height:11px}
  .maps-photos-label{font-size:10px;letter-spacing:.12em}
  .maps-photos-sub{font-size:10.5px}
  .maps-footer{grid-template-columns:1fr;gap:9px;padding:10px 12px}
  .maps-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .maps-btn{justify-content:center;padding:9px 10px;font-size:11px}
  .maps-address-value{font-size:12.5px}
  .maps-skel-pin{width:30px;height:38px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    animation-delay:0ms !important;
  }
  .reveal{opacity:1;transform:none}
  .hl-letter{opacity:1;transform:none;filter:none}
  .hl-logo{animation:none;opacity:1}
  .hl-logo-shine::before{display:none}
  .hl-facade{transform:scale(1);filter:none;opacity:.34;mix-blend-mode:normal}
  .hl-facade-overlay{display:none}
  .hero-media,.hero-panel:hover .hero-media{transform:none}
  .maps-window,.maps-backdrop{filter:none !important;animation:none !important}
  .maps-skeleton::before{animation:none !important;background:none !important;background-color:rgba(240,246,247,.96) !important}
  .maps-skel-pin{animation:none !important;transform:translate(-50%,-100%) !important}
}

/* ============================================================
   PERFORMANCE: DISPOSITIVOS TOUCH / CELULARES PEQUENOS
   (hover:none) = celular/tablet — desliga animações caras
   ============================================================ */
@media (hover:none), (pointer:coarse){
  /* --- 1) ZERA TODOS backdrop-filter BLOQUEIO #1 de GPU --- */
  *{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}

  /* --- 2) FUNDO SÓLIDO substituto do backdrop-blur --- */
  .site-header.scrolled{background:rgba(255,255,255,.98)}
  .hero-panel{background:rgba(255,255,255,.95)}
  .lb-backdrop{background:rgba(6,20,28,.82)}
  .lb-caption{background:rgba(8,24,34,.88)}
  .maps-backdrop{background:rgba(6,20,28,.82)}
  .contact-backdrop{background:rgba(6,20,28,.84)}
  .site-nav{background:rgba(255,255,255,.99) !important}

  /* --- 3) PARALISA TODAS ANIMAÇÕES INFINITAS LOOP --- */
  .pulse-dot,
  .hl-aurora,
  .hl-blob,
  .hl-logo-wrap,
  .hl-ring-outer,.hl-ring-mid,.hl-ring-inner,
  .hl-ring-dashed,.hl-ring-dashed2,.hl-ring-dashed3,
  .hl-fish-blue,.hl-fish-olive,
  .hl-halo,.hl-halo-2,
  .hl-logo-shine::before,
  .hl-badge-orbit,
  .hl-scroll-dot,.hl-scroll-arrow,
  .stage-blob,
  .room-gallery-btn,
  .rgb-icon,
  .rgb-line-2 em,
  .whatsapp-flutuante,
  .maps-window,
  .maps-backdrop,
  .maps-skeleton::before,
  .maps-skel-pin,
  .contact-window,
  .contact-backdrop,
  .ch-sun,
  .ch-river-wave-1,.ch-river-wave-2,.ch-river-wave-3,
  .ch-fish-cyan-1,.ch-fish-olive-1,.ch-fish-cyan-2,
  .ch-leaf-1,.ch-leaf-2,.ch-leaf-3,.ch-leaf-4,
  .ch-sparkle-1,.ch-sparkle-2,.ch-sparkle-3,.ch-sparkle-4,.ch-sparkle-5,.ch-sparkle-6{
    animation-iteration-count:1 !important;
    animation-fill-mode:forwards !important;
    animation-duration:.001ms !important;
  }
  .ch-sun{transform:scale(1) !important}
  .ch-fish-cyan-1{transform:translate(60%,20%) !important;opacity:.85}
  .ch-fish-olive-1{transform:scaleX(-1) translate(60%,0) !important;opacity:.85}
  .ch-fish-cyan-2{transform:translate(30%,5%) !important;opacity:.82}
  .ch-leaf-1{transform:translate(8%,60%) rotate(120deg);opacity:.9}
  .ch-leaf-2{transform:translate(32%,45%) rotate(210deg);opacity:.86}
  .ch-leaf-3{transform:translate(60%,70%) rotate(90deg);opacity:.88}
  .ch-leaf-4{transform:translate(84%,55%) rotate(270deg);opacity:.84}
  .ch-sparkle-1,.ch-sparkle-2,.ch-sparkle-3,.ch-sparkle-4,.ch-sparkle-5,.ch-sparkle-6{animation:none !important;opacity:.58 !important;transform:scale(1) !important}
  .hl-aurora{opacity:.25;transform:none}
  .hl-blob{transform:none;opacity:.3}
  .stage-blob{transform:none}
  .hl-logo-wrap{animation:hlLogoEntrance 1.4s cubic-bezier(.2,.8,.2,1) .1s both !important}
  .hl-badge-orbit{transform:translate(-50%,calc(-50% - 280px))}
  .hl-ring-outer,.hl-ring-mid,.hl-ring-inner{transform:none !important;opacity:.8}
  .hl-ring-dashed,.hl-ring-dashed2,.hl-ring-dashed3{stroke-dashoffset:0 !important;opacity:.7}
  .hl-fish-blue{transform:translate(0,0)}
  .hl-fish-olive{transform:translate(0,0)}
  .hl-halo,.hl-halo-2{opacity:.7}
  .hl-scroll-indicator{opacity:.85}
  .hl-scroll-dot{top:40% !important;animation:none !important}
  .hl-scroll-arrow{transform:none}
  .room-gallery-btn{animation:none !important}
  .room-gallery-btn::before{display:none !important;animation:none !important}
  .rgb-icon{animation:none !important}
  .rgb-line-2 em{animation:none !important;transform:none;opacity:1}
  .whatsapp-flutuante{animation:none !important;box-shadow:0 10px 24px rgba(37,211,102,.32) !important}
  .pulse-dot{animation:none !important;opacity:.45}
  .pulse-cta{animation:none !important}
  .hero-attractions,.hero-attractions:hover,.ha-img,.ha-cta{transition:none !important}
  .ha-img{transform:scale(1) !important;filter:saturate(1.03) contrast(1.02) !important}
  .hero-attractions{transform:none !important}

  /* --- 4) REMOVE EFEITOS CAROS de filter:blur em imagens --- */
  .hl-bg::before{filter:blur(4px) !important}
  .hl-aurora{filter:blur(4px) !important;opacity:.3}
  .hl-blob{filter:blur(32px) !important;opacity:.38}
  .hl-halo,.hl-halo-2{filter:none !important;opacity:.65}
  .hl-facade{filter:brightness(1.02) saturate(1.08) contrast(1.18) !important;opacity:.76 !important}
  .stage-blob{filter:blur(28px) !important;opacity:.42}

  /* --- 5) REMOVE will-change excessivos (GPU leak) --- */
  .hl-blob,.hl-facade,.hl-p,.hl-ring-outer,.hl-ring-mid,.hl-ring-inner,.hl-ring-dashed,.hl-ring-dashed2,.hl-ring-dashed3,.hl-logo-shine,.hl-fish-blue,.hl-fish-olive,.hl-badge-orbit,.hl-title-wrap,.hl-rings{will-change:auto}

  /* ==============================================================
     --- 7) HERO ANIMAÇÕES MOBILE 100% CSS PURO (SEM DEPENDER DE JS)
     O hero é sempre o 1º na viewport — não precisa de IntersectionObserver.
     Usamos keyframes otimizados (sem blur, sem rotate, só transform+opacity).
     Versão com !important GARANTE que nenhuma regra .reveal-txt anterior bloqueie.
     ============================================================== */
  /* .reveal-txt TRAVA de opacidade é REMOVIDA em mobile: animation controla opacidade. */
  .reveal-txt{opacity:unset !important;transform:none !important;animation-play-state:running !important;will-change:opacity,transform}
  /* --- 7a) Eyebrow: span interno anima. --- */
  .hl-eyebrow span{animation:hlTxtRevealMobile .52s cubic-bezier(.2,.8,.2,1) .22s both !important}
  /* --- 7b) Brand prefix "Pousada": anima direto. --- */
  .hl-brand-prefix{animation:hlTxtRevealMobile .55s cubic-bezier(.2,.8,.2,1) .34s both !important}
  /* --- 7c) LETTER-BY-LETTER do brand name: versão MOBILE (otimizada, sem JS). --- */
  .hl-letter{
    /* Remove desktop animation-delay caro. Usa versão mobile short + delay via var(--d). */
    animation:hlLetterInMobile .52s cubic-bezier(.2,.8,.2,1) forwards !important;
    animation-delay:calc(.40s + var(--d, 0s)) !important;
    opacity:0; /* keyframe hlLetterInMobile controla isso — partida limpa */
    transform:translateY(12px);
    filter:none !important; /* remove drop-shadow custoso (desktop era 16px) */
    will-change:opacity,transform;
  }
  /* --- 7d) Tagline: span interno anima versão mobile. --- */
  .hl-tagline span{animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) .78s both !important}
  /* --- 7e) CTAs: container wrapper anima. --- */
  .hl-ctas{
    animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) .92s both !important;
  }
  /* --- 7f) Chips (features): anima. --- */
  .hl-chips{
    animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) 1.06s both !important;
  }
  /* --- 7g) Scroll indicator: anima. --- */
  .hl-scroll-indicator{animation:hlTxtRevealMobile .6s cubic-bezier(.2,.8,.2,1) 1.22s both !important}

  /* --- 6) HOVERS desligados em touch: remove transform/shadow em hover --- */
  /* Obs: room-row:hover e room-gallery-btn:hover só afetam hover:fine anyway.
     Em touch:none, NÃO dispara. Regra .room-row:active abaixo cuida do TAP. */
  @media (hover:hover) and (pointer:fine){
    .room-row:hover{transform:none;box-shadow:none}
  }
  .hero-panel:hover .hero-media{transform:none}
  .hero-media:hover{transform:none;border-color:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,43,57,.18),0 2px 5px rgba(15,43,57,.08),inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 5px rgba(14,165,184,.1)}
  .hero-media:hover img{transform:scale(1);filter:brightness(.99) contrast(1.22) saturate(1.11)}
  .hero-attractions:hover{transform:none;border-color:rgba(255,255,255,.96);
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.62) inset,
      0 18px 40px rgba(15,43,57,.22),
      0 4px 10px rgba(15,43,57,.09),
      0 0 0 5px rgba(14,165,184,.12);
  }
  .hero-attractions:hover .ha-img{transform:scale(1);filter:saturate(1.12) contrast(1.08) brightness(.98)}
  .ha-cta:hover{transform:none;background:rgba(255,255,255,.98);box-shadow:0 4px 10px rgba(6,20,28,.18),0 0 0 1px rgba(14,165,184,.38)}
  .room-gallery-btn:hover,.room-gallery-btn:focus-visible{transform:none;
    background:linear-gradient(140deg,#FFFFFF 0%,#CFEEF3 48%,#DBE9D1 100%);
    border-color:rgba(14,165,184,.44);
    color:#082F3F;
    box-shadow:
      0 1px 0 rgba(255,255,255,.96) inset,
      0 0 0 1px rgba(255,255,255,.8) inset,
      0 4px 12px rgba(14,165,184,.16),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn:hover .rgb-line-1,.room-gallery-btn:focus-visible .rgb-line-1{transform:none}
  .room-gallery-btn:hover .rgb-line-2,.room-gallery-btn:focus-visible .rgb-line-2{transform:none}
  .room-gallery-btn:hover .rgb-icon,.room-gallery-btn:focus-visible .rgb-icon{animation:none !important;
    background:radial-gradient(circle at 32% 30%,#fff 0 46%,#E0F2FE 52%,#CFEEF3 68%,#D4E7C9 100%);
    color:#0E7490;
    box-shadow:0 1px 0 rgba(255,255,255,.96) inset,0 0 0 1px rgba(14,165,184,.26) inset,0 2px 5px rgba(14,165,184,.18);
  }

/* ============================ */
/* BOOKING FLOAT — Em construção (CENTRALIZADO EVIDENTE v43 — DEFINITIVO) */
/* ============================ */
/* BLOCO ULTRA-ESPECÍFICO: body > div#bookingFloat.booking-float — NENHUMA regra cacheada pode sobrescrever! */
body > div#bookingFloat.booking-float{
  position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;
  z-index:99999999 !important; /* ACIMA DE TUDO: modal contato, lightbox, whatsapp flutuante */
  padding:24px 16px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  pointer-events:auto !important; /* CORREÇÃO CRÍTICA: backdrop recebe clique p/ fechar */
}
.booking-float{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;z-index:99999999 !important;padding:24px 16px !important;display:flex !important;align-items:center !important;justify-content:center !important;pointer-events:auto !important}
.booking-float[hidden]{display:none !important}
body > div#bookingFloat.booking-float::before,
.booking-float::before{content:"" !important;position:absolute !important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;background:rgba(7,22,30,.78) !important;backdrop-filter:blur(12px) saturate(1.25) !important;-webkit-backdrop-filter:blur(12px) saturate(1.25) !important;animation:bkBackdropIn .28s ease both !important;pointer-events:auto !important}
@keyframes bkBackdropIn{from{opacity:0}to{opacity:1}}
.booking-float-inner{position:relative !important;pointer-events:auto !important;width:min(540px,100%) !important;max-height:90vh !important;overflow-y:auto !important;background:#fff !important;border-radius:24px !important;border:2px solid rgba(14,165,184,.32) !important;box-shadow:
    0 44px 100px rgba(6,22,30,.62),
    0 16px 36px rgba(6,22,30,.30),
    0 0 0 1px rgba(255,255,255,.6) inset,
    0 0 0 8px rgba(14,165,184,.10) !important;
  padding:26px 28px 28px !important;animation:bkFloatIn .46s cubic-bezier(.18,1.35,.25,1) both !important}
@keyframes bkFloatIn{
  0%{opacity:0;transform:translateY(34px) scale(.82);filter:blur(12px)}
  62%{opacity:1;transform:translateY(-6px) scale(1.035);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
.booking-float-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;margin-bottom:16px !important}
.booking-float-badge{display:inline-flex !important;align-items:center !important;gap:8px !important;padding:7px 14px !important;border-radius:999px !important;background:linear-gradient(135deg,#FEF3C7 0%,#FDE68A 45%,#D1FAE5 100%) !important;border:1px solid rgba(14,165,184,.30) !important;color:#064E3B !important;font-size:13.5px !important;font-weight:800 !important;letter-spacing:.2px !important;box-shadow:0 2px 5px rgba(14,165,184,.12) inset,0 3px 8px rgba(15,43,57,.10) !important;text-transform:uppercase !important}
.booking-float-close{appearance:none !important;border:0 !important;background:rgba(15,43,57,.07) !important;color:#475569 !important;font-size:28px !important;line-height:1 !important;width:38px !important;height:38px !important;border-radius:12px !important;cursor:pointer !important;transition:all .2s ease !important;display:flex !important;align-items:center !important;justify-content:center !important}
.booking-float-close:hover,.booking-float-close:focus-visible{background:rgba(239,68,68,.14) !important;color:#DC2626 !important;transform:rotate(90deg) scale(1.08) !important;outline:none !important;box-shadow:0 0 0 3px rgba(239,68,68,.24) !important}
.booking-float-msg{margin:0 0 8px !important;font-size:18px !important;line-height:1.45 !important;color:#0F2B39 !important;font-weight:700 !important}
.booking-float-msg strong{color:#085166 !important;font-weight:900 !important;background:linear-gradient(135deg,#0EA5B8,#047857) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;padding:0 3px !important}
.booking-float-sub{margin:0 0 20px !important;font-size:15px !important;line-height:1.5 !important;color:#4A6573 !important;font-weight:500 !important}
.booking-float-sub::before{content:"💡 " !important;font-size:16px !important}
.booking-float-ctas{display:flex !important;gap:14px !important;flex-wrap:wrap !important;margin-top:6px !important;padding-top:18px !important;border-top:1px dashed rgba(14,165,184,.26) !important}
.booking-float-ctas::before{content:"🏨 Reserve agora por um destes canais:" !important;display:block !important;width:100% !important;font-size:13.5px !important;font-weight:700 !important;color:#374151 !important;margin-bottom:4px !important}
.booking-float-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:9px !important;padding:13px 20px !important;border-radius:14px !important;font-size:15px !important;font-weight:800 !important;text-decoration:none !important;cursor:pointer !important;border:1px solid transparent !important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease !important;flex:1 1 calc(50% - 7px) !important;min-width:160px !important}
.booking-float-btn:hover,.booking-float-btn:focus-visible{transform:translateY(-3px) !important;outline:none !important}
.booking-float-btn:active{transform:translateY(0) scale(.98) !important}
.booking-float-wa{background:linear-gradient(180deg,#36DD79 0%,#25D366 100%) !important;color:#fff !important;box-shadow:0 8px 20px rgba(37,211,102,.48),0 1px 0 rgba(255,255,255,.38) inset !important}
.booking-float-wa:hover{background:linear-gradient(180deg,#2EC769 0%,#20BA5A 100%) !important;box-shadow:0 10px 28px rgba(37,211,102,.58),0 1px 0 rgba(255,255,255,.44) inset !important}
.booking-float-em{background:linear-gradient(180deg,#18C2D6 0%,#0EA5B8 100%) !important;color:#fff !important;box-shadow:0 8px 20px rgba(14,165,184,.48),0 1px 0 rgba(255,255,255,.38) inset !important}
.booking-float-em:hover{background:linear-gradient(180deg,#11A5B8 0%,#0D94A7 100%) !important;box-shadow:0 10px 28px rgba(14,165,184,.58),0 1px 0 rgba(255,255,255,.44) inset !important}

[data-booking-link]{position:relative}

@media (max-width:640px){
  .booking-float{padding:12px 10px !important}
  .booking-float-inner{border-radius:20px !important;padding:18px 16px 20px !important;max-height:92vh !important;box-shadow:0 30px 80px rgba(6,22,30,.58),0 0 0 6px rgba(14,165,184,.10) !important}
  .booking-float-badge{font-size:12.5px !important;padding:6px 12px !important}
  .booking-float-close{width:34px !important;height:34px !important;font-size:25px !important}
  .booking-float-msg{font-size:17px !important}
  .booking-float-sub{font-size:14.5px !important}
  .booking-float-btn{flex:1 1 100% !important;padding:14px 16px !important;font-size:15.5px !important}
  .btn-header[data-booking-link]::after{display:none}
  .footer-link[data-booking-link]::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .booking-float::before{animation:none !important}
  .booking-float-inner{animation:none !important}
  [data-booking-link]::after{animation:none !important}
}
  .room-gallery-btn::after{display:none !important;animation:none !important}
  .rooms-panel-cta:hover{transform:none;filter:none}
  .whatsapp-flutuante:hover{transform:none;scale:none}
  .nav-link:hover{background:transparent}
  .btn:hover{filter:none;transform:none}
  .btn-primary:hover{box-shadow:0 8px 22px rgba(14,165,184,.24)}
  .btn-ghost:hover{background:rgba(14,165,184,.04)}
  .room-btn:hover{transform:none;scale:none}

  /* --- 7) SMOOTH SCROLL desligado em mobile (menos jank) --- */
  html{scroll-behavior:auto !important}
}

/* ============================================================
   PERFORMANCE ADICIONAL: ≤960px (tablet retrato, celulares grandes)
   ============================================================ */
@media (max-width:960px){
  /* Mais reduções de blur e will-change */
  .hl-bg::before{filter:blur(4px)}
  .hl-aurora{filter:blur(6px);opacity:.28}
  .hl-blob{filter:blur(36px);opacity:.4}
  .hl-halo,.hl-halo-2{filter:blur(3px)}
  .hl-facade{will-change:auto}
  .hero-panel{background:rgba(255,255,255,.92);backdrop-filter:none}
  .site-nav{backdrop-filter:none;background:rgba(255,255,255,.98)}
  /* Reduz brilho do shine em animação de logo */
  .hl-logo-shine::before{opacity:.7}
  /* Drop-shadows leves em mobile: reduz drop-shadow para sombra barata (box-shadow ou nenhum) */
  .hl-logo{filter:none}
}

/* ============================================================
   PERFORMANCE EXTREMA: ≤640px (CELULARES PEQUENOS)
   — onde o usuário reclamou dos travamentos
   ============================================================ */
@media (max-width:640px){
  /* REMOVE TODOS backdrop-filter (redundância garantida) */
  *{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  /* FUNDO 100% SÓLIDO: sem alpha (menos composição de camadas) */
  .site-header.scrolled{background:#fff}
  .hero-panel{background:#fff}
  .site-nav{background:#fff}
  .rooms-panel{background:#fff}
  .lb-backdrop{background:rgba(6,20,28,.88)}
  .lb-caption{background:rgba(8,24,34,.94)}
  /* REMOVE a maioria dos sombreados (muito custosos em mobile) */
  .hero-panel{box-shadow:0 1px 3px rgba(15,43,57,.06);border:1px solid rgba(15,43,57,.06)}
  .rooms-panel{box-shadow:0 1px 3px rgba(15,43,57,.06);border:1px solid rgba(15,43,57,.06)}
  .room-row{box-shadow:none}
  .room-row-featured{box-shadow:0 0 0 2px rgba(14,165,184,.12)}
  .hero-media{box-shadow:0 3px 10px rgba(15,43,57,.14) !important;border:1.5px solid rgba(255,255,255,.98)}
  .whatsapp-flutuante{box-shadow:0 4px 14px rgba(37,211,102,.34) !important}
  /* REMOVE animações de entrada mais longas em mobile (otimiza) */
  .reveal{transition:opacity 230ms cubic-bezier(.2,.8,.2,1),transform 230ms cubic-bezier(.2,.8,.2,1);transform:translateY(8px)}
  .hero-logo-stage{min-height:auto !important}
  /* Remove apenas filtros CUSTOSOS (drop-shadow/blur) SEM usar !important em transform/opacity.
     Isso preserva as novas animações via keyframes (hl-letter-anim / reveal-txt-anim). */
  .hl-letter{filter:none}
  .hl-tagline{filter:none}
  .hl-eyebrow{filter:none}
  .hl-logo-wrap{animation:hlLogoEntrance .7s cubic-bezier(.2,.8,.2,1) both}
  .hl-logo-shine::before{display:none}
  /* =============================================================
     --- HERO ANIMAÇÕES CELULARES PEQUENOS (≤640px)
     2ª CAMADA DE REDUNDÂNCIA: re-declara as animações CSS pure.
     Garantia extra caso o media query anterior (hover:none) não pegar em
     alguns aparelhos com touch de telas muito pequenas. */
  .reveal-txt{opacity:unset !important;transform:none !important;animation-play-state:running !important;will-change:opacity,transform}
  .hl-eyebrow span{animation:hlTxtRevealMobile .52s cubic-bezier(.2,.8,.2,1) .22s both !important}
  .hl-brand-prefix{animation:hlTxtRevealMobile .55s cubic-bezier(.2,.8,.2,1) .34s both !important}
  .hl-letter{
    animation:hlLetterInMobile .52s cubic-bezier(.2,.8,.2,1) forwards !important;
    animation-delay:calc(.40s + var(--d, 0s)) !important;
    opacity:0;transform:translateY(12px);
    filter:none !important;will-change:opacity,transform;
  }
  .hl-tagline span{animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) .78s both !important}
  .hl-ctas{animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) .92s both !important}
  .hl-chips{animation:hlTxtRevealMobile .58s cubic-bezier(.2,.8,.2,1) 1.06s both !important}
  .hl-scroll-indicator{animation:hlTxtRevealMobile .6s cubic-bezier(.2,.8,.2,1) 1.22s both !important}
  /* REMOVE filters de imagem custosos (saturate, hue-rotate) */
  .hl-facade{filter:brightness(1.04) contrast(1.16) !important;opacity:.62}
  .hero-media img{filter:brightness(1.0) contrast(1.16) saturate(1.04) !important}
  .hl-bg::before{filter:none !important;opacity:.28}
  /* Parallax: será removido via JS (adicionamos checagem) */
  .hl-facade{transform:scale(1.02) !important}
  /* Reduz gradient complexity: single-color em vez de multi-stop */
  .stage{background:#F8FAFC;background:#fff}
  .stage-grad{display:none}
  /* REMOVE sombras em CTAs para mobile */
  .btn{box-shadow:none}
  .btn-primary{box-shadow:0 2px 8px rgba(14,165,184,.18)}
  /* ============================================================
     SEÇÃO VÍDEO — MOBILE PREMIUM (refatoração total)
     ============================================================ */
  .vs-grad{display:none}
  .vs-blob{filter:blur(26px);opacity:.34}
  .video-stage{
    background:
      linear-gradient(180deg,#FCFDFD 0%,#F0F7F3 100%);
    padding-top:18px;
  }
  .video-card{
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
  }
  /* Moldura premium: técnica com padding + bg gradiente + border-radius duplo.
     Não usa backdrop-filter nem blur, GPU-friendly só com composite. */
  .video-frame{
    box-shadow:none;
    border-radius:18px;
    position:relative;
    background:
      linear-gradient(145deg,#0EA5B8 0%,#0C8292 42%,#7A9A6B 100%);
    padding:2.5px; /* ← espessura da borda gradiente premium */
  }
  .video-player{
    border-radius:15.5px;
    /* 18px - 2.5px de padding da moldura = ~15.5px */
    background:#000;
    display:block;
    /* Força contraste mínimo nos controles padrão do iOS/Safari mobile */
    color-scheme:dark;
  }
  .video-frame::after{
    /* Brilho interno sutil — sem filter, só gradiente composite */
    content:"";position:absolute;inset:2.5px;border-radius:15.5px;pointer-events:none;
    background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,transparent 22%,transparent 82%,rgba(14,165,184,.12) 100%);
    z-index:2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .video-overlay-glow{display:none}
  /* Badges meta em mobile: fundo translúcido premium, sem sombras pesadas */
  .video-meta{gap:8px}
  .vm-chip{
    background:rgba(255,255,255,.72);
    backdrop-filter:none !important;
    border:1px solid rgba(14,165,184,.18);
    color:#1E3944;
    font-weight:650;
  }
  .vm-chip-alt{
    background:linear-gradient(135deg,rgba(122,154,107,.14),rgba(122,154,107,.06));
    border:1px solid rgba(122,154,107,.30);
    color:#394D30;
  }
  /* CTA em mobile: destaque máximo, largura total, cantos arredondados premium */
  .video-meta-ctas{width:100%}
  .video-meta-ctas .btn{
    width:100%;
    justify-content:center;
    padding:10px 16px !important;
    border-radius:14px;
    font-weight:650;
    letter-spacing:.01em;
    background:linear-gradient(135deg,#0EA5B8 0%,#0A7C8B 100%) !important;
    box-shadow:
      0 1px 0 rgba(255,255,255,.35) inset,
      0 6px 16px rgba(14,165,184,.26),
      0 2px 5px rgba(14,165,184,.14) !important;
  }
  .video-meta-ctas .btn:active{transform:translateY(1px)}
  /* Foco visível no player (acessibilidade + micro-interação) */
  .video-player:focus{outline:2px solid #0EA5B8;outline-offset:1px}
  /* Estado :hover no card (apenas touch fine/desktop — mobile não tem) */
  @media (hover:hover) and (pointer:fine){
    .video-frame:hover{filter:brightness(1.02)}
  }
}
/* BREAKPOINT ESPECÍFICO POR ORIENTAÇÃO (mobile PAISAGEM):
   vídeos ocupam largura total com aspect 16/9 para aproveitar tela larga. */
@media (max-width:640px) and (orientation:landscape){
  .video-stage{padding:12px 0 4px}
  .video-frame{aspect-ratio:16/9;border-radius:14px;padding:2px}
  .video-player{border-radius:12px}
  .video-frame::after{inset:2px;border-radius:12px}
  .video-head{gap:2px}
  .video-title{font-size:clamp(15px,3.2vw,18px);line-height:1.10}
  .video-subtitle{display:none}
  .video-meta{gap:6px;flex-direction:row;flex-wrap:wrap}
  .video-meta-info{flex:1}
  .video-meta-ctas{width:auto;flex:0 0 auto}
  .video-meta-ctas .btn{width:auto;padding:7px 13px !important;border-radius:12px;font-size:10px !important}
  .video-meta-ctas .btn svg{width:10.5px;height:10.5px}
}
/* BREAKPOINT ESPECÍFICO POR ORIENTAÇÃO (mobile RETRATO ≤640):
   aspect 4/3 para ocupar melhor a tela vertical, evitando barras pretas */
@media (max-width:640px) and (orientation:portrait){
  .video-frame{aspect-ratio:4/3}
}
/* TELAS MUITO PEQUENAS (≤420px): reforça moldura e compacta ainda mais */
@media (max-width:420px){
  .video-stage{padding:14px 0 3px}
  .video-head{gap:2px}
  .video-eyebrow{font-size:8.5px !important;padding:3.5px 7px;gap:4px;letter-spacing:.07em}
  .video-title{font-size:clamp(16px,6.4vw,19px);line-height:1.14}
  .video-subtitle{font-size:10px;line-height:1.36}
  .video-frame{border-radius:14px;padding:2px;aspect-ratio:4/3}
  .video-player{border-radius:12px}
  .video-frame::after{inset:2px;border-radius:12px}
  .vm-chip{font-size:8.5px !important;padding:3px 7px;gap:4px}
  .video-meta-ctas .btn{padding:9px 14px !important;font-size:10.5px;border-radius:12px}
}
/* TELAS MUITO CURTAS (≤380px): máximo de contraste, sem margens desnecessárias */
@media (max-width:380px){
  .video-frame{aspect-ratio:4/3;border-radius:12px;padding:1.8px}
  .video-player{border-radius:10.5px}
  .video-frame::after{inset:1.8px;border-radius:10.5px}
  /* ========================= BOTÃO FOTOS 380px: tamanho normal + RGB completo ========================= */
  .room-gallery-btn{
    margin-top:2.5px;padding:9px 10px 9px 6px;min-height:44px;font-size:9px;font-weight:700;letter-spacing:.02em;gap:5px;
    border-radius:999px;border:1px solid rgba(14,165,184,.44);
    background:linear-gradient(140deg,#F6FCFD 0%,#DEF4F7 46%,#E9F2E2 100%);
    color:#083344;
    animation:rgbBreath 2.6s ease-in-out infinite,rgbGlowPulse 2.6s ease-in-out infinite;
    transition:transform 240ms cubic-bezier(.2,.8,.2,1),box-shadow 280ms ease,background 340ms ease,border-color 240ms ease,color 240ms ease;
    transform:translateZ(0);overflow:visible;
    box-shadow:
      0 1px 0 rgba(255,255,255,.95) inset,
      0 0 0 1px rgba(255,255,255,.72) inset,
      0 3px 10px rgba(14,165,184,.14),
      0 1px 3px rgba(15,43,57,.08);
  }
  .room-gallery-btn::before{
    content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid rgba(14,165,184,.46);
    opacity:.48;pointer-events:none;z-index:-1;transform-origin:50% 50%;
    animation:rgbPulseRing 2.7s cubic-bezier(.22,.8,.3,1) infinite;
  }
  .room-gallery-btn::after{display:block !important}
  .rgb-icon{width:15.5px;height:15.5px;animation:rgbIconPulse 2.6s ease-in-out infinite,rgbWiggle 3.8s ease-in-out infinite}
  .rgb-text{display:inline-block !important;height:10.5px;line-height:10.5px;overflow:hidden}
  .rgb-line{height:10.5px;line-height:10.5px;transition:transform 360ms cubic-bezier(.2,.8,.2,1)}
  /* TAP feedback :active */
  .room-gallery-btn:active{transform:translateY(1px) scale(.985);background:linear-gradient(140deg,#EEF9FA 0%,#CCE9EF 46%,#D6E8CA 100%)}
  .room-gallery-btn:active::after{opacity:1;animation:rgbShine 460ms cubic-bezier(.2,.8,.2,1) forwards}
  .room-gallery-btn:active .rgb-line{transform:translateY(-10.5px)}
  .room-btn{width:28px;height:28px}
  .rooms-panel-cta{padding:7.5px 9px;font-size:10.5px;gap:6px}
}

/* ============================================================
   BOOKING MODAL — Reserva de quartos Pousada Mariole
   DENSIDADE MÁXIMA · RESPONSIVIDADE TOTAL (4→2→1 cols)
   Breakpoints: ≥1280 (desktop largo), ≥900 (padrão), 640-900 (tablet), ≤640 (mobile full), ≤380 (compact mobile)
   ============================================================ */
.booking-modal{position:fixed;inset:0;z-index:9998;isolation:isolate}
.bk-backdrop{position:absolute;inset:0;background:rgba(10,30,40,.52);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);animation:bkFadeIn 240ms cubic-bezier(.2,.8,.2,1) both;z-index:0}
@keyframes bkFadeIn{from{opacity:0}to{opacity:1}}

.bk-window{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.985);
  width:min(1180px,96vw);max-height:93dvh;overflow:hidden;
  background:#fff;border-radius:20px;
  box-shadow:0 32px 70px -18px rgba(12,42,55,.36),0 2px 0 rgba(255,255,255,.6) inset,0 0 0 1px rgba(15,43,57,.08);
  display:flex;flex-direction:column;
  z-index:1;
  transform-origin:center;
  animation:bkPop 300ms cubic-bezier(.2,.9,.2,1.05) both;
}
@keyframes bkPop{from{opacity:0;transform:translate(-50%,-44%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* ===== Titlebar (compacto) ===== */
.bk-titlebar{
  display:flex;align-items:center;gap:10px;padding:8px 13px 7px;
  border-bottom:1px solid rgba(15,43,57,.08);
  background:linear-gradient(180deg,#FCFEFF 0%,#F3FBFC 55%,#EAF7F9 100%);
  flex-shrink:0;user-select:none;position:relative;
}
.bk-traffic{display:flex;gap:6px;align-items:center}
.bk-dot{width:11px;height:11px;border-radius:50%;display:block;cursor:pointer;transition:transform 120ms ease,filter 120ms ease}
.bk-dot-r{background:linear-gradient(180deg,#FF6B6B,#EF4444);box-shadow:inset 0 -1px 0 rgba(0,0,0,.22)}
.bk-dot-y{background:linear-gradient(180deg,#FBBF24,#F59E0B);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2)}
.bk-dot-g{background:linear-gradient(180deg,#34D399,#10B981);box-shadow:inset 0 -1px 0 rgba(0,0,0,.2)}
.bk-dot:hover{transform:scale(1.12);filter:brightness(1.08)}
.bk-title{
  display:flex;align-items:center;gap:6.5px;
  font-size:12.5px;font-weight:650;color:#1E3944;letter-spacing:-.005em;
  position:absolute;left:50%;transform:translateX(-50%);
}
.bk-title svg{width:13px;height:13px;color:#0A7C8B}
.bk-close{
  margin-left:auto;display:flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:8px;
  background:rgba(15,43,57,.05);border:1px solid rgba(15,43,57,.08);
  color:#1E3944;cursor:pointer;transition:all 150ms ease;
}
.bk-close svg{width:14px;height:14px}
.bk-close:hover{background:#EF4444;border-color:#EF4444;color:#fff;transform:translateY(-1px)}
.bk-close:active{transform:translateY(0) scale(.96)}

/* ===== Step progress (compacto) ===== */
.bk-steps{
  list-style:none;margin:0;padding:13px 22px 7px;
  display:flex;align-items:center;justify-content:space-between;position:relative;gap:12px;
  flex-shrink:0;
}
.bk-step-line{
  position:absolute;top:23px;left:calc(22px + 20px);right:calc(22px + 20px);height:2.5px;
  background:linear-gradient(90deg,rgba(14,165,184,.2) 0%,rgba(122,154,107,.2) 100%);border-radius:3px;z-index:0;
}
.bk-step-line::before{
  content:"";position:absolute;inset:0;width:0%;height:100%;
  background:linear-gradient(90deg,#0EA5B8 0%,#7A9A6B 100%);border-radius:3px;
  transition:width 350ms cubic-bezier(.2,.9,.2,1);
}
.booking-modal[data-step="2"] .bk-step-line::before{width:46%}
.booking-modal[data-step="3"] .bk-step-line::before{width:100%}

.bk-step{flex:0 0 auto;display:flex;align-items:center;gap:8px;position:relative;z-index:1}
.bk-step-num{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border:2px solid rgba(15,43,57,.18);
  font-size:12px;font-weight:700;color:#8CA0AA;
  transition:all 260ms cubic-bezier(.2,.9,.2,1);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 2px 5px rgba(15,43,57,.06);
}
.bk-step-label{font-size:12px;font-weight:600;color:#8CA0AA;transition:color 220ms ease;letter-spacing:-.005em}
.bk-step.is-active .bk-step-num{
  border-color:#0EA5B8;background:linear-gradient(135deg,#0EA5B8,#0C8292);color:#fff;
  box-shadow:0 0 0 3px rgba(14,165,184,.14),0 3px 10px rgba(14,165,184,.3);
  animation:bkPulse 1.8s ease-in-out infinite;
}
@keyframes bkPulse{0%,100%{box-shadow:0 0 0 3px rgba(14,165,184,.14),0 3px 10px rgba(14,165,184,.26)}50%{box-shadow:0 0 0 5px rgba(14,165,184,.08),0 3px 13px rgba(14,165,184,.34)}}
.bk-step.is-active .bk-step-label{color:#0A7C8B}
.bk-step.is-done .bk-step-num{border-color:#7A9A6B;background:linear-gradient(135deg,#7A9A6B,#5A7F47);color:#fff;box-shadow:0 0 0 2.5px rgba(122,154,107,.16)}
.bk-step.is-done .bk-step-label{color:#5A7F47}

/* ===== Body + panes ===== */
.bk-body{margin:0;padding:0;flex:1;overflow-y:auto;min-height:0;scroll-behavior:smooth}
.bk-body::-webkit-scrollbar{width:9px}
.bk-body::-webkit-scrollbar-thumb{background:rgba(14,165,184,.3);border-radius:5px;border:2px solid #fff}
.bk-body::-webkit-scrollbar-thumb:hover{background:rgba(14,165,184,.48)}

.bk-pane{padding:4px 20px 16px;display:block}
.bk-pane[hidden]{display:none !important}

/* ===== STEP 1 grid (2 colunas densas) ===== */
.bk-s1-grid{display:grid;grid-template-columns:42% 1fr;gap:16px;margin-top:4px}

/* --- UNIVERSAL: Remove CABEÇALHO DUPLICADO (nome+badges) da col1 de MÍDIA.
   Como a col2-form já tem seu próprio bk-col2-head com o MESMO conteúdo
   (nome quarto, categoria, capacidade, preço, self check-in) em layout
   otimizado, NÃO precisamos repetir estas informações acima do vídeo.
   Elimina redundância e libera ~80-120px de espaço vertical. --- */
.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-head,
.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-policy{
  display:none !important;
}
.booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-head,
.booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-policy{
  display:none !important;
}

/* ---- Coluna MÍDIA: vídeo + galeria + amenities (grid 4→3→2→1 cols) + desconto ---- */
.bk-room-media{display:flex;flex-direction:column;gap:11px}
.bk-video-frame{
  position:relative;aspect-ratio:16/9;border-radius:13px;overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,rgba(14,165,184,.18),transparent 60%),
    #06171F;
  box-shadow:0 8px 22px -10px rgba(12,42,55,.38),0 0 0 1px rgba(255,255,255,.1) inset;
  isolation:isolate;
  transition:aspect-ratio 380ms cubic-bezier(.2,.8,.2,1), min-height 380ms cubic-bezier(.2,.8,.2,1), height 380ms cubic-bezier(.2,.8,.2,1);
  display:flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.bk-video-frame[data-orientation="portrait"]{aspect-ratio:auto;min-height:320px;height:min(calc(46vw * 1.15), 70vh)}
.bk-video-frame[data-orientation="square"]{aspect-ratio:1/1;min-height:280px;height:min(calc(46vw * 0.9), 64vh)}
.bk-video-frame[data-orientation="ultrawide"]{aspect-ratio:21/9;min-height:170px;height:min(calc(46vw * 0.42), 54vh)}
.bk-video{
  position:relative;z-index:1;
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  object-position:50% 50%;
  display:block;
  margin:auto;
  transition:transform 500ms ease, filter 320ms ease;
}
.bk-video-frame:hover .bk-video{transform:scale(1.02)}
.bk-video-frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(14,165,184,.12) 0%,transparent 38%,rgba(15,43,57,.38) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.bk-video-skeleton{
  position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(145deg,#06171F 0%,#0F2B39 60%,#143946 100%);color:rgba(255,255,255,.85);
  transition:opacity 260ms ease;font-size:12px;font-weight:500;
}
.bk-video-skeleton svg{color:#0EA5B8;opacity:.95;animation:bkSpin 1.3s linear infinite;width:22px;height:22px}
@keyframes bkSpin{to{transform:rotate(360deg)}}
.bk-video-frame[data-loaded="true"] .bk-video-skeleton{opacity:0;pointer-events:none}

/* Galeria de fotos inline (abaixo do vídeo) */
.bk-gallery{
  position:relative;display:flex;flex-direction:column;gap:6px;
  border-radius:12px;overflow:hidden;
  background:#08141A;border:1px solid rgba(14,165,184,.25);
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.bk-gallery-stage{
  position:relative;width:100%;
  min-height:208px;
  max-height:62vh;
  height:min(calc(46vw * 0.58), 58vh);
  aspect-ratio:16/9;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(14,165,184,.18),transparent 62%),
    #06171F;
  transition:height 340ms cubic-bezier(.2,.8,.2,1), min-height 340ms cubic-bezier(.2,.8,.2,1), aspect-ratio 340ms cubic-bezier(.2,.8,.2,1);
  display:flex;align-items:center;justify-content:center;
  width:100%;max-width:100%;min-width:0;box-sizing:border-box;
}
.bk-gallery-stage[data-orientation="portrait"]{aspect-ratio:auto;min-height:320px;height:min(calc(46vw * 1.15), 70vh)}
.bk-gallery-stage[data-orientation="square"]{aspect-ratio:1/1;min-height:280px;height:min(calc(46vw * 0.9), 64vh)}
.bk-gallery-stage[data-orientation="ultrawide"]{aspect-ratio:21/9;min-height:170px;height:min(calc(46vw * 0.42), 54vh)}
.bk-gallery-img{
  max-width:100%;max-height:100%;
  width:auto;height:auto;
  object-fit:contain;
  object-position:50% 50%;
  display:block;
  margin:auto;
  position:relative;z-index:1;
  border-radius:7px;
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06) inset;
  transition:transform 320ms cubic-bezier(.2,.8,.2,1), box-shadow 320ms ease;
}
.bk-gallery-stage:hover .bk-gallery-img{transform:scale(1.015)}
.bk-gallery-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:30px;height:30px;border-radius:999px;
  border:1px solid rgba(255,255,255,.32);background:rgba(6,23,31,.55);
  backdrop-filter:blur(4px);color:#fff;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:all 150ms ease;
}
.bk-gallery-nav svg{width:14px;height:14px}
.bk-gallery-nav:hover{background:rgba(8,20,26,.78);border-color:rgba(255,255,255,.5)}
.bk-gallery-nav:active{transform:translateY(-50%) scale(.94)}
.bk-gallery-prev{left:8px}
.bk-gallery-next{right:8px}
.bk-gallery-thumbs{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(50px,1fr));
  gap:4px;padding:5px;background:linear-gradient(180deg,#06171F 0%,#08141A 100%);
  max-height:min(calc((50px + 4px) * 2), 120px);
  overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(14,165,184,.35) transparent;
}
.bk-gallery-thumbs::-webkit-scrollbar{width:6px;height:6px}
.bk-gallery-thumbs::-webkit-scrollbar-thumb{background:rgba(14,165,184,.35);border-radius:3px}
.bk-gallery-thumbs::-webkit-scrollbar-thumb:hover{background:rgba(14,165,184,.55)}
.bk-gallery-thumb{
  all:unset;cursor:pointer;box-sizing:border-box;
  width:100%;aspect-ratio:1/1;border-radius:6px;overflow:hidden;
  border:2px solid transparent;opacity:.7;transition:all 160ms ease;
  min-width:0;min-height:0;
}
.bk-gallery-thumb:hover{opacity:.92;transform:translateY(-1px)}
.bk-gallery-thumb.is-active{border-color:#0EA5B8;opacity:1;box-shadow:0 0 0 2px rgba(14,165,184,.22)}
.bk-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* Room head (nome + badges) */
.bk-room-head{display:flex;flex-direction:column;gap:5px;padding:0 2px;position:relative}
.bk-room-name{margin:0;font-size:16px;font-weight:750;letter-spacing:-.015em;color:#0F2B39;line-height:1.22}
.bk-room-badges{display:flex;flex-wrap:wrap;gap:5px}
.bk-badge{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:-.005em;
  background:rgba(14,165,184,.1);color:#0A7C8B;border:1px solid rgba(14,165,184,.2);
}
.bk-badge--olive{background:rgba(122,154,107,.12);color:#5A7F47;border-color:rgba(122,154,107,.28)}
.bk-badge--warn{background:rgba(239,68,68,.08);color:#B91C1C;border-color:rgba(239,68,68,.18)}
.bk-badge--gold{background:rgba(245,158,11,.12);color:#92400E;border-color:rgba(245,158,11,.26)}
.bk-badge--green{background:rgba(22,163,74,.12);color:#166534;border-color:rgba(22,163,74,.3)}

/* Short badge (destaque curto) */
.bk-short-badge{
  position:absolute;top:1px;right:0;
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;border-radius:999px;
  font-size:10.2px;font-weight:750;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(135deg,#F59E0B 0%,#EF4444 100%);
  color:#fff;box-shadow:0 3px 10px -5px rgba(239,68,68,.58);
}

/* Amenities — GRID 4 → 3 → 2 → 1 cols (responsivo automático) */
.bk-amenities{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(128px, 1fr));
  gap:5px;padding:10px 10px;border-radius:11px;
  background:linear-gradient(180deg,#F7FCFD 0%,#EFF9FB 100%);
  border:1px solid rgba(14,165,184,.14);
}
.bk-amenity{
  display:inline-flex;align-items:center;gap:4px;
  padding:3.5px 7px 3.5px 6.5px;border-radius:6.5px;
  background:#fff;font-size:11px;font-weight:550;color:#305463;
  border:1px solid rgba(15,43,57,.07);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.bk-amenity svg{width:10px;height:10px;color:#0EA5B8;flex-shrink:0}

/* Card desconto progressivo */
.bk-discount-card{
  display:flex;flex-direction:column;gap:8px;padding:10px 11px;border-radius:12px;
  background:linear-gradient(145deg,#FFFBF0 0%,#FFF7E6 40%,#FEF4E2 100%);
  border:1.5px solid rgba(245,158,11,.3);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 5px 13px -9px rgba(245,158,11,.32);
}
.bk-discount-title{
  display:inline-flex;align-items:center;gap:5px;font-size:12.2px;font-weight:700;color:#92400E;letter-spacing:-.005em;
}
.bk-discount-title svg{color:#D97706}
.bk-discount-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.bk-discount-item{
  display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;
  background:rgba(255,255,255,.75);border:1px solid rgba(245,158,11,.15);
  font-size:11.3px;font-weight:550;color:#78350F;
}
.bk-discount-item--hot{background:linear-gradient(135deg,#FDE68A 0%,#FCD34D 100%);border-color:#F59E0B;color:#78350F;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.bk-discount-item b{color:#B45309;margin-left:auto;font-weight:750}
.bk-dn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;border-radius:6.5px;padding:0 5px;
  background:rgba(217,119,6,.16);color:#92400E;font-weight:800;font-size:11px;
}

/* House rules */
.bk-room-house-rules{
  display:flex;flex-direction:column;gap:7px;padding:9px 11px;border-radius:12px;
  background:linear-gradient(180deg,#FAF5FF 0%,#F5EEFF 100%);border:1px solid rgba(147,51,234,.18);
}
.bk-rules-title{
  display:inline-flex;align-items:center;gap:5.5px;font-size:12.2px;font-weight:700;color:#6B21A8;letter-spacing:-.005em;
}
.bk-rules-title svg{color:#9333EA}
.bk-rules-list{
  list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;
}
.bk-rules-list li{
  position:relative;padding-left:13px;font-size:11.2px;font-weight:550;color:#581C87;line-height:1.4;
}
.bk-rules-list li::before{
  content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:2px;
  background:linear-gradient(135deg,#A855F7,#C084FC);
  box-shadow:0 0 0 2px rgba(168,85,247,.13);
}

/* Policy box (HTML) */
.bk-room-policy{
  padding:9px 11px;border-radius:12px;
  background:linear-gradient(180deg,#ECFEFF 0%,#DDF7FB 100%);
  border:1px solid rgba(14,165,184,.22);color:#115E6B;
  font-size:11.6px;line-height:1.48;
}
.bk-room-policy :first-child{margin-top:0}
.bk-room-policy :last-child{margin-bottom:0}
.bk-room-policy strong,.bk-room-policy b{color:#0B6C7A;font-weight:750}
.bk-room-policy ul,.bk-room-policy ol{margin:5px 0 0 0;padding-left:17px}
.bk-room-policy ul li,.bk-room-policy ol li{margin:1.5px 0}

/* ---- Coluna FORMULÁRIO (step 1 e 2) ---- */
.bk-form-col{display:flex;flex-direction:column;gap:12px}
.bk-form-col--wide{gap:12px}
.bk-fields{display:grid;grid-template-columns:repeat(3, 1fr);gap:9px 11px}
/* ---------- span classes (faltavam mapeadas!) ---------- */
.bk-field-span-1{grid-column:span 1}
.bk-field-span-2{grid-column:1 / -1}    /* ocupa LINHA INTEIRA */
.bk-field-span-3{grid-column:span 3}
/* ---------- STEP 1 EXCLUSIVO: 2 cols (Check-in + Check-out). Guests usa span-2 = linha cheia ---------- */
.bk-fields--s1{grid-template-columns:1fr 1fr !important;gap:10px 12px !important}
/* ---------- Guest stack DESKTOP/TABLET GRANDE (>640px): 4 cols HORIZONTAL 1 linha
   Adultos · Crianças · Bebês · Colchões extras inline (economiza ~35-45px altura)
   Em telas <640px cai para 2 cols automático ou 1 col mobile. ---------- */
@media (min-width:641px){
  .booking-modal .bk-guest-stack{
    display:grid;grid-template-columns:repeat(4,1fr);gap:2px 3px;
    padding:3px 4px 2.5px;border-radius:8px;
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.22);
  }
  .booking-modal .bk-guest-row{
    flex-direction:column;align-items:stretch;gap:1.5px;
    padding:1.5px 2px;border-radius:6.5px;
    background:rgba(255,255,255,.65);
    border-right:1px dashed rgba(100,116,139,.18);
    border-bottom:none;
  }
  .booking-modal .bk-guest-row:last-of-type{border-right:none}
  .booking-modal .bk-guest-meta{gap:1.2px;display:flex;align-items:baseline;flex-wrap:nowrap}
  .booking-modal .bk-guest-title{font-size:10px;font-weight:750;line-height:1.05}
  .booking-modal .bk-guest-sub{font-size:8px;line-height:1.05;opacity:.82;color:#64748B;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .booking-modal .bk-guest--inline{
    display:grid;grid-template-columns:22px 1fr 22px;gap:0;align-items:center;justify-items:center;
    padding-top:0.5px;
  }
  .booking-modal .bk-guest-btn{width:22px;height:22px;border-radius:5.5px;padding:0;min-width:22px;min-height:22px}
  .booking-modal .bk-guest-btn svg{width:9px;height:9px}
  .booking-modal .bk-guest--inline input{font-size:11.5px;padding:1.5px 0;height:22px;font-weight:800;width:100%;text-align:center;border:none;background:transparent;color:#0F2B39;pointer-events:auto;user-select:text;cursor:text}
  .booking-modal .bk-guest-foot{
    padding-top:1px;margin-top:0.5px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:4px;
  }
  .booking-modal .bk-guest-foot .bk-guest-max{font-size:8.4px;font-weight:650;color:#334155}
}
.bk-field{display:flex;flex-direction:column;gap:3.5px}
.bk-field-2{grid-column:span 1}
.bk-field-full{grid-column:1 / -1}

.bk-label{
  font-size:12px;font-weight:650;color:#2C4E5D;letter-spacing:-.005em;
  display:inline-flex;align-items:baseline;gap:3px;
}
.bk-label em{color:#EF4444;font-style:normal;font-size:12.5px}
.bk-field input[type="date"],
.bk-field input[type="text"],
.bk-field input[type="email"],
.bk-field input[type="tel"],
.bk-field textarea{
  width:100%;box-sizing:border-box;padding:9px 11px;
  background:#fff;border:1.5px solid rgba(15,43,57,.12);border-radius:10px;
  font-size:13.5px;color:#0F2B39;font-family:inherit;font-weight:500;
  transition:all 180ms cubic-bezier(.2,.8,.2,1);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.bk-field textarea{resize:vertical;min-height:140px;line-height:1.42}
.bk-field input:focus,.bk-field textarea:focus{
  outline:none;border-color:#0EA5B8;
  box-shadow:0 0 0 3px rgba(14,165,184,.14),0 1px 0 rgba(255,255,255,.9) inset;
  background:#FCFEFF;
}
.bk-field input:invalid:not(:placeholder-shown){border-color:rgba(239,68,68,.35)}
.bk-field input::placeholder,.bk-field textarea::placeholder{color:#A3B5BE}
/* ==========================================================
   BOOKING MODAL · CROSS-BROWSER SAFE RULES (override UAs)
   Força render idêntico no Chrome / Edge / Firefox / Safari
   ========================================================== */
.booking-modal *, .booking-modal *::before, .booking-modal *::after{
  box-sizing:border-box !important;
  -webkit-box-sizing:border-box !important;
  -moz-box-sizing:border-box !important;
}
.booking-modal{
  -webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform,opacity;
  -moz-user-select:none;-webkit-user-select:none;user-select:none;
}
.booking-modal .bk-field input,
.booking-modal .bk-field select,
.booking-modal .bk-field textarea{
  -moz-appearance:none !important;-webkit-appearance:none !important;appearance:none !important;
  -moz-osx-font-smoothing:grayscale !important;-webkit-font-smoothing:antialiased !important;
  font-family:var(--f-body) !important;font-weight:500 !important;
  font-variant-numeric:tabular-nums lining-nums !important;-moz-font-variant-numeric:tabular-nums !important;
  direction:ltr !important;unicode-bidi:normal !important;
  caret-color:var(--c-primary-dark) !important;
  line-height:1.4 !important;
}
.booking-modal .bk-window{
  -moz-box-shadow:0 28px 90px rgba(10,30,40,.28),0 0 0 1px rgba(14,165,184,.12),0 2px 8px rgba(10,30,40,.06) !important;
  -webkit-box-shadow:0 28px 90px rgba(10,30,40,.28),0 0 0 1px rgba(14,165,184,.12),0 2px 8px rgba(10,30,40,.06) !important;
  box-shadow:0 28px 90px rgba(10,30,40,.28),0 0 0 1px rgba(14,165,184,.12),0 2px 8px rgba(10,30,40,.06) !important;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;
}
.booking-modal .bk-backdrop{
  backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);
}
@supports not (backdrop-filter: blur(12px)){
  .booking-modal .bk-backdrop{background:rgba(10,30,40,.68) !important;}
}

/* ==========================================================
   BOOKING ULTRA-DENSE · DESKTOP (≥769px)
   Objetivo: máximo de informação visível SEM ROLAGEM.
   Tudo compacto, aninhado e próximo.  (sobrescreve paddings / fontes
   ========================================================== */
@media (min-width: 769px){
  .booking-modal .bk-window{
    width:min(1040px,94vw);
    max-height:92dvh;
    border-radius:16px;
  }
  .booking-modal .bk-steps{
    padding:9px 22px 4px;gap:6px !important;
  }
  .booking-modal .bk-step-num{
    width:22px;height:22px;font-size:10.5px;
  }
  .booking-modal .bk-step-label{font-size:10.8px;}
  .booking-modal .bk-pane{padding:2px 16px 12px !important;}

  /* ---------- grade S1: galeria menor, formulário mais espaço ---------- */
  .booking-modal .bk-s1-grid{
    grid-template-columns:40% 1fr !important;
    gap:11px !important;margin-top:1px !important;
    align-items:start !important;
  }
  .booking-modal .bk-room-media{gap:6px !important;}
  .booking-modal .bk-gallery{
    border-radius:11px !important;
    aspect-ratio: 4 / 3 !important;
  }
  .booking-modal .bk-gallery .bk-gallery-main img{
    border-radius:11px !important;
  }
  .booking-modal .bk-thumbs{
    grid-template-columns:repeat(4,1fr) !important;
    gap:4px !important;
    padding:4px 5px !important;
    border-radius:10px !important;
  }
  .booking-modal .bk-thumbs button{
    aspect-ratio: 1 / 1 !important;
    border-radius:6.5px !important;
    border:1.2px solid rgba(14,165,184,.14) !important;
  }
  .booking-modal .bk-room-head{gap:2.5px !important;padding:0 1px !important;}
  .booking-modal .bk-room-title{
    font-size:13.5px !important;line-height:1.12 !important;
  }
  .booking-modal .bk-room-tag{
    padding:3px 6.5px !important;
    font-size:10px !important;
    border-radius:7px !important;
    gap:2.5px !important;
  }
  .booking-modal .bk-room-tags{gap:3px !important;flex-wrap:wrap !important;}
  .booking-modal .bk-room-tag b{
    padding:3.5px 7px !important;
    font-size:10.3px !important;
    border-radius:7px !important;
    gap:3px !important;
  }
  .booking-modal .bk-amenities{
    grid-template-columns:repeat(3, 1fr) !important;
    gap:3px !important;padding:4.5px 5px !important;
    border-radius:9px !important;
  }
  .booking-modal .bk-amenity{
    font-size:9.5px !important;
    padding:2.5px 4px !important;
    line-height:1.13 !important;
    gap:3px !important;
    font-weight:600 !important;
    border-radius:6px !important;
  }
  .booking-modal .bk-amenity svg{width:8.5px;height:8.5px !important;}
  .booking-modal .bk-discount-card{
    padding:5px 5.5px !important;gap:3px !important;
    border-radius:9px !important;
  }
  .booking-modal .bk-discount-title{
    font-size:9.5px !important;
    gap:3px !important;
  }
  .booking-modal .bk-discount-list{
    grid-template-columns:repeat(2,1fr) !important;
    gap:3px !important;
  }
  .booking-modal .bk-discount-item{
    padding:3.5px 4.5px !important;
    border-radius:6px !important;
    font-size:9.3px !important;
    gap:3.5px !important;
  }
  .booking-modal .bk-discount-item b{font-size:9.5px !important;}
  .booking-modal .bk-dn{font-size:8.5px !important;padding:1.5px 4px !important;border-radius:5px !important;}

  /* ---------- COLUNA DIREITA: mini summary + fields ---------- */
  .booking-modal .bk-form-col{gap:7px !important;}
  .booking-modal .bk-summary-mini{
    padding:6px 7.5px !important;
    gap:2.5px !important;
    border-radius:9.5px !important;
    border:1.2px solid rgba(16,185,129,.22) !important;
  }
  .booking-modal .bk-sm-row{
    font-size:11px !important;
    gap:6px !important;
    padding:0.4px 0 !important;
    min-height:17px !important;
    align-items:center !important;
  }
  .booking-modal .bk-sm-row b{font-size:11.1px !important;}
  .booking-modal .bk-sm-row--total{
    padding-top:3.5px !important;margin-top:1px !important;
  }
  .booking-modal .bk-sm-row--total span{font-size:10px !important;}
  .booking-modal .bk-sm-row--total strong{
    font-size:14.5px !important;letter-spacing:-.01em !important;
  }
  .booking-modal .bk-notice{
    padding:5.5px 7px !important;
    gap:2px !important;
    border-radius:9px !important;
    border:1px solid rgba(239,68,68,.2) !important;
  }
  .booking-modal .bk-notice-row{gap:4px !important;}
  .booking-modal .bk-notice-icon{font-size:11px !important;}
  .booking-modal .bk-notice-row strong{font-size:10.8px !important;}
  .booking-modal .bk-notice p{font-size:10px !important;line-height:1.3 !important;}

  /* ---------- Fields step1: datas + hóspedes ---------- */
  .booking-modal .bk-fields--s1{
    grid-template-columns:1fr 1fr !important;
    gap:6.5px 9px !important;
  }
  .booking-modal .bk-field{gap:2.5px !important;}
  .booking-modal .bk-label{
    font-size:10.8px !important;font-weight:700 !important;
  }
  .booking-modal .bk-field input,
  .booking-modal .bk-field select,
  .booking-modal .bk-field textarea{
    padding:5.5px 7.5px !important;
    font-size:12.3px !important;
    border-radius:8.5px !important;
    line-height:1.35 !important;
  }
  .booking-modal .bk-hint{
    font-size:9.2px !important;
    margin-top:-1.5px !important;
    line-height:1.2 !important;
  }

  /* ----- HÓSPEDES: ULTRA-DENXUTO ----- */
  .booking-modal .bk-field--guests{row-gap:4px !important;}
  .booking-modal .bk-guest-max{
    font-size:9px !important;
    padding:2.5px 6px !important;
    border-radius:6px !important;
  }
  /* ---------- Hóspedes ULTRA-COMPACTOS desktop (4 cols HORIZONTAL 1 linha)
     4 cols únicas em 1 row: Adultos · Crianças · Bebês · Colchões extras
     (economiza ~35-45px de altura vertical vs antigo 2x2 grid) ---------- */
  .booking-modal .booking-modal .bk-guest-stack{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:1px 1.5px !important;
    padding:1.5px 2px 1.5px !important;
    border-radius:6.5px !important;
    border:1px solid rgba(100,116,139,.18) !important;
    margin-top:1px !important;
  }
  .booking-modal .booking-modal .bk-guest-row{
    padding:1.5px 1.5px !important;
    gap:0.5px !important;
    border-radius:5.5px !important;
    background:rgba(255,255,255,.7) !important;
    min-height:0 !important;
    border-right:1px dashed rgba(100,116,139,.18) !important;
    border-bottom:none !important;
  }
  .booking-modal .booking-modal .bk-guest-row:nth-child(4){border-right:none !important}
  .booking-modal .bk-guest-meta{
    display:flex !important;
    flex-direction:row !important;
    align-items:baseline !important;
    gap:1.5px !important;
    flex-wrap:nowrap !important;
    line-height:1.02 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    min-width:0 !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  .booking-modal .bk-guest-title{
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    flex-shrink:0 !important;
  }
  .booking-modal .bk-guest-sub{
    font-size:7.2px !important;
    line-height:1.02 !important;
    opacity:.82 !important;
    color:#3F5D69 !important;
    font-weight:500 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    min-width:0 !important;
  }
  .booking-modal .bk-guest--inline{
    display:grid !important;
    grid-template-columns:18px 1fr 18px !important;
    gap:0 !important;
    padding-top:0.2px !important;
    align-items:center !important;
    justify-items:center !important;
    margin-top:0 !important;
  }
  .booking-modal .bk-guest-btn{
    width:18px !important;
    height:18px !important;
    border-radius:5px !important;
    min-width:18px !important;
    min-height:18px !important;
    padding:0 !important;
    border-width:1px !important;
  }
  .booking-modal .bk-guest-btn svg{
    width:7.8px !important;
    height:7.8px !important;
    stroke-width:2.9 !important;
  }
  .booking-modal .booking-modal .bk-guest--inline input{
    font-size:11px !important;
    padding:1.5px 0 !important;
    height:18px !important;
    font-weight:800;
  }
  .booking-modal .booking-modal .bk-guest-foot{
    padding-top:1px !important;
    margin-top:0.5px !important;
  }
  .booking-modal .bk-guest input{
    font-size:11.3px !important;   /* ⭐ 12.5 → 11.3px */
    height:20px !important;        /* ⭐ 24 → 20px */
    line-height:20px !important;
    padding:0 !important;
    font-weight:800 !important;
    border-radius:5.5px !important;
    border-width:1px !important;
    min-width:0 !important;
  }
  .booking-modal .bk-guest-foot{padding-top:0 !important;margin:0 !important;}
  /* Label capacidade máxima do hóspedes também reduzida */
  .booking-modal .bk-field--guests > .bk-guest-max{
    font-size:8.4px !important;
    line-height:1.05 !important;
    padding-bottom:1.5px !important;
    margin-bottom:1px !important;
    opacity:.9 !important;
  }
  .booking-modal .bk-field--guests > .bk-label{
    padding-bottom:1.5px !important;
    margin-bottom:0 !important;
  }

  /* ---------- actions (botões Continuar / Cancelar ---------- */
  .booking-modal .bk-pane-actions{
    padding-top:8px !important;
    margin-top:1px !important;
    gap:5.5px !important;
  }
  .booking-modal .bk-btn{
    padding:7px 11.5px !important;
    font-size:12px !important;
    border-radius:9px !important;
    gap:5px !important;
  }
  .booking-modal .bk-btn svg{width:12px;height:12px !important;}

  /* ---------- Col2 extras: layout 2 cols (1x amenities larga | 1x discounts + rules empilhados) ---------- */
  .booking-modal .bk-col2-extras{
    display:grid !important;
    grid-template-columns:1.15fr 1fr !important;
    grid-template-rows:auto auto !important;
    gap:5px !important;
    margin-top:1px !important;
  }
  .booking-modal .bk-col2-extras > *{margin:0 !important;}
  .booking-modal .bk-col2-extras .bk-col2-amenities{
    grid-column:1 / 2 !important;
    grid-row:1 / 3 !important;   /* ⭐ amenities ocupa as 2 rows lado esquerdo */
    grid-template-columns:repeat(2,1fr) !important;
    padding:5px 5.5px !important;
    border-radius:8px !important;
    align-self:stretch !important;
  }
  .booking-modal .bk-col2-extras .bk-col2-amenities .bk-amenity{font-size:9px !important;padding:2.5px 4px !important;}
  .booking-modal .bk-col2-extras .bk-col2-discounts{
    grid-column:2 / 3 !important;
    grid-row:1 / 2 !important;
    padding:4.5px 5.5px !important;
    border-radius:8px !important;
    gap:3px !important;
  }
  .booking-modal .bk-col2-extras .bk-col2-discounts .bk-discount-list{grid-template-columns:1fr !important;}
  .booking-modal .bk-col2-extras .bk-col2-rules{
    grid-column:2 / 3 !important;
    grid-row:2 / 3 !important;
    padding:4.5px 5.5px !important;
    border-radius:8px !important;
    gap:3px !important;
  }
  .booking-modal .bk-col2-extras .bk-col2-rules .bk-rules-list{
    grid-template-columns:1fr !important;
    gap:2.5px 7px !important;
  }
  .booking-modal .bk-col2-extras .bk-col2-rules .bk-rules-list li{
    font-size:8.8px !important;
    padding-left:9px !important;
    line-height:1.2 !important;
  }

  /* ---------- REMOVE DUPLICATAS: cartões da COLUNA ESQUERDA (originais) em desktop ---------- */
  /* Mantemos APENAS os compactos de .bk-col2-extras da coluna direita.
     MANTEMOS VÍDEO (com aspect-ratio reduzido 16/7.8) para não ocupar
     espaço vertical desnecessário, SEMPRE visível (antes estava display:none
     e o vídeo nunca carregava visualmente). */
  .booking-modal .bk-s1-grid > .bk-room-media > .bk-amenities#bk-amenities{
    display:none !important;
  }
  .booking-modal .bk-s1-grid > .bk-room-media > .bk-discount-card{
    display:none !important;
  }
  .booking-modal .bk-s1-grid > .bk-room-media > .bk-room-house-rules#bk-room-house-rules{
    display:none !important;
  }
  .booking-modal .bk-s1-grid > .bk-room-media > .bk-video-frame{
    display:block !important;
    aspect-ratio: 16 / 7.8;
    border-radius: 11px !important;
  }
}

.bk-hint{font-size:10.5px;color:#6F8892;font-weight:500;margin-top:-1px}
.bk-error{font-size:10.5px;color:#DC2626;font-weight:600;min-height:13px}
.bk-error:not(:empty)::before{content:"⚠ ";display:inline;margin-right:1px}

/* Prefixo WhatsApp */
.bk-field:has(input[name="guest_phone"]){position:relative}
.bk-prefix-badge{
  position:absolute;left:1.5px;top:calc(1em + 12px);transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:3px;
  padding:0 6.5px 0 6px;height:26px;border-radius:7.5px;margin-left:6.5px;
  background:linear-gradient(180deg,#F0FDF4 0%,#DCFCE7 100%);
  border:1px solid rgba(34,197,94,.28);
  color:#166534;font-weight:700;font-size:11.5px;pointer-events:none;z-index:1;
}
.bk-field:has(input[name="guest_phone"]) input[type="tel"]{padding-left:80px}

/* Guest counter step */
.bk-guest{
  position:relative;display:flex;align-items:center;gap:0;
  border:1.5px solid rgba(15,43,57,.12);border-radius:10px;background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;overflow:hidden;
}
.bk-guest:focus-within{border-color:#0EA5B8;box-shadow:0 0 0 3px rgba(14,165,184,.14)}
.bk-guest-btn{
  width:33px;height:34px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#F7FCFD 0%,#EAF7F9 100%);border:none;cursor:pointer;
  color:#0A7C8B;transition:all 150ms ease;flex-shrink:0;
  position:relative;z-index:2;pointer-events:auto !important;isolation:isolate;
}
.bk-guest-btn:hover{background:#0EA5B8;color:#fff}
.bk-guest-btn:active{transform:scale(.95)}
.bk-guest-btn[data-guest="dec"]{border-right:1px solid rgba(15,43,57,.08)}
.bk-guest-btn[data-guest="inc"]{border-left:1px solid rgba(15,43,57,.08)}
.bk-guest input{
  flex:1;border:none !important;box-shadow:none !important;
  background:transparent !important;text-align:center;font-weight:700;color:#0F2B39;font-size:13px !important;
  padding:6px 0 !important;border-radius:0 !important;
  appearance:textfield;-moz-appearance:textfield;
}
.bk-guest input::-webkit-outer-spin-button,.bk-guest input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bk-guest-max{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  font-size:9.8px;font-weight:600;color:#6F8892;background:rgba(255,255,255,.9);padding:0 5px;border-radius:5px;pointer-events:none;
}

/* Hóspedes acima da capacidade (overflow sutil, perceptível, NÃO é erro) */
.bk-field--guests.bk-guests-over{
  background:
    linear-gradient(180deg,#fffbeb 0%,#fef3c7 100%);
  border-color:rgba(245,158,11,.55) !important;
  box-shadow:
    0 0 0 1px rgba(245,158,11,.12) inset,
    0 2px 10px -8px rgba(217,119,6,.35);
}
.bk-field--guests.bk-guests-over > .bk-label{ color:#92400e !important; }
.bk-field--guests.bk-guests-over .bk-guest-stack{
  border-color:rgba(217,119,6,.32) !important;
  background:rgba(255,251,235,.65);
}
.bk-field--guests.bk-guests-over .bk-guest input[type=number]{
  background:#fff7ed;
  border-color:rgba(217,119,6,.45) !important;
  color:#78350f;
  font-weight:650;
}
.bk-field--guests.bk-guests-over .bk-guest-btn[data-guest="inc"]{
  background:#fde68a;
  color:#92400e;
  border-color:rgba(217,119,6,.55) !important;
}
.bk-field--guests.bk-guests-over .bk-guest-btn[data-guest="inc"]:hover{
  background:#fcd34d;
  color:#78350f;
}
.bk-guests-overflow-note{
  margin-top:7px;
  padding:7.5px 10px;
  border-radius:9px;
  background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);
  border:1px solid rgba(234,88,12,.28);
  display:flex;flex-direction:column;gap:3.5px;
  font-size:10.8px;
  line-height:1.45;
  color:#7c2d12;
}
.bk-gon-head{display:flex;align-items:center;gap:6px}
.bk-gon-icon{font-size:13px;line-height:1}
.bk-gon-head strong{color:#9a3412;font-weight:750;font-size:11px}
.bk-guests-overflow-note p{margin:0;font-size:10.6px;color:#7c2d12;font-weight:500}
.bk-guests-overflow-note ul{margin:1px 0 0 0;padding:0 0 0 17px;font-size:10.5px;color:#7c2d12;font-weight:550;list-style:disc}
.bk-guests-overflow-note li{margin:0.5px 0}

/* Mini summary step 1 (preview em tempo real) */
.bk-summary-mini{
  display:flex;flex-direction:column;gap:5px;padding:9.5px 11px;border-radius:11px;
  background:linear-gradient(145deg,#F0FDFA 0%,#ECFDF5 100%);
  border:1.5px solid rgba(16,185,129,.22);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.bk-sm-row{display:flex;align-items:baseline;justify-content:space-between;gap:9px;font-size:12.5px;color:#305463;font-weight:550}
.bk-sm-row b{color:#0F2B39;font-weight:700;letter-spacing:-.005em;font-variant-numeric:tabular-nums}
.bk-sm-row--discount{color:#047857 !important}
.bk-sm-row--discount b{color:#059669}
.bk-sm-row--discount span::before{content:"🎟 "}
.bk-sm-row--total{padding-top:6px;margin-top:2px;border-top:1px dashed rgba(16,185,129,.3)}
.bk-sm-row--total span{font-weight:700;color:#064E3B;font-size:13px}
.bk-sm-row--total strong{color:#047857;font-size:15px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}

/* Notice: sem café da manhã */
.bk-notice{
  padding:8.5px 10.5px;border-radius:11px;
  background:linear-gradient(180deg,#FEF2F2 0%,#FEE2E2 100%);
  border:1px solid rgba(239,68,68,.22);
  display:flex;flex-direction:column;gap:4px;
}
.bk-notice-row{display:inline-flex;align-items:center;gap:6px}
.bk-notice-icon{font-size:13px;line-height:1}
.bk-notice-row strong{font-size:12px;color:#B91C1C;font-weight:750}
.bk-notice p{margin:0;font-size:11px;color:#7F1D1D;font-weight:500;line-height:1.4}

/* ===== STEP 2 grid ===== */
.bk-s2-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:4px}
.bk-head-step2{display:flex;flex-direction:column;gap:3px;margin-bottom:1px}
.bk-head-title{margin:0;font-size:15px;font-weight:750;letter-spacing:-.01em;color:#0F2B39}
.bk-head-sub{margin:0;font-size:12px;color:#597785;line-height:1.4;font-weight:500}

/* Step2 fields: 4 cols desktop → 2 cols tablet → 1 mobile */
.bk-s2-grid .bk-fields{grid-template-columns:repeat(4, 1fr);gap:9px 11px}

/* Side card step 2 (STICKY no desktop largo) */
.bk-side-card{
  padding:12.5px;border-radius:13px;
  background:linear-gradient(150deg,#0F2B39 0%,#0A4958 50%,#11616F 100%);
  color:#E7F7FA;
  box-shadow:0 14px 32px -12px rgba(10,73,88,.5),0 0 0 1px rgba(14,165,184,.3) inset;
  display:flex;flex-direction:column;gap:9px;align-self:start;
  position:sticky;top:14px;
}
.bk-side-title{
  margin:0 0 1px 0;font-size:12.2px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#67E8F9;
  display:flex;align-items:center;gap:5px;
}
.bk-side-title::after{content:"";flex:1;height:1px;background:rgba(103,232,249,.25);border-radius:1px}
.bk-side-row{display:flex;align-items:center;gap:7.5px;font-size:11.8px;color:#CDE9EE;font-weight:500;line-height:1.38}
.bk-side-row svg{color:#5EEAD4;flex-shrink:0;width:13px;height:13px}
.bk-side-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(14,165,184,.4),transparent);margin:1.5px 0}
.bk-side-price{display:flex;align-items:baseline;justify-content:space-between;gap:9px;padding:9px 10px;border-radius:10px;background:rgba(6,148,162,.22);border:1px solid rgba(94,234,212,.22)}
.bk-side-price span{font-size:11.5px;font-weight:600;color:#A7F3D0}
.bk-side-price strong{color:#ECFDF5;font-size:18px;font-weight:850;letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(15,43,57,.4)}
.bk-side-subject{margin:0;font-size:10.5px;color:rgba(205,233,238,.7);line-height:1.4;margin-top:-1px;font-weight:500}

/* ===== STEP 3 grid ===== */
.bk-s3-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin-top:4px}

.bk-resume-main{display:flex;flex-direction:column;gap:11px}
.bk-resume-head{
  display:flex;align-items:flex-start;gap:10px;padding:11px;border-radius:12px;
  background:linear-gradient(135deg,#ECFDF5 0%,#F0FDFA 60%,#F0F9FF 100%);
  border:1.5px solid rgba(16,185,129,.25);
}
.bk-resume-icon{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#10B981,#059669);color:#fff;
  box-shadow:0 6px 16px -6px rgba(16,185,129,.5),0 0 0 3px rgba(16,185,129,.16);
}
.bk-resume-icon svg{width:19px;height:19px}
.bk-resume-title{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em;color:#064E3B}
.bk-resume-sub{margin:2px 0 0 0;font-size:12px;color:#047857;line-height:1.43;font-weight:500}

.bk-resume-group{display:flex;flex-direction:column;gap:7px}
.bk-rg-title{
  display:inline-flex;align-items:center;gap:5.5px;
  margin:0;padding:5.5px 9.5px;border-radius:8.5px;width:fit-content;
  background:linear-gradient(90deg,rgba(14,165,184,.1) 0%,rgba(122,154,107,.08) 100%);
  color:#0A7C8B;font-size:11.5px;font-weight:750;letter-spacing:.02em;text-transform:uppercase;
}
.bk-rg-title svg{color:#0EA5B8;width:12px;height:12px}
.bk-rg-body{
  padding:10.5px;border-radius:11px;
  background:#FCFEFF;border:1.5px solid rgba(15,43,57,.08);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
  display:grid;grid-template-columns:repeat(3, 1fr);gap:7px 11px;
}
.bk-rg-row{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;font-size:11.8px;line-height:1.4}
.bk-rg-row--full{grid-column:1 / -1}
.bk-rg-row span{color:#597785;font-weight:600;min-width:30%}
.bk-rg-row b{color:#0F2B39;font-weight:700;text-align:right;flex:1;word-break:break-word}
.bk-rg-row p{margin:0;color:#0F2B39;font-weight:550;font-size:12px;text-align:right;line-height:1.5;background:rgba(14,165,184,.05);padding:7px 9px;border-radius:8px}

/* Price card (lado direito step 3 - TOTAL · STICKY desktop largo) */
.bk-price-card{
  padding:13px;border-radius:14px;align-self:start;position:relative;overflow:hidden;
  background:linear-gradient(155deg,#0A2540 0%,#0F3D4F 45%,#075985 100%);
  color:#E0F2FE;
  box-shadow:0 18px 40px -14px rgba(7,89,133,.55),0 0 0 1px rgba(125,211,252,.22) inset;
  position:sticky;top:14px;
}
.bk-price-card::before{
  content:"";position:absolute;top:-60px;right:-60px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(56,189,248,.32),transparent 70%);
  pointer-events:none;
}
.bk-price-card::after{
  content:"";position:absolute;bottom:-80px;left:-40px;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(16,185,129,.24),transparent 70%);
  pointer-events:none;
}
.bk-pc-title{
  position:relative;z-index:1;margin:0 0 9px 0;
  display:flex;align-items:center;gap:5.5px;font-size:12.2px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#7DD3FC;
}
.bk-pc-title svg{color:#38BDF8;width:13px;height:13px}

.bk-pc-row{
  position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:11px;
  padding:5.5px 2px;font-size:12.3px;color:#BAE6FD;font-weight:550;
}
.bk-pc-row b{color:#F0F9FF;font-weight:700;letter-spacing:-.005em;font-variant-numeric:tabular-nums;font-size:12.8px}
.bk-pc-row--discount{color:#86EFAC !important;padding:6.5px 8.5px;border-radius:8.5px;background:rgba(16,185,129,.15);border:1px dashed rgba(134,239,172,.4)}
.bk-pc-row--discount b{color:#BBF7D0;font-weight:800}
.bk-pc-row--discount span::before{content:"🎟 ";margin-right:1px}
.bk-pc-divider{position:relative;z-index:1;height:1.5px;background:linear-gradient(90deg,transparent,rgba(125,211,252,.38),transparent);margin:7px 0}
.bk-pc-row--total{padding:10.5px 10px 9.5px;border-radius:11px;background:rgba(15,23,42,.35);border:1.5px solid rgba(56,189,248,.32);box-shadow:0 0 0 3.5px rgba(14,165,184,.12),0 2px 0 rgba(255,255,255,.04) inset;margin:7px -1.5px 0}
.bk-pc-row--total span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#7DD3FC;text-transform:uppercase}
.bk-pc-row--total strong{
  font-size:22px;font-weight:900;letter-spacing:-.02em;color:#ECFEFF;
  font-variant-numeric:tabular-nums;text-shadow:0 2px 12px rgba(56,189,248,.35);
}

/* Tag de desconto (ex: 10% OFF · 3 noites) */
.bk-pc-tag{
  position:relative;z-index:1;margin-top:9px;display:inline-flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:999px;
  background:linear-gradient(135deg,#FEF3C7 0%,#FDE68A 100%);color:#92400E;
  font-size:11px;font-weight:750;border:1px solid #F59E0B;
  box-shadow:0 0 0 2.5px rgba(245,158,11,.18);
}
.bk-pc-tag svg{color:#D97706;width:11px;height:11px}

.bk-pc-footer{position:relative;z-index:1;margin-top:10px;padding-top:8px;border-top:1px dashed rgba(125,211,252,.25)}
.bk-pc-footer p{margin:0;font-size:10.8px;color:rgba(186,230,253,.78);line-height:1.45;font-weight:500}

/* Botão WhatsApp final (destacado) */
.bk-btn-whatsapp{
  position:relative;z-index:2;margin-top:10px;width:100%;
  display:inline-flex;align-items:center;justify-content:center;gap:8.5px;
  padding:12.5px 15px;border-radius:12px;cursor:pointer;border:none;
  background:linear-gradient(135deg,#25D366 0%,#128C7E 55%,#075E54 100%);
  color:#fff;font-size:14px;font-weight:800;letter-spacing:-.005em;
  box-shadow:0 10px 24px -8px rgba(37,211,102,.55),0 0 0 1px rgba(255,255,255,.15) inset,0 1px 0 rgba(255,255,255,.22) inset;
  transition:all 200ms cubic-bezier(.2,.9,.2,1);
  font-family:inherit;
}
.bk-btn-whatsapp:hover:not(:disabled){transform:translateY(-2px) scale(1.01);box-shadow:0 16px 32px -10px rgba(37,211,102,.6),0 0 0 1px rgba(255,255,255,.18) inset,0 1px 0 rgba(255,255,255,.28) inset;filter:brightness(1.04)}
.bk-btn-whatsapp:active:not(:disabled){transform:translateY(1px) scale(.992)}
.bk-btn-whatsapp--loading{background:linear-gradient(135deg,#86EFAC,#16A34A) !important;cursor:progress !important;opacity:.9 !important}
.bk-spinner{animation:bkSpin 1s linear infinite}

/* ===== Botões gerais das pane (cancelar / voltar / continuar) ===== */
.bk-pane-actions{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:13px;margin-top:3px;
  border-top:1px dashed rgba(15,43,57,.12);
}
.bk-pane-actions--s3{justify-content:flex-start;border-top:1px solid rgba(15,43,57,.08);padding-top:11px}
.bk-btn{
  display:inline-flex;align-items:center;gap:7px;justify-content:center;
  padding:9px 14.5px;border-radius:10.5px;border:none;cursor:pointer;
  font-size:12.8px;font-weight:700;letter-spacing:-.005em;font-family:inherit;
  transition:all 170ms cubic-bezier(.2,.8,.2,1);
}
.bk-btn-primary{
  background:linear-gradient(135deg,#0EA5B8 0%,#0C8292 50%,#0A6470 100%);color:#fff;
  box-shadow:0 6px 16px -6px rgba(14,165,184,.5),0 1px 0 rgba(255,255,255,.2) inset;
  padding:9.5px 16px;
}
.bk-btn-primary:hover{transform:translateY(-1.5px);box-shadow:0 10px 22px -8px rgba(14,165,184,.56),0 1px 0 rgba(255,255,255,.25) inset;filter:brightness(1.05)}
.bk-btn-primary:active{transform:translateY(.5px) scale(.99)}
.bk-btn-ghost{
  background:#fff;color:#2C4E5D;border:1.5px solid rgba(15,43,57,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
.bk-btn-ghost:hover{border-color:#1E3944;color:#0F2B39;background:#F7FCFD}
.bk-btn-ghost:active{transform:translateY(.5px) scale(.99)}

/* ====== RESPONSIVO · 4 breakpoints (1280 → 900 → 768 → 640 → 380) ====== */

/* (1) Desktop menor / Notebook ≤1280px: reduz cols grids (3→2 fields, rg 2 cols, amen 3 cols) */
@media (max-width:1280px){
  .bk-window{width:min(1100px,96vw);border-radius:19px}
  .bk-s1-grid{grid-template-columns:46% 1fr;gap:15px}
  .bk-s2-grid{grid-template-columns:1.3fr 1fr;gap:15px}
  .bk-s3-grid{grid-template-columns:1.15fr 1fr;gap:15px}
  /* Step2 fields 4→3 cols */
  .bk-s2-grid .bk-fields{grid-template-columns:repeat(3, 1fr);gap:9px 11px}
  /* Step3 rg-body 3→2 cols */
  .bk-rg-body{grid-template-columns:repeat(2, 1fr);gap:7px 11px}
  /* Amenities 4→3 cols (desktop menor) */
  .bk-amenities{grid-template-columns:repeat(auto-fill, minmax(112px, 1fr));gap:4.5px;padding:9px 9px}
  /* Thumbs 50→48 */
  .bk-gallery-thumbs{grid-template-columns:repeat(auto-fill, minmax(48px,1fr));gap:4px;padding:5px}
  .bk-discount-list{grid-template-columns:1fr 1fr;gap:5px}
  .bk-pane{padding:4px 20px 18px}
  .bk-steps{padding:15px 24px 9px}
}

/* (2) Tablet / Laptop ≤900px: grid S1→1 col · fields 2 cols · sticky DESATIVADO */
@media (max-width:900px){
  .bk-window{width:96vw;max-height:94dvh;border-radius:18px}
  /* TODOS grids 1 col */
  .bk-s1-grid,.bk-s2-grid,.bk-s3-grid{grid-template-columns:1fr !important;gap:15px}
  /* Sticky desativado (cards ocupam largura toda) */
  .bk-side-card{position:static !important;align-self:stretch;padding:13px 12px;border-radius:13px}
  .bk-price-card{position:static !important;align-self:stretch;margin-top:2px;padding:14px 12px;border-radius:14px}
  /* Todos fields grids 2 cols */
  .bk-fields{grid-template-columns:1fr 1fr;gap:9px 11px}
  .bk-s2-grid .bk-fields{grid-template-columns:1fr 1fr;gap:9px 11px}
  .bk-rg-body{grid-template-columns:1fr 1fr;gap:7px 11px}
  /* Amenities 2 cols tablet */
  .bk-amenities{grid-template-columns:repeat(2, 1fr);gap:4.5px;padding:9px 9px;border-radius:10px}
  .bk-discount-list{grid-template-columns:1fr 1fr;gap:5px}
  .bk-rules-list{grid-template-columns:1fr 1fr;gap:5px 11px}
  .bk-steps{padding:14px 20px 8px}
  .bk-pane{padding:3px 18px 16px}
  .bk-pc-row--total strong{font-size:21px}
  .bk-gallery-thumbs{grid-template-columns:repeat(auto-fill, minmax(46px,1fr));gap:4px;padding:5px;max-height:min(calc((46px + 4px) * 2), 112px);overflow-y:auto;scrollbar-width:thin}
}

/* (3) Tablet pequeno ≤768px: rg-body 2 cols · gallery thumbs largura total */
@media (max-width:768px){
  .bk-window{width:96vw;max-height:94dvh;border-radius:17px}
  .bk-s1-grid,.bk-s2-grid,.bk-s3-grid{grid-template-columns:1fr !important;gap:14px}
  .bk-side-card{position:static !important;align-self:stretch}
  .bk-price-card{position:static !important;align-self:stretch;margin-top:2px}
  .bk-fields{grid-template-columns:1fr 1fr;gap:9px}
  .bk-s2-grid .bk-fields{grid-template-columns:1fr 1fr}
  .bk-rg-body{grid-template-columns:1fr 1fr;gap:7px 10px}
  .bk-discount-list{grid-template-columns:1fr 1fr}
  .bk-amenities{grid-template-columns:repeat(2, 1fr);gap:4.5px;padding:9px 9px}
  .bk-steps{padding:14px 19px 8px}
  .bk-pane{padding:3px 17px 16px}
  .bk-pc-row--total strong{font-size:21px}
  .bk-rules-list{grid-template-columns:1fr 1fr;gap:5px 11px}
  .bk-gallery-stage{aspect-ratio:16/9;min-height:200px;height:min(calc(96vw * 0.56), 46dvh)}
  .bk-gallery-stage[data-orientation="portrait"]{aspect-ratio:auto;min-height:360px;height:min(calc(96vw * 1.2), 70dvh)}
  .bk-gallery-stage[data-orientation="square"]{aspect-ratio:1/1;min-height:280px;height:min(calc(96vw * 0.92), 58dvh)}
  .bk-video-frame{aspect-ratio:16/9}
  .bk-video-frame[data-orientation="portrait"]{aspect-ratio:auto;min-height:400px;height:min(calc(96vw * 1.3), 74dvh)}
  .bk-gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:4px;padding:5px;max-height:min(calc((42px + 4px) * 2), 104px);overflow-y:auto;scrollbar-width:thin}
}

/* (4) Mobile PEQUENO (≤640px): FULLSCREEN overlay · 2 cols fields · slide-up animation */
@media (max-width:640px){
  .booking-modal{z-index:9999}
  .bk-backdrop{background:rgba(10,30,40,.78);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
  .bk-window{
    position:absolute;inset:0;width:100vw;height:100dvh;max-height:none;
    border-radius:0;transform:none;top:0;left:0;
    box-shadow:none;animation:bkSlideUp 280ms cubic-bezier(.2,.9,.2,1.02) both;
  }
  @keyframes bkSlideUp{from{transform:translateY(16dvh);opacity:0}to{transform:translateY(0);opacity:1}}

  .bk-titlebar{padding:10px 13px 9px;border-radius:0}
  .bk-title{font-size:12.5px;gap:6px;max-width:52%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .bk-close{width:26px;height:26px;border-radius:8px}
  .bk-dot{width:11px;height:11px}
  .bk-steps{padding:13px 15px 7px;gap:8px}
  .bk-step-line{top:25px;left:calc(15px + 21px);right:calc(15px + 21px)}
  .bk-step{gap:7px}
  .bk-step-num{width:25px;height:25px;font-size:12px}
  .bk-step-label{font-size:12px}

  .bk-pane{padding:2px 14px 16px}
  .bk-s1-grid,.bk-s2-grid,.bk-s3-grid{gap:14px}
  .bk-form-col{gap:13px}
  .bk-fields{grid-template-columns:1fr 1fr;gap:9px 11px}
  .bk-s2-grid .bk-fields{grid-template-columns:1fr 1fr}
  .bk-rg-body{grid-template-columns:1fr 1fr;gap:6.5px 10px}

  .bk-field input[type="date"],.bk-field input[type="text"],.bk-field input[type="email"],.bk-field input[type="tel"],.bk-field textarea{padding:9.5px 10.5px;font-size:14px;border-radius:10px}
  .bk-field:has(input[name="guest_phone"]) input[type="tel"]{padding-left:78px}
  .bk-guest-btn{width:31px;height:32px}
  .bk-guest-max{font-size:9.5px;right:8px}

  /* Guest stack MOBILE 2 cols × 2 rows ≤640px */
  .bk-guest-stack{
    padding:4px 4.5px 3px;gap:1.5px;border-radius:9px;
    display:grid;grid-template-columns:repeat(2,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.23);
  }
  .bk-guest-row{
    gap:2px;padding:2px 2.5px;flex-direction:column;align-items:stretch;
  }
  .bk-guest-row:nth-child(odd){border-right:1px dashed rgba(100,116,139,.18)}
  .bk-guest-row:nth-child(-n+2){border-bottom:1px dashed rgba(100,116,139,.18)}
  .bk-guest-title{font-size:11px;font-weight:750;line-height:1.12}
  .bk-guest-sub{font-size:9px;line-height:1.1}
  .bk-guest--inline{width:100%;max-width:100%;gap:2px;padding-top:2px;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;justify-items:center}
  .bk-guest--inline .bk-guest-btn{width:30px;height:28px;border-radius:6px}
  .bk-guest--inline .bk-guest-btn svg{width:10.5px;height:10.5px;stroke-width:3px}
  .bk-guest--inline input{font-size:12.5px !important;padding:3px 0 !important;height:28px;font-weight:800}
  .bk-guest-foot{
    padding-top:2px;margin-top:0.3px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:4px;
  }
  .bk-guest-foot .bk-guest-max{font-size:9px;font-weight:650;position:static;transform:none;background:none;padding:0;margin:0}

  .bk-resume-head{padding:11px 12px;border-radius:12px;gap:10px}
  .bk-resume-icon{width:40px;height:40px;border-radius:11px}
  .bk-resume-icon svg{width:20px;height:20px}
  .bk-resume-title{font-size:15px}
  .bk-price-card{position:static !important;padding:14px 13px;border-radius:14px}
  .bk-pc-row--total{padding:11px 10px 10px}
  .bk-pc-row--total strong{font-size:21px}
  .bk-btn-whatsapp{padding:13px 15px;font-size:14px;border-radius:12px}
  .bk-discount-list{grid-template-columns:1fr 1fr;gap:5px}

  .bk-pane-actions{padding-top:15px;gap:8px;flex-wrap:wrap}
  .bk-pane-actions .bk-btn{flex:1 1 auto}
  .bk-pane-actions .bk-btn-ghost{order:2}
  .bk-pane-actions .bk-btn-primary{order:1;flex:2 1 60%}
  .bk-pane-actions--s3 .bk-btn{flex:0 0 auto}
  .bk-amenities{grid-template-columns:repeat(2, 1fr);gap:4.5px;padding:9px 9px;border-radius:10px}
  .bk-amenity{font-size:10.8px;padding:3px 6.5px}

  /* Componentes específicos mobile ≤640px */
  .bk-short-badge{
    position:static;align-self:flex-start;margin-top:2px;
    font-size:10px;padding:3px 9px;
  }
  .bk-gallery-stage:where(:not([data-orientation="portrait"])){aspect-ratio:16/9}
  .bk-gallery-stage[data-orientation="portrait"]{aspect-ratio:auto;min-height:260px;height:min(calc(96vw * 1.22), 70dvh)}
  .bk-gallery-stage[data-orientation="square"]{aspect-ratio:1/1;min-height:260px;height:min(92vw, 66dvh)}
  .bk-gallery-stage[data-orientation="ultrawide"]{aspect-ratio:21/9;min-height:180px}
  .bk-video-frame[data-orientation="portrait"]{aspect-ratio:9/16;min-height:300px;height:min(calc(96vw * 1.3), 74dvh)}
  .bk-gallery-nav{width:32px;height:32px}
  .bk-gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:4px;padding:5px}
  .bk-rules-list{grid-template-columns:1fr;gap:5px}
  .bk-room-house-rules,.bk-room-policy{padding:9px 10.5px;border-radius:11px}
  .bk-rules-title{font-size:12px}
}

/* (5) Compact Mobile EXTREMO (≤380px): TUDO 1 col · thumbs 4 cols tiny · title oculto */
@media (max-width:380px){
  .bk-fields{grid-template-columns:1fr}
  .bk-s2-grid .bk-fields{grid-template-columns:1fr}
  .bk-rg-body{grid-template-columns:1fr}
  .bk-field-2{grid-column:1 / -1}
  .bk-field-full{grid-column:1 / -1}
  .bk-title{display:none}
  .bk-steps{padding:12px 13px 7px}
  .bk-step-num{width:24px;height:24px;font-size:11.5px}
  .bk-step-label{font-size:11.5px}
  .bk-pane{padding:0 12px 14px}
  .bk-price-card{padding:13px 11px;border-radius:13px}
  .bk-pc-row--total strong{font-size:19.5px}
  .bk-btn-whatsapp{padding:12.5px 13px;font-size:13.5px}
  .bk-discount-list{grid-template-columns:1fr}
  .bk-amenities{grid-template-columns:1fr 1fr}
  .bk-rules-list{grid-template-columns:1fr}
  .bk-gallery-stage:where(:not([data-orientation="portrait"])){aspect-ratio:16/9}
  .bk-gallery-stage[data-orientation="portrait"]{aspect-ratio:auto;min-height:240px;height:min(calc(94vw * 1.25), 72dvh)}
  .bk-gallery-stage[data-orientation="square"]{aspect-ratio:1/1;min-height:240px;height:min(90vw, 68dvh)}
  .bk-gallery-stage[data-orientation="ultrawide"]{aspect-ratio:21/9;min-height:160px}
  .bk-video-frame[data-orientation="portrait"]{aspect-ratio:9/16;min-height:280px;height:min(calc(94vw * 1.33), 76dvh)}
  .bk-gallery-thumbs{grid-template-columns:repeat(4,1fr);gap:3px;padding:4px}
  .bk-short-badge{font-size:9.8px;padding:2.5px 8px}
  .bk-room-house-rules,.bk-room-policy{padding:8.5px 10px;border-radius:10.5px;font-size:11.2px}
}

/* ============================================================
   CAMADA DE COMPACTAÇÃO EXTREMA (anti-rolagem)
   Alterações agressivas mas preservando UX/legibilidade
   ============================================================ */

/* ——— REGRAS BASE (evita duplicação de conteúdo col1 vs col2):
   .bk-col2-head e .bk-col2-extras SÓ aparecem em telas
   grandes (≥1024px) onde a col1 de mídia reduz os cards.
   Em telas menores esses blocos são OCULTOS para não duplicar
   (amenities/regras/descontos já aparecem na coluna de mídia).
   ——— */
.bk-col2-head{display:none}
.bk-col2-extras{display:none}

/* ——— BASE: Reduz alturas de mídia (todas as telas <1440px) ——— */
@media (max-width:1439px){
  .bk-video-frame:where(:not([data-orientation="portrait"])){aspect-ratio:21/9}
  .bk-video-frame[data-orientation="portrait"]{aspect-ratio:9/16;min-height:380px;height:min(calc(42vw * 1.45), 68vh)}
  .bk-gallery-stage:where(:not([data-orientation="portrait"])){aspect-ratio:21/9}
  .bk-gallery-stage[data-orientation="portrait"]{aspect-ratio:auto;min-height:300px;height:min(calc(42vw * 1.2), 66vh)}
  .bk-gallery-stage[data-orientation="square"]{aspect-ratio:1/1;min-height:300px;height:min(42vw, 62vh)}
  .bk-gallery-stage[data-orientation="ultrawide"]{aspect-ratio:21/9;min-height:220px}
  .bk-gallery-thumbs{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:3.5px;padding:4px}
  .bk-gallery-thumb{aspect-ratio:auto;height:42px;border-radius:5px}
  .bk-gallery-nav{width:28px;height:28px}
  .bk-gallery-nav svg{width:12px;height:12px}
}

/* ——— Tablet GRANDE / Notebook PEQUENO (1024–1439px) ———
   Guest stack HORIZONTAL (3 cols) · Summary+Notice 2 cols ·
   Extras compact 2 cols · Amenities 3 cols · Step2 fields 4 cols
   ——— */
@media (min-width:1024px) and (max-width:1439px){
  /* === STEP 1: compactação geral === */
  .bk-s1-grid{grid-template-columns:44% 1fr;gap:12px 15px;margin-top:2px;align-items:start}

  /* COL1 MÍDIA: reduzir blocos desnecessários, focar no essencial */
  .bk-s1-grid > .bk-room-media{gap:8px;display:grid;grid-template-columns:1fr;align-content:start}
  .bk-s1-grid > .bk-room-media > .bk-room-head,
  .bk-s1-grid > .bk-room-media > .bk-room-policy{display:none !important}
  .bk-s1-grid > .bk-room-media > .bk-video-frame{border-radius:13px}
  .bk-s1-grid > .bk-room-media > .bk-gallery{border-radius:11px}

  /* Amenities 3 cols compact */
  .bk-s1-grid > .bk-room-media > .bk-amenities{
    grid-template-columns:repeat(3,1fr);gap:3.5px;padding:6.5px 7px;border-radius:9.5px;
  }
  .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity{
    font-size:9.7px;padding:2.3px 5px;line-height:1.2;font-weight:600
  }
  .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity svg{width:9px;height:9px}

  /* Descontos compact 2 cols lado a lado com regras */
  .bk-s1-grid > .bk-room-media > .bk-discount-card{
    padding:6px 7px;gap:4.5px;border-radius:9.5px
  }
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-title{
    font-size:9.8px;gap:3px
  }
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-list{
    grid-template-columns:1fr 1fr;gap:3.5px
  }
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-item{
    padding:4px 5.5px;border-radius:6px;font-size:9.8px;gap:4px
  }
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-item b{font-size:10px}
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-dn{
    min-width:17px;height:17px;padding:0 4px;font-size:9.5px;border-radius:5.5px
  }

  /* Regras da casa compactas */
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules{
    padding:6px 7px;gap:4.5px;border-radius:9.5px
  }
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-title{
    font-size:9.8px;gap:3px
  }
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list{
    grid-template-columns:1fr 1fr;gap:3.5px 9px
  }
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list li{
    font-size:9.5px;padding-left:11px;line-height:1.22
  }
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list li::before{
    top:5px;width:4px;height:4px
  }

  /* === COL2 FORM: ativar col2-head + col2-extras (antes só ≥1440) === */
  .bk-form-col{gap:8px}
  .bk-col2-head{
    display:grid !important;grid-template-columns:1fr auto;gap:4px 7px;align-items:center;
    padding:5.5px 9px;border-radius:10px;
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.2);
  }
  .bk-col2-head .bk-c2-name{font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:#0F2B39;margin:0;line-height:1.15}
  .bk-col2-head .bk-c2-badges{display:flex;flex-wrap:wrap;gap:3px}
  .bk-col2-head .bk-c2-badges .bk-badge{font-size:9.5px;padding:2px 5px;border-radius:999px;font-weight:700;line-height:1.2}
  .bk-col2-head .bk-c2-cat{
    font-size:9.8px;font-weight:650;color:#475569;letter-spacing:.02em;text-transform:uppercase;
    grid-column:1 / -1;margin-top:-0.5px;
  }

  /* S1 HEAD: summary + notice lado a lado (2 cols) */
  .bk-s1-head{grid-template-columns:1.6fr 1fr;gap:8px;align-items:stretch;margin:0}
  .bk-s1-side-notes{justify-content:stretch;gap:5px}
  .bk-s1-side-notes .bk-notice{padding:6px 7.5px;border-radius:9px;flex:1;gap:2.5px}
  .bk-s1-side-notes .bk-notice-row strong{font-size:10.5px}
  .bk-s1-side-notes .bk-notice p{font-size:9.4px;line-height:1.28;margin:0}
  .bk-s1-side-notes .bk-step-err{font-size:10px;padding:5px 6.5px !important;border-radius:8px}

  /* Summary MINI compacto em grid 3 cols (como ≥1440px) */
  .bk-summary-mini{
    padding:7px 9px 7.5px;gap:3.5px 9px;border-radius:9.5px;
    display:grid;grid-template-columns:1fr 1fr 1.2fr;
    background:linear-gradient(145deg,#F0FDFA 0%,#ECFDF5 55%,#DFFBF1 100%);
    box-shadow:0 6px 18px -12px rgba(16,185,129,.42),0 0 0 1px rgba(16,185,129,.22) inset,0 1px 0 rgba(255,255,255,.9) inset;
  }
  .bk-summary-mini::before{
    content:"💵 Resumo";grid-column:1 / 3;grid-row:1 / 2;margin:0;padding:0 0 3px;
    font-size:10.3px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#065F46;
    display:flex;align-items:center;
  }
  .bk-sm-row{font-size:11.3px;gap:6.5px;padding:0.2px 0;min-height:18px;display:flex;align-items:center;justify-content:space-between}
  .bk-sm-row:nth-of-type(1){grid-column:1 / 2;grid-row:2 / 3}
  .bk-sm-row:nth-of-type(2){grid-column:2 / 3;grid-row:2 / 3}
  .bk-sm-row:nth-of-type(3){grid-column:1 / 2;grid-row:3 / 4}
  .bk-sm-row--discount{grid-column:2 / 3;grid-row:3 / 4 !important}
  .bk-sm-row b{font-size:11.5px;font-weight:750;color:#064E3B}
  .bk-sm-row--total{
    grid-column:3 / 4;grid-row:2 / 4;padding:4.5px 8px 4px;margin:0;border-radius:8.5px;
    background:linear-gradient(180deg,#0F766E 0%,#0F172A 100%);
    color:#F0FDFA;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;
    box-shadow:0 2px 0 rgba(255,255,255,.08) inset;
  }
  .bk-sm-row--total span{font-size:9.7px;font-weight:700;letter-spacing:.12em;color:#A7F3D0;text-transform:uppercase}
  .bk-sm-row--total strong{font-size:18px;font-weight:900;letter-spacing:-.02em;color:#F0FDFA;font-variant-numeric:tabular-nums;line-height:1}

  /* FIELDS step 1: mais compactos */
  .bk-fields--s1{grid-template-columns:repeat(2,1fr);gap:6px 8.5px;padding:0}
  .bk-fields--s1 .bk-field--guests{grid-column:1 / -1;margin-top:-0.5px}
  /* Step2 fields ainda mais próximos */
  .bk-field{gap:2px}
  .bk-label{font-size:10.3px;font-weight:750;gap:1.5px;line-height:1.18}
  .bk-label em{font-size:10.5px;font-weight:700}
  .bk-field input[type="date"],
  .bk-field input[type="text"],
  .bk-field input[type="email"],
  .bk-field input[type="tel"],
  .bk-field input[type="number"],
  .bk-field textarea{
    padding:6px 7.5px;font-size:12.2px;border-radius:8px;border-width:1.2px;line-height:1.33;height:auto;
  }
  .bk-hint{font-size:8.9px;margin-top:-1.2px;line-height:1.2;color:#64748B}
  /* Textarea Observações: AMPLIADO para usar espaço disponível (user pediu p/ não ficar pequeno) */
  .bk-fields--s2 .bk-field:last-of-type textarea,
  .bk-s2-grid textarea,
  textarea[name="notes"]{
    min-height:128px !important;
    max-height:220px !important;
    line-height:1.38 !important;
    padding-top:7.5px !important;
    padding-bottom:7.5px !important;
  }

  /* Guest stack HORIZONTAL 4 cols (4 contadores: Adultos · Crianças · Bebês · Colchões) */
  .bk-guest-stack{
    padding:3px 4.5px 2.5px;gap:1.5px;border-radius:8px;
    display:grid;grid-template-columns:repeat(4,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.23);
  }
  .bk-guest-row{
    gap:1.5px;padding:1.5px 2.5px;flex-direction:column;align-items:stretch;
    border-right:1px dashed rgba(100,116,139,.18);
  }
  .bk-guest-row:last-of-type{border-right:none}
  .bk-guest-meta{gap:0.2px}
  .bk-guest-title{font-size:10px;font-weight:750;line-height:1.08;color:#0F2B39}
  .bk-guest-sub{font-size:8.2px;line-height:1.08;color:#64748B;font-weight:500}
  .bk-guest--inline{width:100%;max-width:100%;gap:1.5px;padding-top:1.5px;display:grid;grid-template-columns:27px 1fr 27px;align-items:center;justify-items:center}
  .bk-guest--inline .bk-guest-btn{width:27px;height:25px;border-radius:5.5px;gap:0;min-width:min-content;position:relative;z-index:3;pointer-events:auto !important}
  .bk-guest--inline .bk-guest-btn svg{width:9.5px;height:9.5px;stroke-width:3px}
  .bk-guest--inline input{
    font-size:11.8px !important;padding:2.5px 0 !important;height:25px !important;font-weight:800;width:100%;
    text-align:center;border:none;background:transparent;color:#0F2B39;
    pointer-events:auto !important;user-select:text !important;cursor:text !important;
  }
  .bk-guest-foot{
    padding-top:1.5px;margin-top:0px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:4px;
  }
  .bk-guest-foot .bk-guest-max{font-size:8.5px;font-weight:650;color:#334155}

  /* COL2 EXTRAS: 2 cols paralelas (amenities + descontos/regras) */
  .bk-col2-extras{
    display:grid !important;grid-template-columns:1.1fr .95fr;gap:7.5px;align-items:start;
    padding-top:0.5px;
  }
  .bk-col2-extras .bk-amenities{
    grid-template-columns:repeat(2,1fr);gap:3px;padding:5.5px 6.5px;border-radius:9px;margin:0;
    background:linear-gradient(145deg,#FAFAF9 0%,#F5F5F4 100%);
  }
  .bk-col2-extras .bk-amenity{font-size:9.4px;padding:2px 4px;line-height:1.18;font-weight:600}
  .bk-col2-extras .bk-amenity svg{width:8.5px;height:8.5px}
  .bk-col2-extras .bk-discount-card{
    padding:5.5px 6.5px;gap:4px;border-radius:9px;margin:0;
  }
  .bk-col2-extras .bk-discount-title{font-size:9.5px;gap:3px;padding:0;margin-bottom:0}
  .bk-col2-extras .bk-discount-list{grid-template-columns:1fr;gap:3px}
  .bk-col2-extras .bk-discount-list .bk-discount-item{padding:3.5px 5px;border-radius:6px;font-size:9.3px;gap:3.5px}
  .bk-col2-extras .bk-discount-list .bk-discount-item b{font-size:9.5px}
  .bk-col2-extras .bk-rules-card{
    padding:5.5px 6.5px;gap:4px;border-radius:9px;margin:0;
    background:linear-gradient(145deg,#F0F9FF 0%,#E0F2FE 100%);border:1px solid rgba(14,165,233,.22);
  }
  .bk-col2-extras .bk-rules-title{font-size:9.5px;gap:3px;color:#0C4A6E;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
  .bk-col2-extras .bk-rules-list{grid-template-columns:1fr;gap:3px}
  .bk-col2-extras .bk-rules-list li{font-size:9.2px;padding:2px 3.5px;border-radius:5.5px;line-height:1.2;background:rgba(255,255,255,.7)}

  /* Actions compactas */
  .bk-pane-actions{padding-top:8px;margin-top:1px;gap:5.5px}
  .bk-btn{padding:7px 11px;border-radius:8.5px;font-size:11.7px;gap:5px}
  .bk-btn-primary{padding:7.5px 13px;font-weight:750}

  /* === STEP 2: 4 cols fields · Nome(2)+CPF(1)+Email(1) · DDD(1)+Num(3) === */
  .bk-s2-grid{grid-template-columns:1.45fr 1fr;gap:13px;margin-top:2px}
  .bk-s2-grid .bk-fields--s2{grid-template-columns:repeat(4,1fr);gap:6.5px 8.5px}
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(1){grid-column:span 2} /* Nome */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(2){grid-column:span 1} /* CPF */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(3){grid-column:span 1} /* Email */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(4){grid-column:span 1} /* DDD */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(5){grid-column:span 3} /* Número */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(6){grid-column:1 / -1} /* Obs full */
  .bk-head-step2{gap:2px;margin-bottom:0}
  .bk-head-title{font-size:14px;letter-spacing:-.012em}
  .bk-head-sub{font-size:11px;line-height:1.35;margin-top:0.5px}
  /* Textarea Observações: AMPLIADO para usar espaço real disponível.
     Antes min-height 46px (muito pequeno - usuário reportou).
     Agora 118px mínimo para caber observações sem rolagem. */
  .bk-s2-grid .bk-fields--s2 textarea,
  .booking-modal textarea[name="notes"],
  .bk-field textarea{min-height:118px;line-height:1.38;padding-top:7px;padding-bottom:7px;max-height:200px}

  /* Side card step 2 denso */
  .bk-side-card{padding:10px 10.5px;gap:7.5px;top:10px;border-radius:11.5px}
  .bk-side-title{font-size:10.8px;gap:4px;margin-bottom:0}
  .bk-side-row{font-size:11px;gap:6px;line-height:1.32}
  .bk-side-row svg{width:12px;height:12px}
  .bk-side-divider{margin:0.3px 0}
  .bk-side-price{padding:7px 8.5px;border-radius:9px;gap:7.5px}
  .bk-side-price span{font-size:10.7px}
  .bk-side-price strong{font-size:16.5px;font-weight:850}
  .bk-side-subject{font-size:9.7px;line-height:1.32;margin-top:-1.5px}

  /* === STEP 3: resume-groups 2 cols paralelos === */
  .bk-s3-grid{grid-template-columns:1.1fr 1fr;gap:13px;margin-top:2px}
  .bk-resume-main{gap:8.5px}
  .bk-resume-head{padding:8.5px 9.5px;border-radius:10.5px;gap:8px}
  .bk-resume-icon{width:34px;height:34px;border-radius:9.5px}
  .bk-resume-icon svg{width:17px;height:17px}
  .bk-resume-title{font-size:14px;letter-spacing:-.012em}
  .bk-resume-sub{font-size:11px;line-height:1.37;margin-top:1px}

  /* Resume groups em 2 cols (quarto | hóspede) */
  .bk-resume-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
  .bk-resume-head{grid-column:1 / -1}
  .bk-resume-group{gap:5.5px}
  .bk-rg-title{padding:4.5px 8px;border-radius:7.5px;font-size:10.5px;gap:4.5px}
  .bk-rg-title svg{width:11px;height:11px}
  .bk-rg-body{grid-template-columns:1fr;gap:5.5px 9px;padding:8px 8.5px;border-radius:9.5px}
  .bk-rg-row{font-size:11.2px;gap:7px;line-height:1.35}
  .bk-rg-row--full{grid-column:1 / -1}
  .bk-rg-row p{font-size:11px;line-height:1.38;padding:5.5px 7px;border-radius:7px}

  /* Price card denso */
  .bk-price-card{padding:10.5px 11px;border-radius:12.5px;top:10px}
  .bk-pc-title{font-size:11px;letter-spacing:.04em;gap:4.5px;margin-bottom:6px}
  .bk-pc-title svg{width:12px;height:12px}
  .bk-pc-row{padding:4.5px 1px;font-size:11.6px;gap:9px}
  .bk-pc-row b{font-size:12px;font-weight:750}
  .bk-pc-row--discount{padding:5.5px 7px;border-radius:7.5px}
  .bk-pc-divider{margin:5.5px 0}
  .bk-pc-row--total{padding:8.5px 9px 8px;border-radius:9.5px;margin:5.5px -1.5px 0}
  .bk-pc-row--total span{font-size:11px;letter-spacing:.07em}
  .bk-pc-row--total strong{font-size:19.5px;letter-spacing:-.02em}
  .bk-pc-tag{margin-top:7.5px;padding:4px 8.5px;border-radius:999px;font-size:10.2px;gap:4px}
  .bk-pc-tag svg{width:10px;height:10px}
  .bk-pc-footer{margin-top:8px;padding-top:6.5px}
  .bk-pc-footer p{font-size:10.2px;line-height:1.38}
  .bk-btn-whatsapp{margin-top:8.5px;padding:11px 13px;border-radius:11px;font-size:13px;gap:7.5px}

  /* Panes padding reduzido */
  .bk-pane{padding:3px 19px 13px}
}

/* ——— RESPONSIVO ADICIONAL: Mobile ≤640px COMPACTO EXTREMO ——— */
@media (max-width:640px){
  /* Video/gallery mais baixos */
  .bk-video-frame{aspect-ratio:16/8}
  .bk-gallery-stage{aspect-ratio:16/8}

  /* Thumbs: 5 cols fixas menores */
  .bk-gallery-thumbs{grid-template-columns:repeat(5,1fr);gap:3px;padding:4px}
  .bk-gallery-thumb{height:38px;border-radius:5px}

  /* Pane ainda mais compacto */
  .bk-pane{padding:1px 12px 13px}
  .bk-s1-grid,.bk-s2-grid,.bk-s3-grid{gap:11px}
  .bk-form-col{gap:10px}

  /* Inputs menores */
  .bk-field input[type="date"],
  .bk-field input[type="text"],
  .bk-field input[type="email"],
  .bk-field input[type="tel"],
  .bk-field textarea{
    padding:7.5px 9px;font-size:13.5px;border-radius:9px;
  }
  .bk-field textarea{min-height:52px}

  /* Step1 fields ainda mais próximos */
  .bk-fields--s1{gap:7px 9px}
  .bk-fields--s2{gap:7px 9px}

  /* Guest stack MOBILE 2 cols × 2 rows (4 contadores: 2+2) */
  .bk-guest-stack{
    padding:4px 4.5px 3px;gap:1.5px;border-radius:9px;
    display:grid;grid-template-columns:repeat(2,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.23);
  }
  .bk-guest-row{
    gap:2px;padding:2px 2.5px;flex-direction:column;align-items:stretch;
  }
  .bk-guest-row:nth-child(odd){border-right:1px dashed rgba(100,116,139,.18)}
  .bk-guest-row:nth-child(-n+2){border-bottom:1px dashed rgba(100,116,139,.18)}
  .bk-guest-title{font-size:11px;font-weight:750;line-height:1.12}
  .bk-guest-sub{font-size:9px;line-height:1.1}
  .bk-guest--inline{width:100%;max-width:100%;gap:2px;padding-top:2px;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;justify-items:center}
  .bk-guest--inline .bk-guest-btn{width:30px;height:28px;border-radius:6px}
  .bk-guest--inline .bk-guest-btn svg{width:10.5px;height:10.5px;stroke-width:3px}
  .bk-guest--inline input{font-size:12.5px !important;padding:3px 0 !important;height:28px;font-weight:800}
  .bk-guest-foot{
    padding-top:2px;margin-top:0.3px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:4px;
  }
  .bk-guest-foot .bk-guest-max{font-size:9px;font-weight:650}

  /* Summary mini mais denso */
  .bk-summary-mini{padding:8px 9px;border-radius:10px;gap:4px}
  .bk-sm-row{font-size:11.5px;gap:7px}
  .bk-sm-row--total{padding-top:4.5px;margin-top:0.5px}
  .bk-sm-row--total span{font-size:11.2px}
  .bk-sm-row--total strong{font-size:14px}

  /* Notice menor */
  .bk-notice{padding:6px 8px;border-radius:9px;gap:3px}
  .bk-notice-row strong{font-size:11px}
  .bk-notice p{font-size:10px;line-height:1.35}

  /* Step2 head menor */
  .bk-head-step2{gap:1.5px;margin-bottom:0}
  .bk-head-title{font-size:14px}
  .bk-head-sub{font-size:11px;line-height:1.35}

  /* Side cards menores */
  .bk-side-card{padding:11px 11px;border-radius:12px;gap:7.5px}
  .bk-side-title{font-size:11px;margin-bottom:0}
  .bk-side-row{font-size:11px;gap:6px}
  .bk-side-price{padding:7.5px 8.5px;border-radius:9.5px}
  .bk-side-price strong{font-size:17px}

  /* Step3 ainda menor */
  .bk-resume-head{padding:9.5px 10.5px;border-radius:11.5px;gap:8.5px}
  .bk-resume-icon{width:36px;height:36px;border-radius:10px}
  .bk-resume-icon svg{width:18px;height:18px}
  .bk-resume-title{font-size:14.5px}
  .bk-resume-sub{font-size:11px;line-height:1.38;margin-top:1px}
  .bk-rg-body{padding:8.5px 9px;border-radius:10px;gap:5.5px 9px}
  .bk-rg-row{font-size:11.3px;gap:7px}
  .bk-price-card{padding:12px 11.5px;border-radius:13px}
  .bk-pc-row--total{padding:9.5px 9.5px 9px;border-radius:10px}
  .bk-pc-row--total strong{font-size:19.5px}
  .bk-btn-whatsapp{padding:12px 14px;border-radius:11.5px;font-size:13.5px}

  /* Actions compacto mobile */
  .bk-pane-actions{padding-top:12px;gap:7px}
  .bk-btn{padding:8.5px 12.5px;border-radius:9.5px;font-size:12.3px;gap:6px}

  /* Steps header compacto mobile */
  .bk-steps{padding:12px 13px 6px;gap:6px}
  .bk-step-line{top:24px;left:calc(13px + 20px);right:calc(13px + 20px)}
  .bk-step-num{width:23px;height:23px;font-size:11.5px}
  .bk-step-label{font-size:11.5px;font-weight:650}
  .bk-titlebar{padding:9px 12px 8px}
  .bk-close{width:25px;height:25px;border-radius:7.5px}
}

/* ——— Mobile ≤520px: esconder step labels (só números) + galeria thumbs reduzida ——— */
@media (max-width:520px){
  .bk-step-label{display:none}
  .bk-step{gap:0}
  .bk-step-line{top:23.5px}
  .bk-gallery-thumbs{grid-template-columns:repeat(5,1fr);gap:2.5px;padding:3.5px}
  .bk-gallery-thumb{height:34px}
}

/* ——— Mobile EXTREMO ≤420px: máxima compactação vertical ——— */
@media (max-width:420px){
  .bk-video-frame{aspect-ratio:21/9}
  .bk-gallery-stage{aspect-ratio:21/9}
  .bk-gallery-thumbs{grid-template-columns:repeat(5,1fr);gap:2.5px;padding:3px}
  .bk-gallery-thumb{height:30px;border-radius:4.5px}
  .bk-gallery-nav{width:28px;height:28px}
  .bk-gallery-nav svg{width:11px;height:11px}

  .bk-pane{padding:0 10px 12px}
  .bk-form-col{gap:9px}
  .bk-s1-grid,.bk-s2-grid,.bk-s3-grid{gap:10px}

  .bk-field input[type="date"],
  .bk-field input[type="text"],
  .bk-field input[type="email"],
  .bk-field input[type="tel"],
  .bk-field textarea{
    padding:7px 8px;font-size:13px;border-radius:8.5px;
  }
  .bk-field textarea{min-height:48px}
  .bk-label{font-size:11px}

  .bk-guest-stack{
    padding:3.5px 4px 2.5px;gap:1px;border-radius:8.5px;
    display:grid;grid-template-columns:repeat(2,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.22);
  }
  .bk-guest-row{
    gap:1.5px;padding:1.5px 2px;flex-direction:column;align-items:stretch;
  }
  .bk-guest-row:nth-child(odd){border-right:1px dashed rgba(100,116,139,.18)}
  .bk-guest-row:nth-child(-n+2){border-bottom:1px dashed rgba(100,116,139,.18)}
  .bk-guest-title{font-size:10.5px;font-weight:750;line-height:1.1}
  .bk-guest-sub{font-size:8.5px;line-height:1.08}
  .bk-guest--inline{width:100%;max-width:100%;gap:1.5px;padding-top:1.5px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;justify-items:center}
  .bk-guest--inline .bk-guest-btn{width:28px;height:27px;border-radius:5.5px}
  .bk-guest--inline .bk-guest-btn svg{width:10px;height:10px;stroke-width:3px}
  .bk-guest--inline input{font-size:12px !important;padding:2.5px 0 !important;height:27px;font-weight:800}
  .bk-guest-foot{
    padding-top:1.5px;margin-top:0px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:3.5px;
  }
  .bk-guest-foot .bk-guest-max{font-size:8.5px;font-weight:650}

  .bk-summary-mini{padding:7.5px 8.5px;border-radius:9.5px;gap:3.5px}
  .bk-sm-row{font-size:11.2px}
  .bk-sm-row--total strong{font-size:13.5px}

  .bk-resume-head{padding:8.5px 9.5px;border-radius:10.5px;gap:7.5px}
  .bk-resume-icon{width:33px;height:33px;border-radius:9px}
  .bk-resume-icon svg{width:16.5px;height:16.5px}
  .bk-resume-title{font-size:14px}
  .bk-rg-body{padding:7.5px 8px;border-radius:9px;gap:5px 8px}
  .bk-rg-row{font-size:11px}

  .bk-price-card{padding:11px 10.5px;border-radius:12px}
  .bk-pc-row--total strong{font-size:18.5px}
  .bk-btn-whatsapp{padding:11px 13px;font-size:13px}

  .bk-pane-actions{padding-top:11px;gap:6px}
  .bk-btn{padding:8px 11.5px;border-radius:9px;font-size:12px}
}

/* ——— Tablet / Notebook PEQUENO (768–1023px): OTIMIZAÇÕES PARCIAIS
   Guest stack HORIZONTAL · Summary+Notice 2 cols · Step2 fields 4 cols ·
   NÃO duplica col2-head/col2-extras (mantém tudo na col1 de mídia)
   ——— */
@media (min-width:768px) and (max-width:1023px){
  /* === STEP 1 === */
  .bk-s1-grid{grid-template-columns:42% 1fr;gap:11px 13px;align-items:start}
  .bk-s1-grid > .bk-room-media{gap:7px}

  /* Summary + Notice lado a lado 2 cols */
  .bk-s1-head{grid-template-columns:1.45fr 1fr;gap:7px;align-items:stretch;margin:0}
  .bk-s1-side-notes{justify-content:stretch;gap:4px}
  .bk-s1-side-notes .bk-notice{padding:5.5px 7px;border-radius:8.5px;gap:2px;flex:1}
  .bk-s1-side-notes .bk-notice-row strong{font-size:10.2px}
  .bk-s1-side-notes .bk-notice p{font-size:9.2px;line-height:1.25;margin:0}

  /* Summary mini 3 cols compact */
  .bk-summary-mini{
    padding:6.5px 8px 7px;gap:3px 8px;border-radius:9px;
    display:grid;grid-template-columns:1fr 1fr 1.15fr;
    background:linear-gradient(145deg,#F0FDFA 0%,#ECFDF5 55%,#DFFBF1 100%);
  }
  .bk-summary-mini::before{
    content:"💵 Resumo";grid-column:1 / 3;grid-row:1 / 2;margin:0;padding:0 0 2.5px;
    font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#065F46;
  }
  .bk-sm-row{font-size:11px;gap:6px;padding:0.2px 0;min-height:17px;display:flex;align-items:center;justify-content:space-between}
  .bk-sm-row:nth-of-type(1){grid-column:1 / 2;grid-row:2 / 3}
  .bk-sm-row:nth-of-type(2){grid-column:2 / 3;grid-row:2 / 3}
  .bk-sm-row:nth-of-type(3){grid-column:1 / 2;grid-row:3 / 4}
  .bk-sm-row--discount{grid-column:2 / 3;grid-row:3 / 4 !important}
  .bk-sm-row b{font-size:11.2px;font-weight:750;color:#064E3B}
  .bk-sm-row--total{
    grid-column:3 / 4;grid-row:2 / 4;padding:4px 7px 3.5px;margin:0;border-radius:8px;
    background:linear-gradient(180deg,#0F766E 0%,#0F172A 100%);
    color:#F0FDFA;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;
  }
  .bk-sm-row--total span{font-size:9.3px;font-weight:700;letter-spacing:.11em;color:#A7F3D0;text-transform:uppercase}
  .bk-sm-row--total strong{font-size:16.5px;font-weight:900;letter-spacing:-.02em;color:#F0FDFA;font-variant-numeric:tabular-nums;line-height:1}

  /* Fields step 1 compact */
  .bk-fields--s1{grid-template-columns:repeat(2,1fr);gap:5.5px 8px;padding:0}
  .bk-fields--s1 .bk-field--guests{grid-column:1 / -1;margin-top:-0.5px}
  .bk-field{gap:1.5px}
  .bk-label{font-size:10.2px;font-weight:750;gap:1.2px;line-height:1.15}
  .bk-field input[type="date"],
  .bk-field input[type="text"],
  .bk-field input[type="email"],
  .bk-field input[type="tel"],
  .bk-field input[type="number"],
  .bk-field textarea{
    padding:5.5px 7px;font-size:12px;border-radius:7.5px;border-width:1.2px;line-height:1.3;height:auto;
  }
  .bk-hint{font-size:8.7px;margin-top:-1px;line-height:1.18;color:#64748B}

  /* Guest stack HORIZONTAL 4 cols (junto com 1024–1439) · 4 contadores inline */
  .bk-guest-stack{
    padding:2.5px 4px 2px;gap:1.5px;border-radius:7.5px;
    display:grid;grid-template-columns:repeat(4,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.23);
  }
  .bk-guest-row{
    gap:1.5px;padding:1.5px 2px;flex-direction:column;align-items:stretch;
    border-right:1px dashed rgba(100,116,139,.18);
  }
  .bk-guest-row:last-of-type{border-right:none}
  .bk-guest-meta{gap:0.2px}
  .bk-guest-title{font-size:9.7px;font-weight:750;line-height:1.08;color:#0F2B39}
  .bk-guest-sub{font-size:8.1px;line-height:1.08;color:#64748B;font-weight:500}
  .bk-guest--inline{width:100%;max-width:100%;gap:1.5px;padding-top:1.5px;display:grid;grid-template-columns:26px 1fr 26px;align-items:center;justify-items:center}
  .bk-guest--inline .bk-guest-btn{width:26px;height:24px;border-radius:5px;gap:0;min-width:min-content;position:relative;z-index:3;pointer-events:auto !important}
  .bk-guest--inline .bk-guest-btn svg{width:9.5px;height:9.5px;stroke-width:3px}
  .bk-guest--inline input{
    font-size:11.7px !important;padding:2px 0 !important;height:24px !important;font-weight:800;width:100%;
    text-align:center;border:none;background:transparent;color:#0F2B39;pointer-events:auto !important;
  }
  .bk-guest-foot{
    padding-top:1.2px;margin-top:0px;grid-column:1 / -1;
    border-top:1px dashed rgba(100,116,139,.2);display:flex;align-items:center;justify-content:space-between;gap:4px;
  }
  .bk-guest-foot .bk-guest-max{font-size:8.4px;font-weight:650;color:#334155}

  /* Amenities / descontos / regras na col1: mais compactos 2 cols */
  .bk-s1-grid > .bk-room-media > .bk-amenities{grid-template-columns:repeat(3,1fr);gap:3px;padding:5.5px 6px;border-radius:8.5px}
  .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity{font-size:9.2px;padding:2px 4px;line-height:1.15;font-weight:600}
  .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity svg{width:8.5px;height:8.5px}
  .bk-s1-grid > .bk-room-media > .bk-discount-card{padding:5.5px 6px;gap:4px;border-radius:8.5px}
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-list{grid-template-columns:1fr 1fr;gap:3px}
  .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-item{padding:3.5px 4.5px;border-radius:5.5px;font-size:9.2px;gap:3.5px}
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules{padding:5.5px 6px;gap:4px;border-radius:8.5px}
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list{grid-template-columns:1fr 1fr;gap:3px 8px}
  .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list li{font-size:9px;padding-left:10px;line-height:1.2}

  /* === STEP 2: 4 cols fields (sem side-card sticky, mas grid 4 cols) === */
  .bk-s2-grid{grid-template-columns:1fr;gap:11px} /* 1 col pois <1024px */
  .bk-s2-grid .bk-fields--s2{grid-template-columns:repeat(4,1fr);gap:6px 8px}
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(1){grid-column:span 2} /* Nome */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(2){grid-column:span 1} /* CPF */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(3){grid-column:span 1} /* Email */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(4){grid-column:span 1} /* DDD */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(5){grid-column:span 3} /* Número */
  .bk-s2-grid .bk-fields--s2 .bk-field:nth-child(6){grid-column:1 / -1} /* Obs full */
  .bk-head-step2{gap:1.5px;margin-bottom:0}
  .bk-head-title{font-size:13.5px}
  .bk-head-sub{font-size:10.8px;line-height:1.32;margin-top:0.3px}
  /* Observações: AMPLIADO (mesmo em telas menores) para caber texto real */
  .bk-s2-grid .bk-fields--s2 textarea,
  textarea[name="notes"]{min-height:108px !important;line-height:1.36;padding-top:6px;padding-bottom:6px;max-height:180px}
  .bk-field textarea{min-height:108px;line-height:1.36;padding-top:6px;padding-bottom:6px}

  /* Side card step 2: inline, NÃO sticky (fica abaixo do form) */
  .bk-side-card{padding:9px 10px;gap:6.5px;border-radius:10.5px;position:static !important}
  .bk-side-title{font-size:10.5px;gap:3.5px;margin-bottom:0}
  .bk-side-row{font-size:10.8px;gap:5.5px;line-height:1.3}
  .bk-side-price{padding:6.5px 8px;border-radius:8.5px;gap:7px}
  .bk-side-price span{font-size:10.5px}
  .bk-side-price strong{font-size:15.5px;font-weight:850}
  .bk-side-subject{font-size:9.5px;line-height:1.3;margin-top:-1px}

  /* === STEP 3: resume groups compacto 1 col (2 cols só ≥1024) === */
  .bk-s3-grid{grid-template-columns:1fr;gap:11px}
  .bk-resume-main{gap:7.5px}
  .bk-resume-head{padding:8px 9px;border-radius:10px;gap:7.5px}
  .bk-resume-icon{width:32px;height:32px;border-radius:9px}
  .bk-resume-icon svg{width:16px;height:16px}
  .bk-resume-title{font-size:13.5px}
  .bk-resume-sub{font-size:10.8px;line-height:1.35;margin-top:0.5px}
  .bk-resume-group{gap:5px}
  .bk-rg-title{padding:4px 7.5px;border-radius:7px;font-size:10.3px;gap:4px}
  .bk-rg-body{grid-template-columns:1fr 1fr;gap:5px 8px;padding:7.5px 8px;border-radius:9px}
  .bk-rg-row{font-size:11px;gap:6.5px;line-height:1.32}
  .bk-rg-row--full{grid-column:1 / -1}

  /* Price card step3 inline compacto */
  .bk-price-card{padding:9.5px 10.5px;border-radius:12px;position:static !important}
  .bk-pc-title{font-size:10.8px;letter-spacing:.035em;gap:4.3px;margin-bottom:5.5px}
  .bk-pc-row{padding:4px 1px;font-size:11.3px;gap:8.5px}
  .bk-pc-divider{margin:5px 0}
  .bk-pc-row--total{padding:8px 8.5px 7.5px;border-radius:9px;margin:5px -1px 0}
  .bk-pc-row--total span{font-size:10.8px;letter-spacing:.065em}
  .bk-pc-row--total strong{font-size:18.5px;letter-spacing:-.02em}
  .bk-btn-whatsapp{margin-top:8px;padding:10.5px 12.5px;border-radius:10.5px;font-size:12.8px;gap:7px}

  /* Actions e pane compactos */
  .bk-pane-actions{padding-top:7.5px;margin-top:0.5px;gap:5px}
  .bk-btn{padding:6.5px 10.5px;border-radius:8px;font-size:11.5px;gap:4.5px}
  .bk-btn-primary{padding:7px 12.5px;font-weight:750}
  .bk-pane{padding:2px 17px 12px}
}

@media (hover:fine) and (pointer:fine){
  .bk-room-row:hover{transform:translateY(-2px)}
}
@media (hover:none){
  .bk-video-frame:hover .bk-video{transform:scale(1.02)}
  .bk-close:hover{background:rgba(15,43,57,.06);border-color:rgba(15,43,57,.1);color:inherit}
}

/* ============================================================
   OVERRIDES ESPECÍFICOS CHROME + RENDERER TRAE + DENSIDADE MÁXIMA
   Correções: dvh→vh fallback, box-sizing forçado, inputs date nativos
   enormes do Chrome removidos, tabular nums reforçado, compactação
   geral dos espaçamentos (Chrome mostra gaps maiores), unificação
   dos 2 blocos @media (max-width:640px) duplicados.
   Especificidade aumentada (classe duplicada) para sobrescrever
   media queries anteriores sem uso de !important.
   ============================================================ */

/* (A) FALLBACKS DE UNIDADES — suporta Chrome antigo sem dvh */
.booking-modal.booking-modal .bk-window{
  max-height: 93vh;                   /* fallback Chrome <108 */
  max-height: 93dvh;
  width: min(1180px, 97vw);           /* 96→97vw evita overflow horizontal 1px no Chrome */
  box-shadow: 0 26px 60px -16px rgba(12,42,55,.42),
              0 1px 0 rgba(255,255,255,.55) inset,
              0 0 0 1px rgba(15,43,57,.1);
}
body body .booking-modal.booking-modal{ overflow: hidden; }
/* Garante que TODO conteúdo interno use border-box (evita diferenças pixel-by-pixel) */
.booking-modal.booking-modal,
.booking-modal.booking-modal *,
.booking-modal.booking-modal *::before,
.booking-modal.booking-modal *::after{
  box-sizing: border-box !important;
}
.booking-modal.booking-modal strong,
.booking-modal.booking-modal b{
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" on, "lnum" on;
}

/* (B) REMOVE UI NATIVA ENORME DO CHROME EM inputs[type=date]/number */
.booking-modal.booking-modal input[type="date"]{
  -webkit-appearance: none;
  appearance: none;
  -moz-appearance: textfield;
  color-scheme: light;
  line-height: 1.25;
  min-height: 0;
}
.booking-modal.booking-modal input[type="date"]::-webkit-calendar-picker-indicator{
  opacity: .65;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transform: scale(.92);
}
.booking-modal.booking-modal input[type="date"]::-webkit-datetime-edit,
.booking-modal.booking-modal input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  padding: 0;
}
.booking-modal.booking-modal input[type="number"]{
  -moz-appearance: textfield;
  appearance: textfield;
}
.booking-modal.booking-modal input[type="number"]::-webkit-outer-spin-button,
.booking-modal.booking-modal input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* (C) SCROLLBAR MAIS FININHA NO CHROME (desktop) — evita ocupar espaço */
.booking-modal.booking-modal .bk-body::-webkit-scrollbar{ width: 7px; }
.booking-modal.booking-modal .bk-body::-webkit-scrollbar-thumb{
  background: rgba(14,165,184,.38);
  border-radius: 4px;
  border: 2px solid transparent;
}
.booking-modal.booking-modal .bk-body{ scrollbar-width: thin; scrollbar-color: rgba(14,165,184,.4) transparent; }

/* (D) COMPACTAÇÃO GERAL BASE (todas as telas Chrome precisam de menos padding do que o renderer) */
.booking-modal.booking-modal .bk-titlebar{ padding: 6.5px 11px 6px; }
.booking-modal.booking-modal .bk-title{ font-size: 12px; letter-spacing: 0; }
.booking-modal.booking-modal .bk-steps{ padding: 10.5px 19px 5.5px; gap: 10px; }
.booking-modal.booking-modal .bk-step{ gap: 6.5px; }
.booking-modal.booking-modal .bk-step-line{ top: 22.5px; left: calc(19px + 19px); right: calc(19px + 19px); }
.booking-modal.booking-modal .bk-step-num{ width: 22.5px; height: 22.5px; font-size: 11.3px; }
.booking-modal.booking-modal .bk-step-label{ font-size: 11.3px; }
.booking-modal.booking-modal .bk-pane{ padding: 2px 18px 12px; }
.booking-modal.booking-modal .bk-room-name{ font-size: 15px; line-height: 1.18; }
.booking-modal.booking-modal .bk-form-col{ gap: 9px; }
.booking-modal.booking-modal .bk-form-col--wide{ gap: 9px; }
.booking-modal.booking-modal .bk-field{ gap: 2px; }
.booking-modal.booking-modal .bk-label{ font-size: 11.1px; gap: 2px; }
.booking-modal.booking-modal .bk-field input[type="date"],
.booking-modal.booking-modal .bk-field input[type="text"],
.booking-modal.booking-modal .bk-field input[type="email"],
.booking-modal.booking-modal .bk-field input[type="tel"],
.booking-modal.booking-modal .bk-field input[type="number"],
.booking-modal.booking-modal .bk-field textarea{
  padding: 6.5px 9.5px;
  font-size: 12.5px;
  border-radius: 8.5px;
  line-height: 1.28;
  min-height: 0;
}
.booking-modal.booking-modal .bk-field textarea{ min-height: 52px; padding-top: 6px; padding-bottom: 6px; }
.booking-modal.booking-modal .bk-hint{ font-size: 9.5px; line-height: 1.2; margin-top: -1px; }

/* (E) GUEST STACK MAIS COMPACTO (Chrome renderiza o padding maior) */
.booking-modal.booking-modal .bk-guest-btn{
  width: 31px;
  height: 32.5px;
}
.booking-modal.booking-modal .bk-guest input{
  font-size: 12.8px !important;
  padding: 5.5px 0 !important;
  height: 32.5px !important;
}
.booking-modal.booking-modal .bk-guest-max{
  position: static !important;
  display: block !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  padding: 0 0 0 0 !important;
  margin: -0.5px 0 5px 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  font-size: 9.2px !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
  font-weight: 550 !important;
  color: #516B76 !important;
  pointer-events: auto !important;
  white-space: normal !important;
  word-break: break-word !important;
}

/* (F) MÍDIA (vídeo + galeria): aspect ratio 16:9 natural
   (evita barras pretas laterais enormes — 16:9 é o padrão fotos/YouTube) */
.booking-modal.booking-modal .bk-video-frame,
.booking-modal.booking-modal .bk-gallery-stage{
  aspect-ratio: 16 / 9;
}
/* ===========================================================
   (F2) CONTAINMENT + ORIENTAÇÃO ROBUSTA (booking-modal)
   — Evita estouro lateral/vertical de vídeo e imagens;
   — Garante que portrait/square/ultrawide vençam o aspect base 21:9.5
   =========================================================== */
.booking-modal.booking-modal .bk-room-media,
.booking-modal.booking-modal .bk-room-media > *,
.booking-modal.booking-modal .bk-video-frame,
.booking-modal.booking-modal .bk-gallery,
.booking-modal.booking-modal .bk-gallery-stage,
.booking-modal.booking-modal .bk-gallery-main,
.booking-modal.booking-modal .bk-gallery-thumbs,
.booking-modal.booking-modal .bk-gallery-thumb{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box !important;
}
.booking-modal.booking-modal .bk-video-frame,
.booking-modal.booking-modal .bk-gallery-stage{
  overflow: hidden !important;
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.booking-modal.booking-modal .bk-video-frame video,
.booking-modal.booking-modal .bk-gallery-stage img.bk-gallery-img,
.booking-modal.booking-modal .bk-gallery-stage video{
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  position: relative;
  z-index: 1;
  display: block;
  margin: auto !important;
}
/* Thumbs booking-modal: scroll dinamico + espaços auto-ajustáveis
   (o max-height real / overflow é controlado INLINE via JS buildGallery,
   para adaptar-se exatamente ao número de imagens) */
.booking-modal.booking-modal .bk-gallery-thumbs{
  min-height: 46px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(14,165,184,.4) transparent;
}
.booking-modal.booking-modal .bk-gallery-thumbs::-webkit-scrollbar{ width: 6px; height: 6px; }
.booking-modal.booking-modal .bk-gallery-thumbs::-webkit-scrollbar-thumb{ background: rgba(14,165,184,.4); border-radius: 3px; }
.booking-modal.booking-modal .bk-gallery-thumbs::-webkit-scrollbar-thumb:hover{ background: rgba(14,165,184,.6); }
/* Orientation overrides — mesma especificidade para vencer aspect base */
.booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
.booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{
  aspect-ratio: auto !important;
  min-height: 300px;
  height: min(calc(42vw * 1.2), 66vh);
}
.booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
.booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{
  aspect-ratio: 1 / 1 !important;
  min-height: 300px;
  height: min(42vw, 62vh);
}
.booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
.booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{
  aspect-ratio: 21 / 9 !important;
  min-height: 220px;
}
.booking-modal.booking-modal .bk-gallery-nav{
  width: 28px; height: 28px;
}
.booking-modal.booking-modal .bk-gallery-nav svg{ width: 12px; height: 12px; }

/* (G) CARDS: side-card e price-card um pouco menores */
.booking-modal.booking-modal .bk-side-card{
  padding: 10px 10.5px;
  gap: 7px;
  top: 11px;
  border-radius: 12px;
}
.booking-modal.booking-modal .bk-side-title{
  font-size: 10.5px;
  margin-bottom: 0;
}
.booking-modal.booking-modal .bk-side-row{
  font-size: 10.8px;
  line-height: 1.3;
  gap: 6px;
}
.booking-modal.booking-modal .bk-side-divider{ margin: 0.2px 0; }
.booking-modal.booking-modal .bk-side-price{
  padding: 7px 8.5px;
  border-radius: 9px;
  gap: 7px;
}
.booking-modal.booking-modal .bk-side-price span{ font-size: 10.5px; }
.booking-modal.booking-modal .bk-side-price strong{ font-size: 16.5px; }
.booking-modal.booking-modal .bk-side-subject{ font-size: 9.5px; line-height: 1.3; }
.booking-modal.booking-modal .bk-price-card{
  padding: 11px 11.5px;
  top: 11px;
  border-radius: 12.5px;
}
.booking-modal.booking-modal .bk-pc-title{ font-size: 10.8px; margin-bottom: 6px; }
.booking-modal.booking-modal .bk-pc-row{ padding: 4px 1px; font-size: 11.4px; gap: 8.5px; }
.booking-modal.booking-modal .bk-pc-divider{ margin: 5px 0; }
.booking-modal.booking-modal .bk-pc-row--total{
  padding: 8px 9px 7.5px;
  border-radius: 9.5px;
  margin: 5px -1px 0;
}
.booking-modal.booking-modal .bk-pc-row--total span{ font-size: 10.8px; }
.booking-modal.booking-modal .bk-pc-row--total strong{ font-size: 19px; }
.booking-modal.booking-modal .bk-btn-whatsapp{
  margin-top: 8px;
  padding: 10.5px 13px;
  font-size: 12.8px;
  border-radius: 11px;
  gap: 7px;
}
.booking-modal.booking-modal .bk-btn{
  padding: 7.5px 13px;
  border-radius: 9.5px;
  font-size: 12px;
  gap: 5px;
}
.booking-modal.booking-modal .bk-pane-actions{
  padding-top: 9px;
  margin-top: 1.5px;
  gap: 5.5px;
}

/* Cross-browser: Garante que bk-col2-head e bk-col2-extras apareçam a partir de ≥1024px
   (tanto com seletor simples quanto com dupla-especificidade .booking-modal.booking-modal)
   Elimina diferenças de renderização entre Chrome, Safari, Firefox, Edge que surgiam por
   diferentes interpretações de ordem de cascata entre media queries. */
@media (min-width:1024px){
  .booking-modal.booking-modal .bk-col2-head{
    display: grid !important;
    grid-template-columns: 1fr auto;
    gap: 4px 7px;
    align-items: center;
    padding: 5.5px 9px;
    border-radius: 10px;
    background: linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border: 1px solid rgba(100,116,139,.2);
  }
  .booking-modal.booking-modal .bk-col2-head .bk-c2-name{
    font-size: 14.5px; font-weight: 800; letter-spacing: -.01em;
    color: #0F2B39; margin: 0; line-height: 1.15;
  }
  .booking-modal.booking-modal .bk-col2-head .bk-c2-badges{ display: flex; flex-wrap: wrap; gap: 3px; }
  .booking-modal.booking-modal .bk-col2-head .bk-c2-badges .bk-badge{
    font-size: 9.5px; padding: 2px 5px; border-radius: 999px;
    font-weight: 700; line-height: 1.2;
  }
  .booking-modal.booking-modal .bk-col2-head .bk-c2-cat{
    font-size: 9.8px; font-weight: 650; color: #475569;
    letter-spacing: .02em; text-transform: uppercase;
    grid-column: 1 / -1; margin-top: -0.5px;
  }
  .booking-modal.booking-modal .bk-col2-extras{
    display: grid !important;
    grid-template-columns: 1.1fr .95fr;
    gap: 7.5px;
    align-items: start;
    padding-top: 0.5px;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-amenities{
    grid-template-columns: repeat(2,1fr); gap: 3px;
    padding: 5.5px 6.5px; border-radius: 9px; margin: 0;
    background: linear-gradient(145deg,#FAFAF9 0%,#F5F5F4 100%);
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-amenity{
    font-size: 9.4px; padding: 2px 4px; line-height: 1.18; font-weight: 600;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-amenity svg{ width: 8.5px; height: 8.5px; }
  .booking-modal.booking-modal .bk-col2-extras .bk-discount-card{
    padding: 5.5px 6.5px; gap: 4px; border-radius: 9px; margin: 0;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-discount-title{
    font-size: 9.5px; gap: 3px; padding: 0; margin-bottom: 0;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-discount-list{
    grid-template-columns: 1fr; gap: 3px;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-discount-list .bk-discount-item{
    padding: 3.5px 5px; border-radius: 6px; font-size: 9.3px; gap: 3.5px;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-discount-list .bk-discount-item b{
    font-size: 9.5px;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-rules-card{
    padding: 5.5px 6.5px; gap: 4px; border-radius: 9px; margin: 0;
    background: linear-gradient(145deg,#F0F9FF 0%,#E0F2FE 100%);
    border: 1px solid rgba(14,165,233,.22);
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-rules-title{
    font-size: 9.5px; gap: 3px; color: #0C4A6E; font-weight: 800;
    letter-spacing: .02em; text-transform: uppercase;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-rules-list{
    grid-template-columns: 1fr; gap: 3px;
  }
  .booking-modal.booking-modal .bk-col2-extras .bk-rules-list li{
    font-size: 9.2px; padding: 2px 3.5px; border-radius: 5.5px;
    line-height: 1.2; background: rgba(255,255,255,.7);
  }
}

/* ============================================================
   RESPONSIVIDADE CONSOLIDADA (1280 → 1024 → 900 → 768 → 640 → 420)
   Elimina sobreposição dos 2 blocos @media (max-width:640px)
   existentes acima. Aplica sempre MESMAS ou MAIORES densidades.
   ============================================================ */

/* (1) Desktop largo intermediário ≤1280px */
@media (max-width:1280px){
  .booking-modal.booking-modal .bk-window{ width: min(1080px, 97vw); border-radius: 18px; }
  .booking-modal.booking-modal .bk-s1-grid{ grid-template-columns: 44% 1fr; gap: 12px; }
  .booking-modal.booking-modal .bk-s2-grid{ grid-template-columns: 1.25fr 1fr; gap: 12px; }
  .booking-modal.booking-modal .bk-s3-grid{ grid-template-columns: 1.1fr 1fr; gap: 12px; }
  .booking-modal.booking-modal .bk-s2-grid .bk-fields{ grid-template-columns: repeat(3, 1fr); gap: 6.5px 9px; }
  .booking-modal.booking-modal .bk-rg-body{ grid-template-columns: repeat(2,1fr); gap: 5.5px 9px; }
  .booking-modal.booking-modal .bk-amenities{ grid-template-columns: repeat(auto-fill, minmax(108px,1fr)); gap: 3.5px; padding: 7.5px 8px; }
  .booking-modal.booking-modal .bk-gallery-thumbs{ grid-template-columns: repeat(auto-fill,minmax(44px,1fr)); gap: 3.5px; padding: 4px; }
  .booking-modal.booking-modal .bk-pane{ padding: 2px 18px 13px; }
  .booking-modal.booking-modal .bk-steps{ padding: 11px 21px 6.5px; }
}

/* (2) Laptop / Tablet GRANDE 1024–1199px (densidade extra) */
@media (min-width:1024px) and (max-width:1199px){
  .booking-modal.booking-modal .bk-window{ width: min(1020px, 97vw); }
  .booking-modal.booking-modal .bk-summary-mini{
    padding: 6px 7.5px 6.5px;
    gap: 2.5px 7.5px;
    display: grid;
    grid-template-columns: 1fr 1fr 1.1fr;
  }
  .booking-modal.booking-modal .bk-summary-mini::before{
    font-size: 9.5px;
    letter-spacing: .055em;
    padding: 0 0 2px;
  }
  .booking-modal.booking-modal .bk-sm-row{
    font-size: 10.5px;
    gap: 5px;
    padding: 0.15px 0;
    min-height: 16.5px;
  }
  .booking-modal.booking-modal .bk-sm-row b{ font-size: 10.8px; }
  .booking-modal.booking-modal .bk-sm-row--total{
    padding: 3.5px 6.5px 3px;
    border-radius: 7.5px;
    gap: 1.5px;
  }
  .booking-modal.booking-modal .bk-sm-row--total span{ font-size: 9px; letter-spacing: .11em; }
  .booking-modal.booking-modal .bk-sm-row--total strong{ font-size: 15.5px; }
  .booking-modal.booking-modal .bk-s1-grid{ grid-template-columns: 44% 1fr; gap: 10px 13px; margin-top: 1px; align-items: start; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media{ gap: 6.5px; }
  .booking-modal.booking-modal .bk-form-col{ gap: 7px; }
  .booking-modal.booking-modal .bk-pane-actions{ padding-top: 6.5px; gap: 4.5px; }
  .booking-modal.booking-modal .bk-pane{ padding: 1.5px 16px 11px; }
  .booking-modal.booking-modal .bk-col2-head{ padding: 4.5px 8px; border-radius: 9.5px; gap: 3.5px 6px; }
  .booking-modal.booking-modal .bk-col2-head .bk-c2-name{ font-size: 13.5px; }
}

/* (3) Tablet GRANDE 900–1023px (2 colunas) */
@media (min-width:900px) and (max-width:1023px){
  .booking-modal.booking-modal .bk-window{ width: min(940px, 97vw); }
  .booking-modal.booking-modal .bk-s1-grid{ grid-template-columns: 42% 1fr; gap: 10px 12px; margin-top: 1px; align-items: start; }
  .booking-modal.booking-modal .bk-btns-compact{ padding: 5.5px 10px; }
  .booking-modal.booking-modal .bk-summary-mini{
    padding: 6.5px 8px;
    gap: 3px;
    border-radius: 9.5px;
    display: grid;
    grid-template-columns: 1fr 1fr 1.15fr;
  }
  .booking-modal.booking-modal .bk-summary-mini::before{ font-size: 9.8px; letter-spacing: .05em; padding: 0 0 2.5px; }
  .booking-modal.booking-modal .bk-sm-row{ font-size: 10.7px; gap: 5.5px; min-height: 17px; }
  .booking-modal.booking-modal .bk-sm-row b{ font-size: 11px; }
  .booking-modal.booking-modal .bk-sm-row--total{ padding: 4px 7px 3.5px; border-radius: 8px; gap: 1.5px; }
  .booking-modal.booking-modal .bk-sm-row--total strong{ font-size: 16.5px; }
  .booking-modal.booking-modal .bk-fields--s1{ grid-template-columns: repeat(2,1fr); gap: 5.5px 8px; }
  .booking-modal.booking-modal .bk-fields--s1 .bk-field--guests{ grid-column: 1 / -1; }
  .booking-modal.booking-modal .bk-field input[type="date"],
  .booking-modal.booking-modal .bk-field input[type="text"],
  .booking-modal.booking-modal .bk-field input[type="email"],
  .booking-modal.booking-modal .bk-field input[type="tel"],
  .booking-modal.booking-modal .bk-field input[type="number"],
  .booking-modal.booking-modal .bk-field textarea{
    padding: 5.5px 7.5px;
    font-size: 12px;
    border-radius: 7.5px;
    border-width: 1.2px;
    line-height: 1.28;
  }
  .booking-modal.booking-modal .bk-label{ font-size: 10.3px; gap: 1.3px; line-height: 1.15; }
  .booking-modal.booking-modal .bk-hint{ font-size: 8.8px; line-height: 1.2; }
  .booking-modal.booking-modal .bk-guest-stack{
    padding: 2.5px 4px 2px;
    gap: 1.5px;
    border-radius: 7.5px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border: 1px solid rgba(100,116,139,.23);
  }
  .booking-modal.booking-modal .bk-guest-row{
    gap: 1.5px;
    padding: 1.5px 2px;
    flex-direction: column;
    align-items: stretch;
    border-right: 1px dashed rgba(100,116,139,.18);
  }
  .booking-modal.booking-modal .bk-guest-row:last-of-type{ border-right: none; }
  .booking-modal.booking-modal .bk-guest-title{ font-size: 9.8px; line-height: 1.08; font-weight: 750; color: #0F2B39; }
  .booking-modal.booking-modal .bk-guest-sub{ font-size: 8.1px; line-height: 1.08; color: #64748B; font-weight: 500; }
  .booking-modal.booking-modal .bk-guest--inline{
    padding-top: 1.5px;
    display: grid;
    grid-template-columns: 26px 1fr 26px;
    align-items: center;
    justify-items: center;
    gap: 1.5px;
  }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn{ width: 26px; height: 24px; border-radius: 5px; }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn svg{ width: 9.5px; height: 9.5px; stroke-width: 3px; }
  .booking-modal.booking-modal .bk-guest--inline input{
    font-size: 11.7px !important;
    padding: 2px 0 !important;
    height: 24px !important;
    font-weight: 800;
    color: #0F2B39;
  }
  .booking-modal.booking-modal .bk-guest-foot{
    padding-top: 1.2px;
    margin-top: 0px;
    grid-column: 1 / -1;
    border-top: 1px dashed rgba(100,116,139,.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
  }
  .booking-modal.booking-modal .bk-guest-max{ font-size: 8.3px !important; margin: -0.5px 0 4px 0 !important; color: #334155; font-weight: 650; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-amenities{ grid-template-columns: repeat(3,1fr); gap: 3px; padding: 5.5px 6px; border-radius: 8.5px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity{ font-size: 9.3px; padding: 2px 4px; line-height: 1.15; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-amenities .bk-amenity svg{ width: 8.5px; height: 8.5px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-discount-card{ padding: 5.5px 6px; gap: 4px; border-radius: 8.5px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-list{ grid-template-columns: 1fr 1fr; gap: 3px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-discount-card .bk-discount-item{ padding: 3.5px 4.5px; border-radius: 5.5px; font-size: 9.3px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-house-rules{ padding: 5.5px 6px; gap: 4px; border-radius: 8.5px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list{ grid-template-columns: 1fr 1fr; gap: 3px 8px; }
  .booking-modal.booking-modal .bk-s1-grid > .bk-room-media > .bk-room-house-rules .bk-rules-list li{ font-size: 9.1px; padding-left: 10px; line-height: 1.2; }
}

/* (4) Tablet / Laptop PEQUENO 768–899px (1 coluna, grids compactos) */
@media (min-width:768px) and (max-width:899px){
  .booking-modal.booking-modal .bk-window{ width: 97vw; max-height: 94vh; max-height: 94dvh; border-radius: 17px; }
  .booking-modal.booking-modal .bk-s1-grid,
  .booking-modal.booking-modal .bk-s2-grid,
  .booking-modal.booking-modal .bk-s3-grid{ grid-template-columns: 1fr !important; gap: 11px; }
  .booking-modal.booking-modal .bk-side-card,
  .booking-modal.booking-modal .bk-price-card{
    position: static !important;
    align-self: stretch;
  }
  .booking-modal.booking-modal .bk-fields{ grid-template-columns: 1fr 1fr; gap: 7px 9.5px; }
  .booking-modal.booking-modal .bk-rg-body{ grid-template-columns: 1fr 1fr; gap: 6px 9.5px; }
  .booking-modal.booking-modal .bk-amenities{ grid-template-columns: repeat(2,1fr); gap: 4px; padding: 8px 8.5px; }
  .booking-modal.booking-modal .bk-discount-list,
  .booking-modal.booking-modal .bk-rules-list{ grid-template-columns: 1fr 1fr; gap: 4px; }
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-video-frame{ aspect-ratio: 16 / 8.5; }
  .booking-modal.booking-modal .bk-room-media,
  .booking-modal.booking-modal .bk-room-media > *,
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery,
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-gallery-thumbs{ width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box !important; }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{ aspect-ratio: auto !important; min-height: 360px; height: min(calc(96vw * 1.2), 70dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{ aspect-ratio: 1 / 1 !important; min-height: 280px; height: min(calc(96vw * 0.92), 58dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{ aspect-ratio: 21 / 9 !important; min-height: 180px; }
  .booking-modal.booking-modal .bk-pane{ padding: 2px 16px 14px; }
  .booking-modal.booking-modal .bk-steps{ padding: 11px 18px 6px; }
  .booking-modal.booking-modal .bk-gallery-thumbs{ grid-template-columns: repeat(4,1fr); gap: 4px; padding: 5px; }
}

/* (5) Mobile ≤767px (2 cols fields, fullscreen modal em ≤640) */
@media (max-width:767px){
  .booking-modal.booking-modal .bk-window{ width: 97vw; max-height: 94vh; max-height: 94dvh; border-radius: 16px; }
  .booking-modal.booking-modal .bk-s1-grid,
  .booking-modal.booking-modal .bk-s2-grid,
  .booking-modal.booking-modal .bk-s3-grid{ grid-template-columns: 1fr !important; gap: 11px; }
  .booking-modal.booking-modal .bk-side-card,
  .booking-modal.booking-modal .bk-price-card{
    position: static !important;
    align-self: stretch;
  }
  .booking-modal.booking-modal .bk-fields,
  .booking-modal.booking-modal .bk-s2-grid .bk-fields{ grid-template-columns: 1fr 1fr; gap: 7px 9.5px; }
  .booking-modal.booking-modal .bk-rg-body{ grid-template-columns: 1fr 1fr; gap: 6px 9px; }
  .booking-modal.booking-modal .bk-discount-list{ grid-template-columns: 1fr 1fr; gap: 4px; }
  .booking-modal.booking-modal .bk-amenities{ grid-template-columns: repeat(2, 1fr); gap: 4px; padding: 8px 8.5px; border-radius: 10px; }
  .booking-modal.booking-modal .bk-rules-list{ grid-template-columns: 1fr 1fr; gap: 4px 10px; }
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-video-frame{ aspect-ratio: 16 / 8; }
  .booking-modal.booking-modal .bk-room-media,
  .booking-modal.booking-modal .bk-room-media > *,
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery,
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-gallery-thumbs{ width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box !important; }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{ aspect-ratio: auto !important; min-height: 360px; height: min(calc(96vw * 1.2), 70dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{ aspect-ratio: 1 / 1 !important; min-height: 280px; height: min(calc(96vw * 0.92), 58dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{ aspect-ratio: 21 / 9 !important; min-height: 180px; }
  .booking-modal.booking-modal .bk-gallery-thumbs{ grid-template-columns: repeat(4,1fr); gap: 4px; padding: 5px; }
  .booking-modal.booking-modal .bk-pane{ padding: 2px 15px 14px; }
  .booking-modal.booking-modal .bk-steps{ padding: 11px 17px 6px; }
  .booking-modal.booking-modal .bk-field input[type="date"],
  .booking-modal.booking-modal .bk-field input[type="text"],
  .booking-modal.booking-modal .bk-field input[type="email"],
  .booking-modal.booking-modal .bk-field input[type="tel"],
  .booking-modal.booking-modal .bk-field textarea{
    padding: 8.5px 10px;
    font-size: 13px;
    border-radius: 9.5px;
  }
}

/* (6) Mobile FULLSCREEN ≤640px — unifica os 2 blocos conflitantes */
@media (max-width:640px){
  .booking-modal.booking-modal{ z-index: 99999; }
  .booking-modal.booking-modal .bk-window{
    position: absolute;
    inset: 0;
    width: 100vw;
    height: 100vh;            /* fallback vh */
    height: 100dvh;           /* real */
    max-height: none;
    border-radius: 0 !important;
    transform: none;
    top: 0; left: 0;
    box-shadow: none;
    animation: bkSlideUp 260ms cubic-bezier(.2,.9,.2,1.02) both !important;
  }
  .booking-modal.booking-modal .bk-backdrop{
    background: rgba(10,30,40,.82);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
  }
  .booking-modal.booking-modal .bk-titlebar{ padding: 9px 12px 8px; border-radius: 0; }
  .booking-modal.booking-modal .bk-title{
    font-size: 12px;
    gap: 5.5px;
    max-width: 50%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .booking-modal.booking-modal .bk-steps{ padding: 11px 13px 5.5px; gap: 7px; }
  .booking-modal.booking-modal .bk-step-line{ top: 23.5px; left: calc(13px + 20px); right: calc(13px + 20px); }
  .booking-modal.booking-modal .bk-step{ gap: 6px; }
  .booking-modal.booking-modal .bk-step-num{ width: 23.5px; height: 23.5px; font-size: 11.3px; }
  .booking-modal.booking-modal .bk-step-label{ font-size: 11.3px; }
  .booking-modal.booking-modal .bk-pane{ padding: 1px 13px 14px; }
  .booking-modal.booking-modal .bk-s1-grid,
  .booking-modal.booking-modal .bk-s2-grid,
  .booking-modal.booking-modal .bk-s3-grid{ gap: 10px; }
  .booking-modal.booking-modal .bk-form-col{ gap: 11px; }
  .booking-modal.booking-modal .bk-fields,
  .booking-modal.booking-modal .bk-s2-grid .bk-fields{ grid-template-columns: 1fr 1fr; gap: 7px 9.5px; }
  .booking-modal.booking-modal .bk-field input[type="date"],
  .booking-modal.booking-modal .bk-field input[type="text"],
  .booking-modal.booking-modal .bk-field input[type="email"],
  .booking-modal.booking-modal .bk-field input[type="tel"],
  .booking-modal.booking-modal .bk-field textarea{
    padding: 8.5px 10px;
    font-size: 13.5px;
    border-radius: 10px;
  }
  .booking-modal.booking-modal .bk-field:has(input[name="guest_phone"]) input[type="tel"]{ padding-left: 76px; }
  .booking-modal.booking-modal .bk-guest-btn{ width: 30px; height: 31.5px; }
  .booking-modal.booking-modal .bk-guest input{
    font-size: 12.2px !important;
    padding: 3px 0 !important;
    height: 29px !important;
    font-weight: 800;
  }
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery-stage{ aspect-ratio: 16 / 7.8; }
  .booking-modal.booking-modal .bk-room-media,
  .booking-modal.booking-modal .bk-room-media > *,
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery,
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-gallery-thumbs{ width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box !important; }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{ aspect-ratio: auto !important; min-height: 260px; height: min(calc(96vw * 1.22), 70dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{ aspect-ratio: 1 / 1 !important; min-height: 260px; height: min(92vw, 66dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{ aspect-ratio: 21 / 9 !important; min-height: 180px; }
  .booking-modal.booking-modal .bk-gallery-thumbs{ grid-template-columns: repeat(5,1fr); gap: 3px; padding: 4px; }
  .booking-modal.booking-modal .bk-gallery-thumb{ height: 38px; border-radius: 5px; }
  .booking-modal.booking-modal .bk-price-card{
    position: static !important;
    padding: 13px 12px;
    border-radius: 13.5px;
  }
  .booking-modal.booking-modal .bk-pc-row--total{ padding: 9.5px 10px 9px; border-radius: 10px; }
  .booking-modal.booking-modal .bk-pc-row--total strong{ font-size: 20px; }
  .booking-modal.booking-modal .bk-btn-whatsapp{ padding: 12px 14px; font-size: 13.5px; border-radius: 11.5px; }
  .booking-modal.booking-modal .bk-summary-mini{ padding: 7.5px 9px; border-radius: 10px; gap: 4px; }
  .booking-modal.booking-modal .bk-sm-row{ font-size: 11.3px; gap: 6.5px; }
  .booking-modal.booking-modal .bk-sm-row--total{ padding-top: 4.5px; margin-top: 0.5px; padding-bottom: 4px; }
  .booking-modal.booking-modal .bk-sm-row--total span{ font-size: 10.7px; letter-spacing: .09em; }
  .booking-modal.booking-modal .bk-sm-row--total strong{ font-size: 17px; }
  .booking-modal.booking-modal .bk-pane-actions{
    padding-top: 11px;
    gap: 6.5px;
    flex-wrap: wrap;
  }
  .booking-modal.booking-modal .bk-pane-actions .bk-btn{ flex: 1 1 auto; }
  .booking-modal.booking-modal .bk-pane-actions .bk-btn-ghost{ order: 2; }
  .booking-modal.booking-modal .bk-pane-actions .bk-btn-primary{ order: 1; flex: 2 1 60%; }
  .booking-modal.booking-modal .bk-pane-actions--s3 .bk-btn{ flex: 0 0 auto; }
  .booking-modal.booking-modal .bk-notice{ padding: 6px 8px; border-radius: 9px; gap: 3px; }
  .booking-modal.booking-modal .bk-notice-row strong{ font-size: 10.8px; }
  .booking-modal.booking-modal .bk-notice p{ font-size: 9.8px; line-height: 1.33; }
  .booking-modal.booking-modal .bk-side-card{
    position: static !important;
    padding: 10.5px 11px;
    gap: 7px;
    border-radius: 12px;
  }
  .booking-modal.booking-modal .bk-side-title{ font-size: 10.7px; }
  .booking-modal.booking-modal .bk-side-row{ font-size: 10.8px; gap: 6px; }
  .booking-modal.booking-modal .bk-side-price{ padding: 7px 8.5px; border-radius: 9.5px; }
  .booking-modal.booking-modal .bk-side-price strong{ font-size: 17px; }
  .booking-modal.booking-modal .bk-resume-head{ padding: 9px 10.5px; border-radius: 11px; gap: 8px; }
  .booking-modal.booking-modal .bk-resume-icon{ width: 35px; height: 35px; border-radius: 9.5px; }
  .booking-modal.booking-modal .bk-resume-icon svg{ width: 17px; height: 17px; }
  .booking-modal.booking-modal .bk-resume-title{ font-size: 14px; }
  .booking-modal.booking-modal .bk-resume-sub{ font-size: 10.8px; line-height: 1.36; }
  .booking-modal.booking-modal .bk-rg-body{ padding: 8px 8.5px; border-radius: 9.5px; gap: 5px 8.5px; }
  .booking-modal.booking-modal .bk-rg-row{ font-size: 11.2px; gap: 6.5px; }
  .booking-modal.booking-modal .bk-guest-stack{
    padding: 4px 4.5px 3px;
    gap: 1.5px;
    border-radius: 9px;
    display:grid;grid-template-columns:repeat(2,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.23);
  }
  .booking-modal.booking-modal .bk-guest-row{ gap: 2px; padding: 2px 2.5px; flex-direction:column; align-items:stretch; }
  .booking-modal.booking-modal .bk-guest-row:nth-child(odd){border-right:1px dashed rgba(100,116,139,.18)}
  .booking-modal.booking-modal .bk-guest-row:nth-child(-n+2){border-bottom:1px dashed rgba(100,116,139,.18)}
  .booking-modal.booking-modal .bk-guest-title{ font-size: 11px; line-height: 1.12; font-weight:750; }
  .booking-modal.booking-modal .bk-guest-sub{ font-size: 9px; line-height: 1.1; }
  .booking-modal.booking-modal .bk-guest--inline{ width: 100%; max-width: 100%; gap:2px; padding-top:2px; display:grid; grid-template-columns:30px 1fr 30px; align-items:center; justify-items:center; }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn{ width: 30px; height: 28px; border-radius:6px; }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn svg{ width: 10.5px; height: 10.5px; stroke-width:3px; }
  .booking-modal.booking-modal .bk-guest--inline input{ font-size:12.5px !important; padding:3px 0 !important; height:28px; font-weight:800; color:#0F2B39; }
  .booking-modal.booking-modal .bk-guest-foot{ padding-top: 2px; margin-top: 0.3px; grid-column:1 / -1; border-top:1px dashed rgba(100,116,139,.2); display:flex; align-items:center; justify-content:space-between; gap:4px; }
  .booking-modal.booking-modal .bk-guest-max{ font-size: 9px !important; margin: 0 !important; font-weight:650; color:#334155; position:static; transform:none; background:none; padding:0; }
}

/* (7) Mobile COMPACTO EXTREMO ≤480px (tudo 1 col fields) */
@media (max-width:480px){
  .booking-modal.booking-modal .bk-fields,
  .booking-modal.booking-modal .bk-s2-grid .bk-fields,
  .booking-modal.booking-modal .bk-rg-body{
    grid-template-columns: 1fr !important;
    gap: 6.5px;
  }
  .booking-modal.booking-modal .bk-field-2,
  .booking-modal.booking-modal .bk-field-full{ grid-column: 1 / -1 !important; }
  .booking-modal.booking-modal .bk-amenities,
  .booking-modal.booking-modal .bk-discount-list,
  .booking-modal.booking-modal .bk-rules-list{ grid-template-columns: 1fr 1fr; gap: 3.5px; }
  .booking-modal.booking-modal .bk-gallery-thumbs{ grid-template-columns: repeat(5,1fr); gap: 2.5px; padding: 3.5px; }
  .booking-modal.booking-modal .bk-gallery-thumb{ height: 34px; border-radius: 4.5px; }
  .booking-modal.booking-modal .bk-title{ display: none; }
  .booking-modal.booking-modal .bk-pane{ padding: 0 11px 12px; }
  .booking-modal.booking-modal .bk-step-label{ font-size: 11px; }
  .booking-modal.booking-modal .bk-steps{ padding: 10.5px 12px 5.5px; gap: 5.5px; }
  .booking-modal.booking-modal .bk-step-line{ top: 22.5px; left: calc(12px + 19px); right: calc(12px + 19px); }
  .booking-modal.booking-modal .bk-step-num{ width: 22px; height: 22px; font-size: 11px; }
  .booking-modal.booking-modal .bk-field input[type="date"],
  .booking-modal.booking-modal .bk-field input[type="text"],
  .booking-modal.booking-modal .bk-field input[type="email"],
  .booking-modal.booking-modal .bk-field input[type="tel"],
  .booking-modal.booking-modal .bk-field textarea{
    padding: 7px 8.5px;
    font-size: 12.8px;
    border-radius: 8.5px;
  }
  .booking-modal.booking-modal .bk-field textarea{ min-height: 48px; }
  .booking-modal.booking-modal .bk-guest-stack{
    padding: 3.5px 4px 2.5px;
    gap: 1px;
    border-radius: 8.5px;
    display:grid;grid-template-columns:repeat(2,1fr);
    background:linear-gradient(145deg,#F8FAFC 0%,#F1F5F9 100%);
    border:1px solid rgba(100,116,139,.22);
  }
  .booking-modal.booking-modal .bk-guest-row{ gap: 1.5px; padding: 1.5px 2px; flex-direction:column; align-items:stretch; }
  .booking-modal.booking-modal .bk-guest-row:nth-child(odd){border-right:1px dashed rgba(100,116,139,.18)}
  .booking-modal.booking-modal .bk-guest-row:nth-child(-n+2){border-bottom:1px dashed rgba(100,116,139,.18)}
  .booking-modal.booking-modal .bk-guest-title{ font-size: 10.5px; line-height: 1.1; font-weight:750; }
  .booking-modal.booking-modal .bk-guest-sub{ font-size: 8.5px; line-height: 1.08; }
  .booking-modal.booking-modal .bk-guest--inline{ width: 100%; max-width: 100%; gap:1.5px; padding-top:1.5px; display:grid; grid-template-columns:28px 1fr 28px; align-items:center; justify-items:center; }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn{ width: 28px; height: 27px; border-radius:5.5px; }
  .booking-modal.booking-modal .bk-guest--inline .bk-guest-btn svg{ width: 10px; height: 10px; stroke-width:3px; }
  .booking-modal.booking-modal .bk-guest--inline input{
    font-size: 12px !important;
    padding: 2.5px 0 !important;
    height: 27px !important;
    font-weight:800;
    color:#0F2B39;
  }
  .booking-modal.booking-modal .bk-guest-foot{ padding-top: 1.5px; margin-top: 0; grid-column:1 / -1; border-top:1px dashed rgba(100,116,139,.2); display:flex; align-items:center; justify-content:space-between; gap:3.5px; }
  .booking-modal.booking-modal .bk-guest-max{ font-size: 8.5px !important; margin: 0 !important; font-weight:650; color:#334155; position:static; transform:none; background:none; padding:0; }
  .booking-modal.booking-modal .bk-summary-mini{ padding: 7px 8.5px; border-radius: 9.5px; gap: 3.5px; }
  .booking-modal.booking-modal .bk-sm-row{ font-size: 11px; gap: 6px; }
  .booking-modal.booking-modal .bk-sm-row--total strong{ font-size: 16px; }
  .booking-modal.booking-modal .bk-resume-head{ padding: 8.5px 9.5px; border-radius: 10.5px; gap: 7.5px; }
  .booking-modal.booking-modal .bk-resume-icon{ width: 33px; height: 33px; border-radius: 9px; }
  .booking-modal.booking-modal .bk-resume-icon svg{ width: 16.5px; height: 16.5px; }
  .booking-modal.booking-modal .bk-resume-title{ font-size: 13.5px; }
  .booking-modal.booking-modal .bk-rg-body{ padding: 7.5px 8px; border-radius: 9px; gap: 5px 8px; }
  .booking-modal.booking-modal .bk-rg-row{ font-size: 11px; gap: 6px; }
  .booking-modal.booking-modal .bk-price-card{ padding: 10.5px 10.5px; border-radius: 12px; }
  .booking-modal.booking-modal .bk-pc-row--total strong{ font-size: 18px; }
  .booking-modal.booking-modal .bk-btn-whatsapp{ padding: 10.5px 12px; font-size: 12.8px; border-radius: 11px; }
  .booking-modal.booking-modal .bk-pane-actions{ padding-top: 10px; gap: 5.5px; }
  .booking-modal.booking-modal .bk-btn{ padding: 7.5px 11px; border-radius: 9px; font-size: 11.8px; gap: 5px; }
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery-stage{ aspect-ratio: 16 / 7.5; }
  .booking-modal.booking-modal .bk-room-media,
  .booking-modal.booking-modal .bk-room-media > *,
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery,
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-gallery-thumbs{ width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box !important; }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{ aspect-ratio: auto !important; min-height: 240px; height: min(calc(94vw * 1.25), 72dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{ aspect-ratio: 1 / 1 !important; min-height: 240px; height: min(90vw, 68dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{ aspect-ratio: 21 / 9 !important; min-height: 160px; }
}

/* (8) Mobile EXTREMO ≤380px */
@media (max-width:380px){
  .booking-modal.booking-modal .bk-window{ height: 100vh; height: 100dvh; }
  .booking-modal.booking-modal .bk-pane{ padding: 0 10px 11px; }
  .booking-modal.booking-modal .bk-s1-grid,
  .booking-modal.booking-modal .bk-s2-grid,
  .booking-modal.booking-modal .bk-s3-grid{ gap: 9px; }
  .booking-modal.booking-modal .bk-form-col{ gap: 9px; }
  .booking-modal.booking-modal .bk-price-card{ padding: 10px 10px; border-radius: 11.5px; }
  .booking-modal.booking-modal .bk-pc-row--total strong{ font-size: 17px; }
  .booking-modal.booking-modal .bk-btn-whatsapp{ padding: 10px 11.5px; font-size: 12.3px; }
  .booking-modal.booking-modal .bk-discount-list,
  .booking-modal.booking-modal .bk-rules-list{ grid-template-columns: 1fr; }
  .booking-modal.booking-modal .bk-gallery-thumbs{
    grid-template-columns: repeat(4,1fr) !important;
    gap: 3px;
    padding: 3.5px;
  }
  .booking-modal.booking-modal .bk-gallery-thumb{ height: 30px; border-radius: 4.5px; }
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery-stage{ aspect-ratio: 21 / 9.5; }
  .booking-modal.booking-modal .bk-room-media,
  .booking-modal.booking-modal .bk-room-media > *,
  .booking-modal.booking-modal .bk-video-frame,
  .booking-modal.booking-modal .bk-gallery,
  .booking-modal.booking-modal .bk-gallery-stage,
  .booking-modal.booking-modal .bk-gallery-thumbs{ width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box !important; }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="portrait"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="portrait"]{ aspect-ratio: auto !important; min-height: 240px; height: min(calc(94vw * 1.25), 72dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="square"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="square"]{ aspect-ratio: 1 / 1 !important; min-height: 240px; height: min(90vw, 68dvh); }
  .booking-modal.booking-modal .bk-gallery-stage[data-orientation="ultrawide"],
  .booking-modal.booking-modal .bk-video-frame[data-orientation="ultrawide"]{ aspect-ratio: 21 / 9 !important; min-height: 160px; }
  .booking-modal.booking-modal .bk-room-house-rules,
  .booking-modal.booking-modal .bk-room-policy{ padding: 8px 9px; border-radius: 10px; font-size: 11px; }
}
