:root { color-scheme:light; --ink:#172a2d; --muted:#4d6062; --paper:#f4f5ee; --card:#fff; --line:#dbe1d8; --brand:#b9f171; --dark:#173535; font:16px/1.5 system-ui,sans-serif; }
* { box-sizing:border-box; }
code { overflow-wrap:anywhere; }
body { margin:0; color:var(--ink); background:var(--paper); }
[hidden] { display:none !important; }
a { color:#28594e; text-underline-offset:3px; }
.wrap { width:min(1160px,calc(100% - 2rem)); margin-inline:auto; }
.top { background:#fff; border-bottom:1px solid var(--line); }
.bar { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-block:10px; }
.mark { color:var(--ink); font-size:1.05rem; font-weight:820; letter-spacing:-.025em; text-decoration:none; }
.mark i { display:inline-block; width:.85em; height:.85em; margin-right:.5em; border-radius:.22em; background:#406f61; }
.marca-plataforma { display:inline-flex; align-items:center; font-size:1.5rem; font-weight:850; letter-spacing:-.06em; }
.marca-plataforma img { margin-right:.5rem; object-fit:contain; }
.marca-plataforma span { color:#a74613; }
.plataforma-comercial { --dark:#172536; --brand:#ffa565; --paper:#f7f5f2; }
.plataforma-comercial .plano.destaque { border-color:#bd5517; background:#fffaf4; }
.perfil-empresa { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:center; gap:clamp(1rem,4vw,3rem); }
.perfil-empresa h1 { max-width:13ch; color:var(--hero-ink,#fff); }
.hero .perfil-empresa .eyebrow { color:var(--loja-acento,#f1b74b); }
.perfil-empresa img { width:100%; display:block; max-height:480px; object-fit:cover; border-radius:14px; }
.perfil-empresa p { color:var(--hero-ink,#fff); }
@media(max-width:680px) { .perfil-empresa { grid-template-columns:1fr; } }
.hero { background:var(--dark); color:#fff; padding:clamp(2rem,6vw,5rem) 0; }
.hero p { color:#d7e6dd; max-width:61ch; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; font-weight:800; }
.hero .eyebrow { color:var(--brand); }
h1,h2,h3,p { margin:0 0 .65em; }
h1 { font-size:clamp(2.2rem,5.6vw,4.7rem); letter-spacing:-.06em; line-height:1.04; max-width:17ch; }
h2 { line-height:1.15; letter-spacing:-.03em; }
main { padding-block:2rem 4rem; }
body.publico main { padding-top:0; }
.bloco { margin-top:2.25rem; }
.cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:13px; padding:clamp(.9rem,2.2vw,1.5rem); min-width:0; }
.card p { color:var(--muted); }
.plano { display:flex; flex-direction:column; }
.plano ul { padding-left:1.25rem; margin:0 0 1.35rem; }
.plano button { margin-top:auto; align-self:flex-start; }
.plano.destaque { border:2px solid #588b55; background:#fafff5; }
.preco { color:var(--ink) !important; font-size:1.55rem; font-weight:790; letter-spacing:-.04em; }
.preco small { color:var(--muted); font-size:.85rem; font-weight:500; letter-spacing:0; }
input,select,button { font:inherit; }
input:not([type=checkbox]),select { display:block; width:100%; padding:.58rem .68rem; background:#fff; color:var(--ink); border:1px solid #b5c3bc; border-radius:7px; }
label { display:block; font-weight:600; font-size:.92rem; }
label.check { display:flex; gap:.45rem; align-items:baseline; }
button,.btnweb { display:inline-block; border:1px solid var(--dark); border-radius:7px; cursor:pointer; background:var(--dark); color:#fff; font-weight:700; padding:.55rem .85rem; text-decoration:none; text-align:center; }
button.sec,.btnweb.sec { color:var(--dark); background:#fff; }
button:disabled { opacity:.55; cursor:not-allowed; }
.hero .btnweb { background:var(--brand); color:var(--ink); margin-top:.6rem; }
.duas { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.acoes { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-block:12px; }
form { display:grid; gap:12px; }
form > button { justify-self:start; }
.mensagem { padding:.65rem .8rem; margin:.65rem 0; border-radius:7px; background:#ecf6e5; color:#254a2e; }
.erro { background:#ffede5; color:#852b1e; }
.muted, small { color:var(--muted); }
.compacto { font-size:.88rem; }
.table-wrap { overflow:auto; }
table { border-collapse:collapse; width:100%; }
td,th { border-bottom:1px solid var(--line); padding:.65rem; text-align:left; }
fieldset { border:1px solid var(--line); border-radius:8px; }
.compras { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:1rem; align-items:start; }
.produtos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.produtos article { border:1px solid var(--line); border-radius:9px; padding:.85rem; }
.produtos h3 { font-size:1.03rem; }
.linha { display:grid; grid-template-columns:minmax(0,1fr) 6rem auto; gap:8px; align-items:center; padding-block:8px; border-bottom:1px solid var(--line); }
.loja-opcao { border:1px solid var(--line); padding:.7rem; border-radius:8px; margin:.5rem 0; }
.loja-opcao p { margin:0; }
.barra-busca { grid-template-columns:minmax(0,1fr) auto; align-items:end; margin-bottom:1rem; }
footer { padding:1rem 0; background:#fff; border-top:1px solid var(--line); }
@media(max-width:880px) { .cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .compras { grid-template-columns:1fr; } }
@media(max-width:475px) { .cards,.duas,.produtos { grid-template-columns:1fr; } }
