:root{
  --verde: #29341F;      /* verde bambu / mata escura */
  --verde-2: #3A4A2C;
  --creme: #F3EEE1;      /* papel washi */
  --creme-card: #FBF8F0;
  --dourado: #C6A15B;    /* dourado biombo / trigo */
  --terracota: #B23B22;  /* vermelhão torii — ponte entre terracota e vermelhão japonês */
  --grafite: #24231F;    /* sumi (tinta nanquim) */
  --grafite-soft: #6B6A5F;
  --linha: #E1D9C3;
  --verde-ok: #3E7D3C;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Manrope',sans-serif;
  color:var(--grafite);
  background:var(--creme);
  line-height:1.6;
}
h1,h2,h3,.serif{font-family:'Shippori Mincho',serif;font-weight:600;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
.hidden{display:none !important;}

/* NAV */
nav.site-nav{position:sticky;top:0;z-index:50;background:rgba(41,52,31,0.96);border-bottom:1px solid rgba(198,161,91,0.25);}
nav.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;height:92px;}
.brand{display:flex;align-items:center;gap:12px;color:var(--creme);}
.brand-mark{
  width:64px;height:64px;object-fit:contain;display:block;flex-shrink:0;
}
.brand-name{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;letter-spacing:0.2px;}
.nav-links{display:flex;gap:30px;font-size:14px;color:#DCD6C4;}
.nav-links a{padding:6px 0;border-bottom:2px solid transparent;}
.nav-links a:hover,.nav-links a.active{color:var(--dourado);border-color:var(--dourado);}
.nav-cta{background:var(--terracota);color:var(--creme);font-weight:700;font-size:14px;padding:11px 22px;border-radius:8px;display:flex;align-items:center;gap:8px;}
.nav-cta:hover{background:#9B331D;}
.nav-toggle{display:none;color:var(--creme);font-size:26px;}

/* HERO — verde mata com padrão em ondas (seigaiha), evocando telha de fazenda + têxtil japonês */
.hero{
  position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden;
  background-color:var(--verde);
  background-image:
    linear-gradient(180deg, rgba(19,24,13,0.5) 0%, rgba(19,24,13,0.82) 100%),
    repeating-radial-gradient(circle at 0 0, transparent 0, transparent 26px, rgba(198,161,91,0.10) 26px, rgba(198,161,91,0.10) 27px, transparent 27px, transparent 52px),
    repeating-radial-gradient(circle at 52px 0, transparent 0, transparent 26px, rgba(198,161,91,0.10) 26px, rgba(198,161,91,0.10) 27px, transparent 27px, transparent 52px);
  background-size:auto, 104px 52px, 104px 52px;
}
.hero.compact{min-height:44vh;}
/* Hero da Home com foto aérea real de fundo, no lugar do padrão de ondas */
.hero.hero-aerea{
  background-image:
    linear-gradient(180deg, rgba(19,24,13,0.45) 0%, rgba(19,24,13,0.85) 100%),
    url('/assets/img/recanto-vista-aerea.jpg');
  background-size: cover;
  background-position: center 60%;
}
.hero-content{position:relative;z-index:2;max-width:640px;}
.hero-seal{width:104px;height:104px;object-fit:contain;margin-bottom:28px;filter:drop-shadow(0 6px 18px rgba(0,0,0,0.35));}
.torii-mark{position:absolute;right:6%;bottom:-6%;width:280px;height:280px;opacity:0.14;z-index:1;pointer-events:none;}
.torii-mark svg{width:100%;height:100%;stroke:var(--dourado);}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--dourado);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:24px;font-weight:700;}
.eyebrow::before{content:"";width:18px;height:1px;background:var(--dourado);}
.eyebrow::after{content:"";width:18px;height:1px;background:var(--dourado);order:2;}
.eyebrow-emblem{width:16px;height:16px;opacity:0.9;color:var(--dourado);}
.hero h1{color:var(--creme);font-size:clamp(36px,6vw,60px);font-weight:600;line-height:1.15;margin-bottom:20px;}
.hero h1 em{color:var(--dourado);font-style:italic;font-weight:500;}
.hero p{color:#D9D3BF;font-size:17px;max-width:480px;margin-bottom:34px;}
.btn-row{display:flex;gap:16px;flex-wrap:wrap;}
.btn{padding:15px 28px;border-radius:8px;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:10px;transition:all .15s ease;}
.btn-gold{background:var(--dourado);color:var(--verde);}
.btn-gold:hover{background:#D6B676;}
.btn-terracota{background:var(--terracota);color:var(--creme);}
.btn-terracota:hover{background:#9B331D;}
.btn-outline{border:1.4px solid #B9B196;color:var(--creme);}
.btn-outline:hover{border-color:var(--dourado);color:var(--dourado);}

/* SECTION */
.section{padding:88px 0;}
.section-tag{display:flex;align-items:center;gap:10px;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--terracota);font-weight:700;margin-bottom:16px;}
.section-tag::before{content:"";width:28px;height:1px;background:var(--terracota);}
.section-tag::after{content:"";width:28px;height:1px;background:var(--terracota);}
.section h2{font-size:clamp(28px,4vw,42px);font-weight:600;margin-bottom:16px;max-width:620px;}
.section-lede{color:var(--grafite-soft);font-size:16.5px;max-width:560px;}

/* PHOTO PLACEHOLDER */
.photo{aspect-ratio:4/3;border-radius:14px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;color:#EFE9D8;box-shadow:0 4px 14px rgba(24,30,18,0.10);transition:box-shadow .25s ease, transform .25s ease;}
.photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 55%, rgba(15,18,10,0.72) 100%);pointer-events:none;}
.photo:hover{box-shadow:0 14px 34px rgba(24,30,18,0.22);transform:translateY(-3px);}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.photo:hover img{transform:scale(1.06);}
.photo span{position:relative;z-index:2;font-family:'Shippori Mincho',serif;font-style:italic;font-size:13.5px;letter-spacing:0.2px;}
.photo-a{background:linear-gradient(150deg,#46552F,#1E2716);}
.photo-b{background:linear-gradient(150deg,#8A4A2E,#472613);}
.photo-c{background:linear-gradient(150deg,#5F6E43,#2C3419);}
.photo-d{background:linear-gradient(150deg,#B0863F,#5B4222);}
.photo-e{background:linear-gradient(150deg,#39472F,#171E11);}
.photo-f{background:linear-gradient(150deg,#9C5E2E,#4B2E14);}

/* FOTO AÉREA EM DESTAQUE — banner largo (usado no topo da Galeria) */
.foto-aerea-destaque{
  aspect-ratio: 21/9;
  border-radius:16px;
  overflow:hidden;
  position:relative;
  margin-bottom:30px;
  box-shadow:0 8px 26px rgba(24,30,18,0.14);
}
.foto-aerea-destaque img{width:100%;height:100%;object-fit:cover;display:block;}
.foto-aerea-destaque::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 50%, rgba(15,18,10,0.68) 100%);}
.foto-aerea-destaque .legenda{position:absolute;left:24px;bottom:20px;z-index:2;color:#fff;font-family:'Shippori Mincho',serif;font-style:italic;font-size:16px;}
.foto-aerea-destaque .tag{position:absolute;left:24px;top:20px;z-index:2;background:rgba(178,59,34,0.92);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;border-radius:20px;}

/* SOBRE / GRID */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:52px;}
.stat-row{display:flex;gap:36px;margin-top:32px;flex-wrap:wrap;}
.stat b{font-family:'Shippori Mincho',serif;font-size:30px;color:var(--terracota);display:block;}
.stat span{font-size:13px;color:var(--grafite-soft);}

/* ICON GRID */
.grid-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px;}
.icard{background:var(--creme-card);padding:30px 26px;border-radius:14px;box-shadow:0 3px 14px rgba(24,30,18,0.07);transition:transform .25s ease, box-shadow .25s ease;}
.icard:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(24,30,18,0.14);}
.icard svg{width:26px;height:26px;stroke:var(--terracota);margin-bottom:16px;}
.icard h3{font-size:17px;margin-bottom:8px;font-family:'Shippori Mincho',serif;font-weight:600;}
.icard p{font-size:14px;color:var(--grafite-soft);}

/* CARD DE PREÇO — mesma base do icard, com o valor em destaque */
.preco-card{position:relative;overflow:hidden;padding-top:34px;}
.preco-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--dourado),var(--terracota));}
.preco-card h3{font-size:15.5px;color:var(--grafite-soft);font-family:'Manrope',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:0.4px;margin-bottom:18px;min-height:38px;}
.preco-label{font-size:11.5px;color:var(--grafite-soft);text-transform:uppercase;letter-spacing:1px;font-weight:700;display:block;margin-bottom:6px;}
.preco-valor{font-family:'Shippori Mincho',serif;font-weight:700;font-size:27px;color:var(--terracota);line-height:1.25;display:block;}
.diferenciais{background:var(--verde);color:var(--creme);position:relative;}
.diferenciais .section-tag{color:var(--dourado);}
.diferenciais .section-tag::before,.diferenciais .section-tag::after{background:var(--dourado);}
.diferenciais h2{color:var(--creme);}
.diferenciais .section-lede{color:#C9C2AA;}
.diferenciais .icard{background:rgba(243,238,225,0.06);box-shadow:none;border:1px solid rgba(243,238,225,0.14);}
.diferenciais .icard:hover{background:rgba(243,238,225,0.1);box-shadow:0 14px 30px rgba(0,0,0,0.18);}
.diferenciais .icard h3{color:var(--creme);}
.diferenciais .icard p{color:#C9C2AA;}

/* GALERIA */
.galeria-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:18px;margin-top:26px;}
.galeria-grid .photo.big{grid-column:span 2;grid-row:span 2;}
.galeria-cat{margin-top:52px;}
.galeria-cat:first-child{margin-top:0;}
.galeria-cat h3{font-family:'Shippori Mincho',serif;font-size:19px;font-weight:600;color:var(--grafite);margin-bottom:4px;}
.galeria-cat .count{font-size:13px;color:var(--grafite-soft);}

/* LOCALIZACAO / CONTATO */
.map-box{aspect-ratio:4/3;border-radius:14px;overflow:hidden;
  background:linear-gradient(#EDE6D2,#EDE6D2),
    repeating-linear-gradient(0deg, transparent 0 38px, #DCD3B8 38px 39px),
    repeating-linear-gradient(90deg, transparent 0 38px, #DCD3B8 38px 39px);
  position:relative;display:flex;align-items:center;justify-content:center;
}
.map-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.map-pin{width:16px;height:16px;background:var(--terracota);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(178,59,34,0.18);}
.addr-list{list-style:none;}
.addr-list li{display:flex;gap:14px;margin-bottom:18px;color:var(--grafite-soft);font-size:15px;}
.addr-list b{color:var(--grafite);display:block;font-size:14px;margin-bottom:2px;}
.addr-list svg{width:20px;height:20px;stroke:var(--terracota);flex-shrink:0;margin-top:2px;}

/* CTA FINAL */
.cta-final{background:linear-gradient(120deg,#8A4A2E,#B23B22);padding:90px 0;text-align:center;color:var(--creme);}
.cta-final h2{color:var(--creme);font-size:clamp(28px,4vw,40px);margin-bottom:14px;}
.cta-final p{color:#F1DFC9;margin-bottom:34px;font-size:16px;}

/* FORMS */
.form-card{background:var(--creme-card);border:1px solid var(--linha);border-radius:16px;padding:30px;box-shadow:0 6px 22px rgba(24,30,18,0.06);}
.form-card h3{font-size:17px;margin-bottom:6px;font-family:'Shippori Mincho',serif;}
.form-card .hint{font-size:13.5px;color:var(--grafite-soft);margin-bottom:20px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--grafite-soft);margin-bottom:6px;}
.field input,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--linha);border-radius:8px;font-family:inherit;font-size:14.5px;background:#fff;color:var(--grafite);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--terracota);}
.field.err input,.field.err textarea{border-color:#B3453B;}
.err-msg{font-size:12.5px;color:#B3453B;margin-top:5px;display:none;}
.field.err .err-msg{display:block;}
.selected-date-chip{display:inline-flex;align-items:center;gap:8px;background:#F1E0D6;color:var(--terracota);font-size:13px;font-weight:700;padding:8px 14px;border-radius:20px;margin-bottom:18px;}
.btn-send{width:100%;background:#2FA84F;color:#fff;padding:14px;border-radius:8px;font-weight:700;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:9px;}
.btn-send:hover{background:#279144;}
.btn-send:disabled{background:#C9C2AA;cursor:not-allowed;}
.btn-send.terracota{background:var(--terracota);}
.btn-send.terracota:hover{background:#9B331D;}
.success-box{display:none;background:#E9F3E7;border:1px solid #BFDCB9;color:#2E5E2C;padding:16px 18px;border-radius:4px;font-size:14px;margin-top:16px;align-items:center;gap:10px;}
.success-box.show{display:flex;}
.alert-box{background:#F6E4DD;border:1px solid #E0B3A3;color:#7A3620;padding:14px 16px;border-radius:4px;font-size:14px;margin-bottom:20px;}

/* RESERVAR */
.reserva-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start;margin-top:48px;}

/* CONTATO */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:48px;}

/* CALENDAR */
.cal-card{background:var(--creme-card);border:1px solid var(--linha);border-radius:16px;padding:30px;box-shadow:0 6px 22px rgba(24,30,18,0.06);}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.cal-head h3{font-size:17px;font-family:'Shippori Mincho',serif;}
.cal-nav{display:flex;gap:6px;}
.cal-nav button{width:32px;height:32px;border:1px solid var(--linha);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--grafite);}
.cal-nav button:hover{border-color:var(--terracota);color:var(--terracota);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center;}
.cal-dow{font-size:11.5px;color:var(--grafite-soft);font-weight:700;padding-bottom:6px;text-transform:uppercase;}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:13.5px;cursor:pointer;color:var(--grafite);}
.cal-day.empty{cursor:default;}
.cal-day.off{color:#C9C2AA;cursor:default;}
.cal-day.busy{background:#F1E1D6;color:#B36A3F;text-decoration:line-through;cursor:not-allowed;}
.cal-day.free:hover{background:#EDE6D2;}
.cal-day.selected,.cal-day.free.selected,.cal-day.free.selected:hover{background:var(--terracota);color:#fff;font-weight:700;}
/* Intervalo entre entrada e saída selecionadas (check-in / check-out) */
.cal-day.range{background:#F1E0D6;color:var(--terracota);border-radius:0;}
.cal-legend{display:flex;gap:18px;margin-top:18px;font-size:12px;color:var(--grafite-soft);flex-wrap:wrap;}
.cal-legend span{display:inline-flex;align-items:center;gap:6px;}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.dot-busy{background:#B36A3F;}
.dot-free{background:#EDE6D2;border:1px solid #C9C2AA;}
.dot-sel{background:var(--terracota);}

/* FOOTER */
footer.site-footer{background:#161B10;color:#B7B29B;padding:56px 0 28px;border-top:1px solid rgba(198,161,91,0.2);}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.08);}
.foot-brand{color:var(--creme);font-family:'Playfair Display',serif;font-size:23px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.foot-brand img{width:46px;height:46px;object-fit:contain;}
.foot-emblem{width:34px;height:34px;opacity:0.9;margin:2px 0 16px;color:var(--dourado);}
.foot-note{max-width:320px;font-size:14px;}
.foot-links{display:flex;gap:56px;}
.foot-col h4{color:var(--creme);font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;}
.foot-col a{display:block;font-size:14px;margin-bottom:9px;color:#B7B29B;}
.foot-col a:hover{color:var(--dourado);}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;font-size:12.5px;color:#7C7A66;flex-wrap:wrap;gap:10px;}

/* WHATSAPP FLOAT */
.wa-float{position:fixed;bottom:26px;right:26px;background:#2FA84F;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,0.25);z-index:60;}
.wa-float svg{width:28px;height:28px;fill:#fff;}

@media(max-width:840px){
  .nav-links{position:fixed;top:92px;left:0;right:0;background:var(--verde);flex-direction:column;padding:20px 32px;gap:16px;display:none;z-index:49;}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .grid-2,.contato-grid,.reserva-grid{grid-template-columns:1fr;gap:36px;}
  .grid-icons{grid-template-columns:1fr 1fr;}
  .galeria-grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto;}
  .galeria-grid .photo.big{grid-column:span 2;grid-row:span 1;}
  .foto-aerea-destaque{aspect-ratio:4/3;}
  .foot-grid{flex-direction:column;}
  .torii-mark{display:none;}
}

@media(max-width:600px){
  nav.site-nav .wrap{height:72px;}
  .brand-mark{width:44px;height:44px;}
  .brand-name{font-size:17px;}
  .nav-links{top:72px;padding:18px 24px;}
  .wrap{padding:0 22px;}
  .hero-seal{width:76px;height:76px;margin-bottom:20px;}
  .eyebrow{font-size:11.5px;gap:8px;}
  .section{padding:60px 0;}
  .cta-final{padding:60px 0;}
  .grid-icons{grid-template-columns:1fr;margin-top:36px;}
  .galeria-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px;}
  .galeria-grid .photo.big{grid-column:span 1;grid-row:span 1;}
  .icard,.form-card,.cal-card{padding:22px 20px;}
  .btn{padding:14px 22px;font-size:14px;}
  .stat-row{gap:24px;}
  .foot-links{gap:32px;flex-wrap:wrap;}
}
