/* Workrig — hand-written, no framework. System fonts for speed. */
:root{--navy:#0f172a;--navy-2:#1e293b;--hv:#facc15;--hv-dark:#ca8a04;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#ffffff;--bg-2:#f8fafc;--good:#15803d;--bad:#b91c1c;--radius:10px;--wrap:1240px;font-size:16px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
img,svg{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{line-height:1.2;margin:0 0 .5em}h1{font-size:clamp(1.6rem,3vw,2.2rem)}h2{font-size:1.35rem}h3{font-size:1.05rem}
p{margin:0 0 1em}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}.small{font-size:.85rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--hv);padding:8px}.skip:focus{left:8px;z-index:100}
button,input,select,textarea{font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--navy);color:#fff;border:0;border-radius:var(--radius);padding:12px 20px;font-weight:600;cursor:pointer;text-decoration:none;min-height:44px}
.btn:hover{background:var(--navy-2)}.btn-hv{background:var(--hv);color:var(--navy)}.btn-hv:hover{background:#eab308}.btn-outline{background:#fff;color:var(--navy);border:2px solid var(--navy)}.btn-outline:hover{background:var(--bg-2)}.btn-sm{padding:8px 14px;min-height:36px;font-size:.9rem}.btn-block{width:100%}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line)}.badge-out{color:var(--bad)}
.flash{padding:12px 16px;border-radius:var(--radius);margin:16px 0}.flash-ok{background:#ecfdf5;color:var(--good);border:1px solid #a7f3d0}.flash-err{background:#fef2f2;color:var(--bad);border:1px solid #fecaca}

/* VAT toggle: body[data-vat] decides which span shows */
.vat-inc,body[data-vat=inc] .vat-ex{display:none}body[data-vat=inc] .vat-inc{display:inline}
.vat-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.85rem;cursor:pointer}.vat-toggle .vat-inc,.vat-toggle .vat-ex{font-weight:600}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
.topbar{background:var(--navy);color:#fff;font-size:.85rem}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}.topbar a{color:var(--hv);text-decoration:none}
.header-main{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px}
.logo img{height:36px;width:auto}
.search{display:flex;border:2px solid var(--navy);border-radius:var(--radius);overflow:hidden;max-width:560px}.search input{flex:1;border:0;padding:10px 14px;min-width:0}.search button{border:0;background:var(--navy);color:#fff;padding:0 14px;cursor:pointer}
.header-actions{display:flex;align-items:center;gap:14px;font-size:.95rem}.header-actions a{text-decoration:none;font-weight:600}
.cart-link{position:relative;display:inline-flex;padding:6px}.cart-count{position:absolute;top:-4px;right:-6px;background:var(--hv);color:var(--navy);font-size:.7rem;font-weight:800;border-radius:999px;min-width:18px;height:18px;line-height:18px;text-align:center}.cart-count:empty{display:none}
.nav-toggle{display:none;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:var(--radius);padding:8px 12px}
.mainnav{background:var(--bg-2);border-top:1px solid var(--line)}.mainnav>.wrap>ul{display:flex;list-style:none;margin:0;padding:0;gap:4px;flex-wrap:wrap}
.mainnav li{position:relative}.mainnav>.wrap>ul>li>a{display:block;padding:10px 12px;text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap}
.mainnav li ul{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.08);list-style:none;margin:0;padding:8px;min-width:220px;z-index:30}
.mainnav li:hover>ul,.mainnav li:focus-within>ul{display:block}.mainnav li ul a{display:block;padding:8px 10px;text-decoration:none;border-radius:6px}.mainnav li ul a:hover{background:var(--bg-2)}
@media(max-width:900px){.header-main{grid-template-columns:auto 1fr auto;grid-template-areas:"logo actions toggle" "search search search"}.logo{grid-area:logo}.search{grid-area:search;max-width:none}.header-actions{grid-area:actions}.nav-toggle{display:flex;grid-area:toggle}.hide-sm{display:none}
.mainnav{display:none}.mainnav.open{display:block}.mainnav>.wrap>ul{flex-direction:column}.mainnav li ul{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 16px}}

/* Hero & home */
.hero{background:linear-gradient(135deg,var(--navy),#1e3a8a);color:#fff;padding:48px 0}.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.3em}.hero p{font-size:1.1rem;max-width:620px;color:#e2e8f0}.hero .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.usps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:20px 0}.usp{display:flex;gap:10px;align-items:flex-start;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.usp .icon{flex:none;color:var(--hv-dark)}.usp strong{display:block}
.section{padding:28px 0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}.section-head a{font-weight:600}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.cat-tile{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.cat-tile img{aspect-ratio:1;object-fit:cover;width:100%}.cat-tile span{display:block;padding:10px;font-weight:600;text-align:center}.cat-tile:hover{border-color:var(--navy)}
.brand-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.brand-row a{border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;text-decoration:none;font-weight:600}

/* Product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}@media(max-width:600px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;display:flex;flex-direction:column}.card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card-img{display:block;background:var(--bg-2);aspect-ratio:1}.card-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.img-placeholder{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 10px,#e2e8f0 10px,#e2e8f0 20px)}
.card-body{padding:12px;display:flex;flex-direction:column;gap:4px}.card-brand{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.card h3{font-size:.98rem;margin:0}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}
.price{font-weight:700;font-size:1.05rem}.price .from{font-weight:400;font-size:.85rem;color:var(--muted)}.price .was{color:var(--muted);font-weight:400;font-size:.9rem;margin-left:6px}
.stars{color:var(--hv-dark);font-size:.9rem}

/* Category layout */
.listing{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:20px 0}@media(max-width:900px){.listing{grid-template-columns:1fr}}
.filters{font-size:.92rem}.filters details{border-top:1px solid var(--line);padding:10px 0}.filters summary{font-weight:700;cursor:pointer}.filters ul{list-style:none;margin:8px 0 0;padding:0}.filters li{margin:4px 0}.filters a{text-decoration:none}.filters a.on{font-weight:700;color:var(--navy)}
.listing-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.listing-head select{padding:8px;border:1px solid var(--line);border-radius:8px}
.intro{max-width:820px;margin-bottom:16px}.intro p{color:#374151}
.subcats{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.subcats a{border:1px solid var(--line);border-radius:999px;padding:6px 12px;text-decoration:none;font-size:.9rem;background:#fff}.subcats a:hover{border-color:var(--navy)}
.pagination{display:flex;gap:6px;justify-content:center;margin:24px 0;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
.breadcrumb{font-size:.85rem;padding:12px 0}.breadcrumb ol{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.breadcrumb li+li::before{content:"›";margin-right:6px;color:var(--muted)}.breadcrumb a{text-decoration:none;color:var(--muted)}
.prose{max-width:820px}.prose h2{margin-top:1.4em}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);padding:8px;text-align:left}.prose th{background:var(--bg-2)}
.faqs{max-width:820px;margin:28px 0}.faqs details{border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:8px}.faqs summary{font-weight:600;cursor:pointer}.faqs details>div{padding-top:8px;color:#374151}

/* Product page */
.product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding:12px 0 32px}@media(max-width:900px){.product{grid-template-columns:1fr}}
.gallery .main{border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:1;background:#fff;overflow:hidden}.gallery .main img{width:100%;height:100%;object-fit:contain}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.thumbs button{border:1px solid var(--line);border-radius:8px;padding:0;background:#fff;width:64px;height:64px;overflow:hidden;cursor:pointer}.thumbs button[aria-pressed=true]{border-color:var(--navy);border-width:2px}.thumbs img{width:100%;height:100%;object-fit:contain}
.buy h1{margin-bottom:4px}.buy .meta{color:var(--muted);font-size:.9rem;margin-bottom:12px}.buy .price{font-size:1.6rem}.buy .price small{font-size:.8rem;color:var(--muted);font-weight:400}
.vat-note{font-size:.85rem;color:var(--muted)}
.opts{margin:16px 0}.opts label{display:block;font-weight:600;margin-bottom:6px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:2px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;background:#fff;min-width:44px;text-align:center}.chip[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}.chip:disabled,.chip.out{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.qty{display:inline-flex;border:2px solid var(--line);border-radius:8px;overflow:hidden}.qty button{border:0;background:var(--bg-2);width:40px;cursor:pointer;font-size:1.2rem}.qty input{width:60px;border:0;text-align:center;-moz-appearance:textfield}.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.buy-row{display:flex;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;font-size:.9rem}.trust div{display:flex;gap:8px;align-items:center;background:var(--bg-2);border-radius:8px;padding:8px 10px}.trust .icon{color:var(--good);flex:none}
.bulk{border:1px dashed var(--hv-dark);background:#fefce8;border-radius:var(--radius);padding:12px 14px;font-size:.92rem}.bulk strong{color:var(--hv-dark)}
.tabs{margin-top:8px}.tabs h2{font-size:1.15rem;border-bottom:2px solid var(--line);padding-bottom:6px;margin-top:28px}
.spec{width:100%;border-collapse:collapse;font-size:.95rem}.spec th{text-align:left;width:38%;background:var(--bg-2);font-weight:600}.spec th,.spec td{border:1px solid var(--line);padding:8px 10px}
.review{border-top:1px solid var(--line);padding:12px 0}.review .who{font-size:.85rem;color:var(--muted)}

/* Personalisation panel */
.perso{border:2px solid var(--navy);border-radius:var(--radius);margin:16px 0;overflow:hidden}.perso summary{padding:12px 14px;font-weight:700;cursor:pointer;background:var(--bg-2);display:flex;justify-content:space-between;align-items:center}.perso>div{padding:14px}
.zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.zone{border:2px solid var(--line);border-radius:var(--radius);padding:10px;cursor:pointer;text-align:center}.zone input{margin-right:6px}.zone.on{border-color:var(--navy);background:#eff6ff}
.zone-detail{border:1px solid var(--line);border-radius:var(--radius);padding:10px;margin-top:10px}.zone-detail label{display:block;font-size:.85rem;font-weight:600;margin:6px 0 4px}.zone-detail input[type=text],.zone-detail select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px}
.perso-price{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-weight:700}.perso-price .small{font-weight:400}
.mock{position:relative;aspect-ratio:1;background:var(--bg-2);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}.mock img{width:100%;height:100%;object-fit:contain}.mock .print{position:absolute;border:1px dashed rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center;font-size:.75rem;overflow:hidden;background:rgba(255,255,255,.4)}.mock .print img{object-fit:contain}
.mock .print.front{left:34%;top:32%;width:24%;height:18%}.mock .print.back{left:30%;top:28%;width:40%;height:32%}.mock .print.left_sleeve{left:8%;top:30%;width:14%;height:12%}.mock .print.right_sleeve{right:8%;top:30%;width:14%;height:12%}

/* Cart / checkout */
.cart-table{width:100%;border-collapse:collapse}.cart-table th,.cart-table td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cart-table img{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:8px}.cart-table .num{text-align:right;white-space:nowrap}
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;padding:20px 0}@media(max-width:900px){.cart-layout{grid-template-columns:1fr}}
.summary{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--bg-2);position:sticky;top:12px}.summary dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 12px}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right}.summary .total{font-weight:800;font-size:1.15rem;border-top:1px solid var(--line);padding-top:8px}
.form{display:grid;gap:14px}.form label{display:block;font-weight:600;margin-bottom:4px;font-size:.92rem}.form input,.form select,.form textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:8px}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.form .row{grid-template-columns:1fr}}
.radio-card{display:flex;gap:10px;border:2px solid var(--line);border-radius:var(--radius);padding:12px;cursor:pointer;align-items:flex-start}.radio-card:has(input:checked){border-color:var(--navy);background:#eff6ff}.radio-card input{margin-top:4px}.radio-card span{display:block}.radio-card .small{display:block}

/* Footer */
.site-footer{background:var(--navy);color:#cbd5e1;margin-top:48px;padding:40px 0 24px;font-size:.92rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}
.site-footer h2{color:#fff;font-size:1rem}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:6px 0}.site-footer a{color:#e2e8f0;text-decoration:none}.site-footer a:hover{color:var(--hv)}.site-footer address{font-style:normal}

/* Admin */
.admin{display:grid;grid-template-columns:220px 1fr;min-height:100vh}@media(max-width:800px){.admin{grid-template-columns:1fr}}
.admin-nav{background:var(--navy);color:#fff;padding:16px}.admin-nav a{display:block;color:#e2e8f0;text-decoration:none;padding:8px 10px;border-radius:8px}.admin-nav a.on,.admin-nav a:hover{background:var(--navy-2);color:#fff}.admin-nav .brand{font-weight:800;color:var(--hv);margin-bottom:12px;display:block}
.admin-main{padding:20px 24px;background:var(--bg-2)}.admin-main h1{font-size:1.5rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}.kpi .v{font-size:1.5rem;font-weight:800}.kpi .l{font-size:.85rem;color:var(--muted)}
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.92rem}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:var(--bg-2);font-weight:600}.table tr:hover td{background:#fafafa}
.status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e5e7eb}.status-paid{background:#dbeafe;color:#1e40af}.status-processing{background:#fef3c7;color:#92400e}.status-shipped{background:#e0e7ff;color:#3730a3}.status-delivered,.status-collected{background:#dcfce7;color:#166534}.status-cancelled,.status-refunded{background:#fee2e2;color:#991b1b}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.panel h2{font-size:1.1rem}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input,.toolbar select{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.two{grid-template-columns:1fr}}
.login{max-width:400px;margin:60px auto;padding:0 16px}
@media print{.site-header,.site-footer,.admin-nav,.btn,.toolbar{display:none!important}.admin{display:block}}
