:root{--bg:oklch(90.5% .022 168);--surface:oklch(97.5% .012 160);--well:oklch(93% .019 171);--studio:oklch(86% .04 171);--ink:oklch(24% .022 80);--ink-2:oklch(42% .024 90);--muted:oklch(49% .022 95);--line:oklch(86% .028 168);--line-strong:oklch(62% .035 168);--accent:oklch(48% .088 178);--accent-dark:oklch(38% .078 178);--accent-soft:oklch(93% .032 168);--filament:oklch(66% .13 48);--filament-soft:oklch(93% .04 55);--filament-ink:oklch(47% .115 48);--good:oklch(44% .105 148);--good-soft:oklch(93% .04 145);--danger:oklch(52% .15 22);--radius:16px;--radius-photo:22px;--radius-pill:999px;--photo-ratio:1;--font-display:"Gabarito", system-ui, sans-serif;--font-body:"Rubik", system-ui, sans-serif;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--shadow:0 12px 32px oklch(24% .022 80/.08);--shadow-sm:0 2px 10px oklch(24% .022 80/.05);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:64px;--topbar-h:34px;--space-sm:8px;--space-md:16px;--space-lg:28px;--space-xl:48px;--page-x:28px;--page-y:28px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}ul,ol{list-style:none}input,select,textarea{font:inherit;border:1.5px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);transition:border-color .15s var(--ease-out-quart);border-radius:12px;outline:none;padding:12px 14px;font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--accent)}::placeholder{color:var(--ink-2);opacity:1}label{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:600;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:400;background:var(--accent);color:var(--surface);border-radius:var(--radius-pill);padding:10px 16px;font-weight:600;position:absolute;top:8px;left:12px;transform:translateY(-140%)}.skip-link:focus{transform:none}.container{max-width:1160px;padding:0 var(--page-x);margin:0 auto}.page{padding-top:var(--page-y);padding-bottom:var(--space-xl)}.btn{border-radius:var(--radius-pill);min-height:46px;transition:transform .15s var(--ease-out-quart), background .15s var(--ease-out-quart), box-shadow .15s var(--ease-out-quart), color .15s var(--ease-out-quart);justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:15px;font-weight:700;display:inline-flex}.btn-primary{background:var(--accent);color:var(--surface);box-shadow:0 4px 0 var(--accent-dark)}.btn-primary:hover{box-shadow:0 5px 0 var(--accent-dark);transform:translateY(-1px)}.btn-primary:active{box-shadow:0 1px 0 var(--accent-dark);transform:translateY(3px)}.btn-ghost{background:var(--surface);color:var(--ink);border:1.5px solid var(--line-strong);box-shadow:0 3px 0 var(--line-strong)}.btn-ghost:hover{box-shadow:0 4px 0 var(--line-strong);color:var(--accent-dark);transform:translateY(-1px)}.btn-ghost:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(2px)}.btn-sm{min-height:36px;padding:8px 14px;font-size:13px}.btn[disabled]{opacity:.5;pointer-events:none}.icon-btn{width:44px;height:44px;color:var(--ink);transition:background .15s var(--ease-out-quart), color .15s var(--ease-out-quart);border-radius:12px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--well);color:var(--accent-dark)}.icon-btn.router-link-active{color:var(--accent-dark)}.count{background:var(--filament);min-width:18px;height:18px;color:var(--ink);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:3px;right:1px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.badge{border-radius:var(--radius-pill);align-items:center;gap:5px;padding:4px 11px;font-size:12px;font-weight:650;display:inline-flex}.badge-deal{background:var(--filament-soft);color:var(--filament-ink)}.badge-cat{background:var(--accent-soft);color:var(--accent-dark)}.badge-good{background:var(--good-soft);color:var(--good)}.section-title{font-family:var(--font-display);letter-spacing:.07em;text-transform:uppercase;font-size:clamp(1.25rem,2.6vw,1.55rem);font-weight:800;line-height:1.15}.section-sub{color:var(--ink-2);max-width:65ch;margin-top:6px;font-size:15px}.center{text-align:center}.center .section-sub{margin-inline:auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dark);font-size:12px;font-weight:650}.block{margin-top:var(--space-xl)}.block-head{justify-content:space-between;align-items:flex-end;gap:var(--space-md);display:flex}.see-all{letter-spacing:.08em;text-transform:uppercase;min-height:44px;color:var(--accent-dark);align-items:center;gap:2px;font-size:13px;font-weight:700;display:inline-flex}.swatch{cursor:pointer;width:40px;height:40px;box-shadow:inset 0 0 0 2px oklch(97.5% .012 160/.7), var(--shadow-sm);transition:box-shadow .15s var(--ease-out-quart), border-color .15s var(--ease-out-quart);z-index:0;border:2.5px solid oklch(24% .022 80/.14);border-radius:50%;position:relative}.swatch.selected,.swatch:hover,.swatch:focus-visible{z-index:2}.swatch.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), inset 0 0 0 2px oklch(97.5% .012 160/.7)}.swatch.selected .tip{opacity:0}.swatch.out{opacity:.28;cursor:not-allowed}.swatch .tip{background:var(--ink);color:var(--surface);white-space:nowrap;opacity:0;pointer-events:none;z-index:3;border-radius:6px;padding:2px 8px;font-size:11px;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.qty{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:12px;align-items:center;display:inline-flex;overflow:hidden}.qty button{width:44px;height:44px;color:var(--accent);place-items:center;font-size:20px;font-weight:650;display:grid}.qty span{text-align:center;min-width:40px;font-size:16px;font-weight:650}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:36px 24px;display:grid}.price{color:var(--accent-dark);font-weight:700}.price-old{color:var(--muted);font-weight:500;text-decoration:line-through}.row{align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted);font-size:13px}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.chip-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{border-radius:var(--radius-pill);background:var(--surface);border:1.5px solid var(--line);min-height:44px;color:var(--ink-2);flex-shrink:0;padding:10px 16px;font-size:14px;font-weight:600}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--surface)}.hairline-row{padding:var(--space-md) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);place-items:center;gap:6px;font-size:13.5px;display:grid}.toast{left:50%;bottom:calc(24px + var(--safe-bottom));background:var(--ink);color:var(--surface);box-shadow:var(--shadow);z-index:300;animation:toast-in .22s var(--ease-out-expo);border-radius:14px;padding:12px 22px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.skeleton{background:linear-gradient(90deg, var(--line) 25%, var(--surface) 50%, var(--line) 75%);background-size:200% 100%;border-radius:12px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 100%}}@media (hover:hover){.swatch:hover{box-shadow:0 0 0 3px var(--line), inset 0 0 0 2px oklch(97.5% .012 160/.7)}.swatch.selected:hover{box-shadow:0 0 0 3px var(--accent-soft), inset 0 0 0 2px oklch(97.5% .012 160/.7)}.swatch:hover .tip{opacity:1}.qty button:hover{background:var(--accent-soft)}}@media (hover:none){.swatch .tip{display:none}}@media (pointer:coarse){.swatch{width:44px;height:44px}}@media (width<=640px){:root{--page-x:16px;--page-y:24px;--radius-photo:16px}.grid{grid-template-columns:repeat(2,1fr);gap:26px 14px}.block{margin-top:var(--space-lg)}}@media (width<=760px){.toast{bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand[data-v-197f7830]{align-items:center;gap:10px;display:inline-flex}.brand-mark[data-v-197f7830]{object-fit:cover;box-shadow:var(--shadow-sm);border-radius:10px;display:block}.brand-type[data-v-197f7830]{flex-direction:column;line-height:1;display:flex}.brand-name[data-v-197f7830]{font-family:var(--font-display);letter-spacing:-.03em;color:currentColor;font-weight:800}.brand-name span[data-v-197f7830]{color:var(--accent)}.brand-sub[data-v-197f7830]{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:4px;font-weight:600}.brand.stacked[data-v-197f7830]{flex-direction:column;gap:14px}.brand.stacked .brand-type[data-v-197f7830]{align-items:center}.brand.stacked .brand-mark[data-v-197f7830]{border-radius:18px}.brand.light[data-v-197f7830]{color:var(--surface)}.brand.light .brand-name span[data-v-197f7830]{color:var(--filament)}.brand.light .brand-sub[data-v-197f7830]{color:var(--line)}.drawer-mask[data-v-5e3de1fb]{z-index:200;background:oklch(24% .022 80/.4);position:fixed;inset:0}.drawer[data-v-5e3de1fb]{background:var(--bg);width:min(420px,94vw);animation:slide-in-5e3de1fb .22s var(--ease-out-expo);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes slide-in-5e3de1fb{0%{opacity:0;transform:translate(28px)}}.drawer-head[data-v-5e3de1fb]{padding:var(--space-md) var(--page-x);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.drawer-head h2[data-v-5e3de1fb]{font-family:var(--font-display);font-size:20px;font-weight:800}.close[data-v-5e3de1fb]{width:44px;height:44px;color:var(--ink-2);border-radius:12px;place-items:center;display:grid}.drawer-body[data-v-5e3de1fb]{padding:var(--space-md) var(--page-x);flex:1;overflow-y:auto}.empty[data-v-5e3de1fb]{text-align:center;color:var(--muted);justify-items:center;padding:48px 12px;display:grid}.quote-err[data-v-5e3de1fb]{color:var(--danger);margin-bottom:6px;font-weight:600}.cart-line[data-v-5e3de1fb]{border-bottom:1px solid var(--line);gap:12px;padding:14px 0;display:flex}.cart-line img[data-v-5e3de1fb]{object-fit:cover;background:var(--studio);border-radius:12px;width:74px;height:74px}.line-body[data-v-5e3de1fb]{flex:1;min-width:0}.line-name[data-v-5e3de1fb]{font-size:14px;font-weight:650}.line-price[data-v-5e3de1fb]{text-align:right}.line-price .price-old[data-v-5e3de1fb]{font-size:12px}.dot[data-v-5e3de1fb]{width:12px;height:12px;box-shadow:var(--shadow-sm);border-radius:50%;display:inline-block}.line-colours[data-v-5e3de1fb]{flex-wrap:wrap;gap:4px 12px;display:flex}.line-colour[data-v-5e3de1fb]{align-items:center;gap:6px;display:inline-flex}.qty-sm[data-v-5e3de1fb] button{width:40px;height:40px}.drawer-foot[data-v-5e3de1fb]{padding:var(--space-md) var(--page-x) calc(var(--space-md) + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface);gap:6px;display:grid}.drawer-foot .btn[data-v-5e3de1fb]{width:100%;margin-top:8px}.disc[data-v-5e3de1fb]{color:var(--good);font-size:14px;font-weight:700}.total[data-v-5e3de1fb]{margin-top:4px;font-size:19px;font-weight:800}@media (width<=760px){.drawer[data-v-5e3de1fb]{width:100%;max-height:min(88vh,740px);animation:sheet-up-5e3de1fb .24s var(--ease-out-expo);border-radius:20px 20px 0 0;top:auto;left:0;right:0}@keyframes sheet-up-5e3de1fb{0%{opacity:0;transform:translateY(24px)}}}.topbar{background:var(--accent-dark);color:var(--surface);padding-top:var(--safe-top);font-size:13px;font-weight:500}.topbar-in{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--topbar-h);display:flex}.topbar-msg{color:var(--surface);align-items:center;gap:8px;display:inline-flex}.topbar-msg .icon{color:var(--filament)}.topbar-links{align-items:center;gap:18px;display:flex}.topbar-links a{min-height:var(--topbar-h);color:var(--surface);opacity:.9;align-items:center;display:inline-flex}.topbar-links a:hover{opacity:1;color:var(--filament-soft)}.site-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header.admin{padding-top:var(--safe-top)}.header-bar{align-items:center;gap:var(--space-md);min-height:calc(var(--nav-h) + 12px);grid-template-columns:1fr auto 1fr;display:grid}.header-left{align-items:center;display:flex}.header-logo{min-width:0;display:block}.nav-links{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;gap:26px;font-size:13.5px;font-weight:800;display:flex}.nav-links a{min-height:44px;color:var(--ink);transition:color .15s var(--ease-out-quart);align-items:center;display:inline-flex}.nav-links a:hover,.nav-links a.router-link-active{color:var(--accent-dark)}.header-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.header-left .search-mobile{display:none}.search-panel{border-top:1px solid var(--line);background:var(--bg);animation:panel-in .2s var(--ease-out-expo)}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}}.search-form{color:var(--accent-dark);align-items:center;gap:10px;padding-top:10px;padding-bottom:10px;display:flex}.search-form input{background:0 0;border:0;padding:10px 0;font-size:17px;font-weight:500}.search-form input:focus{outline:none}.search-form input::-webkit-search-cancel-button{display:none}main{min-height:calc(100vh - var(--nav-h) - 20px - var(--safe-top));min-height:calc(100svh - var(--nav-h) - 20px - var(--safe-top))}.site-footer{margin-top:var(--space-xl);background:var(--accent-dark);color:var(--surface);padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.footer-in{text-align:center;justify-items:center;gap:var(--space-md);display:grid}.footer-logo{display:block}.footer-tag{color:var(--line);max-width:34ch;font-size:15px}.footer-links{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:4px 6px;font-size:13px;font-weight:800;display:flex}.footer-links a{min-height:44px;color:var(--surface);transition:color .15s var(--ease-out-quart);align-items:center;padding:0 10px;display:inline-flex}.footer-links a:hover{color:var(--filament-soft)}.footer-links a+a:before{content:"";background:var(--filament);border-radius:50%;width:5px;height:5px;margin-right:16px}.footer-pill{border-radius:var(--radius-pill);letter-spacing:.12em;text-transform:uppercase;color:var(--surface);background:oklch(100% 0 0/.07);border:1.5px solid oklch(100% 0 0/.3);flex-wrap:wrap;justify-content:center;gap:6px 22px;padding:10px 22px;font-size:11.5px;font-weight:700;display:inline-flex}.footer-copy{color:var(--line);margin-top:var(--space-sm);font-size:13px}.tabbar{display:none}@media (width<=760px){.topbar-links{display:none}.topbar-in{justify-content:center}.nav-links,.header-actions .desktop-only{display:none}.header-left .search-mobile{display:grid}.header-bar{min-height:var(--nav-h);gap:8px}.search-form input{font-size:16px}main.has-tabbar{padding-bottom:0}.site-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);padding-bottom:calc(var(--space-lg) + var(--nav-h) + var(--safe-bottom))}.footer-links a+a:before{margin-right:10px}.footer-pill{gap:4px 14px;padding:10px 16px;font-size:10.5px}.tabbar{z-index:150;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-2);min-height:var(--nav-h);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:650;display:flex}.tab.on{color:var(--accent-dark)}.tab-ico{place-items:center;display:grid;position:relative}.tab-ico .count{top:-7px;right:-12px}}
