#commerce-root, #commerce-root[data-theme="light"] {
  --bg: var(--paper-50); --bg-2: #fff; --bg-3: var(--paper-100); --bg-elev: var(--paper-100);
  --ink: var(--ink-900); --ink-bright: var(--ink-900); --ink-mute: var(--ink-600); --ink-dim: var(--ink-600);
  --accent: var(--amber-500); --accent-bright: var(--amber-600); --accent-deep: var(--amber-600);
  --accent-soft: #e2a13d18; --accent-glow: #e2a13d30; --on-accent: var(--ink-900);
  --sans: var(--font-body); --serif: var(--font-display, var(--font-body)); --mono: var(--font-mono);
  font-family: var(--font-body); color: var(--ink-900); background: transparent; min-width: 0;
}
#commerce-root .container { max-width: var(--container, 1180px); width: 100%; margin: auto; padding: 0 var(--edge, 0px); }
#commerce-root .section-head__title { font-size: clamp(1.8rem,4vw,3rem); letter-spacing: .02em; }
#commerce-root .account, #commerce-root .checkout, #commerce-root .auth, #commerce-root .order { padding: clamp(1.5rem,4vw,3rem) 0; }
#commerce-root .btn { border-radius: var(--radius,10px); font-family: var(--font-body); letter-spacing: .02em; font-weight: 600; }
#commerce-root .btn--primary { background: var(--amber-500); border-color: var(--amber-500); color: var(--ink-900); }
#commerce-root .field__input { border-radius: 6px; background: #fff; color: var(--ink-900); font-family: var(--font-body); }
#commerce-root .checkout__block, #commerce-root .checkout__summary, #commerce-root .account__panel, #commerce-root .account__sidebar, #commerce-root .auth__card { border-radius: var(--radius,10px); }
#commerce-root .account__panel-title, #commerce-root .checkout__block-title { font-family: var(--font-body); letter-spacing: .03em; }
.admin-main #commerce-root .container { padding: 0; }
.admin-main #commerce-root .account__panels { gap: 1.3rem; }
#commerce-root .cart-line { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:1rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); }
#commerce-root .cart-line>a { flex:1; min-width:180px; font-weight:600; }
#commerce-root .cart-line img { object-fit:contain; }
#commerce-root .cart-total { font-size:1.3rem; margin-top:1.5rem; }
.commerce-price { display:block; font-weight:700; font-size:1.2rem; margin:.8rem 0; }
.commerce-price small { display:block; font-size:.8rem; font-weight:400; }
.commerce-actions { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin-top:1rem; }
.commerce-actions input { width:75px; padding:.6rem; border:1px solid var(--steel-300); border-radius:6px; }
.commerce-status { position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%); padding:.8rem 1.2rem; border-radius:var(--radius); background:var(--graphite-900); color:white; z-index:1000; max-width:90vw; }
.catalog-filters { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.catalog-filters input,.catalog-filters select { padding:.7rem; border:1px solid var(--steel-300); border-radius:6px; max-width:100%; }
.product-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin-bottom:1.5rem; }
.product-gallery img { width:100%; max-height:400px; object-fit:contain; background:white; border-radius:var(--radius); }
.commerce-product-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,4vw,3rem); align-items:start; }
.product-detail-content, .product-detail-info { min-width:0; }
.product-detail-content .fc-gallery { margin-bottom:0; }
.product-detail-description { margin:1.5rem 0 0; line-height:1.75; }
.product-detail-applications { margin-top:2rem; }
.product-detail-applications h2, .product-detail-specifications h2 { margin:0 0 1rem; }
.product-detail-applications ul { margin:0; padding-left:1.25rem; }
.product-detail-applications li + li { margin-top:.5rem; }
.product-detail-purchase { padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid var(--paper-100); }
.product-detail-purchase .commerce-price { margin:0; font-size:1.5rem; }
.product-detail-purchase .commerce-price small { margin-top:.5rem; }
.product-detail-purchase p { margin:1rem 0 0; }
.product-detail-purchase > p:first-child { margin-top:0; }
.product-detail-purchase .commerce-actions { margin:1.25rem 0 0; gap:.75rem; }
.product-detail-purchase .commerce-actions input { min-height:44px; }
.product-detail-purchase .commerce-actions .btn { min-height:44px; }
.product-detail-specifications .spec-table { margin-top:0; }
.product-detail-specifications .spec-table td + td { padding-left:1rem; }
.main-nav .commerce-nav { font-weight:700; }
.header-cart { display:inline-flex; align-items:center; gap:.3rem; color:var(--amber-400); text-decoration:none; flex-shrink:0; }
.main-nav { gap:1rem; }
.main-nav ul { gap:1rem; }
.commerce-nav { white-space:nowrap; }
@media(max-width:880px) {
  .site-header .container { gap:.75rem; }
  .site-header .brand { min-width:0; margin-right:auto; }
  .brand-sub { font-size:.54rem; }
  .main-nav:not(.open) { transform:translateX(0); opacity:0; pointer-events:none; }
  .main-nav.open { opacity:1; pointer-events:auto; }
}
@media(max-width:880px) { .commerce-product-layout { grid-template-columns:1fr; } }
.cart-drawer { position:fixed; inset:0 0 0 auto; margin:0; width:min(460px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; padding:0; border:0; background:var(--paper-50); color:var(--ink-900); box-shadow:-12px 0 50px #0003; }
.cart-drawer[open] { display:flex; flex-direction:column; animation:cart-slide-in .25s ease-out; }
.cart-drawer::backdrop { background:#0b122099; }
.cart-drawer[open].is-closing { animation:cart-slide-out .22s cubic-bezier(.4,0,1,1) forwards; }
.cart-drawer[open]::backdrop { animation:cart-backdrop-in .25s ease-out; }
.cart-drawer[open].is-closing::backdrop { animation:cart-backdrop-out .22s ease-in forwards; }
.cart-drawer-head { display:flex; justify-content:space-between; align-items:center; padding:1.4rem; border-bottom:1px solid var(--paper-100); }
.cart-drawer-head h2 { font-size:1.5rem; margin:0; }
.cart-drawer-head button { background:transparent; border:0; font-size:2rem; width:44px; height:44px; cursor:pointer; color:inherit; }
.cart-drawer-body { flex:1; overflow-y:auto; overscroll-behavior:contain; padding:0 1.4rem; }
.cart-drawer-item { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:.8rem; padding:1.2rem 0; border-bottom:1px solid var(--paper-100); }
.cart-drawer-item img { width:60px; height:70px; object-fit:contain; background:white; border-radius:6px; }
.cart-drawer-item h3 { font-family:var(--font-body); font-size:.95rem; margin:0 0 .25rem; }
.cart-drawer-item small { display:block; color:var(--ink-600); font-size:.75rem; }
.cart-drawer-qty { display:flex; gap:.7rem; align-items:center; margin-top:.7rem; }
.cart-drawer-qty button { width:30px; height:30px; background:white; border:1px solid var(--steel-300); border-radius:5px; cursor:pointer; }
.cart-drawer-item-right { text-align:right; }
.cart-drawer-remove { display:block; margin:.8rem 0 0 auto; padding:.25rem 0; background:none; border:0; color:var(--ink-600); text-decoration:underline; cursor:pointer; }
.cart-drawer-foot { padding:1.2rem 1.4rem max(1.4rem,env(safe-area-inset-bottom)); border-top:1px solid var(--paper-100); background:white; }
.cart-drawer-foot dl { margin:0; }
.cart-drawer-foot dl>div { display:flex; justify-content:space-between; gap:1rem; padding:.2rem 0; }
.cart-drawer-foot dd { margin:0; }
.cart-drawer-foot p { font-size:.8rem; color:var(--ink-600); }
.cart-drawer-foot .btn { display:flex; justify-content:center; }
.cart-drawer-total { font-size:1.25rem; font-weight:700; margin-top:.6rem; }
.cart-drawer-foot a[aria-disabled="true"] { opacity:.5; pointer-events:none; }
body.cart-drawer-open { overflow:hidden; }
@keyframes cart-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
@keyframes cart-slide-out { from { transform:translateX(0); } to { transform:translateX(100%); } }
@keyframes cart-backdrop-in { from { background:#0b122000; } to { background:#0b122099; } }
@keyframes cart-backdrop-out { from { background:#0b122099; } to { background:#0b122000; } }
.fc-gallery { position:relative; min-width:0; overflow:hidden; background:white; }
.product-card .fc-gallery.media { display:block; }
.fc-gallery-track { display:flex; height:100%; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.fc-gallery-track::-webkit-scrollbar { display:none; }
.fc-gallery-slide { display:flex; flex:0 0 100%; width:100%; min-width:0; align-items:center; justify-content:center; scroll-snap-align:start; scroll-snap-stop:always; overflow:hidden; }
.product-card .fc-gallery img { object-fit:contain; }
.fc-gallery-detail { margin-bottom:1.5rem; border-radius:var(--radius); aspect-ratio:4/3; }
.fc-gallery-detail img { width:100%; height:100%; object-fit:contain; }
.fc-gallery.fc-gallery-placeholder { background:var(--gradient-dark); }
.fc-gallery-placeholder .icon { color:var(--steel-700); width:56px; height:56px; }
.fc-gallery-arrow { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border:1px solid var(--steel-300); border-radius:50%; background:#fffffff0; color:var(--graphite-950); font-size:1.8rem; line-height:1; cursor:pointer; box-shadow:0 2px 8px #0002; }
.fc-gallery-prev { left:10px; } .fc-gallery-next { right:10px; }
.fc-gallery-dots { position:absolute; bottom:10px; left:50%; transform:translateX(-50%); display:flex; gap:4px; padding:3px; background:#ffffffd9; border-radius:30px; }
.fc-gallery-dots button { position:relative; width:24px; height:24px; border:0; background:transparent; cursor:pointer; padding:0; }
.fc-gallery-dots button::after { content:''; position:absolute; inset:8px; border-radius:50%; background:var(--steel-300); }
.fc-gallery-dots button[aria-current="true"]::after { background:var(--amber-600); }
@keyframes commerce-appear { from { opacity:0; translate:0 10px; } to { opacity:1; translate:0 0; } }
@media(prefers-reduced-motion:no-preference) {
  .page-header .container, .product-detail-content, .product-detail-info { animation:commerce-appear .4s ease-out both; }
  .product-detail-info { animation-delay:60ms; }
  .product-card { animation:commerce-appear .35s ease-out both; }
  .product-card:nth-child(2n) { animation-delay:40ms; }
  .product-card:nth-child(3n) { animation-delay:80ms; }
  .product-card, .category-card, .news-card { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
  .btn, .header-cart, .cart-drawer-qty button, .cart-drawer-head button, .fc-gallery-arrow { transition:translate .18s ease, scale .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease; }
  .btn:active, .cart-drawer-qty button:active, .fc-gallery-arrow:active { scale:.97; }
  .fc-gallery-dots button::after { transition:background .2s ease, scale .2s ease; }
  .fc-gallery-dots button[aria-current="true"]::after { scale:1.2; }
  .commerce-actions input, .catalog-filters input, .catalog-filters select { transition:border-color .2s ease, box-shadow .2s ease; }
  .commerce-actions input:focus, .catalog-filters input:focus, .catalog-filters select:focus { box-shadow:0 0 0 3px #e2a13d26; }
  .commerce-status { animation:commerce-appear .2s ease-out; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .product-card:hover, .category-card:hover, .news-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px #0b122014; }
  .btn:hover, .header-cart:hover { translate:0 -2px; }
  .fc-gallery-arrow:hover, .cart-drawer-head button:hover { scale:1.08; }
}
@media(prefers-reduced-motion:reduce) {
  .cart-drawer[open], .cart-drawer[open].is-closing, .cart-drawer[open]::backdrop, .cart-drawer[open].is-closing::backdrop { animation:none; }
}
#commerce-root .auth { padding:2rem 0 4rem; }
#commerce-root .auth .pdp__crumbs { margin-bottom:1.5rem; }
#commerce-root .auth__layout { display:grid; grid-template-columns:1fr 1fr; max-width:1080px; margin:auto; background:#fff; border:1px solid var(--paper-100); border-radius:20px; overflow:hidden; box-shadow:0 18px 50px #0b12200a; }
#commerce-root .auth__welcome { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(28px,4vw,52px); color:#fff; background:radial-gradient(ellipse at top right,#33415e80,transparent 65%),var(--graphite-950); position:relative; }
#commerce-root .auth__eyebrow { display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.13em; font-weight:500; }
#commerce-root .auth__welcome .auth__eyebrow { color:var(--amber-500); }
#commerce-root .auth__welcome-copy { padding:3rem 0; }
#commerce-root .auth__welcome h1 { font-family:var(--font-display); font-size:clamp(2rem,3.5vw,3rem); line-height:1.18; text-transform:none; letter-spacing:-.035em; margin:0 0 1.25rem; color:white; }
#commerce-root .auth__welcome p { color:#c8cfdd; line-height:1.7; max-width:30ch; margin:0; font-size:15px; }
#commerce-root .auth__benefits { list-style:none; padding:0; margin:2.3rem 0 0; display:grid; gap:1.2rem; }
#commerce-root .auth__benefits li { display:flex; align-items:center; gap:14px; font-size:14px; color:#e6eaf1; }
#commerce-root .auth__benefits span { color:var(--amber-500); font-family:var(--font-mono); font-size:11px; border:1px solid #ffffff26; border-radius:8px; padding:8px; }
#commerce-root .auth__back { color:#c8cfdd; font-size:13px; text-decoration:none; }
#commerce-root .auth__back:hover { color:var(--amber-500); }
#commerce-root .auth__card { max-width:none; width:100%; margin:0; border:0; border-radius:0; padding:clamp(24px,4vw,48px); background:#fff; }
#commerce-root .auth__intro { margin-bottom:26px; }
#commerce-root .auth__intro .auth__eyebrow { color:var(--ink-600); }
#commerce-root .auth__intro h2 { margin:12px 0 10px; font-family:var(--font-display); font-size:1.9rem; line-height:1.2; letter-spacing:0; color:var(--ink-900); }
#commerce-root .auth__intro p { margin:0; color:var(--ink-600); font-size:14px; line-height:1.6; }
#commerce-root .auth__tabs { gap:4px; border:0; padding:4px; border-radius:10px; background:var(--paper-50); }
#commerce-root .auth__tab { border:0; border-radius:7px; background:transparent; padding:12px; font-family:var(--font-body); font-size:14px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--ink-600); cursor:pointer; }
#commerce-root .auth__tab.is-active { background:white; color:var(--ink-900); box-shadow:0 2px 6px #0b122012; }
#commerce-root .auth__form { padding:26px 0 0; gap:20px; }
#commerce-root .auth .field { gap:8px; }
#commerce-root .auth .field__label { font-family:var(--font-body); font-size:13px; letter-spacing:0; text-transform:none; font-weight:600; color:var(--ink-900); }
#commerce-root .auth .field__input { min-height:48px; padding:12px 14px; border:1px solid #d5d8df; border-radius:8px; font-size:16px; width:100%; }
#commerce-root .auth .field__input:focus { outline:0; border-color:var(--amber-600); box-shadow:0 0 0 3px #e2a13d26; }
#commerce-root .auth .field__input[aria-invalid=true] { border-color:#b33333; }
#commerce-root .auth .btn { min-height:48px; margin-top:4px; justify-content:center; font-size:14px; }
#commerce-root .auth__link { color:var(--ink-900); font-weight:600; cursor:pointer; }
#commerce-root .auth__legal { font-family:var(--font-body); font-size:12px; line-height:1.65; letter-spacing:0; color:var(--ink-600); }
#commerce-root .auth__form-error { margin-top:18px; border:1px solid #b3333330; border-radius:8px; padding:12px 14px; font-family:var(--font-body); font-size:13px; letter-spacing:0; color:#a02525; }
#commerce-root .auth__admin { border-top:1px solid var(--paper-100); margin:26px 0 0; padding-top:18px; text-align:center; font-size:12px; color:var(--ink-600); }
#commerce-root .auth__admin a { color:inherit; text-decoration:none; }
#commerce-root .auth button:focus-visible,#commerce-root .auth a:focus-visible { outline:2px solid var(--amber-600); outline-offset:3px; }
@media(max-width:760px) {
  #commerce-root .auth__layout { grid-template-columns:1fr; }
  #commerce-root .auth__welcome { padding:26px; gap:18px; }
  #commerce-root .auth__welcome-copy { padding:0; }
  #commerce-root .auth__welcome h1 { font-size:2rem; margin-bottom:10px; }
  #commerce-root .auth__welcome h1 br { display:none; }
  #commerce-root .auth__welcome p { max-width:none; font-size:14px; }
  #commerce-root .auth__benefits { display:none; }
  #commerce-root .auth__card { padding:26px; }
}
@media(prefers-reduced-motion:no-preference) {
  #commerce-root .auth__layout { animation:commerce-appear .4s ease-out both; }
  #commerce-root .auth__tab,#commerce-root .auth .field__input { transition:background .2s ease,box-shadow .2s ease,border-color .2s ease; }
}

/* Cart and checkout share the public site's contemporary form styling. */
.cart-drawer { width:min(520px,100vw); background:#f7f8fa; }
.cart-drawer [hidden] { display:none !important; }
.cart-drawer-head { padding:26px 28px; background:#fff; border-bottom:1px solid #e5e9ef; gap:16px; }
.cart-drawer-eyebrow { display:block; font-size:10px; font-weight:600; letter-spacing:.1em; color:var(--ink-600); margin-bottom:8px; }
.cart-drawer-head h2 { display:flex; align-items:center; gap:12px; font-size:1.5rem; letter-spacing:-.035em; }
.cart-drawer-count { display:inline-grid; place-items:center; min-width:27px; height:27px; padding:0 7px; background:var(--paper-100); border-radius:8px; font-family:var(--font-body); font-size:12px; font-weight:600; letter-spacing:0; }
.cart-drawer-head button { flex-shrink:0; background:var(--paper-50); border:1px solid #e5e9ef; border-radius:12px; font-size:1.6rem; }
.cart-drawer-body { padding:8px 24px 20px; min-height:0; }
.cart-drawer-item { grid-template-columns:72px minmax(0,1fr) auto; background:#fff; border:1px solid #e5e9ef; border-radius:14px; padding:16px; gap:14px; margin-top:12px; }
.cart-drawer-item>div { min-width:0; }
.cart-drawer-thumb { width:72px; height:80px; display:flex; align-items:center; justify-content:center; background:var(--paper-50); border-radius:10px; overflow:hidden; }
.cart-drawer-item .cart-drawer-thumb img { width:100%; height:100%; border-radius:0; object-fit:contain; }
.cart-drawer-thumb--empty { background:var(--gradient-dark); color:var(--steel-700); }
.cart-drawer-thumb svg { width:28px; height:28px; }
.cart-drawer-item h3 { font-size:14px; font-weight:600; line-height:1.45; margin:0 0 5px; overflow-wrap:anywhere; }
.cart-drawer-item h3 a { text-decoration:none; }
.cart-drawer-item small { font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.cart-drawer-item-right strong { display:block; font-size:14px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.cart-drawer-qty { display:inline-flex; gap:0; border:1px solid #dfe4ec; border-radius:8px; overflow:hidden; background:#fff; }
.cart-drawer-qty button { border:0; border-radius:0; background:transparent; width:36px; height:36px; font-size:17px; color:var(--ink-900); }
.cart-drawer-qty button:hover { background:var(--paper-100); }
.cart-drawer-qty button:disabled { opacity:.35; cursor:default; }
.cart-drawer-qty span { min-width:28px; text-align:center; font-size:13px; font-weight:600; }
.cart-drawer-remove { font-size:11px; text-underline-offset:3px; }
.cart-drawer-foot { padding:22px 28px max(16px,env(safe-area-inset-bottom)); border-top-color:#e5e9ef; box-shadow:0 -8px 24px #0b122005; }
.cart-drawer-foot dl>div { font-size:13px; padding:4px 0; gap:20px; }
.cart-drawer-foot dt { color:var(--ink-600); }
.cart-drawer-foot dd { font-variant-numeric:tabular-nums; white-space:nowrap; }
.cart-drawer-foot .cart-drawer-total { border-top:1px solid #e5e9ef; padding-top:16px; margin-top:12px; align-items:baseline; }
.cart-drawer-total dt { color:var(--ink-900); font-size:15px; }
.cart-drawer-total dd { font-size:24px; letter-spacing:-.04em; }
.cart-drawer-foot p { font-size:12px; line-height:1.6; color:var(--ink-600); margin:12px 0 18px; }
.cart-drawer-foot .btn { min-height:50px; gap:16px; justify-content:space-between; padding:12px 18px; font-size:14px; }
.cart-drawer-continue { display:block; width:100%; min-height:40px; border:0; background:none; font:500 13px var(--font-body); color:var(--ink-600); margin-top:6px; cursor:pointer; }
.cart-drawer-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100%; padding:40px 10px; text-align:center; }
.cart-drawer-empty>svg { width:64px; height:64px; padding:16px; background:var(--graphite-900); border-radius:18px; color:var(--steel-300); margin-bottom:24px; }
.cart-drawer-empty h3 { font-size:22px; letter-spacing:-.03em; max-width:260px; }
.cart-drawer-empty p { color:var(--ink-600); font-size:14px; max-width:260px; }
.cart-drawer-empty .btn { font-size:14px; margin-top:8px; }

#commerce-root .checkout__heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:24px 0 28px; }
#commerce-root .checkout__heading h1 { font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,2.65rem); line-height:1.18; font-weight:600; letter-spacing:-.04em; text-transform:none; margin:10px 0 12px; }
#commerce-root .checkout__heading p { color:var(--ink-600); font-size:15px; margin:0; line-height:1.65; }
#commerce-root .checkout__eyebrow { font-family:var(--font-body); font-size:10px; font-weight:600; letter-spacing:.09em; color:var(--ink-600); }
#commerce-root .checkout__back { font-size:13px; font-weight:500; white-space:nowrap; text-decoration:none; }
#commerce-root .checkout__signed { border:1px solid #e0e5ec; background:#fff; border-radius:12px; font-family:var(--font-body); font-size:13px; letter-spacing:0; padding:16px 20px; line-height:1.65; margin-bottom:28px; }
#commerce-root .checkout__signed-link { color:var(--ink-900); font-weight:600; text-underline-offset:3px; }
#commerce-root .checkout__grid { grid-template-columns:minmax(0,1fr) minmax(0,420px); gap:28px; }
#commerce-root .checkout__main { min-width:0; gap:24px; }
#commerce-root .checkout__block { padding:24px; border:1px solid #e0e5ec; border-radius:16px; background:#fff; box-shadow:0 3px 12px #0b122003; }
#commerce-root .checkout__block-title { font-family:var(--font-body); font-size:16px; font-weight:600; letter-spacing:-.015em; text-transform:none; color:var(--ink-900); margin:0 0 22px; }
#commerce-root legend.checkout__block-title { padding:0 8px; margin-left:-8px; margin-bottom:8px; }
#commerce-root .checkout__step { display:inline-grid; place-items:center; width:28px; height:28px; background:var(--graphite-900); color:#fff; font-size:12px; border-radius:9px; margin-right:10px; letter-spacing:0; vertical-align:middle; }
#commerce-root .checkout .field { min-width:0; gap:8px; margin:0; }
#commerce-root .checkout .field__label { font-family:var(--font-body); font-size:12px; font-weight:600; color:var(--ink-900); letter-spacing:0; text-transform:none; }
#commerce-root .checkout .field__input { width:100%; min-height:48px; font-size:16px; font-family:var(--font-body); border:1px solid #d5dce6; border-radius:8px; padding:12px; background:#fff; }
#commerce-root .checkout .field__input:focus { outline:0; border-color:var(--amber-600); box-shadow:0 0 0 3px #e2a13d26; }
#commerce-root .checkout .field__input[aria-invalid=true] { border-color:#b33333; }
#commerce-root .checkout__toggle { font-family:var(--font-body); font-size:13px; line-height:1.65; letter-spacing:0; text-transform:none; }
#commerce-root .checkout__toggle input { flex-shrink:0; width:18px; height:18px; accent-color:var(--amber-600); }
#commerce-root .checkout .payment-option { border:1px solid #dfe4ec; border-radius:12px; background:var(--paper-50); padding:16px; gap:12px; }
#commerce-root .checkout .payment-option--selected { border-color:var(--amber-600); background:#e2a13d0b; box-shadow:0 0 0 1px #c4831f20 inset; }
#commerce-root .checkout .payment-option__head { flex-wrap:wrap; gap:8px; }
#commerce-root .checkout .payment-option__name { font-family:var(--font-body); font-size:14px; font-weight:600; letter-spacing:0; line-height:1.5; }
#commerce-root .checkout .payment-option__badge { border-radius:5px; background:var(--paper-100); color:var(--ink-600); font-family:var(--font-body); font-size:10px; font-weight:600; letter-spacing:.02em; }
#commerce-root .checkout .payment-option__desc { font-size:12px; line-height:1.65; }
#commerce-root .checkout .payment-option input[type=radio] { width:17px; height:17px; flex-shrink:0; accent-color:var(--amber-600); }
#commerce-root .checkout__summary { padding:0 24px 24px; border:1px solid #dfe4ec; border-radius:18px; background:#fff; box-shadow:0 10px 32px #0b122006; min-width:0; }
#commerce-root .checkout__summary-head { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--gradient-dark); color:#fff; margin:0 -24px 8px; padding:24px; border-radius:17px 17px 0 0; }
#commerce-root .checkout__summary-head .checkout__eyebrow { color:var(--steel-300); font-size:9px; }
#commerce-root .checkout__summary-head h2 { font:600 21px var(--font-body); letter-spacing:-.025em; margin:8px 0 0; text-transform:none; color:#fff; }
#commerce-root .checkout__summary-head button { border:0; background:transparent; color:var(--amber-400); font:500 11px var(--font-body); text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:8px 0; }
#commerce-root .product-thumb { display:flex; align-items:center; justify-content:center; width:64px; height:68px; background:var(--paper-50); border-radius:10px; border:1px solid #e5e9ef; overflow:hidden; flex-shrink:0; }
#commerce-root .product-thumb img { width:100%; height:100%; object-fit:contain; }
#commerce-root .product-thumb--empty { background:var(--gradient-dark); color:var(--steel-700); border-color:transparent; }
#commerce-root .product-thumb svg { width:26px; height:26px; }
#commerce-root .checkout__items { border:0; margin:0 0 12px; }
#commerce-root .checkout__item { grid-template-columns:52px minmax(0,1fr) auto; gap:12px; padding:18px 0; border-bottom:1px solid #edf0f4; }
#commerce-root .checkout__items .checkout__item:last-child { border-bottom:1px solid #edf0f4; }
#commerce-root .checkout__item-thumb { width:52px; height:58px; }
#commerce-root .checkout__item-name { font-size:13px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
#commerce-root .checkout__item-meta { display:block; font-family:var(--font-body); font-size:11px; letter-spacing:0; line-height:1.6; }
#commerce-root .checkout__item-price { font:600 13px var(--font-body); letter-spacing:0; white-space:nowrap; font-variant-numeric:tabular-nums; }
#commerce-root .checkout__items-note { font:11px var(--font-body); letter-spacing:0; color:var(--ink-600); margin:0 0 20px; }
#commerce-root .checkout__totals>div { font:13px var(--font-body); letter-spacing:0; line-height:1.5; padding:6px 0; gap:18px; }
#commerce-root .checkout__totals dt { text-transform:none; }
#commerce-root .checkout__totals dd { font-variant-numeric:tabular-nums; text-align:right; }
#commerce-root .checkout__totals-grand { margin-top:16px; border-top-color:#e5e9ef; }
#commerce-root .checkout__totals-grand dt { font:600 15px var(--font-body); }
#commerce-root .checkout__totals-grand dd { font:600 28px var(--font-body) !important; letter-spacing:-.04em; color:var(--ink-900) !important; white-space:nowrap; }
#commerce-root .checkout__coupon { padding-top:18px; border-top:1px solid #edf0f4; }
#commerce-root .checkout__coupon-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
#commerce-root .checkout__coupon-entry .btn { height:48px; padding:12px 14px; line-height:20px; }
#commerce-root .checkout .btn { min-height:48px; font-size:13px; text-transform:none; letter-spacing:0; border-radius:10px; }
#commerce-root .checkout__summary>.btn { justify-content:space-between; width:100%; margin-top:10px; padding:14px 18px; }
#commerce-root .checkout__terms { padding:16px; border-radius:10px; background:var(--paper-50); border-color:#e5e9ef; margin-top:24px; font-size:12px; }
#commerce-root .checkout__legal { font:11px/1.7 var(--font-body); letter-spacing:0; text-align:center; }
#commerce-root .cart-page__grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:28px; align-items:start; }
#commerce-root .cart-page__items { display:grid; gap:14px; }
#commerce-root .cart-line { display:grid; grid-template-columns:64px minmax(0,1fr) auto auto; padding:20px; gap:18px; border:1px solid #e0e5ec; border-radius:14px; }
#commerce-root .cart-line__info { min-width:0; }
#commerce-root .cart-line__info a { font-size:14px; font-weight:600; text-decoration:none; line-height:1.5; }
#commerce-root .cart-line small { display:block; font-size:11px; color:var(--ink-600); margin-top:4px; }
#commerce-root .cart-line .cart-drawer-remove { margin:10px 0 0; font-family:var(--font-body); }
#commerce-root .cart-line .cart-drawer-qty { margin:0; }
#commerce-root .cart-line .cart-drawer-qty button { padding:0; min-height:36px; cursor:pointer; }
#commerce-root .cart-line__price { text-align:right; font-size:14px; white-space:nowrap; }
#commerce-root .cart-page__summary { padding:26px; border:1px solid #dfe4ec; border-radius:18px; background:#fff; }
#commerce-root .cart-page__summary h2 { font-size:22px; text-transform:none; letter-spacing:-.03em; margin:10px 0 24px; }
#commerce-root .cart-page__summary p { font-size:12px; line-height:1.7; color:var(--ink-600); }
#commerce-root .cart-page__summary .btn { width:100%; justify-content:center; min-height:48px; font-size:13px; text-transform:none; }
#commerce-root .cart-page__empty { text-align:center; padding:48px 24px; background:#fff; border:1px solid #e0e5ec; border-radius:18px; }
#commerce-root .cart-page__empty .product-thumb { margin:0 auto 24px; }
#commerce-root .cart-page__empty h2 { font-size:24px; text-transform:none; }
#commerce-root .cart-page__empty p { color:var(--ink-600); }
@media(max-width:960px) {
  #commerce-root .checkout__grid,#commerce-root .cart-page__grid { grid-template-columns:minmax(0,1fr); }
  #commerce-root .checkout__summary { position:static; }
}
@media(max-width:600px) {
  .cart-drawer-head { padding:22px 20px; }
  .cart-drawer-body { padding:4px 12px 16px; }
  .cart-drawer-item { grid-template-columns:54px minmax(0,1fr) auto; gap:10px; padding:12px; }
  .cart-drawer-thumb { width:54px; height:62px; }
  .cart-drawer-item-right strong { font-size:13px; }
  .cart-drawer-foot { padding-left:20px; padding-right:20px; }
  #commerce-root .checkout__heading { flex-direction:column; align-items:flex-start; gap:16px; }
  #commerce-root .checkout__block { padding:20px 16px; }
  #commerce-root .checkout__summary { padding:0 18px 22px; }
  #commerce-root .checkout__summary-head { margin-left:-18px; margin-right:-18px; padding:22px 18px; }
  #commerce-root .checkout__row--2,#commerce-root .checkout__row--3 { grid-template-columns:minmax(0,1fr); }
  #commerce-root .checkout__item { grid-template-columns:44px minmax(0,1fr) auto; gap:10px; }
  #commerce-root .checkout__item-thumb { width:44px; height:50px; }
  #commerce-root .checkout__item-price { font-size:12px; }
  #commerce-root .cart-line { grid-template-columns:54px minmax(0,1fr) auto; gap:12px; padding:16px; }
  #commerce-root .cart-line>.product-thumb { width:54px; height:62px; }
  #commerce-root .cart-line .cart-drawer-qty { grid-column:2; grid-row:2; justify-self:start; }
  #commerce-root .cart-line__price { grid-column:3; grid-row:1; }
}
@media(prefers-reduced-motion:no-preference) {
  #commerce-root .checkout__main,#commerce-root .checkout__summary,#commerce-root .cart-page__grid { animation:commerce-appear .35s ease-out both; }
}

.catalog-results { font-size:13px; color:var(--ink-600); margin:0 0 24px; }
.prose { overflow-wrap:anywhere; }
.prose table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:24px 0; font-size:13px; }
.prose th,.prose td { min-width:150px; text-align:left; vertical-align:top; border:1px solid #dfe4ec; padding:12px; }
.prose th { background:var(--paper-100); font-weight:600; }
.footer-privacy { background:none; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.privacy-banner[hidden] { display:none; }
.privacy-banner { position:fixed; inset:auto 24px 24px; z-index:900; max-width:1132px; margin:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; padding:24px 48px 24px 24px; border:1px solid #d5dce6; border-radius:18px; background:white; color:var(--ink-900); box-shadow:0 12px 60px #0b12202b; }
.privacy-banner h2 { font:600 19px var(--font-body); letter-spacing:-.025em; margin:0 0 8px; }
.privacy-banner p { font-size:12px; line-height:1.7; margin:0; color:var(--ink-600); }
.privacy-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:8px; }
.privacy-banner .privacy-actions { max-width:350px; }
.privacy-choice,.privacy-save { appearance:none; padding:11px 14px; min-height:44px; border:1px solid var(--steel-300); border-radius:9px; background:#fff; color:var(--ink-900); font:600 12px var(--font-body); cursor:pointer; }
.privacy-choice:hover { border-color:var(--ink-900); background:var(--paper-50); }
.privacy-settings { border:0; background:none; color:var(--ink-600); font:500 12px var(--font-body); padding:8px 0; text-decoration:underline; cursor:pointer; }
.privacy-save { background:var(--graphite-900); border-color:var(--graphite-900); color:white; }
.privacy-dismiss { position:absolute; top:10px; right:10px; width:32px; height:32px; padding:0; border:0; border-radius:8px; background:var(--paper-50); color:var(--ink-900); font:24px var(--font-body); cursor:pointer; }
.privacy-dialog { width:min(600px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; overscroll-behavior:contain; border:1px solid #e0e5ec; border-radius:18px; padding:28px; background:#fff; color:var(--ink-900); box-shadow:0 20px 80px #0003; }
.privacy-dialog::backdrop { background:#0b122099; }
.privacy-dialog-head { position:relative; padding-right:38px; }
.privacy-dialog-head h2 { font:600 24px var(--font-body); letter-spacing:-.03em; margin:0 0 16px; }
.privacy-dialog-head .privacy-dismiss { top:0; right:0; }
.privacy-dialog p { font-size:13px; line-height:1.7; color:var(--ink-600); }
.privacy-option { display:flex; gap:24px; justify-content:space-between; align-items:center; padding:18px 0; border-top:1px solid #edf0f4; margin:0; }
.privacy-option strong { font-size:14px; font-weight:600; }
.privacy-option p { font-size:12px; margin:5px 0 0; }
.privacy-option>span { white-space:nowrap; font-size:11px; color:var(--ink-600); }
.privacy-option input { width:22px; height:22px; flex-shrink:0; accent-color:var(--amber-600); }
.privacy-dialog .privacy-actions { margin:18px 0; }
#commerce-root .account-privacy { margin-top:28px; padding:26px; border:1px solid #e0e5ec; background:#fff; border-radius:16px; }
#commerce-root .account-privacy h2 { font:600 22px var(--font-body); text-transform:none; letter-spacing:-.025em; }
#commerce-root .account-privacy p { font-size:13px; line-height:1.7; color:var(--ink-600); }
#commerce-root .account-privacy form { display:grid; gap:16px; margin-top:26px; padding-top:22px; border-top:1px solid #edf0f4; }
#commerce-root .account-privacy .field { font:500 13px var(--font-body); margin:0; }
#commerce-root .account-privacy input,#commerce-root .account-privacy textarea,#commerce-root .account-privacy select { padding:12px; border:1px solid #d5dce6; border-radius:8px; font:16px var(--font-body); width:100%; background:white; color:var(--ink-900); }
#commerce-root .account-privacy .btn { text-transform:none; min-height:44px; font-size:13px; justify-self:start; }
.yt-embed::after { content:'YouTube · Video'; position:absolute; bottom:12px; left:16px; font:12px var(--font-body); color:#ced3d8; pointer-events:none; }
@media(max-width:760px) {
  .privacy-banner { inset:auto 12px 12px; max-height:calc(100dvh - 24px); overflow:auto; grid-template-columns:minmax(0,1fr); gap:16px; padding:22px; }
  .privacy-banner h2 { padding-right:24px; }
  .privacy-banner .privacy-actions { max-width:none; }
  .privacy-dialog { padding:22px; }
}
