dialog{--drawer-line:rgba(242,240,234,.24);position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100%);max-width:100%;height:100%;max-height:100%;padding:30px;background:#18191c;color:var(--paper);border:0;border-left:1px solid var(--drawer-line);overflow-y:auto}
#cart-dialog{width:min(360px,88vw);height:100vh;height:100svh;max-height:none;padding:104px 28px 28px;background:#0f1013;border-left:1px solid rgba(242,240,234,.14)}
#cart-dialog::backdrop{background:rgba(4,5,6,.46);backdrop-filter:none}
#cart-dialog .drawer-head{display:block}
#cart-dialog #cart-title,.cart-close-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#cart-dialog .cart-close-button{position:absolute;top:48px;right:28px;z-index:2;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;color:var(--paper,#f2f0ea);background:rgba(242,240,234,.08);cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;padding:0}
#cart-dialog .cart-close-button:focus,#cart-dialog .cart-close-button:focus-visible{outline:none;box-shadow:none}
#cart-dialog .cart-close-button .nav-menu-line{position:absolute;width:21px;height:1px;background:currentColor;transform-origin:center;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .2s ease}
#cart-dialog .cart-close-button .nav-menu-line:nth-of-type(2){transform:rotate(45deg)}
#cart-dialog .cart-close-button .nav-menu-line:nth-of-type(3){transform:rotate(-45deg)}
#cart-dialog .empty{padding:0;font-size:19px;line-height:1.25;color:var(--paper)}
dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}
html.dialog-open,html.dialog-open body{overflow:hidden}
body:has(dialog[open]){overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.drawer-head h2{font-size:36px;font-weight:400;letter-spacing:-.04em}
#product-dialog .drawer-head{justify-content:flex-end}
.icon-button{position:relative;width:44px;height:44px;background:transparent;border:1px solid var(--drawer-line);border-radius:50%;color:inherit;font-size:26px;cursor:pointer}
.icon-button .icon-line{position:absolute;width:21px;height:1px;background:currentColor;transform-origin:center}
.icon-button .icon-line:first-child{transform:rotate(45deg)}
.icon-button .icon-line:last-child{transform:rotate(-45deg)}
.drawer-hero{display:flex;align-items:center;gap:30px;margin:15px 0 28px}
.drawer-hero img{width:110px;height:190px;object-fit:contain}
.drawer-hero h2{font-size:38px;margin:10px 0;font-weight:400;letter-spacing:-.04em}
.drawer-hero p{margin:0}
fieldset{border:0;padding:0;margin:0}
legend{font-size:13px;margin-bottom:12px}
.pack-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pack-options label{position:relative;cursor:pointer}
.pack-options input{position:absolute;top:16px;right:14px;accent-color:#eb89bc}
.pack-options label>span{display:block;border:1px solid var(--drawer-line);padding:15px;font-size:14px;border-radius:3px}
.pack-options input:checked+span{border-color:#eb89bc;background:rgba(235,137,188,.09)}
.pack-options small{display:block;color:var(--muted);margin-top:8px}
.add-row{display:flex;gap:14px;margin-top:20px;align-items:flex-end}
.quantity{font-size:11px;width:126px}
.quantity-stepper{display:grid;grid-template-columns:34px 1fr 34px;margin-top:6px;border:1px solid var(--drawer-line)}
.quantity-stepper input{display:block;width:100%;height:50px;border:0;border-inline:1px solid var(--drawer-line);background:transparent;color:var(--paper);padding:0;text-align:center;-moz-appearance:textfield}
.quantity-stepper input::-webkit-outer-spin-button,.quantity-stepper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.quantity-stepper button{display:grid;place-items:center;width:34px;height:50px;border:0;background:transparent;color:var(--paper);font-size:18px;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease}
.quantity-stepper button:hover,.quantity-stepper button:focus-visible{background:rgba(242,240,234,.08)}
.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;border:0;background:var(--paper);color:var(--ink);font-size:14px;padding:14px 20px;flex:1;cursor:pointer}
.primary:disabled{background:#33343a;color:#a7a7ad;width:100%;justify-content:center}
.micro{font-size:12px;color:var(--muted);margin:14px 0 22px}
.label-note{font-size:12px;color:var(--muted);margin:25px 0 5px}
dialog details{border-bottom:1px solid var(--drawer-line)}
dialog summary{list-style:none;cursor:pointer;font-size:14px;padding:17px 0;display:flex;justify-content:space-between}
dialog summary::-webkit-details-marker{display:none}
dialog summary:after{content:'+'}
dialog details[open] summary:after{content:'-'}
dialog details p{font-size:13px;color:#c0bec2;padding-bottom:18px}
dialog details dl{margin:0 0 20px;font-size:13px}
dialog details dl>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--drawer-line)}
dialog dd{margin:0}
.cart-row{display:grid;grid-template-columns:50px 1fr auto;gap:15px;padding:24px 0;border-bottom:1px solid var(--drawer-line)}
.cart-row img{width:50px;height:95px;object-fit:contain}
.cart-row h3{font-size:18px;letter-spacing:-.025em}
.cart-row p{font-size:12px;color:var(--muted)}
.cart-row strong{font-size:14px;font-weight:400}
.cart-controls{display:flex;align-items:center;gap:12px;margin-top:10px}
.cart-controls button{background:transparent;border:1px solid var(--drawer-line);color:inherit;min-width:30px;min-height:32px;cursor:pointer}
.cart-controls .remove{border:0;text-decoration:underline;font-size:11px;margin-left:8px}
.subtotal{display:flex;justify-content:space-between;font-size:19px;margin-top:28px}
.subtotal strong{font-weight:400}
.empty{padding:70px 0;font-size:23px}
dialog .section-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:25px;padding:0 34px;border:.75px solid currentColor;background:transparent;color:inherit;font:500 13px/1 Manrope,sans-serif;letter-spacing:.02em;text-decoration:none;overflow:hidden}
dialog .section-cta span{transition:transform .2s ease}
dialog .section-cta:after{content:'→';position:absolute;right:17px;opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease}
dialog .section-cta:hover span,dialog .section-cta:focus-visible span{transform:translateX(-7px)}
dialog .section-cta:hover:after,dialog .section-cta:focus-visible:after{opacity:1;transform:none}
dialog[open]{animation:drawer-in .28s cubic-bezier(.16,1,.3,1)}
dialog.is-closing{animation:drawer-out .28s cubic-bezier(.16,1,.3,1) both}
dialog.is-closing::backdrop{animation:backdrop-out .24s ease both}
html.dialog-open .view-cursor.is-active{opacity:1!important}
html.dialog-open .cursor-trail.is-active{opacity:.6!important}
html.dialog-open .cursor-trail.is-card{opacity:.42!important}
.has-custom-cursor,.has-custom-cursor *{cursor:none!important}
.has-custom-cursor dialog,.has-custom-cursor dialog a,.has-custom-cursor dialog button,.has-custom-cursor dialog summary,.has-custom-cursor dialog label{cursor:none}
.has-custom-cursor dialog input{cursor:none}
.has-custom-cursor dialog .quantity-stepper input{cursor:none}
@keyframes drawer-in{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes drawer-out{from{transform:translateX(0);opacity:1}to{transform:translateX(35px);opacity:0}}
@keyframes backdrop-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog.is-closing,dialog.is-closing::backdrop{animation:none}}
@media(max-width:520px){dialog{padding:23px}.drawer-hero{gap:20px}.drawer-hero h2{font-size:32px}.cart-controls{gap:9px}.cart-controls button{min-width:34px;min-height:40px}}
