:root{--ink: #111111;--ink-soft: #4a4a4a;--ink-muted: #8a8a8a;--line: #e6e6e6;--line-strong: #cfcfcf;--paper: #ffffff;--paper-alt: #faf8f6;--paper-warm: #f4efe9;--blush: #e8b4b8;--blush-deep: #c98b90;--gold: #b08d57;--success: #1f7a4d;--success-bg: #e6f4ec;--warn: #a86a13;--warn-bg: #fdf3e2;--danger: #b3261e;--danger-bg: #fbeae9;--info: #1d4e89;--info-bg: #e8f0fa;--font-display: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;--font-body: "Jost", "Barlow", "Helvetica Neue", Arial, sans-serif;--shadow-sm: 0 1px 2px rgba(17, 17, 17, .06);--shadow-md: 0 6px 24px rgba(17, 17, 17, .08);--shadow-lg: 0 18px 48px rgba(17, 17, 17, .12);--radius: 2px;--radius-lg: 4px;--header-h: 116px;--max: 1400px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:.01em;margin:0 0 .5em;line-height:1.15}h1{font-size:clamp(2rem,4vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.25rem}p{margin:0 0 1em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-main{flex:1}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}.container-narrow{max-width:940px}.section{padding:64px 0}.section-tight{padding:36px 0}.section-head{text-align:center;margin-bottom:40px}.section-head p{color:var(--ink-muted);max-width:620px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px;display:block}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px}.wrap{flex-wrap:wrap}.grow{flex:1}.muted{color:var(--ink-muted)}.small{font-size:13px}.tiny{font-size:12px}.center{text-align:center}.strike{text-decoration:line-through;color:var(--ink-muted);font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease;white-space:nowrap}.btn:hover:not(:disabled){background:#333;border-color:#333}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-outline{background:transparent;color:var(--ink)}.btn-outline:hover:not(:disabled){background:var(--ink);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink);padding:8px 12px;letter-spacing:.1em}.btn-ghost:hover:not(:disabled){background:var(--paper-alt);border-color:transparent;color:var(--ink)}.btn-blush{background:var(--blush);border-color:var(--blush);color:var(--ink)}.btn-blush:hover:not(:disabled){background:var(--blush-deep);border-color:var(--blush-deep);color:#fff}.btn-danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{padding:8px 16px;font-size:11px}.btn-lg{padding:16px 34px;font-size:13px}.btn-block{width:100%}.link-underline{border-bottom:1px solid currentColor;padding-bottom:1px;cursor:pointer}.field{display:grid;gap:6px;margin-bottom:16px}.field>label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.field .required{color:var(--danger)}.input,.select,.textarea{width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #e8b4b847}.textarea{min-height:110px;resize:vertical;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.field-error{color:var(--danger);font-size:12px}.field-hint{color:var(--ink-muted);font-size:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer;margin-bottom:14px}.checkbox-row input{margin-top:4px;accent-color:var(--ink);width:15px;height:15px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}.card-pad-lg{padding:32px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.panel-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-head h3{margin:0;font-size:1.05rem}.panel-body{padding:20px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--paper-alt);color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap}.badge-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.badge-blush{background:var(--blush);color:var(--ink);border-color:var(--blush)}.badge-success{background:var(--success-bg);color:var(--success);border-color:transparent}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.badge-info{background:var(--info-bg);color:var(--info);border-color:transparent}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}table.data th{text-align:left;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);font-weight:500;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--paper-alt);white-space:nowrap}table.data td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.data tbody tr:hover{background:var(--paper-alt)}table.data tbody tr:last-child td{border-bottom:none}.spinner{width:26px;height:26px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:grid;place-items:center;gap:14px;padding:80px 20px;color:var(--ink-muted)}.empty-state{text-align:center;padding:60px 20px;color:var(--ink-muted)}.empty-state svg{color:var(--line-strong);margin-bottom:14px}.empty-state h3{color:var(--ink)}.divider{height:1px;background:var(--line);border:0;margin:24px 0}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#f7f7f7,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 720px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:44px 0}.container{padding:0 16px}.card-pad-lg{padding:22px}}.announce{background:var(--ink);color:#fff;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:9px 16px}.site-header{position:sticky;top:0;z-index:60;background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:16px 0}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand-name{font-family:var(--font-display);font-size:30px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.brand-sub{font-size:9.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--ink-muted);margin-top:5px}.header-left,.header-right{display:flex;align-items:center;gap:6px}.header-right{justify-content:flex-end}.icon-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:none;padding:9px;cursor:pointer;color:var(--ink);border-radius:var(--radius);position:relative;transition:background .15s ease}.icon-btn:hover{background:var(--paper-alt)}.icon-btn .label{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.cart-count{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--ink);color:#fff;font-size:10px;display:grid;place-items:center;font-weight:500}.main-nav{border-top:1px solid var(--line)}.nav-list{display:flex;justify-content:center;align-items:center;gap:30px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.nav-item{position:relative}.nav-link{display:block;padding:13px 0;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border-bottom:1.5px solid transparent;transition:border-color .18s ease,color .18s ease;cursor:pointer;background:none;border-top:none;border-left:none;border-right:none}.nav-link:hover,.nav-link.active{border-bottom-color:var(--ink)}.nav-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);min-width:220px;padding:10px 0;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease;z-index:70}.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible}.nav-dropdown a{display:block;padding:8px 22px;font-size:13px;letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap;transition:background .14s ease,color .14s ease}.nav-dropdown a:hover{background:var(--paper-alt);color:var(--ink)}.search-shell{border-top:1px solid var(--line);background:var(--paper-alt);padding:14px 0}.search-form{display:flex;gap:10px;max-width:620px;margin:0 auto}.burger{display:none}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:none}.mobile-drawer.open{display:block}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1116}.drawer-panel{position:absolute;top:0;left:0;bottom:0;width:min(84vw,340px);background:#fff;padding:20px;overflow-y:auto;animation:slideIn .22s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-group{border-bottom:1px solid var(--line);padding:12px 0}.drawer-group>button{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:6px 0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}.drawer-sub{padding:6px 0 0 12px;display:grid;gap:2px}.drawer-sub a{padding:7px 0;font-size:14px;color:var(--ink-soft)}@media (max-width: 980px){.main-nav{display:none}.burger{display:inline-flex}.brand-name{font-size:23px}.icon-btn .label{display:none}.header-main{gap:8px}.icon-btn{padding:7px}}@media (max-width: 460px){.header-main{gap:4px}.icon-btn{padding:6px}.brand-name{font-size:20px}.brand-sub{letter-spacing:.3em;font-size:8.5px}.header-right>a[aria-label="Track your order"]{display:none}}.hero{position:relative;min-height:62vh;display:grid;place-items:center;text-align:center;padding:90px 24px;background:radial-gradient(circle at 22% 18%,rgba(232,180,184,.5),transparent 55%),radial-gradient(circle at 78% 74%,rgba(244,239,233,.95),transparent 58%),linear-gradient(140deg,#fdfbfa,#f4efe9);border-bottom:1px solid var(--line);overflow:hidden}.hero-inner{position:relative;max-width:760px}.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);margin-bottom:18px}.hero p{font-size:16px;color:var(--ink-soft);max-width:560px;margin:0 auto 30px}.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cat-tile{position:relative;aspect-ratio:3 / 4;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;background:var(--paper-warm);transition:transform .25s ease,box-shadow .25s ease}.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.cat-tile span{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.06em;z-index:2}.cat-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#e8b4b859,#ffffff1a)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:34px 22px}.product-grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.product-card{position:relative}.product-media{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:var(--paper-warm);display:block}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,opacity .35s ease}.product-card:hover .product-media img{transform:scale(1.05)}.product-media .alt-img{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.product-card:hover .alt-img{opacity:1}.img-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:22px;background:linear-gradient(150deg,#f7f2ee,#efe6df);color:var(--ink-muted)}.img-placeholder span{font-family:var(--font-display);font-size:1.1rem;line-height:1.3;color:var(--ink-soft)}.product-flags{position:absolute;top:10px;left:10px;display:grid;gap:6px;z-index:3}.flag{padding:5px 10px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;background:#fff;border:1px solid var(--line)}.flag-new{background:var(--ink);color:#fff;border-color:var(--ink)}.flag-sale{background:var(--blush);border-color:var(--blush);color:var(--ink)}.stock-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffad;display:grid;place-items:center;z-index:2}.stock-veil span{background:#fff;border:1px solid var(--ink);padding:8px 18px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}.quick-view-btn{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;background:#fffffff5;border:1px solid var(--ink);color:var(--ink);padding:11px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,background .2s ease}.product-card:hover .quick-view-btn{opacity:1;transform:translateY(0)}.quick-view-btn:hover{background:var(--ink);color:#fff}.product-info{padding-top:14px;text-align:center}.product-name{font-size:14px;letter-spacing:.03em;margin-bottom:5px;display:block}.product-price{font-size:14px;display:flex;gap:8px;justify-content:center;align-items:baseline}.price-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:2px}.swatch-row{display:flex;gap:5px;justify-content:center;margin-top:9px}.swatch-dot{width:13px;height:13px;border-radius:50%;border:1px solid var(--line-strong)}@media (max-width: 640px){.product-grid{grid-template-columns:repeat(2,1fr);gap:24px 12px}.quick-view-btn{opacity:1;transform:none;font-size:9.5px;padding:9px 4px;letter-spacing:.12em}}.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:42px;align-items:start}.filter-rail{position:sticky;top:calc(var(--header-h) + 16px)}.filter-group{border-bottom:1px solid var(--line);padding:18px 0}.filter-group:first-child{padding-top:0}.filter-group h4{font-family:var(--font-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;color:var(--ink-soft)}.filter-list{display:grid;gap:7px}.filter-list button{background:none;border:none;padding:3px 0;text-align:left;cursor:pointer;font-size:14px;color:var(--ink-soft);transition:color .14s ease}.filter-list button:hover{color:var(--ink)}.filter-list button.active{color:var(--ink);font-weight:500}.filter-list button.active:before{content:"— "}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:6px 12px;border:1px solid var(--line-strong);background:#fff;font-size:12px;cursor:pointer;border-radius:var(--radius);transition:all .14s ease}.chip:hover{border-color:var(--ink)}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.colour-chip{display:inline-flex;align-items:center;gap:7px}.colour-chip .dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:28px}.mobile-filter-btn{display:none}@media (max-width: 900px){.shop-layout{grid-template-columns:1fr;gap:20px}.filter-rail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#fff;padding:20px;overflow-y:auto;display:none}.filter-rail.open{display:block}.mobile-filter-btn{display:inline-flex}}.pagination{display:flex;justify-content:center;gap:6px;margin-top:44px;flex-wrap:wrap}.pagination button{min-width:38px;height:38px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font-size:13px;transition:all .14s ease}.pagination button:hover:not(:disabled){border-color:var(--ink)}.pagination button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pagination button:disabled{opacity:.35;cursor:not-allowed}.breadcrumb{font-size:12px;color:var(--ink-muted);padding:20px 0;display:flex;gap:7px;flex-wrap:wrap}.breadcrumb a:hover{color:var(--ink);text-decoration:underline}.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start;padding-bottom:60px}.gallery{display:grid;gap:12px}.gallery-main{position:relative;aspect-ratio:3 / 4;background:var(--paper-warm);overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#ffffffeb;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;transition:background .15s ease}.gallery-nav:hover{background:#fff}.gallery-nav.prev{left:12px}.gallery-nav.next{right:12px}.thumb-row{display:flex;gap:9px;flex-wrap:wrap}.thumb{width:68px;aspect-ratio:3 / 4;border:1px solid var(--line);overflow:hidden;cursor:pointer;background:var(--paper-warm);padding:0}.thumb.active{border-color:var(--ink);border-width:2px}.thumb img{width:100%;height:100%;object-fit:cover}.pdp-title{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:10px}.pdp-price{font-size:22px;display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.option-block{margin:22px 0}.option-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;display:flex;gap:8px;align-items:center}.option-label .chosen{color:var(--ink);letter-spacing:.02em;text-transform:none;font-size:13px}.size-row{display:flex;flex-wrap:wrap;gap:8px}.size-btn{min-width:52px;padding:11px 14px;border:1px solid var(--line-strong);background:#fff;cursor:pointer;font-size:13px;transition:all .14s ease;position:relative}.size-btn:hover:not(:disabled){border-color:var(--ink)}.size-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}.size-btn:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.colour-row{display:flex;flex-wrap:wrap;gap:10px}.colour-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);cursor:pointer;padding:0;position:relative;transition:transform .14s ease}.colour-btn:hover{transform:scale(1.08)}.colour-btn.active{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}.colour-btn:disabled{opacity:.35;cursor:not-allowed}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--line-strong)}.qty-stepper button{width:40px;height:44px;background:none;border:none;cursor:pointer;font-size:18px;display:grid;place-items:center}.qty-stepper button:disabled{opacity:.3;cursor:not-allowed}.qty-stepper input{width:50px;height:44px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;-moz-appearance:textfield}.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pdp-actions{display:grid;gap:10px;margin:26px 0}.stock-line{font-size:13px;display:flex;align-items:center;gap:7px}.stock-dot{width:7px;height:7px;border-radius:50%}.accordion{border-top:1px solid var(--line)}.accordion-item{border-bottom:1px solid var(--line)}.accordion-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 0;background:none;border:none;cursor:pointer;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;text-align:left}.accordion-body{padding:0 0 20px;color:var(--ink-soft);font-size:14.5px}.accordion-body ul{margin:0;padding-left:18px;display:grid;gap:6px}@media (max-width: 880px){.pdp{grid-template-columns:1fr;gap:30px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11111173;z-index:100;display:grid;place-items:center;padding:20px;animation:fade .16s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:#fff;width:min(920px,100%);max-height:90vh;overflow-y:auto;position:relative;animation:pop .2s ease}.modal-sm{width:min(520px,100%);padding:30px}@keyframes pop{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:14px;right:14px;background:#fff;border:1px solid var(--line);width:34px;height:34px;display:grid;place-items:center;cursor:pointer;z-index:5;border-radius:50%}.quick-view-grid{display:grid;grid-template-columns:1fr 1fr}.quick-view-grid .qv-media{aspect-ratio:3 / 4;background:var(--paper-warm);position:relative;overflow:hidden}.quick-view-grid .qv-media img{width:100%;height:100%;object-fit:cover}.qv-body{padding:34px}@media (max-width: 720px){.quick-view-grid{grid-template-columns:1fr}.qv-body{padding:22px}}.cart-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.cart-panel{position:absolute;top:0;right:0;bottom:0;width:min(92vw,420px);background:#fff;display:flex;flex-direction:column;animation:slideLeft .24s ease}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.cart-head h3{margin:0;font-size:1.15rem}.cart-items{flex:1;overflow-y:auto;padding:8px 22px}.cart-line{display:grid;grid-template-columns:74px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-line-media{aspect-ratio:3 / 4;background:var(--paper-warm);overflow:hidden;position:relative}.cart-line-media img{width:100%;height:100%;object-fit:cover}.cart-line-name{font-size:14px;margin-bottom:3px;display:block}.cart-line-meta{font-size:12px;color:var(--ink-muted)}.cart-foot{border-top:1px solid var(--line);padding:18px 22px;display:grid;gap:12px}.total-row{display:flex;justify-content:space-between;font-size:14px}.total-row.grand{font-size:17px;font-weight:500;padding-top:10px;border-top:1px solid var(--line)}.free-ship-bar{height:4px;background:var(--line);overflow:hidden}.free-ship-bar>div{height:100%;background:var(--blush-deep);transition:width .3s ease}.checkout-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;padding:30px 0 70px}.checkout-summary{position:sticky;top:calc(var(--header-h) + 16px);background:var(--paper-alt);border:1px solid var(--line);padding:26px}.summary-line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.summary-line-media{aspect-ratio:3 / 4;background:var(--paper-warm);overflow:hidden;position:relative}.summary-line-media img{width:100%;height:100%;object-fit:cover}.shipping-option{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line-strong);cursor:pointer;margin-bottom:10px;transition:border-color .15s ease,background .15s ease}.shipping-option:hover{border-color:var(--ink)}.shipping-option.active{border-color:var(--ink);background:var(--paper-alt)}.shipping-option input{margin-top:3px;accent-color:var(--ink)}.payment-notice{background:var(--info-bg);border-left:3px solid var(--info);padding:14px 16px;font-size:13.5px;color:var(--info);margin:20px 0}.checkout-steps{display:flex;gap:8px;align-items:center;margin-bottom:28px;flex-wrap:wrap}.step-pill{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.step-pill .num{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:11px}.step-pill.active{color:var(--ink)}.step-pill.active .num{background:var(--ink);color:#fff;border-color:var(--ink)}@media (max-width: 900px){.checkout-layout{grid-template-columns:1fr;gap:28px}.checkout-summary{position:static}}.tracking-timeline{display:grid;gap:0;padding-left:6px}.track-step{display:grid;grid-template-columns:34px 1fr;gap:14px;position:relative;padding-bottom:26px}.track-step:last-child{padding-bottom:0}.track-step:before{content:"";position:absolute;left:16px;top:30px;bottom:0;width:1px;background:var(--line)}.track-step:last-child:before{display:none}.track-dot{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);background:#fff;display:grid;place-items:center;z-index:2;color:var(--ink-muted)}.track-step.done .track-dot{background:var(--ink);border-color:var(--ink);color:#fff}.track-step.current .track-dot{background:var(--blush);border-color:var(--blush-deep);color:var(--ink)}.track-title{font-size:14.5px;font-weight:500}.track-meta{font-size:12.5px;color:var(--ink-muted)}.tracking-card{background:var(--paper-alt);border:1px solid var(--line);padding:20px;display:grid;gap:10px}.tracking-number{font-family:SFMono-Regular,Consolas,monospace;font-size:16px;letter-spacing:.06em;background:#fff;border:1px dashed var(--line-strong);padding:10px 14px;display:inline-block}.site-footer{background:var(--paper-alt);border-top:1px solid var(--line);margin-top:60px;padding:54px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;margin-bottom:40px}.footer-col h4{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}.footer-col a,.footer-col li{display:block;color:var(--ink-soft);font-size:14px;padding:5px 0}.footer-col a:hover{color:var(--ink)}.footer-col ul{list-style:none;margin:0;padding:0}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-muted)}@media (max-width: 820px){.footer-grid{grid-template-columns:1fr 1fr;gap:26px}}.auth-shell{display:grid;place-items:center;padding:60px 20px 80px}.auth-card{width:min(440px,100%);border:1px solid var(--line);padding:40px;background:#fff}.auth-card h1{text-align:center;font-size:2rem}.auth-switch{text-align:center;font-size:14px;margin-top:18px;color:var(--ink-muted)}.admin-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh;background:var(--paper-alt)}.admin-sidebar{background:var(--ink);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.admin-brand{padding:24px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.admin-brand .name{font-family:var(--font-display);font-size:21px;letter-spacing:.1em;text-transform:uppercase}.admin-brand .sub{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#ffffff80;margin-top:4px}.admin-nav{padding:14px 12px;display:grid;gap:2px;flex:1;overflow-y:auto}.admin-nav a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:var(--radius);color:#ffffffad;font-size:13.5px;transition:background .15s ease,color .15s ease}.admin-nav a:hover{background:#ffffff14;color:#fff}.admin-nav a.active{background:#fff;color:var(--ink);font-weight:500}.admin-nav .nav-count{margin-left:auto;background:var(--blush);color:var(--ink);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.admin-nav a.active .nav-count{background:var(--ink);color:#fff}.admin-user{padding:16px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#ffffffb3;display:grid;gap:8px}.admin-user strong{color:#fff;font-weight:500}.admin-logout{display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid rgba(255,255,255,.25);color:#fffc;padding:7px 12px;cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius);width:fit-content}.admin-logout:hover{background:#ffffff1a;color:#fff}.admin-main{min-width:0}.admin-topbar{background:#fff;border-bottom:1px solid var(--line);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:30}.admin-topbar h1{margin:0;font-size:1.55rem}.admin-topbar .sub{font-size:13px;color:var(--ink-muted)}.admin-content{padding:26px 28px 60px}.admin-burger{display:none}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;z-index:120;width:250px;transform:translate(-100%);transition:transform .22s ease}.admin-sidebar.open{transform:translate(0)}.admin-burger{display:inline-flex}.admin-content{padding:18px 16px 50px}.admin-topbar{padding:14px 16px}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;display:grid;gap:8px}.stat-card .stat-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.stat-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--paper-alt);color:var(--ink-soft)}.stat-value{font-family:var(--font-display);font-size:2.1rem;line-height:1}.stat-foot{font-size:12.5px;color:var(--ink-muted)}.admin-grid-2{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}.admin-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;align-items:start}@media (max-width: 1080px){.admin-grid-2{grid-template-columns:1fr}}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search-box{position:relative;flex:1;min-width:220px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-muted)}.search-box .input{padding-left:38px}.tab-row{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:18px}.tab-row button{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;font-size:13px;color:var(--ink-muted);display:inline-flex;align-items:center;gap:7px}.tab-row button:hover{color:var(--ink)}.tab-row button.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.tab-row .count{background:var(--paper-alt);border-radius:999px;padding:1px 7px;font-size:11px}.editor-grid{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start}@media (max-width: 1000px){.editor-grid{grid-template-columns:1fr}}.image-dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-lg);padding:26px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease;color:var(--ink-muted)}.image-dropzone:hover,.image-dropzone.drag{border-color:var(--ink);background:var(--paper-alt);color:var(--ink)}.image-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:14px}.image-thumb{position:relative;aspect-ratio:3 / 4;border:1px solid var(--line);overflow:hidden;background:var(--paper-warm)}.image-thumb img{width:100%;height:100%;object-fit:cover}.image-thumb .remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:#fffffff0;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;padding:0}.image-thumb .primary-tag{position:absolute;bottom:0;left:0;right:0;background:var(--ink);color:#fff;font-size:9px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:3px}.colour-picker-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px}.colour-picker-row input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:none}.variant-table input{width:76px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:var(--radius);text-align:center}.feature-row{display:flex;gap:8px;margin-bottom:8px}.order-head-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px}.kv-list{display:grid;gap:7px;font-size:14px}.kv-list .k{color:var(--ink-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.status-select{padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;cursor:pointer;font-size:13px}.mini-product{display:flex;align-items:center;gap:10px;min-width:0}.mini-thumb{width:42px;height:56px;flex:none;background:var(--paper-warm);overflow:hidden;border:1px solid var(--line);position:relative}.mini-thumb img{width:100%;height:100%;object-fit:cover}.mini-product .meta{min-width:0}.mini-product .meta strong{display:block;font-weight:500;font-size:13.5px}.mini-product .meta span{font-size:12px;color:var(--ink-muted)}.admin-login-shell{min-height:100vh;display:grid;place-items:center;background:var(--ink);padding:20px}.admin-login-card{width:min(420px,100%);background:#fff;padding:42px 38px}.admin-login-card h1{text-align:center;font-size:1.9rem;margin-bottom:4px}.admin-login-card .lede{text-align:center;color:var(--ink-muted);font-size:13px;margin-bottom:28px}.hint-box{background:var(--paper-alt);border:1px dashed var(--line-strong);padding:12px 14px;font-size:12.5px;color:var(--ink-soft);margin-top:20px;border-radius:var(--radius)}
