/* PHONE MX · translucent navigation, generous product photography. */
:root {
  --bg:#eef3fa; --text:#142440; --muted:#53627b; --red:#c21e41; --red-hover:#a71332;
  --line:#cad5e5; --glass:linear-gradient(135deg,#ffffffb8,#ffffff52);
  --glass-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #ffffff80,0 12px 36px -22px #26456865;
}
html { scroll-padding-top:116px; }
body { background:radial-gradient(ellipse at 95% 3%,#c1d5f4aa,transparent 29%),radial-gradient(ellipse at -8% 18%,#f1c6d044,transparent 25%),linear-gradient(150deg,#f5f8fc,#eaf0f9 55%,#f4f7fb); color:var(--text); line-height:1.6; }
.wrap { width:min(1240px,calc(100% - 64px)); }
.glass,.product-card,.modal {
  border:1px solid #ffffffc9;
  background:var(--glass);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  backdrop-filter:blur(26px) saturate(150%);
}
.header { top:12px; border-radius:26px; background:linear-gradient(115deg,#ffffffa3,#f2f7ff73); box-shadow:inset 0 1px 0 #fff,0 10px 32px -16px #324b6c42; }
.nav { padding:12px 24px; min-height:76px; }
.brand { font-weight:850; font-size:1.7rem; letter-spacing:-.07em; }
.nav-links { gap:24px; }
.nav-links a { font-size:.9375rem; }
.order-button { border:1px solid #ffffff30; background:linear-gradient(135deg,#233b5de8,#13233de8); box-shadow:inset 0 1px 1px #ffffff35,0 6px 14px -8px #13233d88; border-radius:18px; }
.icon-button { background:linear-gradient(135deg,#ffffffe0,#ffffff65); border:1px solid #ffffffde; box-shadow:inset 0 1px 0 #fff,0 4px 12px -7px #24446555; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.hero { padding:42px 0 34px; gap:56px; }
.hero h1 { font-size:clamp(2.8rem,4.7vw,4.4rem); letter-spacing:-.05em; line-height:1.06; }
.hero h1>span { color:var(--red); }
.hero-desc { max-width:470px; font-size:1.125rem; }
.spotlight { border-radius:30px; transform:none; background:linear-gradient(130deg,#ffffffbf,#fff6); }
.hero-image-link { height:285px; }
.hero-image-link img { mix-blend-mode:normal; }
.spotlight-top { font-size:.8125rem; letter-spacing:.075em; }
.benefits { border-color:#b5c6dd6b; }
.catalog { padding-top:48px; }
.catalog .section-heading h2 { color:var(--text); font-size:2.45rem; letter-spacing:-.045em; }
.catalog-controls { padding:18px 20px 0; border-radius:26px; background:linear-gradient(130deg,#ffffffb8,#ffffff66); }
.controls-top { padding-bottom:14px; gap:20px; }
.search-field { background:linear-gradient(130deg,#ffffffb8,#fff7); border:1px solid #b9cbe283; box-shadow:inset 0 2px 6px #17396808,0 1px 0 #fff; min-height:54px; border-radius:16px; }
.search-field input { font-size:1rem; }
.control-select { min-width:172px; }
.control-select select { font-size:1rem; }
.control-select label { font-size:.875rem; }
.controls-bottom { flex-wrap:wrap; border-top:1px solid #bacbe350; padding:12px 0; gap:6px 18px; }
.category-filters { flex:1 1 100%; flex-wrap:nowrap; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; scroll-behavior:smooth; scroll-snap-type:x proximity; scrollbar-width:none; padding:3px 2px 5px; }
.category-filters::-webkit-scrollbar { display:none; }
.category-filter { flex:0 0 auto; scroll-snap-align:start; min-height:44px; border-radius:14px; font-size:.9375rem; padding:10px 17px; border:1px solid transparent; }
.category-filter.is-active { color:#fff; background:linear-gradient(145deg,#2a4263,#172945); border-color:#fff3; box-shadow:inset 0 1px 0 #ffffff35,0 4px 8px #1d345726; }
.category-filter:not(.is-active):hover { background:#ffffffb8; border-color:#fff; }
.favorites-filter { min-height:44px; padding-inline:12px; font-size:.875rem; border-radius:12px; }
.favorites-filter[aria-pressed=true] { background:#fff0f3aa; }
.catalog-meta { padding:22px 2px; font-size:.875rem; }
.catalog-meta>span { font-size:.875rem; }
.catalog-sections { gap:52px; }
.brand-heading { padding:26px 0 0; margin-bottom:22px; border-top:1px solid #b9cbe360; }
.brand-heading p { font-size:.8125rem; color:#566882; }
.brand-heading h3 { color:var(--text); font-size:2rem; letter-spacing:-.035em; }
.brand-heading>span { padding:6px 12px; border:1px solid #ffffffd9; border-radius:99px; background:#ffffff6e; color:#4d607b; font-size:.875rem; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.product-card { border-radius:28px; background:linear-gradient(145deg,#ffffffb8,#ffffff66); overflow:hidden; transition:transform .24s cubic-bezier(.2,.7,.2,1),box-shadow .24s; }
.product-media { background:#fff; }
.photo-window { height:320px; aspect-ratio:auto; min-height:0; padding:30px 22px 18px; background:#fff; }
.photo-window img { width:100%; height:100%; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.supplied-product .photo-window { padding:0; height:370px; }
.supplied-product .photo-window img { object-fit:contain; }
.favorite-button { width:44px; min-width:44px; height:44px; right:14px; top:14px; background:#ffffffb8; border-color:#ffffffdd; box-shadow:0 2px 12px #1e35551a,inset 0 1px 0 #fff; }
.favorite-button svg { width:20px; height:20px; }
.product-info { padding:22px 24px 24px; border-top:1px solid #dce6f1a6; background:transparent; gap:0; }
.product-category { font-size:.8125rem; letter-spacing:.085em; color:#526884; margin-bottom:8px; }
.product-title { font-size:1.375rem; line-height:1.3; color:var(--text); min-height:2.6em; margin:0 0 10px; letter-spacing:-.025em; }
.product-storage { display:flex; gap:10px; align-items:center; font-size:.875rem; margin-bottom:12px; color:#596983; }
.product-storage strong { font-size:.9375rem; color:#253c5d; }
.condition,.product-note.condition { border:1px solid #c5ddd1; background:#edf7f0c9; color:#276444; border-radius:8px; padding:4px 9px; font-size:.8125rem; margin:0 0 16px; }
.product-price { color:var(--text); font-size:2.1rem; font-weight:750; letter-spacing:-.035em; line-height:1.2; gap:7px; margin-bottom:20px; }
.product-price small { color:#5b6c84; font-size:.8125rem; letter-spacing:.02em; }
.product-color-field { gap:5px; margin:0 0 20px; }
.product-color-field label { font-size:.875rem; }
.product-color-field select,.order-field input,.order-field textarea,.order-field select,.cart-color-field select,.product-dialog .detail-color-field select { background:linear-gradient(130deg,#ffffffe0,#ffffff88); border:1px solid #b9cbe2a8; color:var(--text); border-radius:13px; min-height:48px; font-size:1rem; box-shadow:inset 0 1px 1px #fff; }
.product-color-field select { padding:10px 12px; }
.product-color-field small { font-size:.8125rem; color:#586b85; }
.card-actions { gap:10px; }
.detail-button { background:linear-gradient(145deg,#ffffffd9,#e6eefaa8); border:1px solid #ffffffeb; color:#213b60; border-radius:14px; min-height:48px; font-size:1rem; box-shadow:inset 0 1px 0 #fff,0 2px 8px #1b396509; }
.add-button { background:linear-gradient(145deg,#2c4365,#142744); color:#fff; border:1px solid #ffffff35; border-radius:14px; width:49px; min-width:49px; height:48px; box-shadow:inset 0 1px 0 #ffffff40; }
.brand-grid[data-visible-count="1"] { grid-template-columns:minmax(0,770px); }
.brand-grid[data-visible-count="1"]>.product-card:not([hidden]) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.brand-grid[data-visible-count="1"] .photo-window { min-height:340px; padding:24px; }
.brand-grid[data-visible-count="1"] .supplied-product .photo-window { padding:0; }
.brand-grid[data-visible-count="1"] .product-info { border-color:#dce6f1a6; }
.button,.icon-button,.detail-button,.add-button,.order-button,.visual-controls button,.visual-modes button,.category-filter,.photo-thumbs button { transition:transform .2s,background .2s,box-shadow .2s,border-color .2s; }
.button:active,.icon-button:active,.detail-button:active,.add-button:active,.order-button:active,.category-filter:active,.visual-controls button:active { transform:translateY(-1px) scale(.975); }
.product-dialog,.cart-dialog { width:min(1120px,calc(100% - 40px)); max-height:calc(100dvh - 40px); color:var(--text); background:linear-gradient(135deg,#fffffff5,#f2f6fbe8); border-radius:30px; box-shadow:inset 0 1px 1px #fff,0 28px 100px #142c5647; overscroll-behavior:contain; }
.modal::backdrop,.product-dialog::backdrop,.photo-viewer::backdrop { background:#263f6852; backdrop-filter:blur(14px) saturate(115%); -webkit-backdrop-filter:blur(14px) saturate(115%); }
.product-dialog .dialog-header,.cart-dialog .dialog-header { background:linear-gradient(115deg,#ffffffe0,#ffffff94); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border-bottom:1px solid #d3dfef66; gap:12px; padding:16px 22px; }
.dialog-header>[data-close-dialog] { flex-shrink:0; }
.product-dialog .dialog-header #detail-viewer-name { color:var(--text); font-size:.9375rem; }
.product-dialog .dialog-header .icon-button { background:linear-gradient(135deg,#fff,#e9eff899); border:1px solid #fff; }
.detail-layout { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
.product-dialog .detail-media { padding:22px; background:#fff; top:77px; border-radius:0 0 24px 24px; }
.visual-modes { align-self:center; display:flex; gap:4px; background:linear-gradient(140deg,#e8effac2,#f8faffc9); border:1px solid #ffffff; border-radius:16px; padding:4px; box-shadow:inset 0 1px 0 #fff,0 3px 16px #243d6910; }
.visual-modes button { display:flex; align-items:center; justify-content:center; gap:7px; background:transparent; border:1px solid transparent; border-radius:12px; min-height:44px; padding:9px 20px; font-size:.9375rem; }
.visual-modes button svg { width:18px; height:18px; }
.visual-modes button[aria-pressed=true] { background:#ffffffe6; border-color:#fff; box-shadow:0 3px 8px #1c385918; color:var(--text); }
.product-dialog .visual-stage { background:#fff; height:490px; margin-top:14px; border-radius:22px; }
.visual-stage>img { padding:0; mix-blend-mode:normal; }
.product-dialog .visual-stage #spin-image { mix-blend-mode:normal; }
.product-dialog .visual-stage model-viewer { --poster-color:#fff; --progress-bar-color:var(--red); touch-action:none; }
.product-dialog .visual-stage #spin-host { touch-action:none; }
.product-dialog .visual-controls { background:linear-gradient(135deg,#e9f0fbbb,#ffffffa6); border:1px solid #fff; box-shadow:inset 0 1px 0 #fff,0 5px 20px #28436812; padding:5px; border-radius:18px; gap:3px; }
.product-dialog .visual-controls button { min-height:44px; min-width:44px; padding:9px 11px; font-size:.875rem; color:#324a6c; }
.product-dialog .visual-controls button[aria-pressed=true] { background:#1c3355; color:#fff; }
.zoom-controls { display:flex; }
.product-dialog .photo-thumbs { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; max-width:100%; padding:6px 4px; gap:10px; scrollbar-width:thin; }
.photo-thumbs button:first-child { margin-left:auto; }
.photo-thumbs button:last-child { margin-right:auto; }
.product-dialog .photo-thumbs button { flex:0 0 66px; width:66px; height:72px; padding:5px; border:1px solid #d9e2ef; border-radius:14px; background:#fff; }
.product-dialog .photo-thumbs button[aria-pressed=true] { border-color:var(--red); box-shadow:0 0 0 2px #c21e4118; }
.photo-thumbs img { mix-blend-mode:normal; }
.product-dialog .visual-caption { font-size:.875rem; line-height:1.5; color:#566b88; min-height:0; }
.product-dialog .detail-info { padding:32px; }
.product-dialog .detail-info h2 { color:var(--text); font-size:2.1rem; letter-spacing:-.04em; }
.product-dialog .detail-info .eyebrow { color:var(--red); font-size:.8125rem; }
.product-dialog .detail-price { color:var(--text); font-size:2.25rem; }
.product-dialog .detail-info .primary { background:linear-gradient(130deg,#c82348,#aa1638); border-color:#ffffff3d; border-radius:16px; box-shadow:inset 0 1px 0 #ffffff5e,0 8px 20px -10px #a7133288; }
.product-dialog .detail-info .secondary { background:#ffffffb8; border-color:#fff; border-radius:16px; }
.product-dialog .detail-tools button,.product-dialog .quantity-control,.product-dialog .detail-zoom { background:linear-gradient(140deg,#ffffffe0,#eaf1fc88); border-color:#fff; box-shadow:inset 0 1px 0 #fff,0 3px 10px #2c426311; color:#294364; }
.cart-dialog { width:min(620px,calc(100% - 32px)); }
.cart-body { padding:22px 28px 30px; }
.cart-item { background:#ffffff9c; border:1px solid #fff; border-radius:20px; padding:16px; }
.cart-item img { border-radius:12px; object-fit:contain; mix-blend-mode:normal; }
.cart-totals { background:#ffffff6e; border:1px solid #fff; border-radius:18px; padding:18px; }
.cart-total { border-top-color:#c7d6e57d; }
.order-field input,.order-field textarea,.order-field select { width:100%; padding:12px; }
.order-required-note { font-size:.9375rem; }
.data-note { font-size:.8125rem; margin:18px 0 8px; }
.checkout-note { background:transparent; color:#4c607d; padding:0; font-size:.875rem; margin:0 0 18px; }
.order-ready { background:#ffffffa8; border-color:#fff; }
#order-ready-status { font-size:.875rem; color:#3d6355; }
.mobile-dock { background:linear-gradient(145deg,#ffffffa6,#f3f7ff6e); border:1px solid #ffffffe6; box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #fff9,0 14px 50px #1b3a642b; backdrop-filter:blur(32px) saturate(185%); -webkit-backdrop-filter:blur(32px) saturate(185%); }
.mobile-dock>a,.mobile-dock>button { border-radius:17px; }
.mobile-dock .is-active { background:linear-gradient(135deg,#ffffffdd,#ffffff69); box-shadow:inset 0 1px 0 #fff,0 3px 9px #17375a12; color:var(--red); }
body:has(dialog[open])>.mobile-dock,body:has(dialog[open])>.toast { visibility:hidden; }
.toast { border-radius:20px; background:#ffffffe6; max-width:calc(100% - 32px); }
.photo-viewer-header,.photo-viewer-footer { background:linear-gradient(145deg,#ffffffed,#f2f6fcc7); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.photo-viewer-stage { background:#fff; }
.photo-viewer-image,.photo-gallery-thumbs img { mix-blend-mode:normal; }
.photo-viewer .photo-viewer-specs { position:static; margin-top:10px; justify-content:flex-start; opacity:1; }
.photo-viewer .photo-spec { padding:3px 0; background:transparent; border:0; backdrop-filter:none; -webkit-backdrop-filter:none; }
.photo-viewer-detail { background:var(--text); }
.step { background:linear-gradient(145deg,#ffffffa8,#ffffff65); }
.contact-panel { background:linear-gradient(120deg,#ffffffbe,#dce8fb73); }
@media(hover:hover) {
  .product-card:hover { transform:translateY(-5px); box-shadow:inset 0 1px 0 #fff,0 22px 45px -25px #23497570; }
  .detail-button:hover { background:#fff; }
}
@media(max-width:1000px) {
  .nav-links { gap:16px; }
  .nav-links a { font-size:.875rem; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .detail-layout { grid-template-columns:1fr 1fr; }
  .product-dialog .visual-stage { height:420px; }
}
@media(max-width:800px) {
  .nav-links { display:none; }
  .product-dialog { width:min(620px,calc(100% - 20px)); }
  .detail-layout { grid-template-columns:minmax(0,1fr); }
  .product-dialog .detail-media { position:static; }
}
@media(max-width:700px) {
  html { scroll-padding-top:92px; }
  body { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
  .wrap { width:calc(100% - 32px); }
  .announcement { min-height:34px; width:calc(100% - 40px); padding:4px 0; flex-direction:row; }
  .announcement>span,.announcement>a { font-size:.75rem; }
  .announcement>a>span { display:none; }
  .header { top:8px; border-radius:22px; }
  .nav { min-height:66px; padding:10px 14px; gap:8px; }
  .brand { font-size:1.45rem; }
  .nav-actions { gap:8px; }
  .nav-actions .icon-button { width:42px; height:42px; min-width:42px; }
  .order-button { padding:9px 11px; gap:7px; font-size:.875rem; min-height:44px; border-radius:16px; }
  .order-button svg { width:18px; }
  .count-pill { font-size:.8125rem; min-width:22px; min-height:22px; }
  .hero { padding:28px 0 24px; gap:22px; }
  .hero-copy { padding:0 4px; }
  .hero h1 { font-size:clamp(2.15rem,9.5vw,3.2rem); margin:12px 0 14px; line-height:1.08; }
  .hero h1>span { font-size:.94em; }
  .hero .eyebrow { font-size:.75rem; }
  .hero-desc { font-size:1rem; line-height:1.6; }
  .hero-actions { margin-top:19px; gap:18px; }
  .hero-actions .button { min-height:48px; border-radius:15px; padding-inline:18px; }
  .spotlight { grid-template-columns:105px minmax(0,1fr); padding:13px 17px; border-radius:23px; }
  .hero-image-link { height:120px; }
  .spotlight-top { font-size:.75rem; }
  .spotlight-bottom>div>span { font-size:.9375rem; }
  .spotlight-bottom strong { font-size:1.6rem; }
  .benefits { padding:16px 0; }
  .benefits strong { font-size:.8125rem; }
  .benefits small { font-size:.75rem; }
  .catalog { padding-top:30px; }
  .catalog .section-heading h2 { font-size:2rem; }
  .catalog .section-heading>p { font-size:.9375rem; }
  .catalog-controls { padding:13px 13px 0; border-radius:23px; }
  .controls-top { flex-wrap:wrap; gap:12px; padding-bottom:10px; }
  .search-field { flex:1 1 100%; min-height:50px; border-radius:14px; }
  .search-field input { padding:12px 9px; }
  .control-select { min-width:0; flex:1 1 calc(50% - 12px); padding-left:0; border-left:0; }
  .control-select label { font-size:.8125rem; }
  .control-select select { font-size:.875rem; min-height:44px; width:100%; }
  .category-filters { flex-basis:100%; width:100%; flex-wrap:nowrap; max-width:100%; padding-bottom:7px; }
  .category-filter { font-size:.875rem; padding:9px 14px; }
  .controls-bottom { gap:2px; }
  .favorites-filter { font-size:.875rem; }
  .catalog-meta { padding:18px 2px; gap:4px 12px; font-size:.8125rem; }
  .catalog-meta>span { font-size:.75rem; }
  .catalog-sections { gap:34px; }
  .brand-heading { margin-bottom:18px; }
  .brand-heading h3 { font-size:1.7rem; }
  .product-grid { gap:18px; }
  .product-info { padding:22px; }
  .product-title { font-size:1.3rem; }
  .product-price { font-size:2rem; }
  .mobile-dock { display:grid; grid-template-columns:minmax(0,1fr) minmax(44px,.72fr) minmax(0,1fr) minmax(0,1.24fr) minmax(44px,.82fr); width:calc(100% - 24px); max-width:480px; left:50%; bottom:calc(10px + env(safe-area-inset-bottom)); transform:translateX(-50%); border-radius:25px; padding:6px; gap:2px; }
  .js-ready .mobile-dock.js-only { display:grid!important; }
  .mobile-dock>a,.mobile-dock>button { position:relative; font-size:.75rem; gap:3px; padding:8px 1px; min-width:0; min-height:59px; }
  .mobile-dock svg { width:21px; height:21px; }
  .mobile-dock button span b { position:absolute; top:2px; right:8px; font-size:.75rem; padding:0 4px; min-width:17px; border-radius:12px; background:#fff; }
  .mobile-dock span { white-space:nowrap; }
  .footer { padding-bottom:24px; }
  .toast { bottom:calc(96px + env(safe-area-inset-bottom)); }
  .product-dialog,.cart-dialog { max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius:26px; }
  .product-dialog .dialog-header,.cart-dialog .dialog-header { padding:12px 16px; }
  .product-dialog .dialog-header #detail-viewer-name { font-size:.875rem; }
  .product-dialog .detail-media { padding:14px; }
  .product-dialog .visual-stage { height:clamp(320px,53dvh,500px); margin-top:10px; }
  .product-dialog .visual-controls { margin-top:10px; gap:0; padding:3px; border-radius:16px; }
  .product-dialog .visual-controls button { padding:8px 9px; font-size:.8125rem; }
  .visual-modes button { padding:8px 18px; font-size:.875rem; }
  .product-dialog .photo-thumbs { gap:8px; }
  .product-dialog .photo-thumbs button { width:58px; flex-basis:58px; height:63px; }
  .product-dialog .detail-info { padding:24px; }
  .product-dialog .detail-info h2 { font-size:1.85rem; }
  .product-dialog .detail-price { font-size:2.2rem; }
  .cart-dialog { width:calc(100% - 20px); }
  .cart-body { padding:18px 18px 24px; }
  .cart-item { padding:13px; gap:12px; }
  .order-fields-row { gap:12px; }
  .cart-dialog input,.cart-dialog select,.cart-dialog textarea,.detail-color-field select { font-size:16px; }
}
@media(max-width:560px) {
  .product-grid,.brand-grid[data-visible-count="1"] { grid-template-columns:minmax(0,1fr); }
  .brand-grid[data-visible-count="1"]>.product-card:not([hidden]) { display:flex; flex-direction:column; }
  .product-card { border-radius:26px; }
  .photo-window,.brand-grid[data-visible-count="1"] .photo-window { height:320px; min-height:0; padding:26px 30px 16px; }
  .supplied-product .photo-window,.brand-grid[data-visible-count="1"] .supplied-product .photo-window { height:360px; padding:0; }
  .product-info,.brand-grid[data-visible-count="1"] .product-info { padding:22px 24px 24px; border-left:0; border-top:1px solid #dce6f1a6; }
  .product-title,.brand-grid[data-visible-count="1"] .product-title { min-height:0; font-size:1.4rem; }
  .product-storage>span { display:inline; }
  .product-storage,.product-storage strong { font-size:.875rem; }
  .product-category { font-size:.8125rem; }
  .product-note.condition { font-size:.8125rem; }
  .product-price,.brand-grid[data-visible-count="1"] .product-price { font-size:2.1rem; }
  .product-color-field { margin-bottom:20px; }
  .product-color-field small { font-size:.8125rem; }
  .detail-button { font-size:1rem; }
  .detail-button svg { display:block; }
}
@media(max-width:370px) {
  .wrap { width:calc(100% - 24px); }
  .brand { font-size:1.25rem; }
  .nav { padding-inline:10px; }
  .nav-actions { gap:5px; }
  .order-button { padding-inline:9px; }
  .order-button>svg { display:none; }
  .product-dialog .detail-info { padding:20px; }
  .mobile-dock { width:calc(100% - 16px); padding:5px; }
  .mobile-dock>a,.mobile-dock>button { font-size:.75rem; }
  .control-select { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; flex-basis:100%; gap:8px; }
  .controls-top { display:flex; flex-wrap:wrap; }
  .order-fields-row { grid-template-columns:1fr; }
  .cart-item { grid-template-columns:62px minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
@supports not (backdrop-filter:blur(1px)) {
  .glass,.product-card,.modal,.mobile-dock { background:#f5f8fd; }
}
