:root{
  --navy:#101f3c;
  --navy-2:#1b3160;
  --teal:#0e8f8c;
  --teal-deep:#0a6d6b;
  --teal-light:#e6f6f4;
  --amber:#dd9b2e;
  --red:#d64550;
  --green:#2f8f5b;
  --bg:#dfe4ee;
  --bg-soft:#f6f8fb;
  --card:#ffffff;
  --line:#e3e7ef;
  --line-soft:#eef1f6;
  --ink:#15202e;
  --ink-soft:#66717f;
  --ink-faint:#93a0af;
  --radius:16px;
  --radius-sm:10px;
  --shadow-sm:0 1px 2px rgba(16,31,60,.05), 0 2px 6px rgba(16,31,60,.04);
  --shadow-md:0 6px 20px rgba(16,31,60,.08), 0 2px 6px rgba(16,31,60,.04);
  --shadow-lg:0 18px 48px rgba(16,31,60,.14);
}
*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{margin:0;color:var(--ink);font-family:'Inter',sans-serif;font-size:14px;line-height:1.5;
  background:
    radial-gradient(1200px 500px at 100% -10%, rgba(14,143,140,.06), transparent 60%),
    radial-gradient(900px 500px at -10% 0%, rgba(27,49,96,.05), transparent 55%),
    var(--bg);
  background-attachment:fixed;}
h1,h2,h3,.display{font-family:'Manrope',sans-serif;letter-spacing:-.01em;}
a{color:var(--teal-deep);text-decoration:none;}
a:hover{color:var(--teal);text-decoration:underline;}

.topbar{position:sticky;top:0;z-index:60;background:linear-gradient(120deg,#0c1a33 0%,#142a54 55%,#123f4a 130%);color:#fff;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;box-shadow:0 6px 24px rgba(10,20,40,.22);border-bottom:1px solid rgba(255,255,255,.06);}
.topbar .brand{display:flex;align-items:center;gap:15px;}
.topbar .brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(150deg,#17b3af,#0a6d6b 90%);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:'Manrope';font-size:18px;box-shadow:0 6px 16px rgba(10,120,118,.4),inset 0 1px 0 rgba(255,255,255,.35);}
.topbar .brand-logo{height:42px;width:auto;display:block;padding-right:16px;margin-right:2px;border-right:1px solid rgba(255,255,255,.16);}
.topbar h1{font-size:23px;margin:0;font-weight:800;letter-spacing:-.01em;}
.topbar .sub{font-size:12.5px;color:#a9b8d1;margin-top:3px;font-weight:500;}
.badge-dm{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:600;color:#dfe8f5;backdrop-filter:blur(4px);}

.wrap{max-width:1644px;margin:0 auto;padding:32px 396px 120px 32px;}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s;}
.step:hover{box-shadow:var(--shadow-md);}
.step-head{display:flex;align-items:center;gap:14px;padding:18px 26px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fbfcfe,#f4f7fb);}
.step-num{width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,var(--navy-2),var(--navy));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13.5px;flex-shrink:0;font-family:'Manrope';box-shadow:0 3px 8px rgba(16,31,60,.25);}
.step-head h2{font-size:16.5px;margin:0;font-weight:800;}
.step-body{padding:24px 26px;}

.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
label{display:block;font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:7px;letter-spacing:.01em;}
input[type=text],input[type=number],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:#fbfcfe;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s;
}
input::placeholder,textarea::placeholder{color:var(--ink-faint);}
input:hover,select:hover,textarea:hover{border-color:#cdd4df;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgba(14,143,140,.16);}
textarea{resize:vertical;min-height:80px;}

.quadro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;}
.qcard{background:var(--bg-soft);border:2px solid #cfd6e2;border-radius:var(--radius-sm);padding:15px 17px;transition:transform .15s,box-shadow .15s;}
.qcard:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.qcard .lbl{font-size:11px;color:var(--ink-soft);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.qcard .val{font-size:21px;font-weight:800;margin-top:6px;font-family:'Manrope';letter-spacing:-.02em;}
.qcard.hi{border-color:rgba(14,143,140,.55);background:linear-gradient(160deg,#effaf8,#e2f4f1);}
.qcard.hi .val{color:var(--teal-deep);}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.pill{padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink-soft);transition:.15s;box-shadow:var(--shadow-sm);}
.pill:hover{border-color:#cdd4df;color:var(--ink);}
.pill.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 4px 12px rgba(16,31,60,.25);}
.pill.brand-lenovo.active{background:#e2231a;border-color:#e2231a;}
.pill.brand-hp.active{background:#0096d6;border-color:#0096d6;}
.search-box{margin-left:auto;width:260px;flex:0 1 260px;}

.layout{display:block;}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
.pcard{border:2px solid #cfd6e2;border-radius:12px;padding:0 13px 11px;background:#fff;display:flex;flex-direction:column;gap:6px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;}
.pcard:hover{border-color:rgba(14,143,140,.4);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.pcard .brandline{display:flex;justify-content:space-between;align-items:center;}
.tag-brand{font-size:10px;font-weight:800;letter-spacing:.6px;padding:3px 9px;border-radius:999px;color:#fff;text-transform:uppercase;background:var(--navy);}
.tag-brand.Lenovo{background:#e2231a;}
.tag-brand.HP{background:#0096d6;}
.tag-line{font-size:11px;color:var(--ink-soft);font-weight:600;}
.tag-cpu{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:999px;text-transform:uppercase;margin-bottom:5px;border:1px solid transparent;}
.tag-cpu.Intel{background:#e6f1fb;color:#0068b5;border-color:#bcdcf5;}
.tag-cpu.AMD{background:#fdeaea;color:#c8102e;border-color:#f5c2c2;}
.tag-cpu.Qualcomm,.tag-cpu.MediaTek,.tag-cpu.Altro{background:#eef1f6;color:var(--ink-soft);border-color:#d4dae5;}
.tag-ram{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:999px;text-transform:uppercase;margin-bottom:5px;margin-left:5px;background:#edf7ee;color:#2e7d32;border:1px solid #c6e6c8;}
.tag-ssd{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:999px;text-transform:uppercase;margin-bottom:5px;margin-left:5px;background:#fff4e5;color:#b26a00;border:1px solid #f3d8ac;}
.tag-disp{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:999px;text-transform:uppercase;margin-bottom:5px;margin-left:5px;background:#eef0fb;color:#3f4bb0;border:1px solid #cdd3f2;}
.tag-os{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:999px;text-transform:uppercase;margin-bottom:5px;margin-left:5px;background:#f0f0f2;color:#4a4a52;border:1px solid #d7d7dd;}
.pcard .model{font-size:14.5px;font-weight:700;line-height:1.32;letter-spacing:-.01em;}
.pcard .specs{font-size:12px;color:var(--ink-soft);line-height:1.65;}
.pcard .specs b{color:var(--ink);font-weight:600;}
.pcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--line-soft);}
.price{font-size:16.5px;font-weight:800;font-family:'Manrope';letter-spacing:-.02em;}
.price small{font-size:10px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.4px;}
.btn-add{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;cursor:pointer;}
.btn-add:hover{background:var(--teal-deep);}
.btn-add:disabled{background:var(--line);cursor:default;}

.cart{position:fixed;top:112px;right:max(32px, calc((100vw - 1644px)/2 + 32px));width:340px;max-height:calc(100vh - 132px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px;box-shadow:var(--shadow-lg);z-index:50;}
.cart h3{margin:0 0 12px;font-size:14.5px;}
.cart-empty{font-size:13px;color:var(--ink-soft);padding:14px 0;text-align:center;background:var(--bg-soft);border-radius:var(--radius-sm);}
.cart-item{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;padding:11px 0;border-bottom:1px solid var(--line-soft);}
.cart-item:last-child{border-bottom:none;}
.cart-item .ci-name{font-weight:600;line-height:1.3;}
.cart-item .ci-meta{color:var(--ink-soft);font-size:11px;margin-top:2px;}
.cart-item .ci-remove{background:none;border:none;color:var(--red);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;}
.budget-bar{height:10px;border-radius:999px;background:var(--line);margin:14px 0 6px;overflow:hidden;}
.budget-bar .fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#19b3af);transition:width .3s ease;}
.budget-bar .fill.over{background:linear-gradient(90deg,#d64550,#e8636d);}
.budget-line{display:flex;justify-content:space-between;font-size:12.5px;margin-top:4px;}
.budget-line b{font-family:'Manrope';}
.warn{margin-top:12px;background:#fff6e6;border:1px solid #f2d199;color:#8a5a00;font-size:12px;padding:10px 12px;border-radius:var(--radius-sm);line-height:1.45;}
.warn.danger{background:#fdecec;border-color:#f2b3b8;color:#8a1c26;}

.btn-primary{background:linear-gradient(150deg,var(--navy-2),var(--navy));color:#fff;border:none;border-radius:12px;padding:13px 22px;font-size:14.5px;font-weight:700;cursor:pointer;width:100%;margin-top:14px;box-shadow:0 6px 16px rgba(16,31,60,.22);transition:transform .15s,box-shadow .15s;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(16,31,60,.28);}
.btn-primary:active{transform:translateY(0);}
.btn-primary:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed;box-shadow:none;transform:none;}

.summary-box{background:#0e1a2e;color:#cfe0ef;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;font-family:'SF Mono',ui-monospace,monospace;font-size:12.5px;white-space:pre-wrap;line-height:1.7;max-height:420px;overflow-y:auto;box-shadow:var(--shadow-sm);}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:10px 0;}
.checkbox-row input{width:auto;margin-top:3px;accent-color:var(--teal);}

.small-note{font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.55;}
@media (max-width:1000px){.wrap{max-width:1280px;padding:28px 32px 120px;}.cart{position:static;width:auto;max-height:none;box-shadow:var(--shadow-md);margin-top:20px;}}

.cat-row{margin-bottom:16px;}
.main-tabs{display:inline-flex;gap:4px;margin-bottom:20px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:6px;}
.main-tab{border:none;background:transparent;color:var(--ink-soft);font-weight:800;font-size:15px;padding:12px 30px;border-radius:10px;cursor:pointer;font-family:'Manrope';transition:all .15s;}
.main-tab:hover{color:var(--ink);}
.main-tab.active{background:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(16,31,60,.35);}
.pill.cat{border-radius:999px;padding:9px 18px;font-weight:700;}
.pill.cat.active{background:var(--navy);color:#fff;border-color:var(--navy);}
select.pill{width:auto;flex:0 0 auto;min-width:0;box-shadow:var(--shadow-sm);}
.filters{flex-wrap:wrap;}

.qd-section{font-size:11px;font-weight:800;letter-spacing:.7px;color:var(--ink-faint);text-transform:uppercase;margin:16px 0 10px;}
.qd-section:first-child{margin-top:0;}
.qd-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px;color:var(--ink-soft);}
.qd-row b{font-family:'Manrope';font-weight:800;color:var(--ink);}
.qd-divider{height:1px;background:var(--line);margin:18px 0;}
.qd-callout{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(160deg,#effaf8,#e2f4f1);border:1px solid rgba(14,143,140,.25);border-radius:var(--radius-sm);padding:13px 15px;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--teal-deep);}
.qd-callout b{font-family:'Manrope';font-size:18px;letter-spacing:-.02em;}
.qd-note{font-size:11px;color:var(--ink-faint);line-height:1.55;margin-top:12px;}
.qty-ctrl{display:flex;align-items:center;gap:6px;}
.qty-btn{width:24px;height:24px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;padding:0;transition:.12s;}
.qty-btn:hover{border-color:var(--teal);color:var(--teal);background:var(--teal-light);}
.qty-val{min-width:16px;text-align:center;font-weight:700;font-size:12.5px;}

.qty-stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fbfcfe;}
.qs-btn{width:27px;height:27px;border-radius:50%;border:none;background:var(--teal-light);color:var(--teal-deep);font-weight:800;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:.12s;}
.qs-btn:hover{background:var(--teal);color:#fff;}
.qs-val{min-width:26px;text-align:center;font-weight:800;font-family:'Manrope';font-size:14px;color:var(--navy);}

.adv-filters{margin-top:2px;}
.ms{position:relative;}
.ms-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;}
.ms-btn.has-sel{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 4px 12px rgba(16,31,60,.25);}
.ms-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#fff;color:var(--navy);font-size:10px;font-weight:800;}
.ms-btn:not(.has-sel) .ms-badge{display:none;}
.ms-caret{font-size:10px;opacity:.7;}
.ms-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:190px;max-height:300px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(16,31,60,.20);padding:6px;display:none;}
.ms.open .ms-pop{display:block;}
.ms-opt{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;white-space:nowrap;}
.ms-opt:hover{background:#f1f4f9;}
.ms-opt input{accent-color:var(--navy);width:15px;height:15px;cursor:pointer;flex:0 0 auto;}
.ms-empty{padding:8px 10px;color:var(--ink-faint);font-size:12px;}
.price-range{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:#fff;font-size:13px;color:var(--ink-soft);box-shadow:var(--shadow-sm);}
.price-range input{width:66px;border:none;padding:2px 0;font-size:13px;background:transparent;box-shadow:none;}
.price-range input:focus{outline:none;box-shadow:none;}
.price-range input:hover{border:none;}
.pr-lbl{font-weight:700;color:var(--ink-soft);margin-right:2px;}

.thumb{width:calc(100% + 26px);margin:0 -13px 2px;height:104px;background:linear-gradient(160deg,#f8fafc,#eef2f7);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line-soft);padding:10px;}
.thumb img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s;}
.pcard:hover .thumb img{transform:scale(1.04);}
.thumb.ph{color:var(--ink-faint);font-size:11px;font-weight:600;}

.modal-overlay{position:fixed;inset:0;background:rgba(11,20,38,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:mfade .18s ease;}
@keyframes mfade{from{opacity:0}to{opacity:1}}
.modal-overlay.hidden{display:none;}
.modal-box{background:#fff;border-radius:18px;max-width:620px;width:100%;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:mpop .2s cubic-bezier(.2,.8,.3,1);}
@keyframes mpop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 26px;border-bottom:1px solid var(--line-soft);gap:16px;}
.modal-head h3{margin:0 0 6px;font-size:18px;}
.modal-close{background:var(--bg-soft);border:1px solid var(--line);width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;color:var(--ink-soft);flex-shrink:0;transition:.12s;}
.modal-close:hover{background:var(--line);color:var(--ink);}
.modal-thumb{width:100%;height:200px;background:linear-gradient(160deg,#f8fafc,#eef2f7);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);}
.modal-thumb img{max-width:60%;max-height:80%;object-fit:contain;mix-blend-mode:multiply;}
.modal-body{padding:22px 26px;}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table tr{border-bottom:1px solid var(--line-soft);}
.spec-table tr:last-child{border-bottom:none;}
.spec-table td{padding:11px 4px;font-size:13.5px;vertical-align:top;}
.spec-table td:first-child{color:var(--ink-soft);font-weight:600;width:38%;}
.spec-table td:last-child{font-weight:600;}
.modal-price{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(160deg,#effaf8,#e2f4f1);border:1px solid rgba(14,143,140,.25);border-radius:var(--radius-sm);padding:15px 19px;margin-top:18px;}
.modal-price .amt{font-size:23px;font-weight:800;font-family:'Manrope';color:var(--teal-deep);letter-spacing:-.02em;}
.modal-foot{display:flex;justify-content:flex-end;padding:16px 26px 24px;}

::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-thumb{background:#cdd4df;border-radius:999px;border:3px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:#b3bccb;background-clip:content-box;}

/* ============================================================
   GLOBSIT — estensioni personalizzate
   ============================================================ */

/* Logo placeholder nel topbar (sostituibile con <img> reale in futuro) */
.brand-logo-ph{height:42px;min-width:120px;padding:0 18px;margin-right:2px;border-right:1px solid rgba(255,255,255,.16);display:flex;align-items:center;font-family:'Manrope',sans-serif;font-weight:800;font-size:22px;letter-spacing:.5px;color:#fff;}
.brand-logo-ph .dot{color:#17b3af;}

/* Colori tag per i brand inventati */
.tag-brand.Globtech{background:#0e8f8c;}
.tag-brand.Aurea{background:#7b3ff2;}
.tag-brand.NovaByte{background:#d64550;}
.pill.brand-globtech.active{background:#0e8f8c;border-color:#0e8f8c;}
.pill.brand-aurea.active{background:#7b3ff2;border-color:#7b3ff2;}
.pill.brand-novabyte.active{background:#d64550;border-color:#d64550;}

/* Riga percentuali configurabili (Step 2) */
.pct-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:20px;}
.pct-field label{display:flex;justify-content:space-between;align-items:center;}
.pct-field .cap{font-weight:700;color:var(--teal-deep);font-size:11px;}
.pct-input-wrap{position:relative;display:flex;align-items:center;}
.pct-input-wrap input{padding-right:34px;}
.pct-input-wrap .unit{position:absolute;right:13px;font-weight:800;color:var(--ink-soft);font-size:14px;pointer-events:none;}
.pct-input-wrap input.pct-invalid{border-color:var(--red);background:#fdecec;box-shadow:0 0 0 3px rgba(214,69,80,.14);}
.pct-hint{font-size:11px;color:var(--ink-faint);margin-top:6px;line-height:1.45;}
.pct-hint.err{color:var(--red);font-weight:600;}

/* Stepper quantità dentro le card catalogo */
.pcard .qty-stepper{margin-left:auto;}

/* Piccolo helper toast/stato */
.send-ok{color:var(--green);}
.send-err{color:var(--red);}
.send-wait{color:var(--ink-soft);}

/* ============================================================
   TEMA GLOBSIT — bianco / nero / arancione  (override)
   ============================================================ */
:root{
  --navy:#1a1e25;          /* nero/antracite (dal logo) */
  --navy-2:#2b3038;
  --teal:#ea8118;          /* arancione (dal logo) */
  --teal-deep:#c96a0c;
  --teal-light:#fdeede;
  --bg:#f3f4f6;            /* grigio chiarissimo */
  --bg-soft:#fafafa;
  --line:#e5e7eb;
  --line-soft:#f0f1f3;
  --ink:#16181d;
  --ink-soft:#5f6570;
  --ink-faint:#9aa0aa;
}
body{
  background:
    radial-gradient(1100px 480px at 100% -10%, rgba(234,129,24,.06), transparent 60%),
    radial-gradient(900px 480px at -10% 0%, rgba(26,30,37,.04), transparent 55%),
    var(--bg);
}

/* --- Header: bianco, testo nero, accento arancione --- */
.topbar{
  background:#fff;
  color:var(--ink);
  border-bottom:3px solid var(--teal);
  box-shadow:0 2px 14px rgba(16,18,24,.08);
}
.topbar h1{color:var(--ink);font-size:22px;}
.topbar .sub{color:var(--ink-soft);}
.topbar .brand-logo{height:46px;border-right:1px solid var(--line);}
.badge-dm{
  background:var(--teal-light);
  border:1px solid #f2c893;
  color:var(--teal-deep);
  backdrop-filter:none;
}

/* --- Highlight cards / callout in arancione --- */
.qcard.hi{border-color:rgba(234,129,24,.5);background:linear-gradient(160deg,#fff6ec,#fdeede);}
.qcard.hi .val{color:var(--teal-deep);}
.qd-callout{background:linear-gradient(160deg,#fff6ec,#fdeede);border:1px solid rgba(234,129,24,.28);color:var(--teal-deep);}
.qd-section{color:var(--teal-deep);}
.modal-price{background:linear-gradient(160deg,#fff6ec,#fdeede);border:1px solid rgba(234,129,24,.28);}
.modal-price .amt{color:var(--teal-deep);}
.qt-table-hi{background:#fff6ec;}

/* --- Budget bar arancione --- */
.budget-bar .fill{background:linear-gradient(90deg,var(--teal),#f7a04a);}
.pcard:hover{border-color:rgba(234,129,24,.45);}

/* --- CTA primaria arancione --- */
.btn-primary{background:linear-gradient(150deg,#f2932c,var(--teal));box-shadow:0 6px 16px rgba(234,129,24,.28);}
.btn-primary:hover{box-shadow:0 10px 24px rgba(234,129,24,.34);}

/* --- Focus arancione --- */
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(234,129,24,.18);}

/* --- Tag brand inventati ricolorati sul tema --- */
.tag-brand.Globtech{background:var(--teal);}
.tag-brand.Aurea{background:#1a1e25;}
.tag-brand.NovaByte{background:#7a7f88;}
.pill.brand-globtech.active{background:var(--teal);border-color:var(--teal);}
.pill.brand-aurea.active{background:#1a1e25;border-color:#1a1e25;}
.pill.brand-novabyte.active{background:#7a7f88;border-color:#7a7f88;}

/* --- Percentuali: accento arancione --- */
.pct-field .cap{color:var(--teal-deep);}

/* ============================================================
   INVERSIONE LAYOUT — riquadro totali a SINISTRA
   ============================================================ */
.wrap{padding:32px 32px 120px 396px;}
.cart{
  right:auto;
  left:max(32px, calc((100vw - 1644px)/2 + 32px));
}
@media (max-width:1000px){
  .wrap{padding:28px 32px 120px;}
}

/* ---- Tag brand/CPU per il catalogo reale DM38 ---- */
.tag-brand.Lenovo{background:#e2231a;}
.tag-brand.HP{background:#0096d6;}
.tag-brand.ASUS{background:#0b1f3a;}
.tag-brand.Apple{background:#333333;}
.tag-brand.Samsung{background:#1428a0;}
.tag-brand.Microsoft{background:#0067b8;}
.tag-brand.Dell{background:#007db8;}
.tag-brand.Prowise{background:#0e8f8c;}
.tag-brand.Atlantis{background:#e8801a;}
.tag-brand.Avantis{background:#f26522;}
.tag-cpu.Apple{background:#eef0f2;color:#333;border-color:#d7d7dd;}
.tag-cpu.Samsung{background:#e8ecfb;color:#1428a0;border-color:#c3cdf2;}
.tag-cpu.MediaTek{background:#eaf5ec;color:#2e7d32;border-color:#c6e6c8;}
/* thumbnail immagini prodotto su sfondo bianco pulito */
.thumb{background:#ffffff;}
.thumb img{mix-blend-mode:normal;}
.modal-thumb{background:#ffffff;}
.modal-thumb img{mix-blend-mode:normal;}

/* ---- Badge "in evidenza" prodotto (es. licenza perpetua DS4) ---- */
.product-badge{
  display:block;margin:2px 0 4px;padding:7px 11px;border-radius:9px;
  background:linear-gradient(150deg,#fff2e0,#fde3c4);
  border:1px solid #f2b968;color:#a75a08;
  font-size:11.5px;font-weight:800;line-height:1.35;letter-spacing:.01em;
}
.product-badge.modal-badge{font-size:13px;padding:11px 15px;margin:0 0 14px;}
.thumb{position:relative;}
.thumb-ribbon{
  position:absolute;top:8px;left:8px;z-index:2;
  background:var(--teal);color:#fff;font-size:9.5px;font-weight:800;
  letter-spacing:.4px;text-transform:uppercase;padding:4px 9px;border-radius:999px;
  box-shadow:0 3px 8px rgba(234,129,24,.4);
}

/* ---- Fondi residui: verde se positivi, rosso se negativi ---- */
#sResidual.residual-pos{color:var(--green) !important;}
#sResidual.residual-neg{color:var(--red) !important;}
