/* Projeto Rural 120+ — CSS de produção (sem dependência de CDN de framework) */
:root{
  --bg:#0B0B0B; --bg2:#050505; --card:#141414; --border:#262626;
  --gold:#F5A900; --gold2:#FFB800; --green:#174D2B; --green2:#246B39;
  --text:#ffffff; --text-dim:#c9c9c9; --text-mute:#8f8f8f;
  --radius-lg:16px; --radius-md:12px; --radius-full:999px;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:var(--safe-t);}
body{
  margin:0; font-family:var(--font); background:var(--bg2); color:var(--text);
  padding-top:var(--safe-t); padding-bottom:var(--safe-b);
  -webkit-tap-highlight-color:transparent; overflow-x:hidden; line-height:1.5;
}
img,video{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
a:focus-visible, button:focus-visible, summary:focus-visible{outline:3px solid var(--gold2); outline-offset:2px; border-radius:4px;}
h1,h2,h3{margin:0; font-weight:900; line-height:1.2;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}

.container{max-width:1152px; margin:0 auto; padding:0 20px;}
.container-sm{max-width:768px; margin:0 auto; padding:0 20px;}
.container-xs{max-width:640px; margin:0 auto; padding:0 20px;}

.section{padding:56px 0;}
.section-dark{background:#000; border-top:1px solid #1a1a1a; border-bottom:1px solid #1a1a1a;}
.text-center{text-align:center;}
.eyebrow{font-size:12px; letter-spacing:.08em; font-weight:800; color:var(--gold2); text-transform:uppercase; margin-bottom:10px;}
.gold{color:var(--gold2);}
.muted{color:var(--text-dim);}
.faint{color:var(--text-mute);}

h1{font-size:30px;}
h2{font-size:24px;}
@media(min-width:768px){
  h1{font-size:46px;}
  h2{font-size:32px;}
}

.btn-cta{
  background:linear-gradient(180deg,#FFC93C,var(--gold)); color:#1a1200; font-weight:800;
  border:none; border-radius:var(--radius-full); padding:16px 26px; display:inline-flex;
  align-items:center; justify-content:center; gap:10px; font-size:15px; cursor:pointer;
  box-shadow:0 8px 24px rgba(245,169,0,.22); transition:transform .15s ease;
  min-height:48px; width:100%;
}
@media(min-width:640px){ .btn-cta{width:auto;} }
.btn-cta:active{transform:scale(.97);}
.btn-cta:focus-visible{outline:3px solid #fff; outline-offset:2px;}

.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px;}
.badge{display:inline-block; font-size:11px; font-weight:800; padding:6px 14px; border-radius:var(--radius-full);}
.badge-green{background:var(--green); color:#e9ffe9;}
.badge-gold{background:var(--gold2); color:#1a1200;}

.hero{padding:36px 0 40px;}
.hero-grid{display:grid; gap:32px; align-items:center;}
@media(min-width:860px){ .hero-grid{grid-template-columns:1.05fr .95fr;} }
.hero-list{margin:18px 0; font-size:15px;}
.hero-list li{padding:4px 0;}
.hero-price-row{
  display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 18px;
}
.pill-fact{background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); padding:10px 14px; font-size:13px; font-weight:800;}
.pill-fact.price{background:var(--gold2); color:#1a1200; border:none; font-size:15px;}

.mock{
  width:min(260px,80vw); aspect-ratio:3/4; margin:0 auto; border-radius:6px 10px 10px 6px;
  background:linear-gradient(135deg,#111 0%,#000 60%); border:1px solid #333; position:relative;
  padding:20px 18px; display:flex; flex-direction:column; justify-content:space-between;
  box-shadow:-10px 0 0 -4px var(--bg2), -14px 6px 30px rgba(0,0,0,.55), 0 20px 40px rgba(0,0,0,.4);
}
.mock:before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:linear-gradient(90deg,#000,#2a2a2a);border-radius:6px 0 0 6px;}
.mock-title{font-size:26px; margin-top:10px;}
.mock-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; font-size:18px; margin-top:12px;}
/* NOTE PARA O CLIENTE: se existirem previews reais das páginas internas do material
   (plantas, listas, orçamentos), substitua este .mock por uma composição com essas
   imagens reais sobrepostas (3-5 miniaturas), o que reforça a percepção de acervo. */

.trustbar{background:#000; border-top:1px solid #1f1f1f; border-bottom:1px solid #1f1f1f; padding:14px 0;}
.trustbar ul{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px; font-size:12px; font-weight:800; color:#ccc;}
@media(min-width:640px){ .trustbar ul{font-size:14px;} }

.flow{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; font-size:12px; font-weight:800; margin-top:28px;}
.flow .chip{background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); padding:10px 14px;}
.flow .chip.end{border-color:var(--gold2);}
.flow .arrow{color:var(--gold2);}

.grid{display:grid; gap:14px;}
.grid-2{grid-template-columns:1fr;}
.grid-3{grid-template-columns:repeat(2,1fr);}
.grid-4{grid-template-columns:repeat(2,1fr);}
@media(min-width:640px){ .grid-2{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:repeat(3,1fr);} }
@media(min-width:768px){ .grid-4{grid-template-columns:repeat(4,1fr);} }
.cat-card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); padding:14px; text-align:center;}
.cat-icon{font-size:22px; margin-bottom:6px;}
.cat-label{font-size:12px; font-weight:800;}
.feat-card p:first-child{font-weight:800; color:var(--gold2); font-size:13px; margin-bottom:6px;}
.feat-card p:last-child{font-size:14px; color:var(--text-dim);}

.video-wrap{max-width:320px; margin:24px auto 0; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); background:#000;}
.video-wrap video{width:100%; height:auto; display:block;}

.value-grid{display:grid; gap:16px; margin-top:28px;}
@media(min-width:768px){ .value-grid{grid-template-columns:1fr 1fr;} }
.value-card.highlight{border-color:var(--gold2);}
.price-big{font-size:40px; font-weight:900; margin-top:8px;}
.price-huge{font-size:56px; font-weight:900; color:var(--gold2);}

.offer{text-align:center; padding:64px 0;}
.offer ul{margin:20px 0; font-size:14px; color:#ccc;}
.offer ul li{padding:2px 0;}
.offer .price-huge{margin:24px 0 4px;}

.steps{display:grid; gap:14px; margin-top:28px; text-align:left;}
@media(min-width:768px){ .steps{grid-template-columns:repeat(3,1fr);} }
.step-num{font-size:24px; font-weight:900; color:var(--gold2);}

details{background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); padding:16px; margin-bottom:10px;}
summary{list-style:none; cursor:pointer; font-weight:800; font-size:14px; display:flex; justify-content:space-between; align-items:center; gap:10px;}
summary::-webkit-details-marker{display:none;}
summary .chev{transition:transform .2s ease; flex-shrink:0;}
details[open] .chev{transform:rotate(180deg);}
details p{font-size:14px; color:var(--text-dim); margin-top:12px;}
details:focus-within{outline:2px solid var(--gold2); outline-offset:2px;}

.notice{max-width:640px; margin:0 auto; text-align:center;}
.notice .eyebrow{margin-bottom:8px;}
.notice p{font-size:12px; color:var(--text-mute); line-height:1.6;}

.final-cta{text-align:center; padding:72px 0;}

footer{background:#000; border-top:1px solid #1a1a1a; padding:40px 0 32px; text-align:center;}
.footer-links{display:flex; justify-content:center; gap:16px; font-size:13px; color:#999; margin-top:12px; flex-wrap:wrap;}
.footer-links a:hover, .footer-links a:focus-visible{color:#fff;}
.footer-note{font-size:11px; color:#666; max-width:480px; margin:18px auto 0; line-height:1.6;}

/* WhatsApp flutuante */
.wa-float{
  position:fixed; z-index:40; right:20px; bottom:calc(20px + var(--safe-b));
  background:#25D366; color:#0b0b0b; border-radius:var(--radius-full); box-shadow:0 10px 30px rgba(0,0,0,.4);
  display:flex; align-items:center; gap:8px; padding:14px 18px; font-weight:800; font-size:14px;
  transition:opacity .2s ease, transform .2s ease;
}
.wa-float svg{flex-shrink:0;}
.wa-float.is-hidden{opacity:0; transform:translateY(12px) scale(.9); pointer-events:none;}
@media(max-width:639px){ .wa-float span{display:none;} .wa-float{padding:14px;} }

/* Sticky CTA mobile */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:35; background:#000; border-top:1px solid #262626;
  padding:12px 16px calc(12px + var(--safe-b)); display:flex; align-items:center; justify-content:space-between;
  transform:translateY(120%); transition:transform .3s ease;
}
.sticky-cta.is-visible{transform:translateY(0);}
.sticky-cta p{font-size:13px; font-weight:900;}
.sticky-cta a{background:var(--gold2); color:#1a1200; font-weight:800; font-size:13px; padding:10px 18px; border-radius:var(--radius-full);}
@media(min-width:768px){ .sticky-cta{display:none;} }

/* Consentimento de cookies/analytics */
.consent-banner{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:50; background:#111; border:1px solid #2a2a2a;
  border-radius:var(--radius-md); padding:16px; max-width:520px; margin:0 auto;
  box-shadow:0 10px 30px rgba(0,0,0,.5); display:none;
}
.consent-banner.is-visible{display:block;}
.consent-banner p{font-size:12px; color:#ccc; line-height:1.5; margin-bottom:12px;}
.consent-actions{display:flex; gap:10px; flex-wrap:wrap;}
.consent-actions button{
  flex:1; min-width:110px; border-radius:var(--radius-full); padding:10px 14px; font-weight:800; font-size:12px;
  border:1px solid #333; background:#000; color:#fff; cursor:pointer;
}
.consent-actions button.accept{background:var(--gold2); color:#1a1200; border:none;}

.fade-up{opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease;}
.fade-up.is-visible{opacity:1; transform:none;}

.legal-page{max-width:720px; margin:0 auto; padding:48px 20px 80px;}
.legal-page h1{font-size:26px; margin-bottom:18px;}
.legal-page h2{font-size:17px; margin:28px 0 10px;}
.legal-page p, .legal-page li{font-size:14px; color:var(--text-dim); line-height:1.7;}
.legal-page li{margin-bottom:6px;}
.legal-page a.back{display:inline-block; margin-bottom:24px; font-size:13px; color:var(--gold2); font-weight:800;}

.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

@media (prefers-reduced-motion: reduce){
  *{transition-duration:.01ms !important; animation-duration:.01ms !important; scroll-behavior:auto !important;}
}
