:root{--brand-green:#2D5A3D;--brand-green-dark:#1A2E25;--terracotta:#25D366;--terracotta-soft:#6EB870;--terracotta-dark:#6DD492;--cream:#FAF8F5;--warm-beige:#EDE8DF;--brown:#4A4035;--text:var(--brand-green-dark);--text-light:var(--brown);--shadow-color:rgba(26,46,37,0.10);--shadow-sm:0 2px 12px var(--shadow-color);--shadow-md:0 6px 28px var(--shadow-color);--shadow-lg:0 14px 48px var(--shadow-color)}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Lato',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;transition:color .3s ease}

.bg-primary{background:var(--cream)}
.bg-accent{background:var(--brand-green-dark)}
.bg-alt{background:var(--warm-beige)}
.text-accent{color:var(--terracotta)}

.btn{display:inline-block;padding:.88rem 2.2rem;font-family:'Lato',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease}
.btn-primary,.btn-terra,.btn-gold{background:var(--terracotta);color:#fff}
.btn-primary:hover,.btn-terra:hover,.btn-gold:hover{background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn-secondary,.btn-outline{background:transparent;border:1.5px solid var(--brand-green);color:var(--brand-green)}
.btn-secondary:hover,.btn-outline:hover{background:var(--brand-green);color:#fff;transform:translateY(-2px)}
.btn-outline-light{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:var(--brand-green-dark);color:var(--cream)}
.btn-dark:hover{background:var(--brand-green);transform:translateY(-2px)}
.btn-whatsapp{background:#25D366;color:#fff}
.btn-whatsapp:hover{background:#1da851;transform:translateY(-2px)}
.btn-sm{padding:.6rem 1.4rem;font-size:.72rem}

/* ── NAV ── */
.nav{position:fixed;top:0;width:100%;z-index:200;background:var(--brand-green-dark);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:72px;border-bottom:1px solid rgba(65,137,80,.25)}
.nav-logo{font-family:'Pinyon Script',cursive;font-size:2.1rem;color:var(--cream);text-decoration:none;display:flex;align-items:center;gap:.4rem;line-height:1}
.nav-logo small{font-family:'Lato',sans-serif;font-size:.52rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(250,248,245,.55);display:block}
.nav-logo-img{height:48px;width:auto;display:block;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:.1rem;list-style:none}
.nav-links a{color:rgba(250,248,245,.85);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;padding:.5rem .9rem;border-radius:4px;transition:color .3s ease,background .3s ease}
.nav-links a:hover,.nav-links a.active{color:var(--terracotta)}
.has-drop{position:relative}
.has-drop>a::after{content:' ▾';font-size:.58rem}
.nav-drop{position:absolute;top:calc(100% + 6px);left:0;background:var(--brand-green-dark);border:1px solid rgba(184,134,11,.2);min-width:190px;padding:.4rem 0;opacity:0;pointer-events:none;transform:translateY(7px);transition:all .3s ease;border-radius:8px;z-index:300}
.has-drop:hover .nav-drop{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-drop a{display:block;padding:.65rem 1.2rem;font-size:.76rem;color:rgba(250,248,245,.8);border-radius:0}
.nav-drop a:hover{background:rgba(184,134,11,.15);color:var(--terracotta-soft)}
.nav-cta{background:var(--terracotta)!important;color:#fff!important;padding:.55rem 1.3rem!important;border-radius:8px;margin-left:.4rem}
.nav-cta:hover{background:var(--terracotta-dark)!important}

/* ── HAMBURGER — oculto no desktop, visível no mobile via media query ── */
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  flex-shrink:0;
  z-index:201;
}
.hamburger span{display:block;width:24px;height:2px;background:var(--cream);margin:5px 0;transition:all .3s ease}

/* ── Sub-dropdown Aniversários ── */
.nav-subdrop-wrap{position:relative}
.nav-subdrop-wrap>a::after{content:' ›';font-size:.65rem;margin-left:.4rem}
.nav-subdrop{position:absolute;left:100%;top:0;background:var(--brand-green-dark);border:1px solid rgba(184,134,11,.2);min-width:165px;padding:.4rem 0;opacity:0;pointer-events:none;transform:translateX(6px);transition:all .25s ease;border-radius:8px;z-index:400}
.nav-subdrop-wrap:hover .nav-subdrop{opacity:1;pointer-events:all;transform:translateX(0)}
.nav-subdrop a{display:block;padding:.6rem 1.2rem!important;font-size:.73rem!important;color:rgba(250,248,245,.75)!important;font-style:italic;letter-spacing:1px;background:none}
.nav-subdrop a:hover{background:rgba(184,134,11,.12)!important;color:var(--terracotta-soft)!important}

/* ── PAGE HERO ── */
.page-hero{height:62vh;min-height:400px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:5rem}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,46,37,.88) 0%,rgba(26,46,37,.28) 55%,rgba(26,46,37,.52) 100%)}
.page-hero-content{position:relative;text-align:center;color:#fff;padding:0 1.5rem}
.breadcrumb{font-size:.7rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--terracotta-soft);margin-bottom:1rem}
.breadcrumb a{color:inherit;text-decoration:none}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{opacity:.4;margin:0 .4rem}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.08}
.page-hero h1 em{font-style:italic;color:var(--terracotta-soft)}
.page-hero .sub{font-family:'Pinyon Script',cursive;font-size:clamp(1.3rem,3vw,2rem);color:var(--cream);margin-top:.4rem;opacity:.9}

/* ── TIPOGRAFIA DE SEÇÃO ── */
.section-label{display:block;font-size:.71rem;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:var(--terracotta);margin-bottom:.65rem}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.65rem,3.5vw,2.7rem);color:var(--brand-green-dark);line-height:1.2}
.section-title em{font-style:italic;color:var(--terracotta)}
.section-intro{font-size:.95rem;color:var(--text-light);line-height:1.85;max-width:600px;margin-top:.9rem}
.on-dark .section-label{color:var(--terracotta-soft)}
.on-dark .section-title{color:var(--cream)}
.on-dark .section-title em{color:var(--terracotta-soft)}
.on-dark .section-intro{color:rgba(250,248,245,.75)}
.ornament{text-align:center;color:var(--terracotta);font-size:1rem;letter-spacing:10px;padding:2rem 0 .5rem}

/* ── CARDS / COMPONENTES ── */
.card{background:#fff;border-radius:8px;border:1px solid var(--warm-beige);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.incluso-box{background:var(--brand-green-dark);color:rgba(250,248,245,.85);padding:1.3rem 1.8rem;border-radius:8px;font-size:.86rem;line-height:1.75;margin-top:1.5rem}
.incluso-box strong{color:var(--terracotta-soft)}
.note-box{background:rgba(184,134,11,.1);border:1px solid rgba(184,134,11,.2);padding:1.2rem 1.6rem;border-radius:8px;font-size:.84rem;color:var(--text-light);font-style:italic;text-align:center}
.menu-card{background:#fff;padding:1.8rem;border-left:3px solid var(--terracotta);border-radius:8px;box-shadow:var(--shadow-sm)}
.menu-card h4{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--brand-green-dark);margin-bottom:.9rem}
.menu-card ul{list-style:none}
.menu-card li{font-size:.87rem;color:var(--text-light);padding:.3rem 0;border-bottom:1px dashed rgba(0,0,0,.07);display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.menu-card li:last-child{border-bottom:none}
.menu-card .price{font-weight:700;color:var(--terracotta);white-space:nowrap;font-size:.85rem}
.menu-card .dot::before{content:'✦';color:var(--terracotta);font-size:.5rem;margin-right:.4rem}
.feat-list{list-style:none}
.feat-list li{display:flex;align-items:flex-start;gap:.9rem;padding:.65rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:.9rem;color:var(--text-light)}
.feat-list li:last-child{border-bottom:none}
.feat-list li .ico{color:var(--terracotta);font-size:1rem;min-width:20px}
.prix-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:56px 1fr;transition:transform .3s ease}
.prix-card:hover{transform:translateY(-4px)}
.prix-num{background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.4rem}
.prix-body{padding:1.3rem 1.5rem}
.prix-body h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--brand-green-dark)}
.prix-body .prix-price{font-size:.82rem;font-weight:700;color:var(--terracotta);display:block;margin:.3rem 0 .55rem}
.prix-body p{font-size:.83rem;color:var(--text-light);line-height:1.6}
.prix-body .sabores{margin-top:.4rem;font-size:.79rem;color:var(--text-light);font-style:italic}
.beb-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.87rem}
.beb-row:last-child{border-bottom:none}
.beb-nome{color:rgba(250,248,245,.85)}
.beb-sub{font-size:.75rem;color:rgba(250,248,245,.5);display:block}
.beb-price{font-weight:700;color:var(--terracotta-soft);white-space:nowrap}
.beb-group h5{font-family:'Playfair Display',serif;font-size:1rem;color:var(--cream);margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1px solid rgba(184,134,11,.3)}

/* ── CONTATO / FORM ── */
.cinfo{display:flex;gap:1rem;margin-bottom:1.4rem;align-items:flex-start}
.cinfo-icon{width:46px;height:46px;min-width:46px;background:var(--warm-beige);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.cinfo strong{display:block;font-size:.7rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--terracotta);margin-bottom:.2rem}
.cinfo span,.cinfo a{font-size:.9rem;color:var(--text-light);text-decoration:none}
.cinfo a:hover{color:var(--terracotta)}
.form-grid{display:flex;flex-direction:column;gap:1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:.9rem 1.1rem;border:1.5px solid var(--warm-beige);background:var(--cream);border-radius:8px;font-family:'Lato',sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .3s ease}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--terracotta)}
.form-grid textarea{resize:vertical;min-height:130px}

/* ── CTA BAND ── */
.cta-band{padding:5.5rem 5%;text-align:center;color:#fff;background-size:cover;background-position:center}
.cta-band h2{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4vw,3.2rem);margin-bottom:1rem}
.cta-band p{font-size:1rem;opacity:.88;margin-bottom:2.8rem;max-width:500px;margin-left:auto;margin-right:auto}

/* ── LIGHTBOX ── */
.lightbox-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:1000;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox-overlay.open{display:flex}
.lightbox-overlay img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.sp-imgs img{cursor:pointer;transition:opacity .3s ease}
.sp-imgs img:hover{opacity:.85}
.sj-imgs img{cursor:pointer;transition:opacity .3s ease}
.sj-imgs img:hover{opacity:.85}

/* ── FOOTER ── */
.footer{background:var(--brand-green-dark);color:rgba(250,248,245,.68);padding:3.5rem 5% 2rem}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand .logo{font-family:'Pinyon Script',cursive;font-size:2.5rem;color:var(--cream);text-decoration:none;display:block;margin-bottom:.8rem}
.footer-brand p{font-size:.87rem;line-height:1.75;max-width:280px}
.footer-logo-img{height:50px;width:auto;display:block;object-fit:contain;margin-bottom:.8rem;opacity:.92}
.footer-col h5{font-size:.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terracotta-soft);margin-bottom:1rem}
.footer-col h5 a{color:var(--terracotta-soft);text-decoration:none}
.footer-col h5 a:hover{color:#fff}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:.55rem}
.footer-col a{font-size:.85rem;text-decoration:none;color:rgba(250,248,245,.68);transition:color .3s ease;line-height:1.6}
.footer-col a:hover{color:var(--terracotta-soft)}
.footer-social{display:flex;gap:.7rem;flex-wrap:wrap}
.footer-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:var(--cream);transition:background .3s ease,transform .3s ease}
.footer-social a:hover{background:var(--terracotta);transform:translateY(-2px)}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{max-width:1100px;margin:1.5rem auto 0;display:flex;justify-content:space-between;align-items:center;font-size:.77rem}
.social-links{display:flex;gap:.6rem}
.social-links a{width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--cream);text-decoration:none;transition:background .3s ease}
.social-links a:hover{background:var(--terracotta)}

/* ════════════════════════════════════════
   MOBILE — 900px: menu accordion
════════════════════════════════════════ */
@media(max-width:900px){

  .nav{padding:0 4%}

  /* Hamburguer visível no mobile */
  .hamburger{display:flex}

  /* Menu fechado por padrão */
  .nav-links{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    width:100%;
    background:var(--brand-green-dark);
    flex-direction:column;
    padding:.5rem 0 1rem;
    gap:0;
    border-bottom:1px solid rgba(184,134,11,.2);
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:200;
  }
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.9rem 5%;border-radius:0}

  /* Seta dos pais de dropdown */
  .has-drop>a::after{display:inline!important;content:' ▾';font-size:.6rem;float:right;margin-top:2px}
  .has-drop.open>a::after{content:' ▴'}

  /* Dropdown FECHADO por padrão, abre só com classe .open no pai */
  .nav-drop{
    display:none;
    position:static;
    opacity:1;
    pointer-events:all;
    transform:none;
    border:none;
    background:rgba(255,255,255,.04);
    padding:0;
    min-width:auto;
    border-radius:0;
    transition:none;
  }
  .has-drop.open>.nav-drop{display:block}
  .nav-drop a{padding:.75rem 7%}

  /* Sub-dropdown Aniversários: mesmo comportamento */
  .nav-subdrop-wrap>a::after{display:inline!important;content:' ▾';font-size:.6rem;float:right;margin-top:2px}
  .nav-subdrop-wrap.open>a::after{content:' ▴'}
  .nav-subdrop{
    display:none;
    position:static;
    opacity:1;
    pointer-events:all;
    transform:none;
    border:none;
    background:rgba(255,255,255,.03);
    min-width:auto;
    border-radius:0;
    transition:none;
  }
  .nav-subdrop-wrap.open>.nav-subdrop{display:block}
  .nav-subdrop a{padding:.65rem 10%!important;font-size:.74rem!important}

  .nav-cta{margin-left:0!important;border-radius:0!important}

  /* Footer 3 colunas */
  .footer-inner{grid-template-columns:1fr 1fr 1fr}
  .form-row{grid-template-columns:1fr}
}

/* ════════════════════════════════════════
   MOBILE — 600px: footer 1 coluna
════════════════════════════════════════ */
@media(max-width:600px){
  .footer{padding:3rem 5% 1.5rem}
  .footer-inner{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
}

/* ════════════════════════════════════════
   MOBILE — 768px: layout geral
════════════════════════════════════════ */
@media(max-width:768px){
  .nav-logo-img{height:40px}
  .page-hero{height:auto;min-height:320px;padding-bottom:3rem}
  .page-hero-content{padding:0 1rem}
  .section-title{font-size:clamp(1.45rem,6vw,2.2rem)}
  .section-intro,.historia-text p,.esp-body p,.dep-card p,.contato-sec .lead{font-size:.95rem;line-height:1.7}
  .historia,.espacos-grid,.dep-grid{grid-template-columns:1fr!important}
  .form-row{grid-template-columns:1fr!important}
  .footer-inner{grid-template-columns:1fr!important}
  .footer-brand{grid-column:auto!important}
  .historia{gap:2rem;padding:4.5rem 5%}
  .historia-img img{height:auto;aspect-ratio:5/4}
  .esp-card img{height:auto;aspect-ratio:3/2}
  .esp-body{padding:1.5rem}
  .dep-card{padding:1.5rem}
  .contato-sec{padding:4.5rem 5%}
  .cinfo-row{gap:1rem}
.btn-primary,
  .btn-whatsapp,
  .btn-outline,
  .btn-secondary,
  .btn-dark{
    margin-bottom:.8rem;
    margin-left:0!important;
    margin-right:0!important;
  }
}
