/* Floating surfaces use the same quiet blue stroke throughout. */
.takura-panel,#menuDrawer { --ui-line:rgba(61,91,136,.22); }
.takura-panel:is([data-view],.is-editorial) {
 --drawer-inset:24px; --drawer-padding:28px;
 inset:var(--drawer-inset) var(--drawer-inset) var(--drawer-inset) auto;
 margin:0;
 width:min(480px,calc(100vw - 2 * var(--drawer-inset)));
 max-width:calc(100vw - 2 * var(--drawer-inset));
 height:calc(100dvh - 2 * var(--drawer-inset)); max-height:calc(100dvh - 2 * var(--drawer-inset));
 border:0; border-radius:20px; background:#0d1728;
 backdrop-filter:none; box-shadow:0 24px 64px #00000030; transform-origin:right center;
}
.takura-panel[data-view=cart] { width:min(520px,calc(100vw - 2 * var(--drawer-inset))); }
.takura-panel[open] { animation:none; }
.takura-panel::backdrop { background:#03091670; backdrop-filter:blur(3px); }
.takura-panel header { padding:24px var(--drawer-padding); align-items:center; display:flex; justify-content:space-between; }
.takura-panel .ui-close { margin:0 -12px 0 0; background:transparent; border:0; color:#dce7f3; cursor:pointer; font-size:18px; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; }
.takura-panel .ui-close:hover { background:transparent; color:#d1b478; }
.takura-panel:not(.is-editorial) .panel-footer { padding:20px var(--drawer-padding) max(24px,env(safe-area-inset-bottom)); }
.takura-panel[data-view=cart] .panel-footer { gap:20px; padding-top:0; }
.takura-panel[data-view=cart] .commerce-item:last-child { border-bottom:0; }
.takura-panel .cart-costs { border-top:1px solid var(--ui-line); padding-top:18px; }
.takura-panel .cart-cost-row {
 display:flex; align-items:baseline; justify-content:space-between; gap:16px;
 color:#aebdd0; font:400 13px/1.6 var(--font-sans); margin-bottom:8px;
 font-variant-numeric:tabular-nums;
}
.takura-panel .cart-cost-row>span:last-child { color:#dce7f3; white-space:nowrap; }
.takura-panel[data-view=cart] .cart-total { border-top:1px solid var(--ui-line); border-bottom:0; margin-top:18px; padding:18px 0 0; }
.takura-panel[data-view=cart] .cart-total>span { color:#dce7f3; font-size:15px; }
.takura-panel[data-view=cart] .cart-total strong { font-size:28px; }
.takura-panel .cart-price-note { margin:12px 0 0; font-size:12px; line-height:1.5; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary { height:56px; min-height:56px; border-radius:999px; background:var(--ui-cta-fill); border-color:var(--ui-cta-fill); color:#f2eee5; padding-inline:24px; font-size:16px; font-weight:500; line-height:1.25; letter-spacing:0; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary:hover:not(:disabled) { background:var(--ui-cta-hover); border-color:var(--ui-cta-hover); color:#f2eee5; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary:active:not(:disabled) { background:var(--ui-cta-active); border-color:var(--ui-cta-active); }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary span { color:inherit; }

#menuDrawer { --drawer-inset:24px; --drawer-padding:28px; padding:var(--drawer-inset); box-sizing:border-box; transition:visibility 0s .3s; }
.product-inspector #menuDrawer { z-index:2000; }
#menuDrawer.open { transition:none; }
#menuDrawer .menu-drawer-content {
 width:min(440px,calc(100vw - 2 * var(--drawer-inset))); max-width:100%;
 height:100%; max-height:100%; border:0; border-radius:20px;
 background:#0d1728; backdrop-filter:none; box-shadow:0 24px 64px #00000030;
 transform:translateX(48px) scale(.98); opacity:0; transform-origin:right center;
 transition:transform .5s cubic-bezier(.2,.75,.2,1),opacity .3s; overflow:hidden;
}
#menuDrawer.open .menu-drawer-content { transform:translateX(0) scale(1); opacity:1; }
#menuDrawer .menu-drawer-backdrop { background:#03091670; backdrop-filter:blur(3px); }
#menuDrawer .menu-drawer-header { padding:24px var(--drawer-padding); align-items:center; }
#menuDrawer .drawer-close-btn { margin:0 -12px 0 0; }
#menuDrawer .drawer-nav { flex:1; min-height:0; padding:24px var(--drawer-padding); }
#menuDrawer .drawer-footer-info { margin:0 var(--drawer-padding); padding:16px 0 20px; }

@media(max-width:699px) {
 .takura-panel:is([data-view],.is-editorial),#menuDrawer { --drawer-inset:12px; --drawer-padding:22px; }
 .takura-panel:is([data-view],.is-editorial),#menuDrawer .menu-drawer-content { border-radius:16px; }
 .takura-panel header,#menuDrawer .menu-drawer-header { padding:20px var(--drawer-padding); }
 .takura-panel .cart-costs { padding-top:16px; }
 .takura-panel .cart-cost-row { margin-bottom:6px; }
 .takura-panel[data-view=cart] .cart-total { margin-top:14px; padding-top:16px; }
 .takura-panel[data-view=cart] .cart-total strong { font-size:26px; }
 .takura-panel:not(.is-editorial) .panel-footer { padding-bottom:max(20px,env(safe-area-inset-bottom)); }
 #menuDrawer .drawer-nav { padding-top:20px; }
}
@media(max-width:359px) {
 .takura-panel:is([data-view],.is-editorial),#menuDrawer { --drawer-inset:8px; --drawer-padding:16px; }
 .takura-panel[data-view=cart] .commerce-item { column-gap:12px; }
 .takura-panel[data-view=cart] .commerce-title { font-size:17px; }
 .takura-panel[data-view=cart] .item-price { font-size:16px; }
 .cart-item-descriptor { font-size:13px; }
 .takura-panel[data-view=cart] .cart-total strong { font-size:24px; }
}
@media(max-height:650px) {
 .takura-panel:is([data-view],.is-editorial),#menuDrawer { --drawer-inset:12px; }
 .takura-panel:not(.is-editorial) header,#menuDrawer .menu-drawer-header { padding-top:14px; padding-bottom:14px; }
 .takura-panel .cart-cost-row { margin-bottom:3px; }
 .takura-panel .cart-costs { padding-top:12px; }
 .takura-panel[data-view=cart] .cart-total { margin-top:10px; padding-top:12px; }
 .takura-panel[data-view=cart] .panel-footer { gap:14px; padding-bottom:16px; }
}
@media(max-height:560px) {
 /* Short landscape screens scroll the whole selection instead of squeezing items. */
 .takura-panel:is([data-view],.is-editorial)[open] { display:block; overflow-y:auto; overscroll-behavior:contain; }
 .takura-panel:not(.is-editorial) header { position:sticky; top:0; z-index:2; background:#0d1728; }
 .takura-panel:not(.is-editorial) .panel-body { overflow:visible; }
 .takura-panel[data-view=cart] .panel-footer { display:flex; }
}
@media(prefers-reduced-motion:reduce) {
 #menuDrawer,#menuDrawer .menu-drawer-content,#menuDrawer .menu-drawer-backdrop { transition:none; }
 .takura-panel::backdrop { backdrop-filter:none; }
}

.takura-panel .quantity-control { border:1px solid var(--ui-line); background:#0b1728; }
.takura-panel .item-configuration select { border-color:var(--ui-line); }

/* Product names and prices need a readable scale, with natural digit widths. */
.takura-panel :is(.item-price,.cart-cost-row,.cart-total strong) { font-variant-numeric:lining-nums proportional-nums; font-kerning:normal; letter-spacing:0; }
.takura-panel[data-view=wishlist] .commerce-title { font-size:20px; line-height:1.35; letter-spacing:0; }
.takura-panel[data-view=wishlist] .item-price { font-size:18px; line-height:1.5; letter-spacing:0; }
.takura-panel[data-view=wishlist] .item-price small { margin-left:4px; font-size:13px; }
