/* Frontend views share one restrained material and motion language. */
/* Action colours stay independent from the red notification accents. */
:root {
 --ui-ink:#f6f3ed; --ui-muted:#a7b3c6; --ui-subtle:#8594aa;
 --ui-red:var(--torii-red,#de0c11); --ui-gold:#c5b18c;
 --ui-panel:#0d1728; --ui-deep:#090f1b;
 --ui-control:#111f33; --ui-control-hover:#172940; --ui-selected:#1b2e48;
 --ui-line:#a4b9d016; --ui-control-line:#536c895e;
 --ui-primary:#9bb8d409; --ui-primary-hover:#9bb8d419; --ui-primary-active:#9bb8d42b;
 --ui-primary-border:#a2bad25c; --ui-primary-hover-border:#bdd1e599; --ui-primary-active-border:#bdd1e5ad;
 --ui-on-primary:#edf2f7; --ui-button-radius:16px; --ui-stepper-border:#a5bed218; --ui-champagne:#d1b478;
 --ui-accent-line:#c5b18c66; --ui-focus:#dac8a7;
 --ui-radius:9px; --ui-control-height:46px;
 --ui-cta-fill:#274665; --ui-cta-hover:#31577b; --ui-cta-active:#203c58;
}
:is(#showroom,.product-inspector) .showroom-commerce-reserve { display:flex; gap:10px; }
:is(#showroom,.product-inspector) .showroom-commerce-reserve button { position:relative; width:40px; height:40px; opacity:1; color:#b9b6af; cursor:pointer; display:grid; place-items:center; }
:is(#showroom,.product-inspector) .showroom-commerce-reserve button:hover { color:var(--ui-ink); }
.commerce-count { display:inline-grid; place-items:center; min-width:17px; height:17px; padding:0 4px; border-radius:50%; background:var(--ui-red); color:#fff; font:500 9px/1 var(--font-sans); font-variant-numeric:tabular-nums; }
.showroom-commerce-reserve .commerce-count { position:absolute; top:0; right:0; }
.commerce-count[hidden] { display:none; }
#menuDrawer .drawer-footer-info button { cursor:pointer; min-height:32px; }
#menuDrawer .drawer-secondary .drawer-link { font-size:21px; }
.takura-panel { --ui-ink:#dce7f3; position:fixed; inset:0 0 0 auto; margin:0; width:min(480px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; padding:0; border:0; border-left:1px solid var(--ui-line); background:var(--ui-panel); color:var(--ui-ink); overflow:hidden; }
.takura-panel[open] { display:flex; flex-direction:column; animation:drawer-enter .4s cubic-bezier(.2,.7,.2,1); }
.takura-panel::backdrop { background:#030916b8; backdrop-filter:blur(3px); }
.takura-panel header { flex:none; display:flex; align-items:flex-start; justify-content:space-between; padding:32px 30px 26px; border-bottom:1px solid var(--ui-line); }
.takura-panel h2 { font:400 36px/1.15 var(--font-serif); margin:9px 0 0; letter-spacing:.005em; }
.ui-eyebrow { display:block; color:var(--ui-gold); font:9px/1.6 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; }
.ui-close { flex:none; width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--ui-line); border-radius:50%; background:none; color:var(--ui-ink); cursor:pointer; }
.panel-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:8px 30px 30px; scrollbar-width:thin; scrollbar-color:#3b516c transparent; }
.panel-footer { flex:none; padding:24px 30px; border-top:1px solid var(--ui-line); }
.panel-footer[hidden] { display:none; }
.panel-footer p { font:11px/1.7 var(--font-sans); color:var(--ui-muted); margin:14px 0; }
.ui-primary { display:flex; justify-content:space-between; align-items:center; gap:18px; width:100%; padding:16px 18px; min-height:48px; font:400 14px/1.4 var(--font-sans); letter-spacing:.015em; cursor:pointer; text-align:left; }
:is(.ui-primary,.product-inspector .ui-primary,.bubble-action-btn,.download-pdf-btn,.newsletter-btn,.btn-stop) {
 border:1px solid var(--ui-primary-border); border-radius:var(--ui-button-radius);
 background:var(--ui-primary); color:var(--ui-on-primary); box-shadow:none;
 transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
:is(.ui-primary,.product-inspector .ui-primary,.bubble-action-btn,.download-pdf-btn,.newsletter-btn,.btn-stop):hover:not(:disabled) {
 background:var(--ui-primary-hover); border-color:var(--ui-primary-hover-border); transform:none;
}
:is(.ui-primary,.product-inspector .ui-primary,.bubble-action-btn,.download-pdf-btn,.newsletter-btn,.btn-stop):active:not(:disabled) {
 background:var(--ui-primary-active); border-color:var(--ui-primary-active-border); transform:none;
}
:is(.ui-primary,.bubble-action-btn,.download-pdf-btn,.newsletter-btn,.btn-stop):focus-visible {
 outline:2px solid #bdd1e5; outline-offset:3px;
}
.ui-primary:disabled { background:var(--ui-control); color:var(--ui-muted); border-color:var(--ui-line); cursor:default; }
.ui-text { background:none; border:0; border-bottom:1px solid var(--ui-accent-line); border-radius:0; padding:9px 0; color:var(--ui-ink); font:12px var(--font-sans); cursor:pointer; text-align:left; }
.ui-text:hover { color:var(--ui-ink); border-color:var(--ui-gold); }
.takura-panel button:focus-visible,.product-information button:focus-visible,.ui-field :focus-visible { outline:2px solid var(--ui-focus); outline-offset:4px; }
.collection-empty { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:65%; padding:40px 0; }
.empty-symbol { color:var(--ui-gold); font:44px var(--font-sans); margin-bottom:20px; }
.collection-empty h3 { font:300 26px/1.3 var(--font-sans); margin:0 0 16px; }
.collection-empty p { color:var(--ui-muted); font:13px/1.8 var(--font-sans); margin:0 0 30px; }
.commerce-item { display:grid; grid-template-columns:108px 1fr; gap:20px; padding:26px 0; border-bottom:1px solid var(--ui-line); }
.commerce-image { padding:8px 0; background:none; border:0; cursor:pointer; }
.commerce-image img { width:100%; height:118px; object-fit:contain; }
.commerce-title { display:block; padding:8px 0; border:0; background:none; color:var(--ui-ink); font:400 18px/1.4 var(--font-sans); letter-spacing:.035em; text-align:left; cursor:pointer; }
.item-price { color:var(--ui-ink); font:400 14px/1.5 var(--font-sans); margin:0 0 8px; font-variant-numeric:tabular-nums; }.item-price small { color:var(--ui-muted); font-size:9px; }
.item-variant { color:var(--ui-muted); font:10px var(--font-sans); }
.quantity-control { display:flex; align-items:center; width:max-content; border:1px solid var(--ui-control-line); border-radius:var(--ui-radius); background:var(--ui-control); margin:12px 0 3px; }
.quantity-control button { width:36px; height:36px; border:0; background:none; color:var(--ui-ink); cursor:pointer; }
.quantity-control output { min-width:30px; text-align:center; font:12px var(--font-sans); font-variant-numeric:tabular-nums; }
.item-actions { display:flex; flex-wrap:wrap; gap:8px 16px; }
.cart-total { display:flex; justify-content:space-between; gap:15px; align-items:center; font:12px var(--font-sans); }
.cart-total strong { color:var(--ui-ink); font:400 28px var(--font-sans); font-variant-numeric:tabular-nums; }
.panel-footer>.ui-text { display:block; margin:12px auto 0; }
.takura-status { position:fixed; z-index:2500; bottom:28px; left:50%; transform:translate(-50%,10px); background:var(--ui-panel); border:1px solid var(--ui-line); color:var(--ui-ink); padding:14px 22px; font:12px var(--font-sans); pointer-events:none; opacity:0; transition:opacity .2s,transform .2s; }
.takura-status.visible { opacity:1; transform:translate(-50%,0); }
/* Product details extend the existing native inspector and genuine model viewer. */
.product-inspector.has-product-details { color:var(--ui-ink); background:radial-gradient(ellipse at 28% 42%,#17253d,var(--ui-deep) 72%); }
.has-product-details header { height:104px; padding:24px 34px; border-bottom:1px solid var(--ui-line); }
.has-product-details header h2 { font:400 34px/1.1 var(--font-serif); letter-spacing:.04em; color:var(--ui-ink); }
.product-inspector.has-product-details .inspector-stage { inset:104px 38% 172px 0; }
.product-inspector.has-product-details footer { right:38%; bottom:24px; }
.product-information { position:absolute; right:0; top:104px; bottom:0; width:38%; padding:34px clamp(24px,3vw,52px); border-left:1px solid var(--ui-line); background:var(--ui-panel); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3b516c transparent; }
.product-information h3 { font:42px/1.1 var(--font-serif); font-weight:400; letter-spacing:.07em; margin:15px 0 12px; }
.product-japanese { color:var(--ui-gold); font-size:14px; line-height:1.8; }.product-japanese span { display:block; font:9px/1.8 var(--font-sans); color:var(--ui-muted); letter-spacing:.1em; margin-top:5px; }
.product-price { color:var(--ui-ink); font:400 32px/1.15 var(--font-sans); font-variant-numeric:tabular-nums; margin:22px 0 16px; }.product-price small { display:block; font:9px var(--font-sans); color:var(--ui-muted); margin-top:6px; }
.product-intro { color:var(--ui-muted); font:13px/1.85 var(--font-sans); margin-bottom:24px; }
.ui-field { display:block; color:var(--ui-ink); font:11px/1.6 var(--font-sans); letter-spacing:.015em; margin:18px 0; }
.ui-field select,.ui-field input,.ui-field textarea { display:block; width:100%; padding:12px 14px; min-height:var(--ui-control-height); margin-top:8px; border:1px solid var(--ui-control-line); border-radius:var(--ui-radius); background:var(--ui-control); color:var(--ui-ink); font:12px/1.6 var(--font-sans); color-scheme:dark; transition:border-color .2s,background-color .2s; }
.ui-field textarea { resize:vertical; max-height:260px; }
.ui-field select:disabled { opacity:.7; }
.product-actions { display:flex; gap:12px; margin-top:24px; }
.product-save { flex:none; width:48px; min-height:48px; font-size:24px; }
.product-save[aria-pressed=true] { color:var(--ui-ink); border-color:var(--ui-primary-border); }
.product-feedback { min-height:17px; margin-top:12px; color:var(--ui-gold); font:11px/1.5 var(--font-sans); }
.product-cart-link { display:block; margin-bottom:28px; }
.product-specs { border-top:1px solid var(--ui-line); border-bottom:1px solid var(--ui-line); padding:16px 0; margin:18px 0; }
.product-specs summary { display:flex; justify-content:space-between; color:var(--ui-ink); font:400 13px var(--font-sans); cursor:pointer; list-style:none; padding:8px 0; }
.product-specs summary::-webkit-details-marker { display:none; }
.product-specs p,.product-specs dl { color:var(--ui-muted); font:12px/1.8 var(--font-sans); margin-top:14px; }
.product-specs dl div { display:flex; justify-content:space-between; gap:20px; padding:8px 0; }
.product-specs dd { color:var(--ui-ink); text-align:right; }
.asset-note { color:var(--ui-subtle); font:10px/1.8 var(--font-sans); margin:16px 0; }
.product-media-tabs { display:flex; gap:20px; margin:15px 0; }
.product-inspector .ui-text { border:0; border-bottom:1px solid var(--ui-accent-line); color:var(--ui-ink); }
.inspector-stage video { width:90%; max-height:100%; }
.is-video .inspector-tools,.is-video output { display:none; }
/* Compact editorial views share the original side drawer dimensions */
.editorial { max-width:100%; margin:0; }
.editorial-index { display:none !important; }
.editorial p { font:14px/1.8 var(--font-sans); color:var(--ui-muted); margin:0 0 16px; }
.editorial .editorial-lead { font:400 28px/1.2 var(--font-serif); color:var(--ui-ink); margin:0 0 18px; }
.editorial-pair { display:flex; flex-direction:column; gap:20px; border-top:1px solid var(--ui-line); padding-top:20px; margin:24px 0; }
.editorial h3 { font:400 20px/1.3 var(--font-serif); color:#f2eee5; margin:0 0 8px; }
.editorial-pair p { font-size:13px; margin:0; }
.editorial .ui-primary { width:100%; }
.philosophy-principles { list-style:none; margin:24px 0 0; padding:0; }
.philosophy-principles li { display:flex; gap:20px; padding:16px 0; border-top:1px solid var(--ui-line); }
.philosophy-principles li>span { font:500 13px var(--font-sans); color:var(--ui-gold); padding-top:2px; }
.philosophy-principles h3 { font:400 18px/1.3 var(--font-serif); color:#f2eee5; margin:0 0 6px; }
.philosophy-principles p { font-size:13px; color:var(--ui-muted); margin:0; }
.contact-editorial .contact-disclosure { font-size:12px; margin:8px 0 20px; color:var(--ui-muted); }
.contact-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin:20px 0; }
.contact-editorial .contact-feedback { font:12px/1.6 var(--font-sans); color:var(--ui-gold); }
@keyframes drawer-enter { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }
@media (max-width:1000px) and (min-width:700px) {
 .product-information { width:43%; padding:26px; }.product-inspector.has-product-details .inspector-stage { right:43%; }.product-inspector.has-product-details footer { right:43%; }
 .inspector-tools { gap:8px; }.inspector-tools input { width:90px; }.product-information h3 { font-size:34px; }
}
@media (min-width:700px) and (max-width:900px) and (orientation:portrait) {
 #showroom .hero-product-header { top:16%; }
}
@media(max-width:699px) {
 :is(#showroom,.product-inspector) .showroom-header-right { gap:10px; } :is(#showroom,.product-inspector) .showroom-commerce-reserve { gap:0; }
 :is(#showroom,.product-inspector) .showroom-commerce-reserve button { width:38px; height:40px; }
 .takura-panel header { padding:22px 22px 20px; }.takura-panel h2 { font-size:32px; }.panel-body { padding:4px 22px 22px; }.panel-footer { padding:20px 22px; }
 .commerce-item { grid-template-columns:88px 1fr; gap:18px; padding:22px 0; }.commerce-image img { height:100px; }
 .quantity-control button { width:42px; height:42px; }.ui-text { min-height:40px; display:inline-flex; align-items:center; }
 .product-inspector.has-product-details[open] { display:grid; grid-template-rows:82px minmax(175px,32dvh) 120px minmax(0,1fr); }
 .has-product-details header { position:relative; inset:auto; padding:16px 22px; height:auto; grid-row:1; }
 .has-product-details header h2 { font-size:25px; margin:4px 0 0; }.has-product-details .inspector-eyebrow { font-size:8px; }
 .product-inspector.has-product-details .inspector-stage { position:relative; inset:auto; grid-row:2; width:100%; height:100%; }
 .product-inspector.has-product-details footer { position:relative; inset:auto; grid-row:3; padding:8px 18px; }
 .has-product-details .inspector-hint { font-size:9px; margin-bottom:5px; line-height:1.4; max-width:330px; }
 .has-product-details output { display:none; }.has-product-details .inspector-views { margin-top:5px; }.has-product-details .inspector-views button { padding:5px 16px; min-height:30px; }
 .product-information { position:relative; inset:auto; width:100%; grid-row:4; padding:24px 22px 30px; border-left:0; border-top:1px solid var(--ui-line); min-height:0; }
 .product-information h3 { font-size:32px; margin:12px 0; }.product-price { margin-top:18px; }.product-intro { margin-bottom:16px; }
 /* Keep the two primary product actions reachable while details scroll internally. */
 .product-information { padding-bottom:116px; }
 .product-information h3,.product-information .product-intro { display:none; }
 .product-information .product-japanese { margin-top:12px; }
 .product-information .product-price { margin:16px 0; }
 .product-actions { position:fixed; z-index:4; inset:auto 0 0; margin:0; padding:14px 22px; background:var(--ui-panel); border-top:1px solid var(--ui-line); }
 .product-feedback:not(:empty) { position:fixed; z-index:4; inset:auto 0 77px; margin:0; padding:8px 22px; background:var(--ui-panel); }
 .takura-panel::backdrop { backdrop-filter:none; }
  .editorial .panel-body { padding:18px 24px 30px; }
 .editorial .editorial-lead { font-size:37px; }.editorial p { font-size:13px; }.editorial-pair { grid-template-columns:1fr; gap:22px; margin:24px 0; }
 .contact-row { grid-template-columns:1fr; gap:0; }.contact-actions { gap:12px 24px; }.editorial .ui-primary { width:100%; min-width:0; }
 .takura-status { width:calc(100% - 40px); bottom:18px; text-align:center; }
}
@media(prefers-reduced-motion:reduce) {
 .takura-panel[open] { animation:none; }.takura-status { transition:none; }
 :is(.ui-primary,.product-inspector .ui-primary,.bubble-action-btn,.download-pdf-btn,.newsletter-btn,.btn-stop) { transition:none; }
}

/* Navigation uses the interface typeface; product titles retain their serif. */
#menuDrawer .drawer-link,
#menuDrawer .drawer-family-group .drawer-link,
#menuDrawer .drawer-secondary .drawer-link { font-family:var(--font-sans); font-size:16px; font-weight:400; line-height:1.6; }
#menuDrawer .drawer-link[aria-current] { font-weight:400; }

:is(#showroom,.product-inspector) .showroom-commerce-reserve .commerce-count:not([hidden]) { display:grid; place-items:center; min-width:16px; height:16px; top:-1px; right:-1px; padding:0 3px; border-radius:50%; background:var(--ui-red); color:#fff; font-size:9px; font-weight:500; }

/* Commerce sprint: contained controls, clear state and accessible targets. */
.commerce-item-copy { min-width:0; }
.quantity-control input { width:48px; height:42px; margin:0; padding:0 3px; background:none; border:0; color:var(--ui-ink); font:13px var(--font-sans); font-variant-numeric:tabular-nums; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button { appearance:none; margin:0; }
.quantity-control button { min-width:44px; min-height:44px; }
.quantity-control button:disabled { opacity:.35; cursor:default; }
.quantity-control input:focus-visible { outline:2px solid var(--ui-focus); outline-offset:-3px; }
.item-actions { align-items:center; justify-content:space-between; }
.item-line-total { color:var(--ui-ink); font:12px var(--font-sans); font-variant-numeric:tabular-nums; }
.item-configuration { display:block; margin-top:12px; font:10px/1.6 var(--font-sans); color:var(--ui-muted); }
.item-configuration select { display:block; width:100%; min-height:var(--ui-control-height); margin-top:6px; padding:10px 12px; border:1px solid var(--ui-control-line); border-radius:var(--ui-radius); background:var(--ui-control); color:var(--ui-ink); font:12px var(--font-sans); color-scheme:dark; }
.item-availability,.configuration-note { color:var(--ui-muted); font:10px/1.7 var(--font-sans); margin-top:8px; }
.product-media-tabs { flex-wrap:wrap; }
.product-media-tabs button { min-height:44px; }
.product-media-tabs button[aria-pressed=true] { color:var(--ui-ink); border-bottom-color:var(--ui-focus); }
.product-information button:disabled { opacity:.6; cursor:default; }
.panel-body,.product-information,#menuDrawer .menu-drawer-content { overflow-x:hidden; overflow-wrap:break-word; }
.takura-panel .ui-text,#menuDrawer .drawer-footer-info button,#menuDrawer .drawer-close-btn { min-height:44px; }
#menuDrawer .menu-drawer-content { overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3b516c transparent; }
#menuDrawer .drawer-nav,#menuDrawer .drawer-footer-info,#menuDrawer .menu-drawer-header { flex-shrink:0; }
#menuDrawer button:focus-visible { outline:2px solid var(--ui-focus); outline-offset:3px; }
:is(#showroom,.product-inspector) .showroom-commerce-reserve button::after { content:''; position:absolute; inset:-2px; }
:is(#showroom,.product-inspector) .menu-burger-btn { position:relative; }
:is(#showroom,.product-inspector) .menu-burger-btn::after { content:''; position:absolute; inset:-3px; }
@media(max-width:699px) {
 .quantity-control input,.item-configuration select,.contact-editorial input,.contact-editorial select,.contact-editorial textarea,.product-information select { font-size:16px; }
 .commerce-item .ui-text { font-size:11px; }
 .panel-footer p { margin:9px 0; }
 .panel-footer .ui-primary { line-height:1.6; }
 .product-media-tabs { gap:12px 20px; }
}
@media(max-height:580px) { .takura-panel header { padding-top:16px; padding-bottom:16px; }.panel-footer { padding-top:12px; padding-bottom:12px; }.panel-footer p { margin:6px 0; } }

/* The main ice-blue showroom accent stays separate from commerce colours. */
body.in-showroom-mode { --showroom-accent:#aab6dd; }

/* Shared navy controls and restrained selected/focus states. */
.ui-field :is(select,input,textarea):hover,.item-configuration select:hover { border-color:#7189a980; }
.ui-field :is(select,input,textarea):focus,.item-configuration select:focus { border-color:var(--ui-focus); }
.item-configuration select:focus-visible,.product-specs summary:focus-visible { outline:2px solid var(--ui-focus); outline-offset:3px; }
.ui-field :is(input,textarea)::placeholder { color:var(--ui-subtle); opacity:1; }
.ui-field option,.item-configuration option { background:var(--ui-control); color:var(--ui-ink); }
.ui-field option:checked,.item-configuration option:checked { background:var(--ui-selected); }
.product-inspector :is(button,input):focus-visible { outline:2px solid var(--ui-focus); outline-offset:4px; }
.product-inspector :is(.inspector-tools,.inspector-views) button,.product-save { border:1px solid var(--ui-control-line); border-radius:var(--ui-radius); background:var(--ui-control); color:var(--ui-ink); }
.product-inspector :is(.inspector-tools,.inspector-views) button:hover,.product-save:hover { background:var(--ui-control-hover); border-color:var(--ui-accent-line); }
.product-inspector .inspector-tools input { accent-color:var(--ui-gold); }
.product-inspector :is(.inspector-hint,output) { color:var(--ui-muted); }
.product-inspector .inspector-eyebrow { color:var(--ui-gold); }
.product-inspector .inspector-close { color:var(--ui-ink); border-color:var(--ui-line); }
.quantity-control button:hover:not(:disabled) { background:var(--ui-control-hover); }
.item-actions [data-move] { padding:10px 12px; border:1px solid var(--ui-primary-border); border-radius:var(--ui-button-radius); background:var(--ui-primary); color:var(--ui-on-primary); font-size:11px; line-height:1.4; text-decoration:none; }
.item-actions [data-move]:hover { background:var(--ui-primary-hover); border-color:var(--ui-primary-hover-border); }
.item-actions [data-move]:active:not(:disabled) { background:var(--ui-primary-active); border-color:var(--ui-primary-active-border); }
.item-actions :is([data-remove],[data-unsave]) { color:var(--ui-muted); border-color:var(--ui-line); }
.item-actions :is([data-remove],[data-unsave]):hover { color:var(--ui-ink); border-color:var(--ui-accent-line); }
.ui-primary:disabled,.product-inspector .ui-primary:disabled,.item-actions [data-move]:disabled { background:var(--ui-control); border-color:var(--ui-line); color:var(--ui-muted); cursor:default; }

/* Drawer-only material: production product details and the showroom stay independent. */
.takura-panel:not(.is-editorial),#menuDrawer {
 --ui-ink:#dce7f3;
 --ui-gold:#b8cce3; --ui-accent-line:#b8cce342; --ui-focus:#bdd8ef;
 --drawer-padding:30px;
}
.takura-panel:not(.is-editorial),#menuDrawer .menu-drawer-content {
 width:min(480px,100vw); background:#0d1728; border-left:1px solid rgba(171,196,226,.14);
 font-family:var(--font-sans); color:var(--ui-ink);
}
@supports ((backdrop-filter:blur(14px)) or (-webkit-backdrop-filter:blur(14px))) {
 .takura-panel:not(.is-editorial),#menuDrawer .menu-drawer-content {
  background:rgba(13,23,40,.88); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
 }
}
.takura-panel:not(.is-editorial)::backdrop { background:#0309168c; backdrop-filter:none; }
#menuDrawer .menu-drawer-backdrop { background:#0309168c; backdrop-filter:none; }
.takura-panel:not(.is-editorial) header,#menuDrawer .menu-drawer-header {
 display:flex; align-items:flex-start; justify-content:space-between; flex:none;
 padding:30px var(--drawer-padding) 25px; border-bottom:1px solid var(--ui-line);
 text-transform:none; letter-spacing:normal;
}
.takura-panel:not(.is-editorial) h2,#menuDrawer #drawerTitle {
 margin:10px 0 0; color:var(--ui-ink); font:400 36px/1.15 var(--font-serif); letter-spacing:0;
}
#menuDrawer #drawerTitle { margin-top:6px; }
.takura-panel:not(.is-editorial) header .ui-eyebrow,#menuDrawer .menu-drawer-header .ui-eyebrow {
 color:var(--ui-muted); font-size:9px; letter-spacing:.24em;
}
.takura-panel:not(.is-editorial) .ui-close,#menuDrawer .drawer-close-btn {
 display:grid; place-items:center; flex:none; width:44px; height:44px; margin:-8px -10px 0 0;
 border:0; border-radius:3px; background:transparent; color:var(--ui-ink); font:18px var(--font-sans); cursor:pointer;
}
.takura-panel:not(.is-editorial) .ui-close:hover { background:#b8d0e712; }
#menuDrawer .drawer-close-btn:hover { background:transparent; }
.takura-panel:not(.is-editorial) .panel-body { padding:0 var(--drawer-padding); }
.collection-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:22px 0 2px; color:var(--ui-muted); font:11px/1.6 var(--font-sans); }
.collection-caption span { color:var(--ui-subtle); font-size:10px; }
.takura-panel .commerce-item { grid-template-columns:112px minmax(0,1fr); align-items:center; gap:24px; padding:25px 0; }
.takura-panel .commerce-item:last-child { border-bottom:0; }
.takura-panel .commerce-image {
 display:grid; place-items:center; align-self:center; width:112px; height:112px; padding:10px;
 border-radius:4px; background:linear-gradient(145deg,#b8d0e70c,#b8d0e703); overflow:hidden;
}
.takura-panel .commerce-image img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
.takura-panel .commerce-item .ui-eyebrow { font-size:9px; line-height:1.6; letter-spacing:.07em; color:var(--ui-muted); }
.takura-panel .commerce-title { font-size:17px; line-height:1.3; letter-spacing:.045em; padding:5px 0 7px; }
.takura-panel .item-price { font-size:14px; margin:0 0 6px; }
.takura-panel .item-price small { margin-left:3px; font-size:10px; }
.takura-panel .item-variant { font-size:10px; color:var(--ui-subtle); }
.takura-panel .item-purchase { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; }
.takura-panel .quantity-control { flex:none; margin:0; background:#091421; border:0; }
.takura-panel .quantity-control button:hover:not(:disabled) { color:#fff; background:#142238; }
.takura-panel .quantity-control button:active:not(:disabled) { background:#1a2a40; }
.takura-panel .quantity-control input { width:32px; height:42px; font-size:13px; color:#fff; }
.takura-panel .quantity-control button { min-width:36px; width:36px; min-height:42px; height:42px; font-size:16px; color:#fff; transition:background-color .18s; }
.takura-panel .item-purchase .item-actions { justify-content:flex-end; gap:3px 12px; }
.takura-panel .item-line-total { font-size:12px; white-space:nowrap; }
.takura-panel .item-actions [data-move] { margin-top:7px; padding:10px 14px; border-color:#b8d0e736; color:#deedfa; font-size:11px; }
.takura-panel:not(.is-editorial) .panel-footer { padding:22px var(--drawer-padding) max(24px,env(safe-area-inset-bottom)); }
.takura-panel:not(.is-editorial) .ui-primary { min-height:48px; }
.takura-panel .cart-total { gap:12px; }
.takura-panel .cart-total>span { font-size:12px; color:var(--ui-muted); }
.takura-panel .cart-total strong { font-size:27px; white-space:nowrap; }
.takura-panel .panel-footer p { font-size:10px; line-height:1.7; margin:12px 0 18px; }
.takura-panel[data-view=cart] .panel-footer { display:flex; flex-direction:column; gap:20px; padding-top:0; border-top:0; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary { border-color:#b8a078; background:transparent; color:#f2eee5; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary:hover:not(:disabled) { border-color:#cbb58e; background:#b8a0780b; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary:active:not(:disabled) { border-color:#d4be98; background:#b8a07814; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary span { color:#b8a078; }
.takura-panel:is([data-view=cart],[data-view=wishlist]) .panel-footer .ui-primary { min-height:56px; height:56px; padding:16px 18px; }
.takura-panel[data-view=cart] .panel-footer .ui-primary { border-radius:10px; }
.takura-panel[data-view=cart] .cart-total { align-items:center; padding:20px 0; border-top:1px solid #3d5b88; border-bottom:1px solid #3d5b88; }
.takura-panel[data-view=cart] header .ui-close { margin-right:-12px; }
.takura-panel[data-view=cart] .cart-total>span { font-size:14px; }
.takura-panel .takura-status { position:absolute; left:var(--drawer-padding); right:var(--drawer-padding); bottom:102px; width:auto; transform:translateY(10px); padding:12px 16px; font-size:11px; box-shadow:0 8px 30px #0003; }
.takura-panel .takura-status.visible { transform:translateY(0); }
#menuDrawer .menu-drawer-content { padding:0; overflow:hidden; }
#menuDrawer .drawer-nav { flex:1; min-height:0; padding:25px var(--drawer-padding); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#3b516c transparent; }
#menuDrawer .nav-group-title { color:#b8cce3; font:9px/1.6 var(--font-sans); text-transform:uppercase; letter-spacing:.17em; margin:0 0 24px; }
#menuDrawer .drawer-family-group { margin:0 0 36px; }
#menuDrawer .drawer-family-group h3 { color:#b8cce3; font:13px/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:.13em; margin:0 0 8px; }
#menuDrawer .drawer-link { color:var(--ui-ink); font:400 16px/1.5 var(--font-sans); }
#menuDrawer .drawer-family-group .drawer-link { color:var(--ui-ink); min-height:44px; padding:10px 0; font-size:16px; }
#menuDrawer .drawer-link[aria-current] { color:var(--ui-champagne); }
#menuDrawer .drawer-link:not(:disabled):hover { color:#c7e0f7; }
#menuDrawer .drawer-secondary { border-top:1px solid var(--ui-line); margin-top:26px; padding-top:18px; }
#menuDrawer .drawer-secondary .drawer-link { font-size:16px; min-height:46px; padding:11px 0; }
#menuDrawer .drawer-footer-info { flex:none; margin:0 var(--drawer-padding); padding:18px 0 max(22px,env(safe-area-inset-bottom)); border-top:1px solid var(--ui-line); gap:2px; }
#menuDrawer .drawer-footer-info button { align-items:center; color:var(--ui-ink); font:14px var(--font-sans); min-height:44px; }
#menuDrawer .commerce-count { min-width:22px; height:22px; border-radius:3px; background:#b8d0e712; color:#d2e5f7; font-size:10px; }
#menuDrawer button:focus-visible { outline-color:var(--ui-focus); }
@media(max-width:699px) {
 .has-product-details header h2 { font-size:28px; }
 .takura-panel:not(.is-editorial),#menuDrawer { --drawer-padding:22px; }
 .takura-panel:not(.is-editorial) header,#menuDrawer .menu-drawer-header { padding-top:25px; padding-bottom:23px; }
 .takura-panel:not(.is-editorial) h2,#menuDrawer #drawerTitle { font-size:32px; }
 .takura-panel .commerce-item { grid-template-columns:94px minmax(0,1fr); gap:18px; padding:23px 0; }
 .takura-panel .commerce-image { width:94px; height:104px; padding:8px; }
 .takura-panel .commerce-title { font-size:16px; }
 .takura-panel .commerce-item .ui-eyebrow { font-size:10px; letter-spacing:.04em; }
 .takura-panel .item-purchase { gap:8px; flex-wrap:wrap; }
 .takura-panel .quantity-control button { width:36px; min-width:36px; min-height:44px; height:44px; }
 .takura-panel .quantity-control input { width:32px; font-size:16px; }
 .takura-panel .item-actions [data-move] { padding:10px 12px; }
 #menuDrawer .drawer-nav { padding-top:23px; }
}
@media(max-width:359px) {
 .takura-panel:not(.is-editorial),#menuDrawer { --drawer-padding:18px; }
 .collection-caption { align-items:flex-start; flex-direction:column; gap:2px; }
 .takura-panel .commerce-item { grid-template-columns:76px minmax(0,1fr); gap:14px; }
 .takura-panel .commerce-image { width:76px; height:94px; padding:5px; }
 .takura-panel .cart-total strong { font-size:23px; }
 .takura-panel .item-line-total { font-size:11px; }
}
@media(max-height:620px) {
 .takura-panel:not(.is-editorial) header,#menuDrawer .menu-drawer-header { padding-top:16px; padding-bottom:16px; }
 .takura-panel:not(.is-editorial) .panel-footer { padding-top:16px; padding-bottom:16px; }
 #menuDrawer .drawer-footer-info { padding-top:10px; padding-bottom:12px; }
}

@media(min-width:700px) { .takura-panel[data-view=cart] .commerce-item { padding-top:24px; padding-bottom:24px; } }

/* Product quick actions and the shared commerce finish. */
.takura-panel,.takura-panel:not(.is-editorial),#menuDrawer .menu-drawer-content { border-left:0; }
.takura-panel h2,.takura-panel:not(.is-editorial) h2,#menuDrawer #drawerTitle { font:400 27px/1.25 var(--font-sans); margin:0; letter-spacing:-.025em; }
.takura-panel .commerce-item { grid-template-columns:96px minmax(0,1fr); gap:22px; padding:22px 0; }
.takura-panel .commerce-image { width:96px; height:96px; padding:11px; background:#0f1c32; border:0; border-radius:10px; box-shadow:none; transition:background-color .18s ease; }
.takura-panel .commerce-image img[src*="hero_toilet_"] { transform:translate(-3.85%,4.2%); }
.takura-panel .commerce-title { letter-spacing:.015em; padding-top:0; }
.takura-panel .quantity-control { border-radius:6px; overflow:hidden; }
.takura-panel .item-purchase { justify-content:flex-start; margin-top:9px; }
.takura-panel[data-view=cart] { width:min(520px,100vw); }
.takura-panel[data-view=cart] .commerce-item { grid-template-columns:116px minmax(0,1fr); gap:22px; padding-top:20px; padding-bottom:20px; }
.takura-panel[data-view=cart] .commerce-image { width:116px; height:116px; padding:14px; }
.takura-panel[data-view=cart] .commerce-item-copy { min-height:100px; display:flex; flex-direction:column; justify-content:center; }
.cart-item-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 14px; align-items:start; }
.takura-panel[data-view=cart] .commerce-title { grid-column:1; font-size:20px; line-height:1.35; padding:0; }
.takura-panel[data-view=cart] .item-price { grid-column:2; grid-row:1 / span 2; align-self:start; margin:0; font-size:18px; line-height:1.45; text-align:right; max-width:11ch; }
.cart-item-descriptor { grid-column:1; margin:0; font-size:14px; line-height:1.5; color:#b7c5d6; }
.takura-panel[data-view=cart] .item-price small { display:block; margin:3px 0 0; font-size:13px; line-height:1.4; color:#b7c5d6; }
.takura-panel[data-view=cart] :is(.item-configuration,.item-variant,.item-availability,.item-purchase) { grid-column:1 / -1; }
.takura-panel[data-view=cart] .item-purchase { margin:8px 0 0; }
.takura-panel[data-view=wishlist] .commerce-item-copy { position:relative; padding-right:48px; }
.takura-panel[data-view=wishlist] .item-actions { position:absolute; right:0; top:50%; transform:translateY(-50%); }
.takura-panel[data-view=wishlist] .item-actions [data-move],.takura-panel[data-view=wishlist] .item-actions [data-move]:not(:disabled) { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:10px; margin:0; border:0; border-radius:6px; background:transparent; box-shadow:none; color:#d0ddeb; }
.takura-panel[data-view=wishlist] .item-actions [data-move]:not(:disabled):hover { background:transparent; color:var(--ui-champagne); }
.takura-panel[data-view=wishlist] .item-actions [data-move]:not(:disabled):active { background:transparent; color:var(--ui-champagne); }
.takura-panel[data-view=wishlist] .item-actions [data-move] svg { width:22px; height:22px; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.item-actions [data-move] svg { width:19px; height:19px; }
#menuDrawer .drawer-link:not(:disabled):is(:hover,:focus-visible) { color:var(--ui-champagne); background:transparent; }
#menuDrawer .drawer-link::before,#menuDrawer .drawer-link::after { display:none; }
#showroom .hero-product-actions { position:fixed; inset:0; z-index:15; pointer-events:none; }
#showroom .hero-product-actions button { position:absolute; transform:translate(-50%,-50%); display:grid; place-items:center; width:44px; height:44px; padding:11px; border:0; border-radius:50%; background:#18283e; color:#d3dfed; cursor:pointer; pointer-events:auto; transition:color .18s,background-color .18s; }
#showroom [data-hero-action=wishlist] { left:var(--hero-wishlist-x); top:var(--hero-wishlist-y); }
#showroom .hero-product-actions [data-hero-action=cart] { left:var(--hero-cart-x); top:var(--hero-cart-y); width:48px; height:48px; }
#showroom [data-hero-action=view] { left:var(--hero-view-x); top:var(--hero-view-y); }
#showroom .hero-product-actions svg { width:20px; height:20px; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
#showroom .hero-product-actions button:is(:hover,:focus-visible) { color:var(--ui-champagne); background:#273247; }
#showroom .hero-product-actions [data-hero-action=wishlist] { color:#edf3fa; }
#showroom .hero-product-actions [data-hero-action=wishlist]:is(:hover,:focus-visible) { color:#edf3fa; }
#showroom .hero-product-actions [data-hero-action=wishlist][aria-pressed=true] { color:#eca2c1; }
#showroom .hero-product-actions [data-hero-action=wishlist][aria-pressed=true] svg { fill:currentColor; stroke:none; }
#showroom[data-commerce-demo] .hero-product-actions [data-hero-action=wishlist][aria-pressed=true] svg { fill:none; stroke:currentColor; }
#showroom[data-commerce-demo] .hero-product-actions [data-hero-action=wishlist][aria-pressed=true],#showroom[data-commerce-demo] .hero-product-actions [data-hero-action=wishlist]:is(:hover,:focus-visible) { color:#edf3fa; background:#18283e; }
#showroom[data-commerce-demo] .hero-product-actions [data-hero-action=wishlist]::after { display:none; }
#showroom .hero-product-actions button:focus-visible { outline:2px solid #d5c09b; outline-offset:3px; }
#showroom .hero-product-actions button::after { content:attr(data-tooltip); position:absolute; left:calc(100% + 9px); top:50%; transform:translateY(-50%); padding:7px 10px; border:0; border-radius:8px; background:#25334a; color:#e5edf6; font:400 12px/1.35 var(--font-sans); letter-spacing:0; white-space:nowrap; box-shadow:0 5px 16px #0003; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .12s,visibility .12s; }
#showroom .hero-product-actions button:not([data-tooltip-dismissed]):is(:hover,:focus-visible)::after { opacity:1; visibility:visible; transition-delay:.15s; }
@media(min-width:700px) and (max-width:1199px) {
 #showroom .hero-product-actions button::after { left:auto; right:calc(100% + 9px); }
}
@media(max-width:699px) {
 #showroom .hero-product-actions button::after { left:50%; top:calc(100% + 8px); transform:translateX(-50%); }
}
.inspector-logo { width:145px; height:38px; object-fit:contain; object-position:left center; }
.product-inspector header { gap:12px; align-items:center; }
.inspector-global-controls { display:flex; align-items:center; gap:8px; margin-left:auto; }
.inspector-global-controls button { width:40px; height:40px; display:grid; place-items:center; padding:10px; border:0; border-radius:50%; color:var(--ui-ink); background:transparent; cursor:pointer; font-size:25px; }
.inspector-global-controls button:hover { background:#b8d0e712; }
.inspector-global-controls svg { width:20px; height:20px; }
.product-save { border-radius:9px; background:transparent; }
.product-save[aria-pressed=true] { background:#b8d0e710; color:#e4dfd6; border-color:var(--ui-control-line); }
.product-inspector #menuDrawer { position:fixed; inset:0; z-index:30; }
@media(max-width:699px) {
 .inspector-logo { width:104px; height:28px; }
 .has-product-details header { padding:16px; gap:6px; }
 .inspector-global-controls { gap:0; }
 .inspector-global-controls button { width:36px; height:40px; padding:8px; }
 .product-inspector .inspector-close { width:36px; height:40px; }
 .product-information h3 { display:block; }
 .takura-panel .commerce-item { grid-template-columns:82px minmax(0,1fr); gap:16px; }
 .takura-panel .commerce-image { width:82px; height:82px; padding:9px; }
 .takura-panel[data-view=cart] .commerce-item { grid-template-columns:96px minmax(0,1fr); gap:18px; }
 .takura-panel[data-view=cart] .commerce-image { width:96px; height:96px; padding:12px; }
 .takura-panel[data-view=cart] .commerce-item-copy { min-height:96px; }
 .cart-item-heading { gap:4px 12px; }
 .takura-panel[data-view=cart] .commerce-title { font-size:18px; }
 .takura-panel[data-view=cart] .item-price { font-size:17px; }
 .takura-panel[data-view=wishlist] .commerce-item-copy { padding-right:44px; }
}
@media(max-width:359px) {
 .takura-panel[data-view=cart] .commerce-item { grid-template-columns:80px minmax(0,1fr); gap:14px; }
 .takura-panel[data-view=cart] .commerce-image { width:80px; height:90px; padding:10px; }
 .cart-item-heading { gap:4px 10px; }
}

/* Wishlist supporting text stays readable at desktop and mobile widths. */
.takura-panel[data-view=wishlist] .collection-caption {
 font-size:14px; line-height:1.6; color:#bcc8d9;
}
.takura-panel[data-view=wishlist] .commerce-title {
 font-size:18px; line-height:1.4;
}
.takura-panel[data-view=wishlist] .item-price {
 font-size:16px; line-height:1.6;
}
.takura-panel[data-view=wishlist] .item-price small {
 display:inline-block; margin-left:5px; font-size:13px; color:#bcc8d9;
}
.takura-panel[data-view=wishlist] .panel-footer .ui-primary {
 font-size:14px;
}

/* Contact keeps the compact drawer, with readable fields and one draft action. */
.takura-panel[data-view=contact] { --ui-line:rgba(61,91,136,.12); --ui-control-line:rgba(83,108,137,.18); }
.takura-panel[data-view=contact] .panel-body { padding-top:40px; }
.contact-editorial .contact-intro { font:16px/1.75 var(--font-sans); margin:0 0 24px; padding-bottom:24px; border-bottom:1px solid rgba(61,91,136,.12); }
.contact-editorial .contact-details { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 32px; margin:0 0 24px; padding-bottom:24px; border-bottom:1px solid rgba(61,91,136,.14); }
.contact-editorial .contact-details::after { content:""; position:absolute; left:50%; top:0; bottom:24px; width:1px; background:rgba(61,91,136,.14); }
.contact-editorial .contact-details dt { font:14px/1.5 var(--font-sans); color:var(--ui-muted); margin:0 0 8px; }
.contact-editorial .contact-details dd { margin:0; min-width:0; font:16px/1.5 var(--font-sans); }
.contact-editorial .contact-details a { color:var(--ui-ink); text-decoration:none; overflow-wrap:anywhere; }
.contact-editorial .contact-details a:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-editorial .contact-details a:focus-visible { outline:2px solid var(--ui-focus); outline-offset:4px; }
.contact-editorial form { display:grid; gap:24px; }
.contact-editorial .ui-field { margin:0; font-size:14px; line-height:1.5; }
.contact-editorial .ui-field :is(input,select,textarea) { min-height:50px; padding:12px 16px; font-size:16px; line-height:1.5; }
.contact-editorial .ui-field :is(input,select,textarea):hover { border-color:rgba(113,137,169,.28); }
.contact-editorial .ui-field select { appearance:none; padding-right:48px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23dce7f3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; background-size:14px 14px; }
.contact-editorial .ui-primary { justify-content:center; min-height:50px; font-size:16px; background:var(--ui-cta-fill); border-color:var(--ui-cta-fill); }
.contact-editorial .ui-primary:hover:not(:disabled) { background:var(--ui-cta-hover); border-color:var(--ui-cta-hover); }
.contact-editorial .ui-primary:active:not(:disabled) { background:var(--ui-cta-active); border-color:var(--ui-cta-active); }
.contact-editorial .contact-feedback { margin:0; font-size:14px; line-height:1.6; color:var(--ui-muted); }
.contact-editorial .contact-feedback:empty { display:none; }
@media(max-width:350px) {
 .contact-editorial .contact-details { column-gap:20px; }
 .contact-editorial .contact-details dd { font-size:14px; }
}
