/* ---------- Asistente de cotización (Material / Google Forms) ---------- */
.qw{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start;max-width:1200px;margin:0 auto}
.qw-main{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:28px 30px 30px;min-width:0}
.qw-steps{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative;padding-bottom:14px}
.qw-steps li{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem;color:var(--muted);cursor:pointer}
.qw-steps li span{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font:800 .85rem var(--font-head);background:var(--surface);transition:.2s}
.qw-steps li.on{color:var(--ink)}
.qw-steps li.on span{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 5px var(--brand-100)}
.qw-steps li.done span{background:var(--brand-100);border-color:var(--brand);color:var(--brand)}
.qw-steps li.done span::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.7rem}
.qw-steps li.done span{font-size:0}
.qw-bar{position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:4px;background:var(--line);overflow:hidden}
.qw-bar b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--accent));border-radius:inherit;transition:width .35s}
.qw-pane{display:none;animation:slideIn .3s ease}
.qw-pane.on{display:block}
.qw-pane h2{font-size:1.5rem;margin:0 0 4px}
.qw-pane>.muted{margin-bottom:18px}
.qw-tools{margin-bottom:12px}
.qw-search{position:relative;display:block;margin:0}
.qw-search i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.qw-search input{padding-left:44px;border-radius:999px;height:48px}
.qw-cats{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px}
.qw-cats button{flex:0 0 auto;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:700 .82rem var(--font);cursor:pointer;white-space:nowrap}
.qw-cats button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.qw-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;max-height:440px;overflow:auto;padding:4px;margin:0 -4px}
.qp{position:relative;display:flex;gap:12px;align-items:center;text-align:left;padding:10px;border-radius:18px;border:2px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);transition:.18s}
.qp[hidden]{display:none}
.qp:hover{border-color:var(--brand-200);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.qp.sel{border-color:var(--brand);background:var(--brand-50);box-shadow:0 0 0 4px var(--brand-100)}
.qp-img{flex:0 0 64px;height:64px;border-radius:14px;overflow:hidden;background:var(--brand-50)}
.qp-img img{width:100%;height:100%;object-fit:cover}
.qp.custom .qp-img{background:var(--brand-700);padding:8px}
.qp.custom .qp-img img{object-fit:contain;border-radius:10px}
.qp-body{display:flex;flex-direction:column;min-width:0}
.qp-body strong{font-size:.92rem;line-height:1.25}
.qp-body small{color:var(--muted);font-size:.78rem;margin-top:2px}
.qp-check{position:absolute;top:8px;right:8px;color:var(--brand);font-size:1.1rem;opacity:0;transform:scale(.5);transition:.2s}
.qp.sel .qp-check{opacity:1;transform:none}
.qw-empty{color:var(--muted);text-align:center;padding:18px}
.qw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.qw-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.qw-field.full{grid-column:1/-1}
.qw-field>label{margin:0}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;align-self:flex-start;background:var(--surface)}
.qty button{width:46px;height:46px;border:0;background:var(--brand-50);color:var(--brand);font:700 1.3rem var(--font);cursor:pointer}
.qty button:hover{background:var(--brand-100)}
.qty input{width:80px;border:0;border-radius:0;text-align:center;font-weight:800;font-size:1.1rem;padding:10px 0}
.qty input:focus{box-shadow:none}
.chips,.swatches{display:flex;flex-wrap:wrap;gap:8px}
.chips button{padding:9px 15px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:700 .84rem var(--font);cursor:pointer;transition:.15s}
.chips button:hover{border-color:var(--brand)}
.chips button.on{background:var(--brand-100);border-color:var(--brand);color:var(--brand)}
:root.dark .chips button.on{color:#A9B2FF}
.swatches button{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);background:var(--c);cursor:pointer;transition:.15s;position:relative}
.swatches button:hover{transform:scale(1.12)}
.swatches button.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;border:2px dashed var(--brand-200);border-radius:18px;background:var(--brand-50);text-align:center;cursor:pointer;transition:.2s;margin:0}
.drop i{font-size:1.8rem;color:var(--brand)}
.drop small{color:var(--muted);font-weight:500}
.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-100)}
.drop.has{border-style:solid;background:var(--surface)}
.drop-prev{max-height:160px;border-radius:14px;margin-top:10px;border:1px solid var(--line)}
.qw-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.qw-error{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:#FFE9EA;color:#A51F25;font-weight:600}
.qw-error[hidden]{display:none}
:root.dark .qw-error{background:#3A1519;color:#FFA3A8}
.qw-review{border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:20px;background:var(--surface-2)}
.rv-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.rv-head img{width:60px;height:60px;border-radius:14px;object-fit:cover;background:var(--brand-50)}
.rv-head div{flex:1;display:flex;flex-direction:column}
.rv-head small{color:var(--muted)}
.qw-review dl{margin:0;display:grid;gap:8px}
.qw-review dl div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:.92rem;padding:6px 0;border-top:1px solid var(--line)}
.qw-review dt{color:var(--muted);font-weight:600}
.qw-review dd{margin:0;word-break:break-word}
.link{border:0;background:transparent;color:var(--brand);font:700 .85rem var(--font);cursor:pointer;padding:6px 0}
.link:hover{text-decoration:underline}
.switch{display:flex;align-items:center;gap:12px;font-weight:700;cursor:pointer;margin:0 0 16px}
.switch input{position:absolute;opacity:0}
.switch .sw{width:46px;height:26px;border-radius:26px;background:var(--line);position:relative;transition:.2s;flex:0 0 auto}
.switch .sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:.2s}
.switch input:checked+.sw{background:var(--brand)}
.switch input:checked+.sw::after{transform:translateX(20px)}
.switch input:focus-visible+.sw{outline:3px solid var(--brand-200)}
.qw-side{position:sticky;top:calc(var(--header-h) + 20px)}
.qs-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}
.qs-img{border-radius:18px;overflow:hidden;background:var(--brand-50);aspect-ratio:1.4;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.qs-img img{width:100%;height:100%;object-fit:cover}
.qs-card h3{font-size:1.15rem;margin-bottom:10px}
.qs-card dl{margin:0;display:grid;gap:6px}
.qs-card dl div{display:flex;justify-content:space-between;font-size:.9rem;padding:6px 0;border-bottom:1px dashed var(--line)}
.qs-card dt{color:var(--muted)}
.qs-card dd{margin:0;font-weight:700;text-align:right}
.qs-total{margin-top:14px;padding:14px 16px;border-radius:16px;background:var(--brand-50);display:flex;flex-direction:column;gap:2px}
.qs-total[hidden]{display:none}
.qs-total small{color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.qs-total strong{font:800 1.5rem var(--font-head);color:var(--brand)}
:root.dark .qs-total strong{color:#A9B2FF}
.qs-total span{font-weight:700}
.qs-note{font-size:.8rem;color:var(--muted);margin:12px 0 0}
@media (max-width:980px){
  .qw{grid-template-columns:minmax(0,1fr)}
  .qw-side{position:static;order:-1}
  .qs-img{display:none}
  .qs-card{padding:14px 16px}
  .qs-card dl{grid-template-columns:repeat(3,1fr)}
  .qs-card dl div{flex-direction:column;border:0;padding:0}
  .qs-card dd{text-align:left}
  .qw-main{padding:20px 16px}
  .qw-grid{grid-template-columns:minmax(0,1fr)}
  .qw-steps li{font-size:.75rem;flex-direction:column;text-align:center;gap:4px}
  .qw-products{max-height:none;grid-template-columns:minmax(0,1fr)}
}

.qw-contact{margin:6px 0 18px}
.qw-who{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--brand-50);margin-bottom:16px}
.qw-who i{font-size:1.6rem;color:var(--brand)}
.qw-who strong{display:block}
.qw-who small{color:var(--muted)}
.hp-wrap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.qw-cats button{display:inline-flex;align-items:center;gap:9px;padding:5px 14px 5px 5px}
.qw-cats .pill-img{width:30px;height:30px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:var(--brand-50)}
.qw-cats .pill-img img{width:100%;height:100%;object-fit:cover;display:block}
.qw-cats button[data-cat=all]{padding:9px 16px}
