/* Catálogo de brindes Afeto Canecas. Cores da loja (sálvia e creme) e o tom areia do catálogo em PDF. */
:root{
  --sage:#718177;
  --sage-deep:#4F5D55;
  --sage-soft:#E6EAE6;
  --cream:#F7F3EC;
  --sand:#EDE7DE;
  --paper:#FFFFFF;
  --ink:#2F3632;
  --muted:#5E6561;
  --line:#E2DDD3;
  --wa:#1A7F45;
  --wa-deep:#166B3A;
  --radius:14px;
  --shadow:0 1px 2px rgba(47,54,50,.06),0 8px 24px rgba(47,54,50,.06);
  --hd:72px;
  --ink-hover:#3F4B44;
  --err:var(--err);
  /* escala de texto: 12, 13, 14, 15, 17 */
  --t-xs:12px;
  --t-sm:13px;
  --t-base:14px;
  --t-md:15px;
  --t-lg:17px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hd) + 110px)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,system-ui,sans-serif;font-size:var(--t-md);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,.brand-name{font-variant-numeric:lining-nums}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.1;margin:0;color:var(--ink)}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:11px 20px;font-weight:600;font-size:var(--t-md);text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.btn-lg{padding:15px 24px;font-size:16px;width:100%}
.btn-primary{background:var(--sage-deep);color:#fff}
.btn-primary:hover{background:var(--ink-hover)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--sage);color:var(--sage-deep)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-deep)}
.icon-btn{border:0;background:transparent;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;color:var(--ink)}
.icon-btn:hover{background:var(--sand)}

/* cabeçalho */
.hd{position:sticky;top:0;z-index:30;background:rgba(247,243,236,.94);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.hd-row{height:var(--hd);display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:48px;height:48px;object-fit:contain;margin:-4px 0}
.brand-name{font-family:"Cormorant Garamond",Georgia,serif;font-size:26px;font-weight:600;color:var(--sage-deep);letter-spacing:.01em;line-height:1}
.brand-name span{color:var(--sage)}
.search{justify-self:center;width:100%;max-width:520px;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:0 16px;color:var(--muted);transition:border-color .15s}
.search:focus-within{border-color:var(--sage)}
.search input{flex:1;border:0;outline:0;background:transparent;padding:11px 0;min-width:0;color:var(--ink)}
.search input::-webkit-search-cancel-button{cursor:pointer}
.quote-btn{position:relative;display:inline-flex;align-items:center;gap:8px;background:var(--sage-deep);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:600;font-size:var(--t-md)}
.quote-btn:hover{background:var(--ink-hover)}
.quote-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--sage-deep);font-size:var(--t-xs);display:grid;place-items:center}

/* abertura */
.intro{padding:56px 0 48px}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.intro h1{font-size:clamp(40px,5.4vw,68px);font-weight:500;letter-spacing:.005em;color:var(--sage-deep)}
.intro-lead{font-size:var(--t-lg);max-width:520px;margin:18px 0 0;color:var(--ink)}
.intro-note{margin:12px 0 0;color:var(--muted);font-size:var(--t-base)}
.intro-photo{margin:0;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--sand)}
.intro-photo img{width:100%;height:100%;object-fit:cover}

/* categorias */
.cats{position:sticky;top:var(--hd);z-index:20;background:rgba(247,243,236,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.cats .wrap{padding-top:12px;padding-bottom:12px}
.cats-row,.subs-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.cats-row::-webkit-scrollbar,.subs-row::-webkit-scrollbar{display:none}
.cat{flex:none;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 15px;font-size:var(--t-base);font-weight:500;white-space:nowrap;color:var(--ink);transition:background .15s,border-color .15s,color .15s}
.cat small{color:var(--muted);font-size:var(--t-xs);margin-left:6px;font-weight:500}
.cat:hover{border-color:var(--sage)}
.cat[aria-pressed="true"]{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}
.cat[aria-pressed="true"] small{color:rgba(255,255,255,.75)}
.subs-row{gap:4px;margin-top:10px}
.sub{flex:none;border:0;background:transparent;border-radius:999px;padding:6px 12px;font-size:var(--t-sm);font-weight:500;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s}
.sub small{margin-left:5px;font-size:var(--t-xs)}
.sub:hover{background:var(--sand);color:var(--ink)}
.sub[aria-pressed="true"]{background:var(--sage-soft);color:var(--sage-deep);font-weight:600}

/* lista */
.catalog{padding-top:28px;padding-bottom:88px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.count{margin:0;color:var(--muted);font-size:var(--t-base)}
.filters{display:flex;gap:10px;flex-wrap:wrap}
.select select{appearance:none;-webkit-appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236B726E' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;border:1px solid var(--line);border-radius:999px;padding:9px 38px 9px 16px;font-size:var(--t-base);cursor:pointer}
.select select:focus{border-color:var(--sage);outline:0}
.group{margin-bottom:56px}
.sub-block{margin-bottom:34px}
.sub-block:last-child{margin-bottom:0}
.sub-block h3{font-size:24px;font-weight:600;color:var(--ink);margin:0 0 14px}
.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.group-head h2{font-size:34px;font-weight:600;color:var(--sage-deep)}
.group-head span{color:var(--muted);font-size:var(--t-base)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:left;padding:0;width:100%;transition:box-shadow .2s,border-color .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);border-color:#d6d0c4;transform:translateY(-2px)}
.card-img{aspect-ratio:1;background:var(--sand);display:grid;place-items:center;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .35s}
.card:hover .card-img img{transform:scale(1.04)}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card-name{font-weight:600;font-size:var(--t-md);line-height:1.35;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-ref{font-size:var(--t-sm);color:var(--muted)}
.card-price{margin-top:auto;padding-top:10px;font-size:var(--t-sm);color:var(--muted)}
.card-price strong{display:block;font-size:var(--t-lg);color:var(--sage-deep);font-weight:700}
.card-price small{font-size:var(--t-sm);font-weight:500;color:var(--muted)}
#produtos:focus{outline:none}
.nw{white-space:nowrap}
#oc-titulo:focus{outline:none}
.card-dots{display:flex;gap:4px;margin-top:8px}
.card-dots i{width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.12)}
.card-dots em{font-style:normal;font-size:var(--t-xs);color:var(--muted);margin-left:2px;line-height:11px}
.in-quote{position:absolute;top:10px;left:10px;background:var(--sage-deep);color:#fff;font-size:var(--t-xs);font-weight:600;padding:4px 10px;border-radius:999px}
.empty{text-align:center;padding:64px 0;color:var(--muted)}

/* catálogo 3D: fotos com fundo preenchem o card */
.cat-3d .card-img img{object-fit:cover;padding:0}
.cat-3d .card-dots{display:none} /* as mesmas cores de filamento em quase todo card: a escolha fica no produto */
.filamentos{margin-top:22px}
.filamentos p{margin:0 0 10px;font-size:var(--t-sm);font-weight:600}
.filamentos-cores{display:flex;flex-wrap:wrap;gap:6px}
.filamentos-cores i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.16)}

/* rodapé */
.ft{background:var(--paper);border-top:1px solid var(--line);padding:40px 0 24px}
.ft-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.ft-brand{display:flex;align-items:center;gap:16px}
.ft-brand img{width:72px;height:72px;object-fit:contain}
.ft-brand p{margin:0;color:var(--muted);font-size:var(--t-base)}
.ft-links{display:flex;flex-direction:column;gap:6px;text-align:right;font-size:var(--t-base)}
.ft-links a{text-decoration:none;color:var(--sage-deep);font-weight:500}
.ft-links a:hover{text-decoration:underline}
.ft-sign{display:flex;justify-content:center;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink)}

/* barra de orçamento no celular */
.quote-bar{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;display:none;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;border-radius:18px;padding:10px 10px 10px 18px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.quote-bar-info{display:flex;flex-direction:column;line-height:1.3;font-size:var(--t-sm);min-width:0}
.quote-bar-info strong{font-size:var(--t-base)}
.quote-bar-info strong,.quote-bar-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-bar-info span{color:rgba(255,255,255,.75)}
.quote-bar .btn{white-space:nowrap;flex:none}
.quote-bar .btn-primary{background:#fff;color:var(--ink)}
.quote-bar.flash{animation:barFlash .6s ease-out}
@keyframes barFlash{0%{transform:none}35%{transform:translateY(-4px) scale(1.02);background:var(--sage-deep)}100%{transform:none}}

/* diálogos */
dialog{border:0;padding:0;color:var(--ink);background:var(--paper)}
dialog::backdrop{background:rgba(35,40,37,.45);backdrop-filter:blur(2px)}
body.locked{overflow:hidden}
.close{position:absolute;top:12px;right:12px;z-index:2;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(47,54,50,.12)}
.sheet-close-form{margin:0;position:sticky;top:0;height:0;z-index:5}

/* produto */
.product{width:min(1040px,calc(100% - 48px));max-height:calc(100dvh - 48px);border-radius:20px;overflow:auto}
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:linear-gradient(to right,var(--sand) 50%,var(--paper) 50%)}
.pd-gallery{background:var(--sand);padding:28px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;align-self:start}
.pd-main{aspect-ratio:1;display:grid;place-items:center}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.pd-thumbs button{width:60px;height:60px;border-radius:10px;border:1px solid transparent;background:rgba(255,255,255,.6);padding:4px}
.pd-thumbs button[aria-current="true"]{border-color:var(--sage-deep);background:#fff}
.pd-thumbs img{width:100%;height:100%;object-fit:contain}
.pd-info{background:var(--paper);padding:36px 36px 0;display:flex;flex-direction:column;gap:18px}
.pd-meta{margin:0;color:var(--muted);font-size:var(--t-sm)}
.pd-info h2{font-size:36px;margin-top:-10px;color:var(--sage-deep)}
.pd-desc{margin:0;color:var(--ink)}
.pd-desc:empty{display:none}
.pd-notas{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.pd-notas li{font-size:var(--t-sm);background:var(--sage-soft);color:var(--sage-deep);border-radius:10px;padding:8px 12px}
.pd-notas:empty{display:none}
.opt{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.opt legend{font-weight:600;font-size:var(--t-base);padding:0;margin-bottom:10px}
.legend-sub{font-weight:500;color:var(--muted)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.tier{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}
.tier b{font-size:var(--t-base)}
.tier span{font-size:var(--t-sm);color:var(--muted)}
.tier:hover{border-color:var(--sage)}
.tier[aria-pressed="true"]{border-color:var(--sage-deep);background:var(--sage-soft);box-shadow:inset 0 0 0 1px var(--sage-deep)}
.tier[aria-pressed="true"] span{color:var(--sage-deep)}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.qty-row label{font-size:var(--t-base);color:var(--muted)}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--paper)}
.stepper input{width:72px;border:0;text-align:center;font-weight:600;padding:8px 0;background:transparent;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:0}
.stepper:focus-within{border-color:var(--sage-deep);box-shadow:0 0 0 1px var(--sage-deep)}
.stepper .icon-btn{font-size:20px;width:44px;height:44px}
.qty-hint{margin:0;font-size:var(--t-sm);color:var(--muted);min-height:1em}
.qty-hint.err{color:var(--err)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 14px;font-size:var(--t-base)}
.chip:hover{border-color:var(--sage)}
.chip[aria-pressed="true"]{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}
.chip.static{cursor:default;background:var(--sage-soft);border-color:transparent;color:var(--sage-deep)}
.swatches{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
.sw{width:44px;height:44px;border-radius:50%;border:0;background:transparent;padding:0;display:grid;place-items:center}
.sw i{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.sw[aria-pressed="true"] i{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--sage-deep)}
.sw-any{width:auto;height:44px;margin-right:6px;border-radius:999px;padding:0 14px;font-size:var(--t-sm);background:var(--paper);box-shadow:0 0 0 1px var(--line);border:0}
.sw-any[aria-pressed="true"]{box-shadow:0 0 0 2px var(--sage-deep)}
.medidas{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}
.medidas summary{cursor:pointer;font-weight:600;font-size:var(--t-base);padding:10px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
.medidas summary::-webkit-details-marker{display:none}
.medidas summary::after{content:"";width:9px;height:9px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);margin-right:4px;transition:transform .2s}
.medidas[open] summary::after{transform:rotate(-135deg)}
.medidas dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:4px 0 12px;font-size:var(--t-base)}
.medidas dt{color:var(--muted)}
.medidas dd{margin:0}
.pd-buy{display:flex;flex-direction:column;gap:12px;position:sticky;bottom:0;background:var(--paper);padding:14px 0 24px;margin-top:auto;border-top:1px solid var(--line)}
.pd-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:var(--t-base);color:var(--muted)}
.pd-total strong{font-size:22px;color:var(--ink)}

/* orçamento */
.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(480px,100%);flex-direction:column;border-radius:20px 0 0 20px}
.drawer[open]{display:flex}
.drawer:not([open]){display:none}
.oc-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px 24px;border-bottom:1px solid var(--line)}
.oc-head h2{font-size:30px;color:var(--sage-deep)}
.oc-head .close{position:static;background:transparent}
.oc-head form{margin:0}
.oc-body{flex:1;overflow:auto;padding:8px 24px 28px}
.oc-empty{text-align:center;padding:48px 8px}
.oc-empty p{margin:0 0 8px}
.oc-empty .btn{margin-top:14px}
.oc-list{list-style:none;margin:0;padding:0}
.oc-item{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.oc-item img{width:64px;height:64px;object-fit:contain;background:var(--sand);border-radius:10px;padding:4px}
.oc-item h4{margin:0;font-size:var(--t-base);font-weight:600;line-height:1.35}
.oc-item .oc-det{margin:2px 0 0;font-size:var(--t-sm);color:var(--muted)}
.oc-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.oc-line .stepper .icon-btn{width:44px;height:44px;font-size:18px}
.oc-line .stepper input{width:56px;padding:6px 0}
.oc-price{text-align:right;font-size:var(--t-sm);color:var(--muted);line-height:1.35}
.oc-price strong{display:block;font-size:var(--t-md);color:var(--ink)}
.oc-actions{display:flex;gap:18px;margin-top:2px}
.oc-actions .link{min-height:44px;min-width:44px;display:inline-flex;align-items:center;padding:0}
.link{border:0;background:none;padding:0;font-size:var(--t-sm);color:var(--sage-deep);text-decoration:underline;text-underline-offset:2px}
.link.danger{color:var(--err)}
.oc-sum{display:flex;justify-content:space-between;align-items:baseline;font-weight:600}
.oc-sum small{font-weight:500;color:var(--muted);font-size:var(--t-sm);margin-left:4px}
.oc-sum strong{font-size:22px}
.oc-form{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.oc-mais{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.oc-mais summary{cursor:pointer;list-style:none;padding:12px 0;font-size:var(--t-base);font-weight:500;color:var(--sage-deep);display:flex;justify-content:space-between;align-items:center;gap:10px}
.oc-mais summary::-webkit-details-marker{display:none}
.oc-mais summary::after{content:"+";font-size:20px;line-height:1;color:var(--muted)}
.oc-mais[open] summary::after{content:"\2212"}
.oc-mais-campos{display:flex;flex-direction:column;gap:12px;padding-bottom:16px}
.oc-texto{width:100%;margin-top:14px;border:1px solid var(--sage);border-radius:12px;padding:12px;font-size:var(--t-sm);background:var(--cream)}
.oc-pe{border-top:1px solid var(--line);padding:14px 24px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;background:var(--paper);box-shadow:0 -8px 20px rgba(47,54,50,.05)}
.oc-pe-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.oc-pe-row .link{padding:8px 0;white-space:nowrap}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:var(--t-base);font-weight:600}
.opt-tag{font-weight:400;color:var(--muted)}
.field input,.field textarea{border:1px solid var(--line);border-radius:12px;padding:11px 14px;background:var(--paper);width:100%;resize:vertical}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--sage)}
.field input[aria-invalid="true"]{border-color:var(--err)}
.field-err{margin:0;font-size:var(--t-sm);color:var(--err)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.oc-hint{margin:0;font-size:var(--t-sm);color:var(--muted)}

/* aviso */
.toast{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:24px;z-index:60;background:var(--ink);color:#fff;border-radius:999px;padding:10px 12px 10px 20px;display:flex;align-items:center;gap:14px;font-size:var(--t-base);box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:calc(100% - 32px)}
.toast .link{color:#fff;font-weight:600;padding:6px 10px}

/* assinatura dubrambilla (DbSignature) */
.db-signature{--db-accent:#D4600A;--db-text:currentColor;display:inline-flex;align-items:center;gap:.875em;font-family:"Sora",system-ui,sans-serif;font-weight:700;line-height:1}
.db-mono{display:inline-flex;align-items:baseline}
.db-char,.db-cursor{display:inline-block}
.db-sig-js .db-char,.db-sig-js .db-cursor{opacity:0;transform:translateY(6px)}
.db-signature[data-db-sig="play"] .db-char,.db-signature[data-db-sig="play"] .db-cursor{animation:dbTypeIn .25s ease-out forwards}
.db-signature[data-db-sig="play"] .db-brace-open{color:var(--db-accent);animation-delay:.15s}
.db-signature[data-db-sig="play"] .db-letter-d{color:var(--db-text);animation-delay:.40s}
.db-signature[data-db-sig="play"] .db-letter-b{color:var(--db-accent);animation-delay:.60s}
.db-signature[data-db-sig="play"] .db-brace-close{color:var(--db-accent);animation-delay:.85s}
.db-signature[data-db-sig="play"] .db-cursor{color:var(--db-accent);margin-left:.125em;animation:dbTypeIn .25s ease-out 1.1s forwards,dbBlink 1.1s step-end 1.4s infinite}
.db-signature[data-db-sig="play"] .db-by{animation:dbFadeIn .6s ease-out 1.6s forwards}
.db-brace-open,.db-brace-close,.db-letter-b,.db-cursor{color:var(--db-accent)}
.db-letter-d{color:var(--db-text)}
.db-sep{width:1px;height:1.2em;background:currentColor;opacity:.25}
.db-by{font-family:"DM Sans",system-ui,sans-serif;font-weight:400;font-size:max(12px,.82em);color:var(--db-text)}
.db-sig-js .db-by{opacity:0}
.db-by a{color:inherit;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;min-width:44px;min-height:44px;border-radius:2px;transition:color .2s}
.db-by a:hover{color:var(--db-accent)}
.db-by a:focus-visible{outline:2px solid var(--db-accent);outline-offset:2px}
@keyframes dbTypeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes dbBlink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes dbFadeIn{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
  .card:hover{transform:none}
  .card:hover .card-img img{transform:none}
  .db-signature[data-db-sig="play"] .db-char,.db-signature[data-db-sig="play"] .db-cursor,.db-signature[data-db-sig="play"] .db-by{opacity:1;transform:none;animation:none}
  .db-signature[data-db-sig="play"] .db-cursor{animation:dbBlink 1.1s step-end infinite}
}

/* tablet */
@media (max-width:1024px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .intro-grid{gap:36px}
}

/* celular */
@media (max-width:760px){
  :root{--hd:60px}
  .wrap{padding:0 16px}
  .hd{position:relative}
  .cats .wrap{padding-top:10px;padding-bottom:10px}
  .cats-row,.subs-row{margin:0 -16px;padding:0 16px}
  .cats-row::after,.subs-row::after{content:"";flex:0 0 8px}
  .subs-row{margin-top:8px}
  .sub-block h3{font-size:21px;margin-bottom:10px}
  .hd-row{grid-template-columns:1fr auto;gap:12px}
  .brand img{width:40px;height:40px}
  .brand-name{font-size:23px}
  .search{grid-column:1/-1;grid-row:2;max-width:none;margin-bottom:10px}
  .hd-row{height:auto;padding-top:8px}
  .hd-row .brand,.hd-row .quote-btn{height:48px}
  .quote-btn{padding:9px 14px}

  .quote-btn .quote-count[hidden]{display:none}
  html{scroll-padding-top:72px}
  .cats{top:0}
  .intro{padding:24px 0 20px}
  .intro-grid{grid-template-columns:1fr;gap:18px}
  .intro h1{font-size:34px}
  .intro-note{display:none}
  .intro-lead{font-size:16px;margin-top:10px}
  .intro-photo{display:none}
  .catalog{padding-top:18px;padding-bottom:110px}
  .toolbar{margin-bottom:16px}
  .filters{width:100%}
  .filters .select{flex:1}
  .filters select{width:100%}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card-body{padding:10px 12px 12px}
  .card-name{font-size:var(--t-sm)}
  .card-price{font-size:var(--t-xs)}
  .card-price strong{font-size:var(--t-md)}
  .card-price .nw{display:block}
  .card-sep{display:none}
  .group{margin-bottom:40px}
  .group-head h2{font-size:28px}
  .quote-bar:not([hidden]){display:flex}
  .ft{padding-bottom:110px}
  .ft-row{flex-direction:column;align-items:flex-start}
  .ft-links{text-align:left}

  .product{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .pd{grid-template-columns:minmax(0,1fr);background:var(--paper)}
  .pd-gallery{position:static;padding:16px 16px 12px}
  .pd-main{aspect-ratio:auto;height:min(72vw,34vh)}
  .pd-desc{order:6}
  .pd-notas{order:7}
  .medidas{order:8}
  .pd-buy{order:9}
  .pd-thumbs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .pd-thumbs button{flex:none;width:52px;height:52px}
  .pd-info{padding:20px 16px 0;gap:16px}
  .pd-info h2{font-size:30px}
  .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-buy{margin:0 -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(47,54,50,.06)}
  .drawer{width:100%;max-width:100%;border-radius:0}
  .oc-body{padding:4px 16px 20px}
  .oc-pe{padding-left:16px;padding-right:16px}
  .oc-head{padding:14px 12px 12px 16px}
  .field-row{grid-template-columns:1fr}
  .toast{bottom:92px}
}
