/* ─────────────────────────────────────────────
   Chalé Dailha — shared styles
   Paleta terrosa, tipografia elegante,
   layout fluido e mobile-first.
   ───────────────────────────────────────────── */

:root{
  --bg:        #F5F0E8;      /* bege areia */
  --bg-2:      #EFE7DA;      /* bege mais quente */
  --cream:     #FAF6EE;      /* off-white pra cards */
  --brown:     #5C4033;      /* marrom terra */
  --brown-2:   #432D24;      /* marrom escuro footer */
  --moss:      #6B7C59;      /* verde musgo */
  --moss-2:    #4F5E40;      /* verde mais profundo */
  --ink:       #2C2C2A;      /* texto principal */
  --ink-mute:  #6F6A60;      /* texto secundário */
  --line:      rgba(44,44,42,.12);
  --line-soft: rgba(44,44,42,.07);

  --rad-s: 6px;
  --rad-m: 14px;
  --rad-l: 22px;
  --rad-pill: 999px;

  --shadow-1: 0 1px 2px rgba(67,45,36,.06), 0 8px 28px rgba(67,45,36,.07);
  --shadow-2: 0 2px 4px rgba(67,45,36,.08), 0 24px 60px rgba(67,45,36,.12);

  --f-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --f-body:    "DM Sans", "Helvetica Neue", Helvetica, system-ui, sans-serif;
  --f-script:  "Caveat", "Dancing Script", cursive;
  --f-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --maxw: 1240px;
  --gutter: clamp(20px, 4vw, 56px);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:var(--f-body);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  scroll-behavior:smooth;
  overflow-x:hidden;max-width:100vw}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

/* ── Typography ─────────────────────────────── */
.display{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;line-height:1.02}
.script{font-family:var(--f-script);font-weight:500;font-style:italic;line-height:.9;display:inline-block}
.eyebrow{font-family:var(--f-body);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:500;color:var(--brown)}
.lead{font-size:18px;color:var(--ink-mute);line-height:1.65;max-width:58ch}

h1,h2,h3,h4{margin:0;font-family:var(--f-display);font-weight:500;letter-spacing:-.005em}
h1{font-size:clamp(48px, 7vw, 96px);line-height:1.02}
h2{font-size:clamp(36px, 4.4vw, 60px);line-height:1.08;padding-bottom:.06em}
h3{font-size:clamp(22px, 2.2vw, 28px);line-height:1.2}
p{margin:0 0 14px}
p:last-child{margin-bottom:0}

/* ── Layout helpers ─────────────────────────── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(48px, 6vw, 88px) 0;position:relative}
.section--tight{padding:clamp(36px, 4.5vw, 64px) 0}
.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:48px;max-width:720px}
.section-head .eyebrow{display:inline-flex;align-items:center;gap:8px}
.section-head .eyebrow::before{content:"";display:inline-block;width:18px;height:1px;background:var(--brown)}

/* ── Buttons ────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border-radius:var(--rad-pill);
  border:1px solid transparent;cursor:pointer;
  font-size:14px;font-weight:500;letter-spacing:.01em;
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease}
.btn--primary{background:var(--brown);color:var(--cream)}
.btn--primary:hover{background:var(--brown-2);transform:translateY(-1px);box-shadow:var(--shadow-1)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{background:var(--cream);border-color:var(--brown)}
.btn--light{background:var(--cream);color:var(--brown-2)}
.btn--light:hover{background:#fff}
.btn .arrow{display:inline-block;transition:transform .25s ease}
.btn:hover .arrow{transform:translateX(3px)}

/* ── Nav ────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:18px var(--gutter);color:var(--cream);
  transition:opacity .3s ease, transform .3s ease, visibility .3s}
.nav.scrolled{opacity:0;visibility:hidden;transform:translateY(-20px);pointer-events:none}
.nav-spacer{display:block}
.nav .brand{display:flex;align-items:center;gap:10px;color:var(--cream);font-weight:500;
  opacity:0;visibility:hidden}
.nav.scrolled .brand{color:var(--ink)}
.brand-mark{width:34px;height:34px;border-radius:50%;
  background:var(--cream);color:var(--brown);
  display:grid;place-items:center;font-family:var(--f-display);font-size:18px;
  border:1px solid rgba(255,255,255,.5)}
.nav.scrolled .brand-mark{background:var(--brown);color:var(--cream);border-color:transparent}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text b{font-family:var(--f-display);font-size:18px;font-weight:500;letter-spacing:.02em}
.brand-text small{font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.8}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:13.5px;color:inherit;opacity:.85;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav .btn{padding:10px 18px;font-size:13px}
.nav .btn--ghost{color:inherit;border-color:rgba(250,246,238,.45)}
.nav .btn--ghost:hover{background:rgba(250,246,238,.12);border-color:rgba(250,246,238,.8)}
.nav.scrolled .btn--ghost{border-color:var(--line)}
.nav.scrolled .btn--ghost:hover{background:var(--cream);border-color:var(--brown)}
@media (max-width: 820px){
  .nav-links a:not(.cta){display:none}
}

/* ── Hero ───────────────────────────────────── */
.hero{position:relative;width:100%;aspect-ratio:3/2;
  display:flex;flex-direction:column;justify-content:flex-start;
  color:var(--cream);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;
  background-color:#2C2519;
  background-image:url("assets/hero-foto.png");
  background-size:cover;
  background-position:center center}
.hero-bg img,
.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center center}
/* desktop: desce o enquadramento p/ não cortar a base do chalé */
@media (min-width: 721px){
  .hero-bg img,
  .hero-bg video{object-position:center center}
}
.hero-video{opacity:0;transition:opacity .8s ease}
.hero-video.is-ready{opacity:1}
/* títulos exclusivos do hero mobile (escondidos no desktop) */
.hero-mtitle,.hero-msub{display:none}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 50% at 50% 22%, rgba(20,16,12,.15) 0%, rgba(20,16,12,.04) 50%, transparent 80%),
    linear-gradient(180deg, rgba(20,16,12,.10) 0%, rgba(20,16,12,.0) 45%, rgba(20,16,12,.20) 100%);
  pointer-events:none}
.hero-content{padding:0 var(--gutter) clamp(40px, 7vw, 80px);
  max-width:var(--maxw);width:100%;margin:0 auto;
  display:flex;flex-direction:column;gap:28px;position:relative;z-index:1}
.hero-content--center{align-items:center;text-align:center;
  margin:0 auto;padding-top:clamp(115px, 19.5vh, 215px);
  padding-bottom:clamp(40px, 6vh, 70px);
  flex:1;justify-content:flex-start}
.hero-content--center .hero-ctas{margin-top:auto;padding-top:32px}
.hero-content--center h1{max-width:18ch}
.hero-content--center .hero-sub{max-width:54ch}
.hero-content--center .hero-ctas{justify-content:center}
.hero-content--center .hero-eyebrow--serif::before,
.hero-content--center .hero-eyebrow--serif::after{display:none}
.hero h1{color:var(--cream);max-width:14ch;
  text-shadow:0 2px 24px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.25)}
.hero h1 .script{display:inline-block;color:#E8D8A8;
  font-size:.95em;font-weight:400;transform:rotate(-2deg) translateY(.05em)}
.hero-sub{font-size:clamp(16px, 1.4vw, 19px);max-width:46ch;color:rgba(250,246,238,.95);line-height:1.55;
  text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-ctas .btn--primary{background:var(--cream);color:var(--brown-2)}
.hero-ctas .btn--primary:hover{background:#fff}
.hero-meta{display:flex;flex-wrap:wrap;gap:18px;font-size:12.5px;
  color:rgba(250,246,238,.7);letter-spacing:.04em}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta i{width:4px;height:4px;border-radius:50%;background:#E8D8A8;display:inline-block}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,246,238,.9);font-weight:500;
  text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-eyebrow::before{content:"";width:32px;height:1px;background:#E8D8A8}
.hero-eyebrow--serif{font-family:var(--f-display);font-style:italic;font-weight:400;
  font-size:clamp(15px,1.3vw,18px);letter-spacing:.04em;text-transform:none;
  color:rgba(250,246,238,.9)}
.hero-eyebrow--serif::before{display:none}

/* Hero quick search bar overlap (Wanderly-inspired) */
.hero-bar{margin:0 auto;max-width:calc(var(--maxw) - 0px);width:calc(100% - var(--gutter)*2);
  background:rgba(250,246,238,.96);backdrop-filter:blur(10px);
  border-radius:var(--rad-m);box-shadow:var(--shadow-2);
  display:grid;grid-template-columns: 1.1fr 1fr 1fr .8fr auto;gap:0;
  position:relative;transform:translateY(50%);z-index:2;overflow:hidden}
.hb-field{padding:18px 22px;display:flex;flex-direction:column;gap:4px;
  border-right:1px solid var(--line-soft);min-width:0}
.hb-field:last-of-type{border-right:0}
.hb-field label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}
.hb-field span,.hb-field input,.hb-field select{font-size:14.5px;color:var(--ink);background:transparent;border:0;outline:0;font-family:inherit}
.hb-field input::placeholder{color:rgba(44,44,42,.4)}
.hb-cta{display:grid;place-items:center;background:var(--brown);color:var(--cream);
  padding:0 28px;cursor:pointer;border:0;font-size:14px;font-weight:500;letter-spacing:.02em}
.hb-cta:hover{background:var(--brown-2)}
@media (max-width: 920px){
  .hero-bar{grid-template-columns:1fr 1fr;transform:translateY(0);
    width:calc(100% - var(--gutter)*2);margin-top:24px;border-radius:var(--rad-m)}
  .hb-field{border-bottom:1px solid var(--line-soft)}
  .hb-field:nth-last-child(2){border-bottom:0}
  .hb-cta{grid-column:1/-1;padding:18px}
}

/* Spacer to compensate for overlapping bar on desktop */
.hero-bar-spacer{height:60px}
@media (max-width: 920px){ .hero-bar-spacer{display:none} }

/* ── Photo placeholders (drop-in pra fotos reais) ── */
.photo-ph{position:relative;width:100%;height:100%;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.18) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 90%, rgba(0,0,0,.25) 0%, transparent 55%),
    linear-gradient(160deg, var(--ph-a, #6B7C59) 0%, var(--ph-b, #3E4F33) 55%, var(--ph-c, #2E2519) 100%);
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:18px;overflow:hidden}
.photo-ph::before{content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,.04) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(-45deg, rgba(0,0,0,.05) 0 1px, transparent 1px 18px);
  pointer-events:none}
.photo-ph::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.25);
  display:grid;place-items:center}
.photo-ph .ph-label{position:relative;z-index:2;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.78);
  background:rgba(0,0,0,.28);backdrop-filter:blur(4px);
  padding:6px 10px;border-radius:6px;
  border:1px solid rgba(255,255,255,.12)}
.photo-ph .ph-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:28px;height:28px;color:rgba(255,255,255,.6);z-index:1}
.photo-ph .ph-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4}
.photo-ph.tone-forest{--ph-a:#6B7C59;--ph-b:#3E4F33;--ph-c:#221b13}
.photo-ph.tone-river {--ph-a:#5d7480;--ph-b:#36464f;--ph-c:#1d2329}
.photo-ph.tone-fire  {--ph-a:#9c5530;--ph-b:#5c2c1c;--ph-c:#241108}
.photo-ph.tone-wood  {--ph-a:#8a6a47;--ph-b:#4c3826;--ph-c:#221911}
.photo-ph.tone-night {--ph-a:#3a3b48;--ph-b:#22232c;--ph-c:#0e0e14}
.photo-ph.tone-sand  {--ph-a:#c9b48b;--ph-b:#86714a;--ph-c:#3b3120}

/* ── About ──────────────────────────────────── */
.about{display:grid;grid-template-columns: 1.05fr 1fr;gap:clamp(40px, 6vw, 96px);align-items:center}
.about-copy h2 .script{color:var(--moss);display:inline-block;transform:rotate(-2deg) translateY(.05em);font-size:.95em}
.about-copy p{font-size:17px;color:var(--ink-mute);line-height:1.7;max-width:54ch}
.about-copy .signature{margin-top:32px;display:flex;align-items:center;gap:14px}
.about-copy .signature .script{font-size:32px;color:var(--brown)}
.about-img{position:relative;border-radius:var(--rad-l);overflow:hidden;aspect-ratio: 4/5;box-shadow:var(--shadow-2)}
.about-img img,
.about-img video{width:100%;height:100%;object-fit:cover;display:block}
.about-img .badge{position:absolute;left:20px;bottom:20px;
  background:rgba(250,246,238,.92);backdrop-filter:blur(8px);
  padding:14px 18px;border-radius:var(--rad-m);
  display:flex;flex-direction:column;gap:2px;min-width:170px}
.about-img .badge b{font-family:var(--f-display);font-size:22px;color:var(--brown-2);line-height:1}
.about-img .badge small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
/* título acima do vídeo: só no mobile */
.about-mtitle{display:none}
@media (max-width: 820px){
  .about{grid-template-columns:1fr}
  .about-img{aspect-ratio: 4/3;order:-1}
  .about-copy .about-h2{display:none}
  .about-mtitle{
    display:block;order:-2;
    font-family:var(--f-display);
    font-size:clamp(28px, 8vw, 40px);
    line-height:1.05;color:var(--brown-2);
    margin-bottom:4px;
    text-align:center;
  }
}

/* ── Amenities ──────────────────────────────── */
.amenities{background:var(--bg-2)}
.amenities-grid{display:grid;grid-template-columns: repeat(3, 1fr);gap:1px;
  background:var(--line-soft);border-radius:var(--rad-l);overflow:hidden;
  border:1px solid var(--line-soft)}
.amenity{background:var(--cream);padding:36px 30px;display:flex;flex-direction:column;gap:14px;
  transition:background .25s ease}
.amenity:hover{background:#fff}
.amenity-icon{width:46px;height:46px;border-radius:12px;background:var(--bg);color:var(--brown);
  display:grid;place-items:center}
.amenity-icon svg{width:24px;height:24px;stroke-width:1.4;stroke:currentColor;fill:none}
.amenity h3{font-size:21px}
.amenity p{font-size:14.5px;color:var(--ink-mute);line-height:1.55}
@media (max-width: 820px){ .amenities-grid{grid-template-columns:1fr 1fr} }
@media (max-width: 540px){ .amenities-grid{grid-template-columns:1fr} }

/* ── Gallery ────────────────────────────────── */
.gallery{position:relative}
.gallery-grid{display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px}
.gi{overflow:hidden;position:relative;background:var(--bg-2);aspect-ratio:3/4}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gi:hover img{transform:scale(1.05)}
.gi--dup{display:none}
@media (max-width: 820px) and (min-width: 641px){
  .gallery-grid{grid-template-columns:1fr 1fr}
}
/* ── Carrossel mobile (loop contínuo, igual às comodidades) ── */
@media (max-width: 640px){
  .gallery .wrap{overflow:visible;
    -webkit-mask-image:none;mask-image:none}
  /* scroll manual com snap: a pessoa passa as fotos deslizando */
  .gallery-grid{display:flex;grid-template-columns:none;
    width:auto;gap:14px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding-bottom:6px;
    scrollbar-width:none}
  .gallery-grid::-webkit-scrollbar{display:none}
  /* o grid é muito largo p/ o observer de reveal (threshold) disparar → força visível */
  .gallery .gallery-grid{opacity:1}
  .gi{flex:0 0 82vw;max-width:340px;scroll-snap-align:center}
  .gi--dup{display:none}
  .gi:hover img{transform:none}
}
@keyframes gal-marquee{
  from{transform:translateX(0)}
  to  {transform:translateX(calc(-50% - 7px))}
}

/* ── Booking section ────────────────────────── */
.booking{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%)}
.booking-wrap{display:grid;grid-template-columns: 1.05fr 1fr;gap:clamp(32px, 4vw, 60px);align-items:start}
@media (max-width: 940px){ .booking-wrap{grid-template-columns:1fr} }

.cal-card,.form-card{
  background:var(--cream);border-radius:var(--rad-l);
  padding:clamp(22px, 2.5vw, 32px);box-shadow:var(--shadow-1);
  border:1px solid var(--line-soft)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cal-head h3{font-size:22px}
.cal-nav{display:flex;gap:6px}
.cal-nav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--brown)}
.cal-nav button:hover{background:var(--bg)}
.cal-grid{display:grid;grid-template-columns: repeat(7, 1fr);gap:4px;font-size:13px}
.cal-dow{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-mute);text-align:center;padding:8px 0}
.cal-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;
  border-radius:10px;cursor:pointer;font-variant-numeric:tabular-nums;
  border:1px solid transparent;transition:background .15s ease, color .15s ease}
.cal-cell.out{color:rgba(44,44,42,.25);cursor:default}
.cal-cell.avail{color:var(--ink);background:rgba(107,124,89,.10)}
.cal-cell.avail:hover{background:rgba(107,124,89,.22)}
.cal-cell.weekend{background:rgba(232,216,168,.45);color:var(--brown-2)}
.cal-cell.weekend:hover{background:rgba(232,216,168,.8)}
.cal-cell.blocked{color:rgba(44,44,42,.35);cursor:not-allowed;
  background:repeating-linear-gradient(135deg, transparent 0 4px, rgba(44,44,42,.08) 4px 5px)}
.cal-cell.selected{background:var(--brown)!important;color:var(--cream)!important}
.cal-cell.in-range{background:rgba(92,64,51,.18);color:var(--brown-2)}
.cal-cell.today::after{content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--moss)}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px 18px;margin-top:18px;font-size:12px;color:var(--ink-mute)}
.cal-legend span{display:inline-flex;align-items:center;gap:8px}
.cal-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.cal-legend i.avail{background:rgba(107,124,89,.45)}
.cal-legend i.weekend{background:rgba(232,216,168,.85)}
.cal-legend i.blocked{background:repeating-linear-gradient(135deg, transparent 0 3px, rgba(44,44,42,.4) 3px 4px);border:1px solid var(--line)}
.cal-legend i.selected{background:var(--brown)}
.cal-msg{margin-top:14px;font-size:13px;color:var(--brown-2);
  background:rgba(232,216,168,.55);border:1px solid rgba(92,64,51,.18);
  padding:10px 14px;border-radius:10px;
  opacity:0;transform:translateY(-4px);max-height:0;overflow:hidden;
  transition:opacity .25s ease, transform .25s ease, max-height .25s ease, padding .25s ease, margin .25s ease}
.cal-msg.show{opacity:1;transform:none;max-height:80px;padding:10px 14px}
.cal-msg:not(.show){padding:0 14px;margin-top:0}

/* ── Horários sutis sob as datas ─────────────────────────── */
.time-hint{display:flex;align-items:center;gap:14px;
  margin-top:-2px;padding:10px 4px 2px;
  font-size:12.5px;color:var(--ink-mute);letter-spacing:.01em}
.th-item{display:inline-flex;align-items:center;gap:8px;min-width:0}
.th-item svg{width:14px;height:14px;flex:none;fill:none;
  stroke:var(--brown);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.th-k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);font-weight:500}
.th-v{color:var(--ink-mute)}
.th-v b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.th-sep{flex:1;height:1px;background:var(--line);min-width:14px}
@media (max-width: 540px){
  .time-hint{flex-wrap:wrap;gap:8px 14px}
  .th-sep{display:none}
}

.form-fieldset{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
.field input,.field textarea,.field select{
  border:1px solid var(--line);border-radius:10px;background:#fff;
  padding:12px 14px;font:inherit;font-size:14.5px;color:var(--ink);outline:0;
  transition:border-color .2s ease, box-shadow .2s ease}
.field input:focus,.field textarea:focus,.field select:focus{
  border-color:var(--brown);box-shadow:0 0 0 3px rgba(92,64,51,.12)}
.field textarea{min-height:84px;resize:vertical;font-family:inherit}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toggle{display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px}
.toggle .t-left{display:flex;flex-direction:column;gap:2px}
.toggle b{font-size:14px;font-weight:500;color:var(--ink)}
.toggle small{font-size:12.5px;color:var(--ink-mute)}
.switch{position:relative;width:44px;height:26px;flex:none;
  background:var(--line);border-radius:999px;cursor:pointer;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;
  background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15);
  transition:transform .22s ease}
.switch.on{background:var(--moss)}
.switch.on::after{transform:translateX(18px)}

.price-summary{background:var(--bg);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;font-size:14px;margin:6px 0 6px}
.price-line{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink-mute)}
.price-line.total{color:var(--ink);font-weight:500;border-top:1px dashed var(--line);padding-top:10px;margin-top:4px;font-size:16px}

/* WhatsApp preview (passo 2 do form) */
.wa-preview{background:linear-gradient(180deg, #E8F5E9 0%, #D7EDDA 100%);
  border:1px solid rgba(37,211,102,.25);border-radius:14px;padding:16px 18px;
  margin:6px 0 14px;display:flex;flex-direction:column;gap:10px}
.wa-preview-head{display:flex;align-items:center;gap:8px;font-size:13px;color:#1f6b3a;font-weight:500}
.wa-preview-head svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
.wa-preview-body{margin:0;padding:14px 16px;background:#fff;border-radius:10px;
  font-family:var(--f-body);font-size:13.5px;line-height:1.55;color:var(--ink);
  white-space:pre-wrap;max-height:260px;overflow-y:auto;
  box-shadow:0 1px 0 rgba(0,0,0,.04) inset,
             0 1px 2px rgba(0,0,0,.04);
  position:relative}
.wa-preview-body::-webkit-scrollbar{width:6px}
.wa-preview-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}
.price-line.total b{font-family:var(--f-display);font-size:26px;color:var(--brown-2);font-weight:500}

.confirmation{background:rgba(107,124,89,.10);border:1px solid rgba(107,124,89,.30);
  color:var(--moss-2);padding:18px;border-radius:14px;display:none;gap:12px;align-items:flex-start}
.confirmation.show{display:flex}
.confirmation svg{flex:none;width:22px;height:22px}
.confirmation b{font-weight:500;color:var(--moss-2)}

/* ── Pricing ────────────────────────────────── */
.pricing-table{background:var(--cream);border-radius:var(--rad-l);overflow:hidden;
  border:1px solid var(--line-soft);box-shadow:var(--shadow-1)}
.pricing-row{display:grid;grid-template-columns: 1fr auto;align-items:center;
  padding:26px clamp(24px, 3vw, 40px);border-bottom:1px solid var(--line-soft);gap:24px}
.pricing-row:last-child{border-bottom:0}
.pricing-row .label{display:flex;flex-direction:column;gap:4px}
.pricing-row .label b{font-family:var(--f-display);font-size:22px;font-weight:500;color:var(--ink)}
.pricing-row .label small{font-size:13px;color:var(--ink-mute)}
.pricing-row .value{font-family:var(--f-display);font-size:32px;color:var(--brown);font-weight:500;font-variant-numeric:tabular-nums}
.pricing-row .value small{font-family:var(--f-body);font-size:12.5px;letter-spacing:.06em;color:var(--ink-mute);text-transform:uppercase;display:block;margin-bottom:2px}
.pricing-foot{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;margin-top:24px;font-size:13.5px;color:var(--ink-mute)}
.pricing-foot span{display:inline-flex;align-items:center;gap:8px}

/* ── Location ───────────────────────────────── */
.location-grid{display:grid;grid-template-columns: 1fr 1.4fr;gap:clamp(28px, 4vw, 56px);align-items:stretch}
.location-grid > *{min-width:0}
@media (max-width: 820px){ .location-grid{grid-template-columns:1fr} }
.location-copy{display:flex;flex-direction:column;gap:14px;align-self:center}
.location-stats{display:flex;gap:28px;margin-top:8px}
.location-stats .stat{display:flex;flex-direction:column;gap:4px}
.location-stats .stat b{font-family:var(--f-display);font-size:34px;color:var(--brown);font-weight:500;line-height:1}
.location-stats .stat small{font-size:12px;letter-spacing:.06em;color:var(--ink-mute);text-transform:uppercase}
.map-frame{position:relative;border-radius:var(--rad-l);overflow:hidden;
  aspect-ratio: 4/3;background:var(--bg-2);box-shadow:var(--shadow-1);border:1px solid var(--line-soft);
  min-width:0;width:100%}
.map-frame iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85) contrast(.96)}
.map-pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);
  background:var(--brown);color:var(--cream);padding:10px 14px;border-radius:var(--rad-pill);
  font-size:12.5px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-2);pointer-events:none}
.map-pin::after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:10px;height:10px;background:var(--brown)}

/* ── Testimonials ───────────────────────────── */
.testimonials{background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);position:relative;overflow:hidden}
.testimonials::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 600px 300px at 12% 18%, rgba(107,124,89,.08) 0%, transparent 70%),
    radial-gradient(ellipse 500px 280px at 88% 82%, rgba(92,64,51,.06) 0%, transparent 70%)}
.testi-grid{columns: 3;column-gap: 22px;max-width:1140px;margin:0 auto}
.testi-card{break-inside:avoid;display:inline-flex;flex-direction:column;gap:14px;
  background:var(--cream);
  border:1px solid var(--line-soft);
  border-radius:var(--rad-m);
  padding:28px 28px 22px;
  margin:0 0 22px;
  box-shadow:0 1px 2px rgba(67,45,36,.05), 0 14px 34px rgba(67,45,36,.07);
  transform: rotate(var(--tilt, 0deg));
  transition: transform .35s ease, box-shadow .35s ease;
  position:relative;
  isolation:isolate}
.testi-card::after{content:"";position:absolute;left:50%;top:-9px;width:62px;height:14px;
  transform:translateX(-50%) rotate(calc(var(--tilt, 0deg) * -1.6));
  background:linear-gradient(180deg, rgba(250,246,238,.55) 0%, rgba(216,196,160,.55) 100%);
  border:1px solid rgba(92,64,51,.12);border-radius:2px;
  box-shadow:0 2px 4px rgba(67,45,36,.08)}
.testi-card:hover{transform: rotate(0deg) translateY(-3px);
  box-shadow:0 2px 6px rgba(67,45,36,.06), 0 22px 46px rgba(67,45,36,.10)}
.testi-card--accent{background:#FBF7ED;border-color:rgba(107,124,89,.18)}
.testi-card--accent::after{background:linear-gradient(180deg, rgba(232,216,168,.7) 0%, rgba(184,153,104,.6) 100%)}
.testi-mark{font-family:var(--f-display);font-size:64px;line-height:.5;color:var(--moss);
  display:block;margin:-4px 0 -6px;font-style:italic;opacity:.55;font-weight:500}
.testi-card--accent .testi-mark{color:var(--brown)}
.testi-text{margin:0;color:var(--ink);font-size:15.5px;line-height:1.6;
  font-family:var(--f-display);font-weight:400;font-style:italic;letter-spacing:.005em}
.testi-text--ps{font-size:14.5px;color:var(--ink-mute);font-style:italic;margin-top:-2px}
.testi-text em{color:var(--brown);font-style:italic;font-weight:500}
.testi-sign{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-top:6px;padding-top:14px;border-top:1px dashed var(--line);font-style:normal}
.testi-name{font-family:var(--f-script);font-size:24px;color:var(--brown);line-height:1;letter-spacing:.01em}
.testi-card--accent .testi-name{color:var(--moss-2)}
.testi-heart{font-family:var(--f-display);font-size:20px;color:var(--brown);opacity:.7;line-height:1}
.testi-date{font-family:var(--f-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);font-weight:500}

.testi-foot{margin:48px auto 0;max-width:680px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:18px}

@media (max-width: 980px){
  .testi-grid{columns: 2}
}
@media (max-width: 620px){
  /* carrossel manual (swipe), igual à galeria */
  .testi-grid{columns:auto;column-count:auto;max-width:none;
    display:flex;gap:16px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
    padding:6px 2px 10px;
    scrollbar-width:none}
  .testi-grid::-webkit-scrollbar{display:none}
  .testi-card{flex:0 0 84vw;max-width:360px;scroll-snap-align:center;
    padding:24px 22px 20px}
  .testi-card::after{width:50px;height:12px}
  .testi-mark{font-size:54px}
  .testi-text{font-size:15px}
}

/* ── FAQ ────────────────────────────────────── */
.faq{background:var(--bg-2)}
.faq-list{display:flex;flex-direction:column;gap:8px;max-width:880px;margin:0 auto}
.qa{background:var(--cream);border:1px solid var(--line-soft);border-radius:var(--rad-m);
  overflow:hidden}
.qa summary{list-style:none;cursor:pointer;padding:20px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  font-size:17px;color:var(--ink);font-weight:500}
.qa summary::-webkit-details-marker{display:none}
.qa .chev{width:22px;height:22px;flex:none;display:grid;place-items:center;color:var(--brown);
  transition:transform .25s ease}
.qa[open] .chev{transform:rotate(45deg)}
.qa .answer{padding:0 24px 22px;color:var(--ink-mute);font-size:15px;line-height:1.65;max-width:62ch}

/* ── Footer ─────────────────────────────────── */
.footer{background:var(--brown-2);color:#E9DDC9;padding:clamp(60px, 8vw, 100px) 0 30px}
.footer .ftr-cta{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;margin-bottom:80px}
.footer .ftr-cta h2{color:var(--cream);max-width:18ch}
.footer .ftr-cta h2 .script{color:#E8D8A8;font-size:.95em}
.footer .ftr-cta p{color:rgba(233,221,201,.78);max-width:50ch}
.ftr-grid{display:grid;grid-template-columns: 1.4fr 1fr 1fr 1fr;gap:40px;
  border-top:1px solid rgba(233,221,201,.18);padding-top:54px}
@media (max-width: 820px){ .ftr-grid{grid-template-columns:1fr 1fr} }
.ftr-col h4{font-family:var(--f-body);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(233,221,201,.55);font-weight:500;margin-bottom:14px}
.ftr-col a{display:block;font-size:14.5px;color:#E9DDC9;opacity:.85;margin-bottom:8px;transition:opacity .2s}
.ftr-col a:hover{opacity:1}
.ftr-brand .brand{color:var(--cream);margin-bottom:14px}
.ftr-brand p{color:rgba(233,221,201,.7);font-size:14px;max-width:30ch}
.ftr-socials{display:flex;gap:10px;margin-top:16px}
.ftr-socials a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(233,221,201,.25);
  display:grid;place-items:center;margin:0;transition:background .2s, border-color .2s}
.ftr-socials a:hover{background:rgba(233,221,201,.1);border-color:rgba(233,221,201,.5)}
.ftr-socials svg{width:18px;height:18px;stroke:#E9DDC9;fill:none;stroke-width:1.5}
.ftr-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
  margin-top:54px;padding-top:24px;border-top:1px solid rgba(233,221,201,.14);
  font-size:12.5px;color:rgba(233,221,201,.55)}

/* ── Reveal animation ───────────────────────── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease, transform .9s ease}
.reveal.in{opacity:1;transform:none}

/* ── Admin styles (Admin.html) ──────────────── */
.adm-shell{display:grid;grid-template-columns: 240px 1fr;min-height:100vh;background:var(--bg)}
.adm-side{background:var(--brown-2);color:#E9DDC9;padding:28px 22px;display:flex;flex-direction:column;gap:6px}
.adm-side .brand{margin-bottom:32px;color:var(--cream)}
.adm-side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#E9DDC9;font-size:14px;opacity:.78}
.adm-side a:hover{opacity:1;background:rgba(255,255,255,.05)}
.adm-side a.active{opacity:1;background:rgba(255,255,255,.07);color:var(--cream)}
.adm-side svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}
.adm-main{padding:36px clamp(20px, 3vw, 40px);min-width:0}
.adm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.adm-top h1{font-size:34px;font-family:var(--f-display)}
.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
@media (max-width: 980px){ .adm-stats{grid-template-columns:repeat(2,1fr)} }
.stat-card{background:var(--cream);border:1px solid var(--line-soft);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px}
.stat-card small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
.stat-card b{font-family:var(--f-display);font-size:32px;color:var(--brown-2);font-weight:500}
.stat-card .delta{font-size:12px;color:var(--moss-2);display:inline-flex;align-items:center;gap:4px}
.adm-grid{display:grid;grid-template-columns: 1.4fr 1fr;gap:20px;align-items:start}
@media (max-width: 980px){ .adm-grid{grid-template-columns:1fr} }
.panel{background:var(--cream);border:1px solid var(--line-soft);border-radius:16px;padding:22px;min-width:0}
.panel h3{font-size:18px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.panel h3 small{font-size:12px;color:var(--ink-mute);font-family:var(--f-body);font-weight:400;letter-spacing:.04em}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{text-align:left;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);padding:8px 10px 10px;border-bottom:1px solid var(--line-soft);font-weight:500}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl .name{font-weight:500;color:var(--ink)}
.tbl .name small{display:block;font-weight:400;color:var(--ink-mute);font-size:12px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:500}
.chip.pend{background:rgba(232,179,84,.18);color:#7B4F11}
.chip.conf{background:rgba(107,124,89,.18);color:var(--moss-2)}
.chip.canc{background:rgba(44,44,42,.10);color:var(--ink-mute);text-decoration:line-through}
.chip.done{background:rgba(92,64,51,.14);color:var(--brown-2)}
.adm-actions{display:flex;gap:6px}
.adm-actions button{padding:5px 10px;border-radius:7px;font-size:11.5px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.adm-actions button:hover{background:var(--bg)}
.adm-actions button.primary{background:var(--moss);color:#fff;border-color:transparent}
.adm-actions button.primary:hover{background:var(--moss-2)}
.adm-actions button.danger{background:transparent;color:#a14b3a}

.adm-view{animation:admFade .3s ease both}
@keyframes admFade{from{transform:translateY(5px)}to{transform:none}}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.fbtn{padding:6px 14px;border-radius:999px;font-size:12.5px;font-family:var(--f-body);border:1px solid var(--line);background:#fff;color:var(--ink-mute);cursor:pointer;transition:all .15s ease}
.fbtn:hover{border-color:var(--brown);color:var(--brown)}
.fbtn.active{background:var(--brown);border-color:var(--brown);color:var(--cream)}

/* Modal de agendamento */
.adm-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;
  background:rgba(44,37,25,.45);backdrop-filter:blur(3px);animation:admFade .2s ease}
.adm-modal[hidden]{display:none}
.adm-modal-card{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;
  background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:30px;
  box-shadow:0 30px 80px rgba(44,37,25,.3)}
.adm-modal-close{position:absolute;top:16px;right:18px;width:30px;height:30px;border:0;border-radius:50%;
  background:transparent;color:var(--ink-mute);font-size:24px;line-height:1;cursor:pointer;transition:all .15s}
.adm-modal-close:hover{background:var(--line-soft);color:var(--ink)}
.ag-check{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);cursor:pointer;margin-top:12px}
.ag-summary{margin-top:18px;padding:14px 16px;background:#fff;border:1px solid var(--line-soft);border-radius:12px;font-size:13.5px;color:var(--ink-mute)}
.ag-summary .row{display:flex;justify-content:space-between;padding:3px 0}
.ag-summary .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:10px;border-top:1px dashed var(--line);color:var(--ink)}
.ag-summary .total b{font-family:var(--f-display);font-size:24px;color:var(--brown)}

.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;font-size:11.5px}
.mini-cal .d{aspect-ratio:1;display:grid;place-items:center;border-radius:6px;background:#fff;border:1px solid var(--line-soft);color:var(--ink-mute);cursor:pointer}
.mini-cal .d.occ{background:var(--brown);color:#fff;border-color:transparent}
.mini-cal .d.hold{background:repeating-linear-gradient(135deg, var(--bg) 0 3px, var(--line-soft) 3px 4px);color:var(--ink-mute)}
.mini-cal .d.today{outline:2px solid var(--moss);outline-offset:1px}
.mini-cal .dow{background:transparent;border:0;color:var(--ink-mute);font-size:10px;letter-spacing:.12em;text-transform:uppercase}

.login{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg, var(--bg) 0%, var(--bg-2) 100%);padding:24px}
.login-card{background:var(--cream);border-radius:var(--rad-l);box-shadow:var(--shadow-2);padding:40px;width:100%;max-width:420px;border:1px solid var(--line-soft)}
.login-card h2{font-size:30px;margin-bottom:6px}
.login-card .sub{color:var(--ink-mute);font-size:14px;margin-bottom:24px}
.login-card .field{margin-bottom:14px}
.login-card .btn{width:100%;justify-content:center;margin-top:6px}
/* ── Comodidades v2 (lista editorial) ────────────────────── */
.amenities-v2{background:var(--bg);overflow:hidden}
.am-wrap{display:grid;grid-template-columns: 0.85fr 1.4fr;gap:clamp(40px, 6vw, 96px);align-items:flex-start}
.am-wrap--stack{display:block}
.am-head{margin:0 auto clamp(40px, 6vw, 64px);max-width:720px}
.am-head .script{color:var(--moss);transform:rotate(-2deg) translateY(.05em);
  font-size:.95em;display:inline-block}

/* ── Carrossel infinito ───────────────────────────────── */
.am-carousel{position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.am-track{display:flex;gap:24px;width:max-content;
  animation:am-marquee 50s linear infinite;
  will-change:transform}
.am-carousel:hover .am-track{animation-play-state:paused}
@keyframes am-marquee{
  from{transform:translateX(0)}
  to  {transform:translateX(calc(-50% - 12px))}
}
@media (prefers-reduced-motion: reduce){
  .am-track{animation-duration:120s}
}

.am-card{flex:0 0 320px;box-sizing:border-box;
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;
  gap:8px 18px;align-content:start;
  padding:28px 26px 26px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg, #fff 0%, var(--bg) 100%);
  position:relative;overflow:hidden;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, border-color .4s ease}
.am-card:hover{transform:translateY(-4px);
  box-shadow:0 18px 40px -22px rgba(46,32,18,.25);
  border-color:rgba(107,124,89,.4)}
.am-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--moss);transition:width .4s cubic-bezier(.4,0,.2,1)}
.am-card:hover::before{width:3px}

.am-card .am-num{grid-column:1;grid-row:1;
  font-family:var(--f-display);font-size:22px;color:var(--brown);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
  align-self:center}
.am-card .am-ico{grid-column:2;grid-row:1;justify-self:end;
  width:38px;height:38px;display:grid;place-items:center;
  color:var(--brown);opacity:.7;
  transition:opacity .35s ease, color .35s ease, transform .35s ease}
.am-card .am-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3}
.am-card:hover .am-ico{opacity:1;color:var(--moss-2);transform:rotate(-6deg)}
.am-card .am-title{grid-column:1 / -1;grid-row:2;
  font-family:var(--f-display);font-size:22px;font-weight:500;
  color:var(--ink);letter-spacing:-.005em;line-height:1.2;
  margin:14px 0 0}
.am-card .am-desc{grid-column:1 / -1;grid-row:3;
  font-size:14.5px;color:var(--ink-mute);line-height:1.55;margin:0}
.am-card .am-tag{grid-column:1 / -1;grid-row:4;justify-self:start;
  font-family:var(--f-script);font-size:22px;color:var(--moss);
  transform:rotate(-3deg) translateY(2px);
  margin-top:8px;white-space:nowrap;opacity:.9;
  transition:opacity .35s ease, transform .35s ease}
.am-card:hover .am-tag{opacity:1;transform:rotate(-4deg) translateY(0)}

@media (max-width: 640px){
  .am-card{flex:0 0 280px;padding:24px 22px 22px}
}

.am-aside{position:sticky;top:60px;align-self:start}
.am-aside .script{color:var(--moss);transform:rotate(-2deg) translateY(.05em);
  font-size:.95em;display:inline-block}
.am-meta{margin-top:32px;border-top:1px solid var(--line);padding-top:18px;
  display:flex;flex-direction:column;gap:10px;max-width:280px}
.am-meta-line{display:flex;justify-content:space-between;align-items:baseline;
  font-size:12.5px;color:var(--ink-mute);letter-spacing:.04em}
.am-meta-k{font-family:var(--f-body);text-transform:uppercase;font-size:10.5px;
  letter-spacing:.22em;color:var(--brown)}
.am-meta-v{font-family:var(--f-display);font-size:18px;color:var(--ink);
  font-variant-numeric:tabular-nums}
.am-meta-sig{margin-top:10px}
.am-meta-sig .script{font-size:26px;color:var(--brown);transform:rotate(-3deg);
  display:inline-block}

.am-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.am-row{display:grid;
  grid-template-columns: 56px 1fr auto 40px;
  align-items:center;gap:24px;
  padding:24px 4px;border-bottom:1px solid var(--line);
  position:relative;
  transition:padding .35s ease, background .35s ease}
.am-row::before{content:"";position:absolute;left:0;top:0;bottom:0;
  width:0;background:var(--moss);
  transition:width .35s cubic-bezier(.4,0,.2,1)}
.am-row:hover{padding-left:18px;background:linear-gradient(to right, rgba(107,124,89,.05), transparent 60%)}
.am-row:hover::before{width:3px}

.am-num{font-family:var(--f-display);font-size:22px;color:var(--brown);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
  transition:color .35s ease, transform .35s ease}
.am-row:hover .am-num{color:var(--moss-2);transform:translateX(2px)}

.am-body{min-width:0}
.am-title{font-family:var(--f-display);font-size:clamp(22px, 2vw, 28px);
  font-weight:500;color:var(--ink);letter-spacing:-.005em;line-height:1.15;
  margin:0 0 6px}
.am-desc{font-size:14.5px;color:var(--ink-mute);line-height:1.55;margin:0;max-width:46ch}

.am-tag{font-family:var(--f-script);font-size:22px;color:var(--moss);
  transform:rotate(-3deg) translateY(-2px);
  white-space:nowrap;opacity:.85;
  transition:opacity .35s ease, transform .35s ease}
.am-row:hover .am-tag{opacity:1;transform:rotate(-4deg) translateY(-3px)}

.am-ico{width:40px;height:40px;display:grid;place-items:center;
  color:var(--brown);opacity:.75;
  transition:opacity .35s ease, transform .35s ease, color .35s ease}
.am-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3}
.am-row:hover .am-ico{opacity:1;color:var(--moss-2);transform:rotate(-6deg)}

@media (max-width: 920px){
  .am-wrap{grid-template-columns:1fr;gap:40px}
  .am-aside{position:static}
}
@media (max-width: 640px){
  .am-row{grid-template-columns:44px 1fr;row-gap:8px;column-gap:16px;padding:20px 4px}
  .am-tag{grid-column:2;grid-row:2;justify-self:start;font-size:18px}
  .am-ico{display:none}
}

/* ── Strip / Carrossel infinito ──────────────────────────── */
.strip{position:relative;padding:72px 0 80px;background:var(--bg);overflow:hidden}
.strip::before,
.strip::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:3;pointer-events:none}
.strip::before{left:0;background:linear-gradient(to right, var(--bg) 0%, rgba(245,240,232,0) 100%)}
.strip::after{right:0;background:linear-gradient(to left, var(--bg) 0%, rgba(245,240,232,0) 100%)}

.strip-head{display:flex;justify-content:space-between;align-items:center;
  padding:0 var(--gutter);max-width:var(--maxw);margin:0 auto 36px;
  position:relative;z-index:4}
.strip-eye{display:inline-flex;align-items:center;gap:14px;
  font-family:var(--f-body);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;font-weight:500;color:var(--brown)}
.strip-eye .script{font-size:22px;letter-spacing:0;text-transform:none;
  color:var(--moss);transform:translateY(-2px) rotate(-3deg);font-weight:500}
.strip-rule{display:inline-block;width:36px;height:1px;background:var(--brown)}

.strip-counter{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-body);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-mute);font-variant-numeric:tabular-nums}
.strip-counter em{font-style:normal;color:var(--brown-2);font-family:var(--f-display);
  font-size:24px;letter-spacing:.02em;line-height:1}
.strip-slash{color:var(--line);margin:0 2px}
.strip-loop{width:22px;height:22px;margin-left:8px;color:var(--brown);
  animation:strip-spin 12s linear infinite}
@keyframes strip-spin{to{transform:rotate(360deg)}}

.strip-track{width:100%;mask-image:linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image:linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%)}
.strip-row{display:flex;width:max-content;padding:0;
  animation:strip-scroll 48s linear infinite;will-change:transform}
.strip:hover .strip-row{animation-play-state:paused}

@keyframes strip-scroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

.strip-card{position:relative;flex:0 0 auto;width:240px;margin:0 28px 0 0;
  overflow:hidden;background:var(--cream);
  box-shadow:var(--shadow-1);align-self:center;
  transition:transform .4s ease, box-shadow .4s ease}
.strip-card--tall{align-self:flex-start;margin-top:18px}
.strip-card:nth-child(even){align-self:flex-end;margin-bottom:18px}
.strip-card img{display:block;width:100%;height:300px;object-fit:cover;
  transition:transform .8s ease}
.strip-card--tall img{height:350px}
.strip-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.strip-card:hover img{transform:scale(1.04)}

@media (prefers-reduced-motion: reduce){
  .strip-row{animation:none}
  .strip-loop{animation:none}
}
@media (max-width: 820px){
  .strip{padding:56px 0 64px}
  .strip-card{width:190px;margin-right:18px}
  .strip-card img{height:240px}
  .strip-card--tall img{height:280px}
  .strip-row{animation-duration:38s}
  .strip-eye .script{font-size:18px}
}

/* ─────────────────────────────────────────────
   Mobile hero overrides — não preencher a tela
   ───────────────────────────────────────────── */
@media (max-width: 720px){
  /* Gutter mais apertado em telas pequenas */
  :root{ --gutter: 18px }

  /* Form de agendamento responsivo */
  .booking-wrap{ gap: 24px }
  .cal-card,.form-card{ padding: 20px 18px }
  .field-row{ grid-template-columns: 1fr; gap: 12px }
  .field input,.field textarea{ width: 100% }
  .time-hint{ flex-wrap: wrap; gap: 6px 12px }
  .th-sep{ display: none }
  .price-summary{ padding: 14px }
  .cal-legend{ gap: 8px 14px; font-size: 11.5px }
  .cal-grid{ gap: 3px; font-size: 12.5px }
  .cal-head h3{ font-size: 18px }
  .wrap{ padding: 0 18px }
  .hero{
    aspect-ratio:auto;
    height:auto;
    min-height:88vh;
    max-height:none;
  }
  /* escurece o fundo do hero no mobile p/ leitura do texto */
  .hero-bg::after{
    background:
      radial-gradient(ellipse 90% 60% at 50% 46%, rgba(20,16,12,.34) 0%, rgba(20,16,12,.2) 55%, transparent 85%),
      linear-gradient(180deg, rgba(20,16,12,.5) 0%, rgba(20,16,12,.4) 45%, rgba(20,16,12,.62) 100%);
  }
  .hero-content--center{
    padding-top:clamp(40px, 8vh, 80px);
    padding-bottom:clamp(40px, 8vh, 80px);
    gap:16px;
    justify-content:center;
  }
  .hero-content--center .hero-ctas{padding-top:22px}
  /* esconde o botão "Ver datas disponíveis" só no mobile (a pedido) */
  .hero-ctas .btn--primary{display:none}
  /* mobile usa títulos próprios; esconde os do desktop */
  #heroHeadline,#heroSub{display:none !important}
  .hero-mtitle{
    display:block;
    font-family:var(--f-display);
    color:var(--cream);
    font-size:clamp(34px, 10vw, 50px);
    line-height:1.02;
    letter-spacing:.01em;
    max-width:none;
    margin:0 auto;
    text-shadow:0 2px 22px rgba(0,0,0,.5), 0 1px 3px rgba(0,0,0,.4);
  }
  .hero-msub{
    display:block;
    color:rgba(250,246,238,.94);
    font-size:clamp(15px, 4.2vw, 18px);
    line-height:1.5;
    max-width:32ch;
    margin:14px auto 0;
    text-shadow:0 1px 14px rgba(0,0,0,.5);
  }
  .hero-ctas{justify-content:center;width:100%}
  .hero-ctas .btn{flex:1 1 auto;justify-content:center;min-width:0}
}
@media (max-width: 420px){
  .hero-ctas{flex-direction:column;align-items:stretch}
  .hero-ctas .btn{width:100%}
}
