/* Cart and product dialog styles scoped to their IDs. */
:is(#cart-dialog,#product-dialog) .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
:is(#cart-dialog,#product-dialog) .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
:is(#cart-dialog,#product-dialog) .form-status{font-size:14px;margin-top:12px;min-height:1.2em}
:is(#cart-dialog,#product-dialog) .form-status[data-kind=error]{color:#c4554a}
:is(#cart-dialog,#product-dialog){border:0;padding:0;color:var(--ink);background:var(--ivory);max-width:none;max-height:none}
:is(#cart-dialog,#product-dialog)::backdrop{background:rgba(13,22,18,.55);backdrop-filter:blur(3px)}
:is(#cart-dialog,#product-dialog) .icon-btn{background:none;border:0;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;margin-right:-10px}
:is(#cart-dialog,#product-dialog) .icon-btn svg{width:22px;height:22px;fill:none}
#product-dialog{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;overflow:auto}
:is(#cart-dialog,#product-dialog) .product-layout{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
:is(#cart-dialog,#product-dialog) .product-media{background:radial-gradient(circle at 50% 42%,#2a4637 0%,#16261f 78%);display:grid;place-items:center;padding:48px;position:relative}
:is(#cart-dialog,#product-dialog) .product-media svg{width:100%;max-width:380px;height:auto;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
:is(#cart-dialog,#product-dialog) .product-media.light{background:var(--sand)}
:is(#cart-dialog,#product-dialog) .product-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
:is(#cart-dialog,#product-dialog) .topper-preview{font-size:clamp(44px,6vw,72px);line-height:1.05;text-align:center;color:#f3eee3;word-break:break-word;max-width:100%;padding:0 10px}
:is(#cart-dialog,#product-dialog) .topper-preview.layered{-webkit-text-stroke:0;text-shadow:0 0 0 transparent;paint-order:stroke fill}
:is(#cart-dialog,#product-dialog) .product-info{padding:44px 40px;position:relative;display:flex;flex-direction:column}
:is(#cart-dialog,#product-dialog) .product-info .icon-btn{position:absolute;top:14px;right:24px}
:is(#cart-dialog,#product-dialog) .product-info h2{font-size:clamp(30px,3.6vw,40px);margin:10px 0 8px}
:is(#cart-dialog,#product-dialog) .product-info .price{font-size:22px;margin-bottom:18px}
:is(#cart-dialog,#product-dialog) .product-info .desc{color:var(--muted);margin-bottom:26px}
:is(#cart-dialog,#product-dialog) .option-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0 0 10px;display:flex;justify-content:space-between}
:is(#cart-dialog,#product-dialog) .option-block{margin-bottom:24px}
:is(#cart-dialog,#product-dialog) .seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
:is(#cart-dialog,#product-dialog) .seg label{position:relative;cursor:pointer}
:is(#cart-dialog,#product-dialog) .seg input{position:absolute;opacity:0}
:is(#cart-dialog,#product-dialog) .seg span{display:block;border:1px solid var(--line-strong);padding:12px 14px;font-size:14px;background:var(--paper);height:100%}
:is(#cart-dialog,#product-dialog) .seg span small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
:is(#cart-dialog,#product-dialog) .seg input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
:is(#cart-dialog,#product-dialog) .seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
:is(#cart-dialog,#product-dialog) .qty{display:inline-flex;align-items:center;border:1px solid var(--line-strong);background:var(--paper)}
:is(#cart-dialog,#product-dialog) .qty button{width:42px;height:46px;border:0;background:none;cursor:pointer;font-size:18px}
:is(#cart-dialog,#product-dialog) .qty input{width:44px;height:46px;border:0;text-align:center;background:none;-moz-appearance:textfield}
:is(#cart-dialog,#product-dialog) .qty input::-webkit-inner-spin-button{-webkit-appearance:none}
:is(#cart-dialog,#product-dialog) .add-row{display:flex;gap:12px;margin-top:auto;padding-top:12px;align-items:stretch}
:is(#cart-dialog,#product-dialog) .add-row .btn{flex:1}
:is(#cart-dialog,#product-dialog) .note{font-size:13px;color:var(--muted);margin-top:14px}
#cart-dialog{margin:0 0 0 auto;height:100dvh;width:min(480px,100%);max-width:100%;overflow:hidden;display:none;flex-direction:column}
#cart-dialog[open]{display:flex}
:is(#cart-dialog,#product-dialog) .drawer-head{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid var(--line)}
:is(#cart-dialog,#product-dialog) .drawer-head h2{font-size:28px}
:is(#cart-dialog,#product-dialog) .drawer-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 28px 32px}
:is(#cart-dialog,#product-dialog) .cart-row{display:grid;grid-template-columns:76px 1fr auto;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
:is(#cart-dialog,#product-dialog) .cart-thumb{width:76px;height:76px;background:radial-gradient(circle at 50% 40%,#2a4637,#16261f);display:grid;place-items:center;overflow:hidden}
:is(#cart-dialog,#product-dialog) .cart-thumb svg{width:84%;height:84%}
:is(#cart-dialog,#product-dialog) .cart-thumb.light{background:var(--sand);font-family:var(--serif);font-size:24px;color:var(--gold)}
:is(#cart-dialog,#product-dialog) .cart-row h3{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.35}
:is(#cart-dialog,#product-dialog) .cart-row .meta{font-size:12px;color:var(--muted);margin-top:4px;white-space:pre-line}
:is(#cart-dialog,#product-dialog) .cart-row .row-actions{display:flex;gap:14px;align-items:center;margin-top:10px;flex-wrap:wrap}
:is(#cart-dialog,#product-dialog) .cart-row .qty button{width:32px;height:32px;font-size:15px}
:is(#cart-dialog,#product-dialog) .cart-row .qty span{min-width:26px;text-align:center;font-size:13px}
:is(#cart-dialog,#product-dialog) .text-btn{background:none;border:0;padding:0;font-size:12px;color:var(--muted);text-decoration:underline;cursor:pointer}
:is(#cart-dialog,#product-dialog) .cart-row .line-price{font-size:14px;white-space:nowrap;text-align:right}
:is(#cart-dialog,#product-dialog) .empty-cart{text-align:center;padding:64px 0}
:is(#cart-dialog,#product-dialog) .empty-cart h3{font-size:26px;margin-bottom:10px}
:is(#cart-dialog,#product-dialog) .empty-cart p{color:var(--muted);margin-bottom:24px}
:is(#cart-dialog,#product-dialog) .totals{padding:20px 0;display:grid;gap:6px;font-size:14px;border-bottom:1px solid var(--line);margin-bottom:24px}
:is(#cart-dialog,#product-dialog) .totals div{display:flex;justify-content:space-between}
:is(#cart-dialog,#product-dialog) .totals .grand{font-family:var(--serif);font-size:22px;margin-top:8px}
:is(#cart-dialog,#product-dialog) .totals .hint{font-size:12px;color:var(--gold)}
:is(#cart-dialog,#product-dialog) .form-title{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin:4px 0 14px;color:var(--ink)}
:is(#cart-dialog,#product-dialog) .choice-row{margin-bottom:16px}
:is(#cart-dialog,#product-dialog) .consent{display:flex;gap:12px;font-size:13px;color:var(--muted);margin:6px 0 20px;align-items:flex-start}
:is(#cart-dialog,#product-dialog) .consent input{margin-top:3px;accent-color:var(--ink)}
:is(#cart-dialog,#product-dialog) .fine{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}
:is(#cart-dialog,#product-dialog) .done{text-align:center;padding:48px 4px}
:is(#cart-dialog,#product-dialog) .done svg{width:48px;margin:0 auto 20px;color:var(--gold)}
:is(#cart-dialog,#product-dialog) .done h3{font-size:30px;margin-bottom:14px}
:is(#cart-dialog,#product-dialog) .done p{color:var(--muted);margin-bottom:12px}
:is(#cart-dialog,#product-dialog) .done .ref{font-family:var(--serif);font-size:20px;color:var(--ink);letter-spacing:.04em}
#cart-dialog .drawer-head h2:focus{outline:none}
@media(max-width:600px){#cart-dialog .drawer-body,#cart-dialog .drawer-head{padding-left:20px;padding-right:20px}#cart-dialog .two{grid-template-columns:1fr}#cart-dialog .cart-row{gap:10px;grid-template-columns:60px 1fr auto}#cart-dialog .cart-thumb{width:60px;height:60px}#product-dialog .product-layout{grid-template-columns:1fr}}

body:has(#cart-dialog[open]){overflow:hidden}
@media(max-width:600px){#cart-dialog .field input,#cart-dialog .field textarea,#cart-dialog .field select{font-size:16px}#cart-dialog .cart-row .qty button{width:44px;height:44px}}

body:has(#cart-dialog[open]){overflow:hidden}
@media(max-width:600px){#cart-dialog .field input,#cart-dialog .field textarea,#cart-dialog .field select{font-size:16px}#cart-dialog .cart-row .qty button{width:44px;height:44px}}
