:root{--ink:#2f2730;--plum:#432b3c;--line:#ddd8dc;--muted:#70656e;--paper:#fff;--soft:#f5f3f5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,select{touch-action:manipulation}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #9565ac;outline-offset:4px}header{min-height:110px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none}.brand-name{font:36px Georgia,serif;letter-spacing:-1.4px;display:block}.brand-decor{font:12px Arial,sans-serif;letter-spacing:5px;display:block;text-align:center;margin-top:5px}.header-note{font-size:14px;color:var(--muted)}.contact{font-size:14px;text-decoration:none;border-bottom:1px solid;padding-bottom:7px}.contact span{margin-left:12px;font-size:20px}main{max-width:1520px;margin:auto;padding:0 5% 80px}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:52px 0 36px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 15px;color:var(--plum)}h1{font:clamp(36px,4.4vw,64px)/1.1 Georgia,serif;font-weight:400;letter-spacing:-1.7px;margin:0}.intro-note{font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 5px}#categories{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:23px}#categories button{background:white;border:1px solid var(--line);border-radius:30px;padding:12px 18px;color:var(--ink);font-size:14px}#categories button[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:white}#categories small{margin-left:9px;opacity:.7;font-size:12px}.toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0 10px;min-height:60px}#finishes{display:flex;gap:16px;flex-wrap:wrap}#finishes button{border:0;border-bottom:1px solid transparent;background:transparent;padding:6px 0;color:var(--muted);font-size:14px}#finishes button[aria-pressed=true]{border-color:var(--plum);color:var(--plum)}.sort{font-size:14px;color:var(--muted);display:flex;gap:8px;align-items:center;white-space:nowrap}.sort select{font-size:14px;color:var(--ink);border:0;background:transparent;padding:8px}.results-line{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}.results-line p{font-size:14px;color:var(--muted);margin:0}.results-line button{border:0;background:none;text-decoration:underline;color:var(--plum);font-size:14px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 22px}.photo-button{border:0;padding:0;width:100%;display:block;position:relative;background:var(--soft);overflow:hidden;aspect-ratio:1/1}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-button:hover img{transform:scale(1.04)}.badge{position:absolute;bottom:12px;left:12px;background:#fffffff0;padding:6px 9px;font-size:12px;letter-spacing:.2px}.card-meta{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}.card h2{font:22px/1.2 Georgia,serif;margin:0 0 12px;font-weight:400}.price{font-size:15px;margin:0 0 16px}.price span{font-size:13px;color:var(--muted)}.product-link{display:inline-flex;align-items:center;gap:12px;color:var(--plum);font-size:14px;text-decoration:none;border-bottom:1px solid #b9abb5;padding-bottom:5px}.product-link:hover{border-color:var(--plum)}footer{background:var(--plum);color:white;padding:30px 5%;display:flex;gap:25px;align-items:center;justify-content:space-between}.footer-brand{font:26px Georgia,serif;text-decoration:none}footer p,.admin-link{font-size:14px}.admin-link{opacity:.8}dialog{border:0;padding:0;max-width:960px;width:92%;max-height:90dvh;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#211520aa}.close{position:absolute;z-index:2;right:12px;top:12px;border:1px solid var(--line);border-radius:50%;background:white;width:42px;height:42px;font-size:28px}.detail-layout{display:grid;grid-template-columns:1.15fr 1fr}.gallery{padding:25px;background:var(--soft)}.gallery-main{width:100%;aspect-ratio:1;object-fit:contain}.thumbs{display:flex;gap:10px;margin-top:12px}.thumbs button{width:65px;height:65px;padding:2px;background:white;border:1px solid var(--line)}.thumbs img{width:100%;height:100%;object-fit:cover}.detail-text{padding:70px 35px 35px}.detail-text h2{font:36px Georgia,serif;margin:12px 0 25px}.detail-text .product-link{margin-top:20px;background:var(--plum);color:white;padding:15px;border:0}.detail-text p{line-height:1.5}.detail-text .fine{font-size:14px;color:var(--muted)}#admin-panel{background:var(--soft);padding:24px;margin-bottom:24px}.admin-heading{display:flex;justify-content:space-between;gap:20px}.admin-heading h2{font:28px Georgia,serif;margin:0}.admin-heading p{font-size:14px;line-height:1.6}.edit-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.edit-form label{font-size:14px;width:100%}.edit-form input{width:130px;min-width:0;padding:10px;border:1px solid var(--line)}.edit-form button,#retry{padding:11px 14px;border:0;background:var(--plum);color:white}.edit-status{font-size:13px;width:100%;min-height:16px;color:var(--muted)}#error{padding:20px;border:1px solid #bba7ac;color:#74253e}#empty{padding:40px 0;text-align:center}[hidden]{display:none!important}@media(min-width:1500px){.grid{gap:40px 28px}}@media(max-width:1000px){.header-note{display:none}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intro-note{max-width:210px}.toolbar{flex-wrap:wrap}}@media(max-width:700px){header{padding:20px 5%;min-height:90px}.brand-name{font-size:29px}.brand-decor{font-size:10px}.contact{font-size:13px}.contact span{margin-left:4px}main{padding-bottom:45px}.intro{padding:35px 0 26px;display:block}.intro-note{font-size:14px;max-width:none;margin-top:18px}.intro-note br{display:none}.intro-note br:after{content:' '}.eyebrow{font-size:11px}#categories{gap:7px;padding-bottom:18px}#categories button{padding:10px 13px;font-size:13px}#categories small{margin-left:5px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 13px}.card h2{font-size:20px}.card-meta{font-size:10px;line-height:1.6}.badge{left:7px;bottom:7px;font-size:11px;padding:5px 6px}.price{font-size:14px}.product-link{font-size:13px;gap:6px}.toolbar{gap:5px;padding:12px 0}.sort{margin-left:auto;font-size:13px}.sort select{font-size:13px}.detail-layout{display:block}.detail-text{padding:25px}.gallery{padding:20px}.gallery-main{max-height:45dvh}.detail-text h2{font-size:30px;margin:10px 0 18px}footer{flex-direction:column;align-items:flex-start;gap:8px}footer p{line-height:1.5}.admin-heading{display:block}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.image-note{font-size:12px;color:var(--muted);line-height:1.5;border-top:1px solid var(--line);padding-top:12px}
.open-3d{display:block;margin-top:12px;font-size:13px;color:var(--plum);background:transparent;border:1px solid #cfc6cc;padding:8px 12px;border-radius:3px}.open-3d:hover{background:var(--soft)}.view-tabs{display:flex;gap:6px;padding-bottom:14px}.view-tabs button{font-size:14px;padding:9px 12px;border:1px solid var(--line);background:transparent;color:var(--plum)}.view-tabs button[aria-pressed=true]{background:var(--plum);color:white;border-color:var(--plum)}#viewer-canvas{width:100%;height:380px;position:relative;overflow:hidden;display:grid;place-items:center}#viewer-canvas p{padding:20px;font-size:14px;line-height:1.6}#viewer-canvas canvas{display:block;touch-action:none;max-width:100%}.tour-controls{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tour-controls button{border:1px solid var(--line);background:white;color:var(--plum);padding:9px 12px;min-width:38px;font-size:13px}.tour-controls button[aria-pressed=true]{background:var(--plum);color:white}.tour-help{font-size:12px;line-height:1.5;color:var(--muted)}@media(max-width:700px){#viewer-canvas{height:300px}.gallery{padding:18px}.tour-controls button{padding:9px;font-size:12px}}
.add-cart,.cart-open,.cart-checkout{border:1px solid var(--plum);background:var(--plum);color:white;padding:12px 14px;font-size:14px;border-radius:4px;line-height:1.4}.add-cart:hover,.cart-open:hover,.cart-checkout:hover{background:#624158}.card .add-cart{width:100%;min-height:46px}.cart-open{white-space:nowrap}.cart-open span,.cart-float span{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:20px;background:#ffffff24;margin-left:7px}.header-note{margin-right:auto}.cart-float{position:fixed;right:24px;bottom:22px;z-index:5;border:0;border-radius:30px;padding:13px 22px;background:var(--plum);color:white;box-shadow:0 4px 25px #432b3c40}.detail-cart-link{display:block;border:0;background:none;color:var(--plum);text-decoration:underline;margin-top:15px;padding:10px 0}#cart-notice{position:fixed;z-index:30;bottom:85px;left:50%;transform:translateX(-50%);background:var(--plum);color:white;border-radius:6px;padding:14px 22px;max-width:90%;width:max-content;font-size:14px;box-shadow:0 4px 20px #0002}#cart-dialog{width:94%;max-width:640px;padding:30px;overscroll-behavior:contain}.cart-heading{padding-right:40px}.cart-heading h2{font:34px Georgia,serif;margin:0 0 12px}.cart-heading>p:last-child,.cart-empty p{color:var(--muted);font-size:14px;line-height:1.5}.cart-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-item>img{width:80px;height:80px;object-fit:cover;border-radius:4px}.cart-item-info{flex:1;min-width:0}.cart-item .card-meta{margin:0 0 5px;font-size:10px}.cart-item h3{font:21px Georgia,serif;margin:0 0 8px}.cart-price{font-size:13px;margin:0 0 12px}.quantity{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quantity button{min-width:38px;min-height:40px;border:1px solid var(--line);background:var(--soft);color:var(--plum);border-radius:4px}.quantity button:disabled{opacity:.4;cursor:default}.quantity input{width:58px;height:40px;text-align:center;border:1px solid var(--line);border-radius:4px;appearance:textfield}.quantity input::-webkit-inner-spin-button{appearance:none}.quantity .remove-item{border:0;background:none;text-decoration:underline;font-size:12px;margin-left:auto}#cart-summary{padding:22px 0 0}#cart-piece-count{font-size:13px;color:var(--muted);margin:0 0 10px}#cart-total{font-size:17px}#cart-pending,.cart-fine{font-size:13px;line-height:1.5;color:var(--muted)}.cart-checkout{display:block;text-align:center;text-decoration:none;margin-top:20px;padding:15px}.cart-continue{display:block;width:100%;border:0;background:none;color:var(--plum);text-decoration:underline;margin-top:10px;padding:13px}.cart-empty{text-align:center;padding:30px 0}.cart-empty h3{font:24px Georgia,serif}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){header{flex-wrap:wrap;gap:15px}.contact{display:none}.cart-open{font-size:13px;padding:9px 11px}.cart-float{right:16px;bottom:16px}.card .add-cart{padding:10px 6px;font-size:12px}.header-note{display:none}#cart-dialog{padding:23px 18px}.cart-heading h2{font-size:30px}.cart-item{gap:11px}.cart-item>img{width:62px;height:62px}.cart-item h3{font-size:19px}.quantity{gap:4px}.quantity input{width:48px}.quantity .remove-item{margin-left:0}.cart-checkout{font-size:14px}footer{padding-bottom:90px}}

/* Compact catalog, with status updates available to screen readers. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header .contact{margin-left:auto}.intro{padding:36px 0 28px}.toolbar{padding:16px 0 22px;gap:12px}.toolbar .sort{margin-left:auto}#clear{border:0;background:none;text-decoration:underline;color:var(--plum);font-size:13px;padding:8px 0}.toolbar:has(#finishes:empty){min-height:0}
@media(max-width:700px){header{padding:16px 5%;min-height:80px;flex-wrap:nowrap;gap:12px}.intro{padding:26px 0 22px}.intro h1{font-size:36px}.intro .eyebrow{margin-bottom:10px}#categories{padding-bottom:16px}.toolbar{padding:10px 0 18px;gap:8px}#finishes:not(:empty){flex-basis:100%;gap:14px}.toolbar .sort{margin-left:0}.toolbar #clear{margin-left:auto}.grid{gap:26px 13px}main{padding-bottom:100px}.cart-float{bottom:max(16px,env(safe-area-inset-bottom))}}
