/* Comercial CDA — loja B2B + institucional
   Tipografia: Barlow Condensed (títulos) + Barlow (texto). Cores base em :root. */
:root{
  --mar:#123a52; --mar-2:color-mix(in srgb,var(--mar) 78%,#000); --mar-3:color-mix(in srgb,var(--mar) 12%,#fff);
  --latao:#c08a2d; --latao-2:color-mix(in srgb,var(--latao) 80%,#000);
  --sal:#f3f5f4; --papel:#fff; --tinta:#14202b; --muda:#5b6b78; --linha:#dde3e6; --linha-2:#c9d2d7;
  --alerta:#a63d2f; --ok:#2f7a4f; --aviso:#8a6410;
  --r:6px; --wrap:1280px;
  --f-disp:'Barlow Condensed','Arial Narrow',Arial,sans-serif; --f-body:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sal);color:var(--tinta);font:400 16px/1.5 var(--f-body);font-variant-numeric:tabular-nums}
img{max-width:100%;display:block}
a{color:var(--mar)}
h1,h2,h3,h4{font-family:var(--f-disp);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:.003em}
h1{font-size:clamp(2.4rem,5vw,4rem)} h2{font-size:clamp(1.8rem,3vw,2.5rem)} h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.center{text-align:center}
.muted{color:var(--muda)} .small{font-size:.875rem}
.ico{flex:none}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--latao);outline-offset:2px}
[hidden]{display:none!important}
.pad-xl{padding-top:72px;padding-bottom:72px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;border-radius:var(--r);padding:11px 18px;font:600 .95rem/1.1 var(--f-body);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s;min-height:44px}
.btn-primary{background:var(--mar);color:#fff} .btn-primary:hover{background:var(--mar-2)}
.btn-accent{background:var(--latao);color:#1b1306} .btn-accent:hover{background:var(--latao-2);color:#fff}
.btn-outline{background:#fff;border-color:var(--mar);color:var(--mar)} .btn-outline:hover{background:var(--mar);color:#fff}
.btn-light{background:#fff;color:var(--mar)} .btn-light:hover{background:var(--mar-3)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff} .btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-danger{background:#fff;border-color:var(--alerta);color:var(--alerta)} .btn-danger:hover{background:var(--alerta);color:#fff}
.btn-block{width:100%} .btn-sm{padding:8px 14px;min-height:38px;font-size:.88rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* Cabeçalho */
.hdr{background:var(--mar);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr-row{display:flex;align-items:center;gap:20px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;flex:none}
.brand-mark{font:700 2.1rem/1 var(--f-disp);letter-spacing:.04em;border:2px solid var(--latao);padding:2px 9px 0;color:#fff}
.brand-sub{font:500 .74rem/1.15 var(--f-body);opacity:.85}
.brand-logo{height:44px;width:auto}
.hdr-search{flex:1;max-width:520px;display:flex;background:#fff;border-radius:var(--r);overflow:hidden}
.hdr-search input{flex:1;border:0;padding:0 14px;min-height:44px;font:inherit;color:var(--tinta);min-width:0}
.hdr-search input:focus-visible{outline-offset:-3px}
.hdr-search button{border:0;background:#fff;color:var(--mar);padding:0 14px;cursor:pointer}
.hdr-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.hdr-nav>a{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none;padding:10px 12px;border-radius:var(--r);font-weight:500;font-size:.95rem}
.hdr-nav>a:hover{background:rgba(255,255,255,.1)}
.hdr-auth{display:flex;gap:8px;align-items:center;margin-left:10px}
.hdr-burger{display:none;background:none;border:0;color:#fff;padding:8px;cursor:pointer}
.cart-btn{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;flex:none}
.cart-btn:hover{background:rgba(255,255,255,.24)}
.cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--latao);color:#1b1306;font:700 .75rem/20px var(--f-body);text-align:center;padding:0 5px}
.usermenu{position:relative}
.usermenu summary{list-style:none;display:flex;align-items:center;gap:7px;cursor:pointer;padding:10px 12px;border-radius:var(--r);font-weight:500}
.usermenu summary::-webkit-details-marker{display:none}
.usermenu summary:hover{background:rgba(255,255,255,.1)}
.usermenu-panel{position:absolute;right:0;top:calc(100% + 6px);background:#fff;color:var(--tinta);border-radius:var(--r);min-width:210px;box-shadow:0 12px 32px rgba(10,30,45,.22);padding:6px;z-index:60}
.usermenu-panel a,.usermenu-panel button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:none;color:var(--tinta);text-decoration:none;border-radius:4px;font:inherit;cursor:pointer}
.usermenu-panel a:hover,.usermenu-panel button:hover{background:var(--mar-3)}

.flashes{margin-top:16px}
.flash{padding:12px 16px;border-radius:var(--r);margin-bottom:8px;border-left:4px solid var(--mar);background:#fff}
.flash-ok{border-color:var(--ok)} .flash-erro{border-color:var(--alerta);background:#fbeeeb} .flash-info{border-color:var(--latao)}

/* Painel de login lateral */
.auth-backdrop{position:fixed;inset:0;background:rgba(10,25,36,.55);z-index:80}
.auth-panel{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--sal);z-index:90;padding:24px 28px;overflow:auto;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(10,30,45,.25)}
.auth-panel:not([hidden]){animation:slidein .22s ease-out}
@keyframes slidein{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.auth-close{align-self:flex-start;background:none;border:0;cursor:pointer;padding:6px;margin:-6px 0 12px -6px;color:var(--tinta)}
.auth-panel h2{font-size:2.6rem}
.auth-foot{margin-top:auto;padding-top:32px;text-align:center}

/* Formulários */
.form{display:grid;gap:14px}
.form label{display:grid;gap:5px;font-weight:500;font-size:.9rem}
.form input,.form select,.form textarea,.inp{font:inherit;padding:11px 12px;border:1.5px solid var(--linha-2);border-radius:var(--r);background:#fff;color:var(--tinta);width:100%;min-height:44px}
.form textarea{min-height:110px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--mar);box-shadow:0 0 0 3px color-mix(in srgb,var(--mar) 20%,transparent)}
.form .row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.form .hint{font-weight:400;color:var(--muda);font-size:.82rem}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .check input{width:20px;height:20px;min-height:0;margin-top:2px}
.card-box{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:24px}
.card-box h2,.card-box h3{margin-bottom:.6em}

/* Hero */
.hero{background:var(--mar);color:#fff;overflow:hidden;padding:12px 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
.hero h1{font-size:clamp(2.8rem,6vw,5rem);max-width:12ch;margin-bottom:.35em}
.hero p.lead{font-size:1.15rem;max-width:46ch;color:rgba(255,255,255,.86)}
.hero-search{display:flex;background:#fff;border-radius:var(--r);overflow:hidden;max-width:560px;margin:28px 0 14px}
.hero-search input{flex:1;border:0;padding:0 18px;min-height:56px;font:inherit;font-size:1.05rem;color:var(--tinta);min-width:0}
.hero-search button{border:0;background:var(--latao);color:#1b1306;padding:0 22px;font:600 1rem var(--f-body);cursor:pointer;display:flex;align-items:center;gap:8px}
.hero-search button:hover{background:var(--latao-2);color:#fff}
.hero-links{display:flex;gap:10px;flex-wrap:wrap}
.hero-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,minmax(150px,1fr));gap:10px;min-height:420px}
.hero-mosaic a{color:#fff;text-decoration:none;position:relative;overflow:hidden;border-radius:var(--r);background:var(--mar-2);display:block}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hero-mosaic a:hover img{transform:scale(1.04)}
.hero-mosaic a:nth-child(1){grid-column:span 4;grid-row:span 1}
.hero-mosaic a:nth-child(2){grid-column:span 2}
.hero-mosaic a:nth-child(3){grid-column:span 2}
.hero-mosaic a:nth-child(4){grid-column:span 4}
.hero-mosaic span{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;background:linear-gradient(transparent,rgba(5,15,22,.82));color:#fff;font:600 1rem/1.15 var(--f-disp);letter-spacing:.02em}

/* Seções */
.section{padding:56px 0}
.section-alt{background:#fff;border-block:1px solid var(--linha)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.section-head h2{margin:0}
.link-more{font-weight:600;text-decoration:none;border-bottom:2px solid var(--latao);padding-bottom:2px}

.cat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.cat-tile{position:relative;display:flex;align-items:flex-end;min-height:230px;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;background:var(--mar-2)}
.cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-tile:hover img{transform:scale(1.05)}
.cat-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,15,22,.88))}
.cat-tile div{position:relative;z-index:1;padding:16px}
.cat-tile h3{font-size:1.7rem;margin:0}
.cat-tile small{opacity:.85}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{counter-increment:s;border-top:3px solid var(--latao);padding-top:16px}
.steps li::before{content:counter(s);display:block;font:700 3rem/1 var(--f-disp);color:var(--mar);margin-bottom:8px}
.steps h3{margin-bottom:.3em}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-grid .prose p{max-width:62ch}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.about-photos img{border-radius:var(--r);aspect-ratio:3/4;object-fit:cover;width:100%}
.about-photos img:nth-child(2){margin-top:32px}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:28px}
.pillars div{display:flex;gap:12px;align-items:flex-start}
.pillars .ico{color:var(--latao-2);margin-top:2px}
.pillars h3{font-size:1.15rem;margin:0 0 2px}
.pillars p{margin:0;color:var(--muda);font-size:.92rem}

.cta-band{background:var(--mar);color:#fff;border-radius:var(--r);padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band h2{margin:0 0 .2em}

/* Catálogo */
.cat-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;padding-top:28px;padding-bottom:56px}
.side{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:8px;align-self:start;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto}
.side hr{border:0;border-top:1px solid var(--linha);margin:8px 6px}
.side-item,.side-sub{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;color:var(--tinta);text-decoration:none;border-radius:4px;font-weight:500;cursor:pointer}
.side-sub{padding-left:26px;font-weight:400;font-size:.94rem}
.side-item:hover,.side-sub:hover{background:var(--mar-3)}
.side .is-on{background:var(--mar);color:#fff}
.side-group summary{list-style:none} .side-group summary::-webkit-details-marker{display:none}
.side-group[open]>summary .ico{transform:rotate(180deg)}
.crumbs{font-size:.88rem;color:var(--muda);margin-bottom:6px}
.crumbs a{color:var(--muda)}
.cat-top h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.2em}
.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;padding:7px 12px;background:#fff;border:1px solid var(--linha-2);border-radius:999px;text-decoration:none;color:var(--tinta);font-size:.88rem}
.chip:hover{border-color:var(--mar)} .chip.is-on{background:var(--mar);border-color:var(--mar);color:#fff}
.sort select{border:0;background:none;font:600 .95rem var(--f-body);color:var(--mar);cursor:pointer}
.count{color:var(--muda);font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:16px}

.card{position:relative;background:#fff;border:1px solid var(--linha);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--linha-2);box-shadow:0 6px 18px rgba(18,58,82,.1)}
.card-media{position:relative;display:block;aspect-ratio:1/1;background:var(--mar-2);overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.ph{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--mar-3),#e6ebee);color:color-mix(in srgb,var(--mar) 55%,#fff)}
.ph span{font:700 3rem/1 var(--f-disp)}
.badge{position:absolute;top:10px;left:10px;z-index:2;background:#fff;color:var(--tinta);font:600 .74rem/1 var(--f-body);padding:5px 8px;border-radius:3px}
.badge+.badge{left:auto;right:10px}
.badge-new{background:var(--latao);color:#1b1306} .badge-promo{background:var(--alerta);color:#fff} .badge-out{background:#fff;color:var(--alerta)}
.fav{position:absolute;top:8px;right:8px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--mar);cursor:pointer;display:grid;place-items:center}
.card-media .badge-out{right:56px}
.fav.on{color:var(--alerta)} .fav.on svg{fill:currentColor}
.card-body{padding:12px 14px 6px;flex:1}
.ref{font-size:.74rem;color:var(--muda);letter-spacing:.02em}
.card h3{font:600 1.18rem/1.15 var(--f-disp);margin:4px 0 4px}
.card h3 a{color:var(--tinta);text-decoration:none}
.card h3 a:hover{color:var(--mar);text-decoration:underline}
.pack{font-size:.88rem;color:var(--muda)}
.card-buy{padding:8px 14px 14px;display:grid;gap:10px}
.price-main strong{font:700 1.45rem/1 var(--f-disp);color:var(--tinta)}
.price-main small,.price-sub{color:var(--muda);font-size:.84rem}
.price s{color:var(--muda);font-size:.9rem;margin-right:4px}
.promo-tag{color:var(--alerta);font-weight:600}
.buy{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.buy select{border:1.5px solid var(--linha-2);border-radius:var(--r);padding:0 6px;font:inherit;font-size:.88rem;background:#fff;min-height:44px}
.buy .btn{flex:1;min-width:92px}
.stepper{display:flex;border:1.5px solid var(--linha-2);border-radius:var(--r);overflow:hidden;background:#fff}
.stepper button{width:34px;border:0;background:#fff;font-size:1.2rem;cursor:pointer;color:var(--mar)}
.stepper button:hover{background:var(--mar-3)}
.stepper input{width:48px;border:0;text-align:center;font:inherit;font-weight:600;-moz-appearance:textfield;min-height:42px;padding:0}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.pager{display:flex;gap:6px;justify-content:center;margin:32px 0 0;flex-wrap:wrap}
.pager a,.pager span{padding:9px 14px;border:1px solid var(--linha-2);border-radius:var(--r);background:#fff;text-decoration:none;color:var(--tinta)}
.pager .is-on{background:var(--mar);color:#fff;border-color:var(--mar)}
.empty{padding:48px 20px;text-align:center;background:#fff;border:1px dashed var(--linha-2);border-radius:var(--r)}

/* Produto */
.prod{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;padding-top:24px;padding-bottom:40px}
.prod-media{background:var(--mar-2);border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;position:relative}
.prod-media img{width:100%;height:100%;object-fit:cover}
.prod h1{font-size:clamp(2rem,3.4vw,2.9rem)}
.prod .ref{font-size:.85rem;margin-bottom:6px}
.buybox{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:20px;margin:20px 0;display:grid;gap:16px}
.modes{display:grid;gap:8px}
.mode{display:flex;gap:12px;align-items:center;border:1.5px solid var(--linha-2);border-radius:var(--r);padding:12px 14px;cursor:pointer}
.mode:has(input:checked){border-color:var(--mar);background:var(--mar-3)}
.mode input{accent-color:var(--mar);width:18px;height:18px}
.mode .mode-name{font-weight:600}
.mode .mode-price{margin-left:auto;font:700 1.35rem/1 var(--f-disp)}
.mode small{display:block;color:var(--muda);font-weight:400}
.stock{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem}
.stock::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ok)}
.stock.low::before{background:var(--latao)} .stock.out::before{background:var(--alerta)}
.notice{background:#fff7e6;border:1px solid #f0d9a8;color:#5e4510;padding:12px 14px;border-radius:var(--r);font-size:.9rem}
.acc details{border-top:1px solid var(--linha-2)} .acc details:last-child{border-bottom:1px solid var(--linha-2)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:16px 4px;font-weight:600}
.acc summary::-webkit-details-marker{display:none}
.acc details[open] summary .ico{transform:rotate(180deg)}
.ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 28px;padding:0 4px 16px;margin:0}
.ficha div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--linha)}
.ficha dt{color:var(--muda)} .ficha dd{margin:0;font-weight:500;text-align:right}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(215px,1fr);gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}
.rail>*{scroll-snap-align:start}

/* Carrinho e checkout */
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;padding-top:28px;padding-bottom:56px;align-items:start}
.lines{background:#fff;border:1px solid var(--linha);border-radius:var(--r)}
.line{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:16px;padding:16px;border-bottom:1px solid var(--linha);align-items:center}
.line:last-child{border-bottom:0}
.line-img{width:84px;height:84px;border-radius:4px;overflow:hidden;background:var(--mar-2)}
.line-img img{width:100%;height:100%;object-fit:cover}
.line h3{margin:2px 0}
.line h3 a{color:inherit;text-decoration:none}
.line-qty{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:end}
.line-qty label{display:grid;gap:3px;font-size:.78rem;color:var(--muda)}
.line-qty input{width:84px;padding:8px;border:1.5px solid var(--linha-2);border-radius:var(--r);font:inherit;min-height:40px}
.line-total{text-align:right;font:700 1.4rem/1 var(--f-disp)}
.line-total small{display:block;font:400 .8rem var(--f-body);color:var(--muda);margin-top:4px}
.line .warn{color:var(--alerta);font-size:.86rem;margin-top:6px}
.summary{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:22px;position:sticky;top:92px}
.summary dl{margin:0 0 16px}
.summary .sum-row{display:flex;justify-content:space-between;padding:7px 0}
.summary .sum-total{border-top:2px solid var(--tinta);margin-top:8px;padding-top:12px;font:700 1.7rem/1 var(--f-disp)}
.opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--linha-2);border-radius:var(--r);padding:12px 14px;cursor:pointer;font-weight:400!important}
.opt:has(input:checked){border-color:var(--mar);background:var(--mar-3)}
.opt input{width:18px!important;height:18px!important;min-height:0!important;margin-top:3px;accent-color:var(--mar)}
.opt b{display:block;font-weight:600}
.opt small{color:var(--muda)}

/* Tabelas */
.tbl-wrap{overflow-x:auto;background:#fff;border:1px solid var(--linha);border-radius:var(--r)}
table.tbl{width:100%;border-collapse:collapse;font-size:.93rem}
.tbl th,.tbl td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--linha);vertical-align:middle}
.tbl th{background:var(--mar-3);font-weight:600;white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tbl .num{text-align:right;white-space:nowrap}
.tbl-sm td,.tbl-sm th{padding:8px 12px}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--mar-3);color:var(--mar)}
.pill-novo{background:#fff1d4;color:#7a5200} .pill-confirmado,.pill-separando{background:#dcecf7;color:#0f4a6e}
.pill-enviado{background:#e5e1f7;color:#41328a} .pill-entregue,.pill-ativo{background:#d9efe2;color:#1f6b42}
.pill-cancelado,.pill-bloqueado{background:#f6dcd8;color:#8c2a1e} .pill-pendente{background:#fff1d4;color:#7a5200}

/* Páginas internas */
.page-head{padding:36px 0 8px}
.page-head h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.two-col{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;padding-bottom:56px}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.contact-list li{display:flex;gap:12px;align-items:flex-start}
.contact-list .ico{color:var(--latao-2);margin-top:3px}

/* Rodapé */
.ftr{background:var(--mar-2);color:rgba(255,255,255,.88);margin-top:24px}
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:32px;padding-top:48px;padding-bottom:32px}
.ftr h4{font:600 1.2rem var(--f-disp);color:#fff;margin-bottom:.8em}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a{color:rgba(255,255,255,.88)} .ftr a:hover{color:#fff}
.ftr-brand p{margin-top:14px;max-width:34ch}
.ftr-contact li{display:flex;gap:10px;align-items:flex-start}
.ftr-legal{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;padding-bottom:28px;font-size:.84rem;color:rgba(255,255,255,.7);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ftr-legal p{margin:0;max-width:70ch}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:50%;background:#1f9d55;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.wa-float:hover{background:#178246}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--tinta);color:#fff;padding:13px 20px;border-radius:var(--r);z-index:100;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:calc(100% - 32px)}
.toast:not([hidden]){animation:pop .2s ease-out}
@keyframes pop{from{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* Admin */
.adm{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}
.adm-side{background:var(--mar-2);color:#fff;padding:20px 12px;position:sticky;top:0;height:100vh;overflow:auto}
.adm-side .brand{padding:0 8px 18px}
.adm-side a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;color:rgba(255,255,255,.88);text-decoration:none;border-radius:4px;font-weight:500}
.adm-side a:hover{background:rgba(255,255,255,.1)} .adm-side a.is-on{background:var(--latao);color:#1b1306}
.adm-side .n{background:var(--latao);color:#1b1306;border-radius:10px;font-size:.75rem;padding:1px 7px;font-weight:700}
.adm-side a.is-on .n{background:#1b1306;color:#fff}
.adm-main{padding:28px 32px 56px;min-width:0}
.adm-main h1{font-size:2.3rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0 28px}
.stat{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:16px 18px}
.stat b{display:block;font:700 2.2rem/1 var(--f-disp)} .stat span{color:var(--muda);font-size:.9rem}
.adm-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.adm-toolbar .inp{width:auto;min-width:200px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.form-grid .full{grid-column:1/-1}
.thumb{width:44px;height:44px;border-radius:4px;object-fit:cover;background:var(--mar-2)}
.inline-form{display:inline}
.login-box{max-width:420px;margin:12vh auto;padding:0 20px}

@media (max-width:1020px){
  .hero-grid,.about-grid,.prod,.two-col{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-grid{padding-top:36px;padding-bottom:36px}
  .hero-mosaic{min-height:320px}
  .cat-layout{grid-template-columns:1fr}
  .side{position:static;max-height:none}
  .cart-layout{grid-template-columns:1fr}
  .summary{position:static}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .adm{grid-template-columns:1fr}
  .adm-side{position:static;height:auto;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
  .adm-side .brand{width:100%}
}
@media (max-width:860px){
  .hdr-row{flex-wrap:wrap;gap:10px;padding-top:10px;padding-bottom:10px}
  .hdr-burger{display:block;order:0}
  .brand{order:1;margin-right:auto}
  .cart-btn{order:2}
  .hdr-search{order:4;flex-basis:100%;max-width:none}
  .hdr-nav{order:5;flex-basis:100%;display:none;flex-direction:column;align-items:stretch;margin:0}
  body.nav-open .hdr-nav{display:flex}
  .hdr-auth{margin:6px 0 4px}
  .usermenu-panel{position:static;box-shadow:none;margin-top:6px}
}
@media (max-width:640px){
  .wrap{padding:0 14px}
  .section{padding:40px 0}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .card-body{padding:10px 10px 4px} .card-buy{padding:6px 10px 12px}
  .card h3{font-size:1.05rem}
  .buy select{flex-basis:100%}
  .line{grid-template-columns:64px 1fr}
  .line-img{width:64px;height:64px}
  .line-total{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:baseline}
  .ftr-grid{grid-template-columns:1fr}
  .hero-mosaic{grid-template-rows:repeat(2,minmax(120px,1fr));min-height:260px}
  .cta-band{padding:26px}
  .adm-main{padding:20px 14px 48px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.hdr,.ftr,.wa-float,.adm-side,.no-print{display:none!important}.adm{display:block}body{background:#fff}.adm-main{padding:0}}
