/* Nodum Travel — sistema visual
   Paleta: verde-mata (fundo/texto forte), terracota (ação), sálvia (apoio), creme (superfície)
   Tipografia: Fraunces (título/serifa expressiva) + Work Sans (corpo/interface) */

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&family=Instrument+Serif&display=swap');

:root{
  --ink:#0F1E26;
  --terracotta:#0A4760;   /* ação principal: azul Atlântico, igual à página inicial */
  --sage:#FFB81C;        /* destaque: amarelo Sol */
  --cream:#FAF5EC;
  --paper:#FFFCF7;
  --line: rgba(15,30,38,0.14);
  --ink-soft: rgba(15,30,38,0.66);
  --link:#0E5F7E;
  --coral:#CC4412;
  --radius: 3px;
  --maxw: 1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Instrument Serif',Georgia,serif;
  font-weight:400;
  letter-spacing:-.01em;
  line-height:1.12;
  margin:0 0 .5em;
  color:var(--ink);
}
h1{font-size:clamp(2.4rem,5vw,3.8rem); font-weight:400;}
h2{font-size:clamp(1.5rem,3vw,2.15rem);}
h3{font-family:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif; font-size:1.15rem; font-weight:700; letter-spacing:0;}
p{margin:0 0 1.1em; max-width:64ch;}
a{color:var(--link);}
img{max-width:100%; display:block;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.section{padding:64px 0;}
.section-tight{padding:36px 0;}

/* Header */
.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky; top:0; z-index:40;
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:18px; padding-bottom:18px;
}
.brand{
  font-family:'Instrument Serif',Georgia,serif; font-weight:600; font-size:1.28rem;
  color:var(--ink); text-decoration:none; letter-spacing:-0.01em;
}
.brand span{color:var(--terracotta);}
.nav{display:flex; gap:28px; align-items:center;}
.nav a{
  color:var(--ink); text-decoration:none; font-size:.96rem;
  border-bottom:1px solid transparent; padding-bottom:2px;
}
.nav a:hover{border-bottom-color:var(--terracotta);}
.nav-cta{
  background:var(--ink); color:var(--paper) !important; padding:9px 18px;
  border-radius:var(--radius); font-weight:500;
}
.nav-toggle{display:none;}

/* Buttons */
.btn{
  display:inline-block; padding:13px 26px; border-radius:var(--radius);
  text-decoration:none; font-weight:500; font-size:.98rem;
  border:1px solid transparent; cursor:pointer; text-align:center;
}
.btn-primary{background:var(--terracotta); color:#fff;}
.btn-primary:hover{background:#072F40;}
.btn-outline{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--paper);}
.btn-quiet{background:var(--sage); color:var(--ink);}
.btn-quiet:hover{background:#F0A500;}
.btn-block{display:block; width:100%;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap;}

/* Hero */
.hero{
  background:var(--ink); color:var(--cream); padding:96px 0 84px;
}
.hero h1{color:#fff; max-width:16ch;}
.hero p.lead{color:rgba(237,230,216,0.86); font-size:1.18rem; max-width:52ch;}
.hero .btn-outline{border-color:var(--cream); color:var(--cream);}
.hero .btn-outline:hover{background:var(--cream); color:var(--ink);}

/* Cards */
.grid{display:grid; gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{
  border:1px solid var(--line); border-radius:var(--radius);
  padding:26px; background:var(--paper);
}
.card h3{margin-bottom:.35em;}
.card .tag{
  display:inline-block; font-size:.78rem; color:var(--ink-soft);
  border:1px solid var(--line); padding:3px 10px; border-radius:20px;
  margin-bottom:12px;
}

/* Pricing */
.price-card{
  border:1px solid var(--line); border-radius:var(--radius); padding:32px;
  background:var(--paper); display:flex; flex-direction:column; gap:14px;
}
.price-card.featured{border-color:var(--terracotta); border-width:2px;}
.price-num{font-family:'Instrument Serif',Georgia,serif; font-size:2.6rem; font-weight:600;}
.price-num span{font-size:1rem; font-weight:400; color:var(--ink-soft);}

/* Neighborhood / recommendation note (honest opinion, not fabricated scarcity) */
.reco{
  display:inline-block; font-size:.78rem; font-weight:500; color:var(--ink);
  background:var(--sage); padding:3px 10px; border-radius:20px; margin-bottom:10px;
}

/* Fear / trust block on guides */
.trust-block{
  background:var(--cream); border-radius:var(--radius); padding:32px;
  margin:40px 0;
}
.trust-block h3{margin-bottom:.5em;}
.signature{font-style:italic; color:var(--ink-soft); font-size:.95rem; margin-top:-.6em;}

/* Divider */
.rule{border:none; border-top:1px solid var(--line); margin:52px 0;}

/* Footer */
.site-footer{background:var(--ink); color:rgba(237,230,216,0.75); padding:52px 0 32px; margin-top:80px;}
.site-footer a{color:var(--cream);}
.site-footer .cols{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px;}
.site-footer h4{color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:14px; font-family:'Hanken Grotesk',ui-sans-serif,system-ui,sans-serif; font-weight:600;}
.site-footer ul{list-style:none; padding:0; margin:0;}
.site-footer li{margin-bottom:8px; font-size:.92rem;}
.foot-bottom{margin-top:40px; padding-top:20px; border-top:1px solid rgba(237,230,216,0.16); font-size:.82rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* Form */
label{display:block; font-weight:500; margin-bottom:6px; font-size:.92rem;}
input,select,textarea{
  width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:var(--radius);
  font-family:inherit; font-size:1rem; margin-bottom:20px; background:#fff;
}
fieldset{border:none; padding:0; margin:0 0 36px;}
legend{font-family:'Instrument Serif',Georgia,serif; font-size:1.2rem; font-weight:600; margin-bottom:6px; padding:0;}
.hint{color:var(--ink-soft); font-size:.88rem; margin-top:-14px; margin-bottom:20px;}

/* Mobile */
@media (max-width:820px){
  .nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--paper); flex-direction:column; align-items:flex-start;
    padding:20px 28px; border-bottom:1px solid var(--line); gap:16px;
  }
  .nav.open{display:flex;}
  .nav-toggle{
    display:block; background:none; border:none; font-size:1.6rem; cursor:pointer; color:var(--ink);
  }
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .site-footer .cols{flex-direction:column;}
  .hero{padding:64px 0 52px;}
}

/* Fotos dos guias */
.guide-hero-wrap{padding:0 0 28px;}
.guide-hero{margin:0; position:relative;}
.guide-hero img{display:block; width:100%; height:clamp(220px,42vw,440px); object-fit:cover; border-radius:6px;}
.guide-hero figcaption{position:absolute; right:12px; bottom:10px; font-size:.72rem; letter-spacing:.03em; color:#fff; background:rgba(22,32,27,.62); padding:3px 9px; border-radius:20px;}


/* Fix: consentimento do formulario de e-mail (Nodum) */
.lead-form .lead-consent,
.lead-form .lead-agree{display:block !important;margin:0 !important;font-size:13px !important;font-weight:400 !important;line-height:1.5 !important;color:#D3EDF3 !important;text-align:left;}
.lead-form .lead-consent{display:flex !important;align-items:flex-start;gap:10px;}
.lead-form input[type="checkbox"]{width:18px !important;height:18px !important;min-width:18px !important;padding:0 !important;margin:2px 8px 0 0 !important;flex:0 0 auto;display:inline-block;vertical-align:middle;}
.lead-form .lead-consent input[type="checkbox"]{margin:2px 0 0 !important;}
.lead-form .lead-consent span{flex:1 1 auto;min-width:0;}
.lead-form .lead-consent a,.lead-form .lead-agree a{color:#FFD978 !important;text-decoration:underline;}

/* Botão principal do menu igual ao da página inicial (amarelo Sol) */
.site-header .nav-cta{background:#FFB81C !important;color:#041E2A !important;border-radius:999px !important;font-weight:700;}
.site-header .nav-cta:hover{background:#F0A500 !important;}
