/* Catálogo de produtos */
:root{--ease-out:cubic-bezier(.2,.75,.2,1)}
.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}
.cat-hero{position:relative;overflow:hidden;padding:44px 0 40px;background:radial-gradient(60% 90% at 85% 20%,#d9231f33,transparent 60%),#121315;color:#fff}
.cat-crumbs{font-size:13px;color:#aeb3b9;margin-bottom:18px}.cat-crumbs a{color:#dfe1e4;text-decoration:underline;text-underline-offset:3px}
.cat-hero .eyebrow{color:#ff8a82}
.cat-hero h1{font-family:var(--heading);font-size:clamp(38px,4.6vw,62px);line-height:1;margin:12px 0 12px;letter-spacing:-1px}
.cat-hero h1 em{font-style:normal;color:#ff4136}
.cat-hero p{max-width:620px;color:#c3c7cc;margin:0 0 24px}
.cat-search{position:relative;display:flex;align-items:center;max-width:720px;background:#fff;border-radius:14px;box-shadow:0 20px 40px #0006;transition:box-shadow .3s}
.cat-search:focus-within{box-shadow:0 0 0 4px #ff514666,0 20px 40px #0006}
.cat-search svg{position:absolute;left:18px;width:22px;height:22px;color:#d9231f;fill:none;stroke:currentColor;stroke-width:2}
.cat-search input{width:100%;min-height:60px;padding:14px 56px 14px 52px;border:0;border-radius:14px;font:500 17px var(--font);color:#17191c;background:transparent;outline:none}
.cat-search kbd{position:absolute;right:16px;padding:2px 8px;border:1px solid #d6d9dd;border-radius:6px;font:700 12px var(--font);color:#6b7178}
.cat-body{padding:30px 0 70px;background:#f4f5f6}
.cat-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.cat-chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid #dfe2e6;border-radius:999px;background:#fff;color:#2b3038;font:700 14px var(--font);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.cat-chip svg{width:18px;height:18px;color:#d62d24}
.cat-chip b{font-size:12px;padding:1px 7px;border-radius:999px;background:#f1f3f6;color:#5d6570}
.cat-chip:hover{border-color:#e7b7b3;transform:translateY(-1px)}
.cat-chip[aria-pressed=true]{background:#17191b;border-color:#17191b;color:#fff}.cat-chip[aria-pressed=true] svg{color:#ff5146}.cat-chip[aria-pressed=true] b{background:#ffffff26;color:#fff}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:6px 0 16px}
.cat-toolbar p{margin:0;font-size:14px;color:#5d6570;font-weight:600}
.cat-sort{display:flex;align-items:center;gap:8px;font-size:13px;color:#5d6570}
.cat-sort select{min-height:38px;padding:6px 10px;border:1px solid #d6d9dd;border-radius:8px;background:#fff;font:600 13px var(--font)}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.cat-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #e2e4e8;transition:transform .35s var(--ease-out),box-shadow .35s;animation:cat-in .5s var(--ease-out) both;animation-delay:calc(min(var(--i,0),16) * 30ms)}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #1113151a}
@keyframes cat-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cat-media{position:relative;display:grid;place-items:center;height:190px;padding:16px;border:0;background:linear-gradient(180deg,#fafbfc,#eef0f3);cursor:zoom-in}
.cat-media img{max-width:100%;max-height:158px;object-fit:contain;transition:transform .5s var(--ease-out)}
.cat-card:hover .cat-media img{transform:scale(1.06)}
.cat-ph{display:grid;justify-items:center;gap:8px;color:#9aa1a9}
.cat-ph svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.4}
.cat-ph small{font-size:12px;font-weight:600}
.cat-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:999px;background:#17191b;color:#fff;font-size:11px;font-weight:700;letter-spacing:.3px}
.cat-badge.is-new{background:#d9231f}
.cat-card-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;flex:1}
.cat-line{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#a7251f}
.cat-card h3{font-size:15px;line-height:1.35;margin:2px 0 0;color:#23262b}
.cat-model{margin:0;font:700 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#17191c;word-break:break-word}
.cat-specs{margin:4px 0 10px;font-size:12.5px;line-height:1.5;color:#6b7178;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cat-add{margin-top:auto;min-height:40px;border:1px solid #d9231f;border-radius:9px;background:#fff;color:#c51f1b;font:700 13px var(--font);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.cat-add:hover{background:#fff1f0}
.cat-add.is-on{background:#1f9d55;border-color:#1f9d55;color:#fff}
.cat-more-wrap{display:flex;justify-content:center;margin-top:26px}
.cat-empty{text-align:center;padding:50px 20px;background:#fff;border-radius:16px;border:1px dashed #d6d9dd}
.cat-empty h2{font-size:30px;margin:0 0 8px}
.cat-note{margin:26px 0 0;font-size:12px;color:#6b7178;text-align:center}
/* Botão flutuante da lista */
.cat-fab{position:fixed;right:24px;bottom:24px;z-index:35;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 20px;border:0;border-radius:999px;background:#17191b;color:#fff;font:700 15px var(--font);box-shadow:0 16px 34px #0005;cursor:pointer}
.cat-fab[hidden]{display:none}
.cat-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.cat-fab b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#d9231f;font-size:13px}
.cat-fab.is-bump{animation:bump .5s var(--ease-out)}
@keyframes bump{30%{transform:scale(1.12)}}
/* Gaveta da lista e ficha do produto */
.cat-drawer,.cat-modal{border:0;padding:0;border-radius:18px;box-shadow:0 30px 60px #0006;color:#17191c}
.cat-drawer::backdrop,.cat-modal::backdrop{background:#0b0c0ecc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cat-drawer{width:min(460px,94vw);max-height:88vh;margin:auto 16px auto auto;display:none;flex-direction:column}
.cat-drawer[open]{display:flex;animation:drawer-in .35s var(--ease-out)}
@keyframes drawer-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.cat-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #eceef1}
.cat-drawer-head h2{font-size:24px;margin:0}
.cat-x{width:40px;height:40px;border:0;border-radius:50%;background:#f1f3f6;font-size:24px;line-height:1;cursor:pointer}
.cat-list{list-style:none;margin:0;padding:6px 20px;overflow-y:auto;flex:1}
.cat-list li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f3}
.cat-list li>div:first-child{display:flex;flex-direction:column;min-width:0}
.cat-list strong{font:700 13px ui-monospace,Consolas,monospace;word-break:break-word}.cat-list span{font-size:12px;color:#6b7178}
.cat-list .cat-list-empty{display:block;color:#6b7178;font-size:14px;border:0}
.cat-qty{display:flex;align-items:center;border:1px solid #d6d9dd;border-radius:9px}
.cat-qty button{width:34px;height:34px;border:0;background:none;font-size:18px;cursor:pointer}
.cat-qty output{min-width:28px;text-align:center;font-weight:700}
.cat-del{grid-column:1/-1;justify-self:start;border:0;background:none;padding:0;font-size:12px;color:#b3211b;text-decoration:underline;cursor:pointer}
.cat-drawer-foot{padding:14px 20px 20px;border-top:1px solid #eceef1;display:grid;gap:10px}
.cat-drawer-foot label{font-size:13px;font-weight:600}
.cat-drawer-foot textarea{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #d6d9dd;border-radius:9px;font:400 14px var(--font);resize:vertical}
.cat-send{justify-content:center}.cat-send.is-disabled{opacity:.5;pointer-events:none}
.cat-clear{border:0;background:none;color:#6b7178;font-size:13px;text-decoration:underline;cursor:pointer}
.cat-modal{width:min(900px,94vw);max-height:90vh;overflow:auto}
.cat-modal[open]{animation:pop-in .3s var(--ease-out)}
@keyframes pop-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.cat-modal>.cat-x{position:absolute;top:14px;right:14px;z-index:2}
.cat-modal-body{display:grid;grid-template-columns:1fr 1.1fr}
.cat-modal-media{display:grid;place-items:center;min-height:340px;padding:28px;background:linear-gradient(180deg,#fafbfc,#eceef1)}
.cat-modal-media img{max-width:100%;max-height:380px;object-fit:contain}
.cat-modal-info{position:relative;padding:34px 30px 28px;display:flex;flex-direction:column;gap:6px}
.cat-modal-info .cat-badge{position:static;align-self:flex-start;margin-bottom:6px}
.cat-modal-info h2{font-size:30px;margin:4px 0 0;line-height:1.1}
.cat-modal-info .cat-model{font-size:16px}
.cat-code{margin:0;font-size:13px;color:#6b7178}
.cat-spec-list{list-style:none;margin:12px 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cat-spec-list li{padding:6px 10px;border-radius:8px;background:#f1f3f6;font-size:13px;color:#2b3038}
.cat-modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:auto}
.cat-modal-actions .cat-add{min-height:48px;padding:10px 18px;margin:0}
.cat-ask{font-size:14px;font-weight:700;color:#1d2326;text-decoration:underline;text-underline-offset:4px}
@media(max-width:780px){.cat-hero{padding:30px 0 28px}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cat-media{height:150px;padding:12px}.cat-media img{max-height:124px}.cat-card-body{padding:12px}.cat-card h3{font-size:14px}.cat-modal-body{grid-template-columns:1fr}.cat-modal-media{min-height:220px}.cat-modal-info{padding:22px 20px}.cat-fab{right:14px;bottom:86px}.cat-toolbar{flex-direction:column;align-items:flex-start}.cat-drawer{margin:auto;width:94vw}.cat-search kbd{display:none}}
@media(prefers-reduced-motion:reduce){.cat-card,.cat-drawer[open],.cat-modal[open],.cat-fab.is-bump{animation:none}}
.cat-sap{margin:0;font:600 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#6b7178}
.cat-modal-info .cat-sap{font-size:14px}

/* Esqueleto de carregamento e transição da foto para a ficha */
.cat-skel{border-radius:16px;background:#fff;border:1px solid #e2e4e8;padding:16px;display:flex;flex-direction:column;gap:10px}
.cat-skel span,.cat-skel i{display:block;border-radius:8px;background:linear-gradient(90deg,#eef0f2 25%,#f7f8f9 50%,#eef0f2 75%);background-size:200% 100%;animation:cat-shimmer 1.2s linear infinite}
.cat-skel span{height:170px}.cat-skel i{height:14px}.cat-skel i:last-child{width:60%}
@keyframes cat-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
::view-transition-group(cat-foto){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
@media(prefers-reduced-motion:reduce){.cat-skel span,.cat-skel i{animation:none}}

/* Ficha do produto no catálogo: orçamento em destaque, lista como secundário legível, especificações compactas */
.cat-modal-media{background:#fff;border-right:1px solid #e3e5e8}
.cat-modal-info{gap:8px;padding:34px 32px 26px}
.cat-modal-info h2{font-size:28px}
.cat-modal-info .cat-model{font:600 15px/1.3 ui-monospace,Consolas,monospace;color:#4a5057;margin:0}
.cat-sap-pill{align-self:flex-start;margin:4px 0 2px!important;padding:5px 10px;border-radius:999px;background:#fff1f0;color:#b81c18!important;font-weight:700!important}
.cat-modal .cat-spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:10px 0 4px}
.cat-modal .cat-spec-list li{padding:0 0 0 14px;background:none;border-radius:0;position:relative;font-size:13.5px;line-height:1.45;color:#2b3038}
.cat-modal .cat-spec-list li::before{content:'';position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#d9231f}
.cat-more-specs{font-size:13px;font-weight:700;color:#b81c18;margin-bottom:6px}
.cat-modal-actions{gap:10px;margin-top:14px}
.cat-modal-actions .cat-order{min-height:48px;padding:12px 20px}
.cat-modal .cat-modal-actions .cat-add{min-height:48px;padding:10px 18px;margin:0;background:#fff;color:#15171a;border:1px solid #15171a40;border-radius:8px}
.cat-modal .cat-modal-actions .cat-add:hover{border-color:#15171a;background:#15171a0a}
.cat-modal .cat-modal-actions .cat-add.is-on{background:#1f9d55;border-color:#1f9d55;color:#fff}
.cat-modal-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;padding-top:14px;border-top:1px solid #e3e5e8}
.cat-modal-links a{font-size:13px;font-weight:600;color:#4a5057;text-decoration:underline;text-underline-offset:3px}
.cat-modal-links a:hover{color:#15171a}
@media(max-width:780px){.cat-modal .cat-spec-list{grid-template-columns:1fr}.cat-modal-media{border-right:0;border-bottom:1px solid #e3e5e8}.cat-modal-actions .cat-order,.cat-modal .cat-modal-actions .cat-add{flex:1 1 100%;justify-content:center}}
.cat-modal{overflow-x:hidden}
.cat-modal .cat-spec-list li,.cat-modal-info h2,.cat-modal-info .cat-model{overflow-wrap:anywhere;min-width:0}
.cat-modal-info{min-width:0}

/* Rodape compacto (mesmo do /parceiros/). Antes faltava: o catalogo e as paginas de produto usam .partner-footer mas nao carregam partners.css. */
.partner-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;width:100%;max-width:none;margin:48px 0 0;padding:30px max(20px,calc((100% - 1200px)/2));background:#15171a;color:#e4e6e9;font-size:13px;line-height:1.5}
.partner-footer a,.partner-footer button{color:#fff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
.partner-footer a:hover,.partner-footer button:hover{color:#ff8a82;text-decoration:underline}
.partner-footer span{opacity:.72}
@media(max-width:780px){.partner-footer{flex-direction:column;align-items:flex-start;gap:14px;padding-bottom:40px}}

/* Miniatura voando até o botão da lista. */
.cat-fly{position:fixed;z-index:60;pointer-events:none;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 10px 30px #0004;transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s;will-change:transform}
.cat-card a.cat-add-link{display:flex;align-items:center;justify-content:center;text-decoration:none}
