/* Componentes do site aberto: cabeçalho com CTA, contato, rodapé, cookies, WhatsApp e páginas legais */
header.site .wrap { gap: 24px; }
header.site .brand img { height: 60px; }
header.site nav { flex: 1; display: flex; justify-content: center; min-width: 0; }
header.site .nav-cta { color: var(--carvao); padding: 12px 20px; flex: none; }
header.site .nav-cta:hover { color: var(--carvao); }
@media (max-width: 1100px) { header.site nav { display: none; } }
@media (max-width: 520px) { header.site .brand img { height: 46px; } header.site .nav-cta { padding: 10px 14px; font-size: .7rem; } }

.hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px; }
.hero .btn.inv { border-color: var(--ouro); }
.hero .btn.inv:hover { color: var(--carvao); }
.hero p.hero-pt { font-size: 1rem; color: #AEB6BB; margin-top: 18px; }
.btn.big { font-size: .9rem; padding: 18px 34px; }
.svc p { margin: 0 0 12px; }
.svc .pt { color: #9AA4AA; margin: 0; }

/* Contato */
#contato { background: var(--oceano); color: #D3D9DD; }
.contact { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: start; }
@media (max-width: 900px) { .contact { grid-template-columns: 1fr; gap: 36px; } }
.contact-intro h2 { color: var(--gelo); }
.contact-intro p { font-size: 1.12rem; line-height: 1.7; margin-top: 18px; }
.contact-intro .pt { color: #AEB6BB; font-size: 1.02rem; }
.contact-points { list-style: none; padding: 0; margin: 30px 0 0; border-top: 1px solid rgba(184,155,94,.45); }
.contact-points li { padding: 16px 0; border-bottom: 1px solid var(--linha-esc); display: flex; gap: 18px; flex-wrap: wrap; font-size: 1.08rem; }
.contact-points b { width: 90px; color: var(--ouro); font-weight: 600; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; padding-top: 3px; }
.contact-points a { color: var(--gelo); text-decoration: none; border-bottom: 1px solid rgba(184,155,94,.5); }

.lead-form { background: var(--gelo); color: var(--grafite); padding: 36px; border-radius: 2px; display: grid; gap: 18px; }
@media (max-width: 520px) { .lead-form { padding: 24px 18px; } }
.lead-form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 620px) { .lead-form .row2 { grid-template-columns: 1fr; } }
.lead-form label { display: grid; gap: 7px; font-size: .95rem; font-weight: 500; color: var(--oceano); }
.lead-form input:not([type=checkbox]), .lead-form select, .lead-form textarea { font: inherit; font-size: 1.05rem; font-weight: 400; color: var(--grafite); background: #fff; border: 1px solid #C9C7BE; border-radius: 2px; padding: 13px 14px; width: 100%; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { outline: 2px solid var(--ouro); outline-offset: 1px; border-color: var(--ouro); }
.lead-form fieldset { border: 0; padding: 0; margin: 0; }
.lead-form legend { font-size: .95rem; font-weight: 500; color: var(--oceano); margin-bottom: 10px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chips label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #C9C7BE; border-radius: 40px; padding: 9px 16px; background: #fff; cursor: pointer; font-weight: 400; color: var(--grafite); }
.chips label:has(input:checked) { border-color: var(--ouro); background: #F3EBDB; }
.chips input, .consent input { width: 20px; height: 20px; accent-color: var(--oceano); flex: none; }
.lead-form .consent { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; font-size: .95rem; color: #3A3F42; line-height: 1.5; }
.lead-form .consent a { color: var(--oceano); font-weight: 600; }
.lead-form .btn.solid { justify-self: start; cursor: pointer; border: 0; }
.form-status { margin: 0; font-size: 1rem; min-height: 1.4em; }
.form-status.ok { color: #2F6B45; } .form-status.err { color: #9A3B24; }
.lead-form .fine { margin: 0; font-size: .88rem; color: var(--suave); }

/* Redes sociais: botões no contato e ícones no rodapé */
.social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.social svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.social-btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border: 1px solid var(--ouro); border-radius: 2px; color: var(--gelo); text-decoration: none; font-size: .78rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.social-btn:hover { background: var(--ouro); color: var(--carvao); }
.foot-social { margin-top: 18px; gap: 10px; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #3A3A38; border-radius: 50%; }
.site-footer .social-icon { color: #D9D9D4; }
.site-footer .social-icon:hover { color: var(--carvao); background: var(--ouro); border-color: var(--ouro); }

/* Rodapé */
.site-footer { background: var(--carvao); color: #A9A9A4; padding: 72px 0 40px; font-size: .95rem; }
.foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 48px; padding-bottom: 36px; border-bottom: 1px solid #2A2A2A; }
@media (max-width: 860px) { .foot-grid { grid-template-columns: 1fr; gap: 28px; } }
.foot-logo { height: 76px; width: auto; display: block; margin-bottom: 16px; }
.site-footer h4 { margin: 0 0 12px; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro); font-weight: 600; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: 9px; }
.foot-grid > div + div { font-size: .82rem; line-height: 1.6; }
.foot-grid > div + div li { margin-bottom: 5px; }
.site-footer a, .linklike { color: #D9D9D4; text-decoration: none; }
.site-footer a:hover, .linklike:hover { color: var(--ouro); }
.linklike { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-align: left; }
.disclaimer { margin: 28px 0 10px; font-size: .85rem; line-height: 1.6; color: #8A8A85; max-width: 980px; }
.copy { margin: 0; font-size: .82rem; color: #6E6E6A; }

/* WhatsApp flutuante */
.wa-float { position: fixed; right: 18px; bottom: 18px; z-index: 30; display: flex; align-items: center; gap: 10px; background: var(--ouro); color: var(--carvao); text-decoration: none; font-weight: 600; font-size: .95rem; padding: 12px 18px 12px 14px; border-radius: 40px; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.wa-float svg { width: 26px; height: 26px; }
@media (max-width: 520px) { .wa-float span { display: none; } .wa-float { padding: 14px; } }

/* Cookies */
.cookie { position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 40; max-width: 980px; margin: 0 auto; background: var(--grafite); color: #D9DDE0; border: 1px solid rgba(184,155,94,.5); border-radius: 2px; padding: 22px 24px; display: flex; gap: 24px; align-items: center; box-shadow: 0 18px 50px rgba(0,0,0,.45); }
.cookie[hidden] { display: none; }
.cookie b { color: var(--gelo); font-size: 1.05rem; }
.cookie p { margin: 6px 0 0; font-size: .95rem; line-height: 1.55; }
.cookie a { color: var(--ouro); }
.cookie-btns { display: flex; gap: 10px; flex: none; }
.cookie .btn { cursor: pointer; color: var(--gelo); }
.cookie .btn.solid { color: var(--carvao); border: 0; }
@media (max-width: 760px) { .cookie { flex-direction: column; align-items: stretch; } .cookie-btns { flex-direction: column; } }

/* Páginas legais */
.legal-page { background: var(--gelo); padding: 72px 0 100px; }
.legal-page .wrap { max-width: 860px; }
.legal-page h1 { font-size: clamp(2.4rem, 5vw, 3.4rem); color: var(--oceano); }
.legal-page .updated { color: var(--suave); margin: 10px 0 28px; }
.lang-switch { display: flex; gap: 8px; margin-bottom: 40px; }
.lang-switch a { border: 1px solid var(--ouro); color: var(--oceano); padding: 9px 20px; border-radius: 40px; text-decoration: none; font-weight: 600; }
.lang-switch a.on { background: var(--oceano); color: var(--gelo); border-color: var(--oceano); }
.legal-page article { font-size: 1.08rem; line-height: 1.75; color: #2A2F33; }
.legal-page article + article { margin-top: 80px; padding-top: 56px; border-top: 1px solid var(--linha); }
.legal-page h2 { font-size: 2rem; margin: 0 0 8px; }
.legal-page h3 { font-family: var(--sans); font-size: 1.15rem; font-weight: 600; color: var(--oceano); margin: 36px 0 10px; }
.legal-page ul { padding-left: 22px; }
.legal-page li { margin-bottom: 6px; }
.legal-page table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 1rem; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--linha); }
.legal-page th { color: var(--oceano); font-weight: 600; background: #EFEEE8; }
.legal-page .ph { background: #F6E9C9; padding: 0 4px; }
.back { display: inline-block; margin-bottom: 28px; color: var(--oceano); font-weight: 600; text-decoration: none; }
