/* Shared order sheet and full cart: calm industrial palette, clear buying hierarchy. */
.order-drawer-open{overflow:hidden}
.order-drawer{position:fixed;inset:16px 16px 16px auto;width:480px;max-width:calc(100vw - 32px);height:calc(100dvh - 32px);max-height:none;margin:0;padding:0;border:1px solid var(--color-retained-d4e4e3);border-radius:20px;background:var(--color-surface);color:var(--ink,var(--color-text));box-shadow:0 24px 90px var(--color-retained-002e3c35);overflow:hidden}
.order-drawer[open]{animation:order-enter .32s cubic-bezier(.2,.8,.2,1)}
.order-drawer::backdrop{background:var(--color-retained-002e3c38);backdrop-filter:blur(3px);animation:order-scrim .22s ease}
.order-drawer.is-closing{animation:order-exit .18s ease forwards}
.order-drawer.is-closing::backdrop{animation:order-scrim .18s ease reverse forwards}
.order-drawer-shell{height:100%;display:flex;flex-direction:column}
.order-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px 28px 22px;border-bottom:1px solid var(--color-retained-e3eceb)}
.order-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--color-retained-6c8789);line-height:1.6}
.order-drawer-head h2{display:flex;align-items:center;gap:12px;font-size:32px;font-weight:500;letter-spacing:-1px;margin:7px 0 0;line-height:1.2}
.order-drawer-head h2 span{font-size:13px;font-weight:600;letter-spacing:0;background:var(--color-retained-eaf2ef);border-radius:50%;min-width:29px;height:29px;display:grid;place-items:center}
.order-drawer-head h2 span:empty{display:none}
.order-icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--color-retained-dae6e4);border-radius:50%;background:var(--color-surface);color:inherit;font:300 28px/1 sans-serif;cursor:pointer;flex-shrink:0}
.order-icon-button:hover{background:var(--color-retained-f1f6f3);transform:rotate(90deg);transition:transform .2s}
.order-drawer-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px;scrollbar-width:thin}
.order-feedback{flex:none;margin:0;padding:11px 28px;background:var(--color-retained-eef7e9);color:var(--color-retained-416b36);font-size:12px}
.order-line{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr) 25px;gap:14px;padding:24px 0;border-bottom:1px solid var(--color-retained-e1eae7)}
.order-line-image{display:grid;place-items:center;align-self:start;width:68px;height:84px;background:var(--color-retained-f1f6f3);border-radius:9px;overflow:hidden}
.order-line-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;padding:6px;mix-blend-mode:multiply}
.order-line-image svg{width:30px;height:30px;color:var(--color-retained-6d9291)}
.order-line-body{min-width:0}.order-line h3{margin:0 0 7px;font-size:14px;line-height:1.5;font-weight:600;overflow-wrap:anywhere;letter-spacing:0}.order-line h3 a{color:inherit;text-decoration:none}.order-line h3 a:hover{text-decoration:underline}
.order-line-meta{margin:0 0 14px;font-size:11px;color:var(--color-retained-698386)}
.order-line-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.order-quantity{display:flex;align-items:center;height:34px;border:1px solid var(--color-retained-cfdfdc);border-radius:6px;overflow:hidden;flex:none}
.order-quantity button{width:30px;height:32px;min-height:0;padding:0;border:0;background:var(--color-surface);color:inherit;font-size:17px;cursor:pointer}
.order-quantity button:hover:not(:disabled){background:var(--color-retained-eff5f0)}.order-quantity button:disabled{opacity:.35;cursor:default}
.order-quantity input{width:35px!important;min-height:0!important;height:32px;border:0!important;border-radius:0!important;padding:0!important;background:white;text-align:center;font-size:13px;appearance:textfield;-moz-appearance:textfield;color:inherit;box-shadow:none!important}
.order-quantity input::-webkit-inner-spin-button,.order-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.order-line-price{font-size:13px;white-space:nowrap}.order-line-price.is-request{font-size:11px;font-weight:500;color:var(--color-retained-6a8285)}
.order-remove{width:30px;height:36px;margin:-4px -5px 0 0;display:grid;place-items:center;background:none;border:0;color:var(--color-retained-809594);cursor:pointer}.order-remove svg{width:17px;height:17px}.order-remove:hover{color:var(--color-retained-ad4535);background:var(--color-surface-info);border-radius:5px}
.order-drawer-footer{flex:none;padding:24px 28px;background:var(--color-retained-f5f8f4);border-top:1px solid var(--color-retained-dde8df)}
.order-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.order-total>span{font-size:13px}.order-total strong{font-size:25px;font-weight:500;letter-spacing:-.7px}
.order-summary-note{font-size:12px;line-height:1.65;color:var(--color-retained-688081);margin:12px 0 19px}
.button.order-primary{display:flex;align-items:center;justify-content:space-between;width:100%;gap:14px;min-height:50px;padding:14px 19px;border:1px solid var(--color-text);border-radius:9px;background:var(--color-text);color:white;font-size:14px;font-weight:600;text-decoration:none;transition:background .16s,transform .16s;box-shadow:0 4px 12px var(--color-retained-0046560b)}.order-primary span{font-size:23px;font-weight:400;line-height:1}.button.order-primary:hover{background:var(--color-retained-076173);transform:translateY(-1px)}
.order-footer-links{display:flex;justify-content:space-between;gap:16px;margin-top:17px}.order-footer-links button,.order-footer-links a,.order-continue{padding:0;border:0;background:none;color:var(--color-retained-587375);font-size:11px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.order-continue{display:block;text-align:center;margin-top:20px}
.order-error{margin:0;padding:12px 24px;background:var(--color-retained-fff0eb);color:var(--color-retained-943b29);font-size:12px;line-height:1.5;flex:none}
.order-line-warning{font-size:12px;color:var(--color-retained-9b5433);line-height:1.6}
.order-empty{min-height:320px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px 20px}
.order-empty-icon{display:grid;place-items:center;width:88px;height:88px;margin:0 0 25px;border-radius:50%;background:var(--color-retained-edf5ec);box-shadow:0 0 0 10px var(--color-retained-f8faf7)}.order-empty-icon svg{width:34px;height:34px}
.order-empty h3{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:10px 0 0}.order-empty p{color:var(--color-retained-6a8485);font-size:13px;line-height:1.8;margin:15px 0 28px}.order-empty .button{max-width:280px}
.shop-public[data-shop-page=cart] .page-intro{padding-top:52px;padding-bottom:30px}.cart-intro-kicker{margin-bottom:13px}.shop-public[data-shop-page=cart] .page-intro h1{font-size:clamp(36px,5vw,58px);margin-bottom:14px}.cart-intro-note{font-size:14px;color:var(--color-retained-708587);margin:0}
.shop-public[data-shop-page=cart] .two-column{grid-template-columns:minmax(0,1fr) 330px;gap:56px;padding-bottom:70px;align-items:start}
.shop-public[data-shop-page=cart] .summary-card{order:0;padding:27px;border:1px solid var(--color-retained-dce7df);border-radius:14px;background:var(--color-retained-f5f8f4);box-shadow:none}.shop-public[data-shop-page=cart] .summary-card h2{font-size:27px;margin:8px 0 28px;font-weight:500;letter-spacing:-.7px}
.order-list-heading{display:flex;justify-content:space-between;gap:16px;padding:0 0 17px;border-bottom:1px solid var(--color-retained-dce7df);font-size:12px;color:var(--color-retained-77908d)}
[data-cart-items] .order-line{grid-template-columns:88px minmax(0,1fr) 32px;gap:22px;padding:26px 0}[data-cart-items] .order-line-image{width:88px;height:104px}[data-cart-items] .order-line h3{font-size:16px}[data-cart-items] .order-line-price{font-size:17px}[data-cart-items] .order-line-price.is-request{font-size:13px}[data-cart-items] .order-empty{border:1px solid var(--color-retained-dce7df);border-radius:14px;background:var(--color-retained-fbfcf9);min-height:370px}
.order-inquiry-selection{padding:20px;border:1px solid var(--color-retained-dce7df);border-radius:9px;background:var(--color-retained-f7faf4);margin-bottom:24px}.order-inquiry-selection h3{font-size:17px;margin:0 0 15px}.order-inquiry-selection ul{list-style:none;margin:0;padding:0}.order-inquiry-selection li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--color-retained-e1e9df);font-size:12px;line-height:1.5}.order-inquiry-selection li span{flex:none;color:var(--color-retained-668080)}.order-inquiry-selection p{font-size:12px;color:var(--color-retained-6c8581);line-height:1.7}
@keyframes order-enter{from{opacity:0;transform:translateX(36px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes order-exit{to{opacity:0;transform:translateX(28px)}}@keyframes order-scrim{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.shop-public[data-shop-page=cart] .two-column{grid-template-columns:1fr;gap:28px}.shop-public[data-shop-page=cart] .page-intro{padding-top:34px}.shop-public[data-shop-page=cart] .summary-card{position:static}}
@media(max-width:520px){.order-drawer{inset:8px;width:calc(100vw - 16px);max-width:none;height:calc(100dvh - 16px);border-radius:15px}.order-drawer-head{padding:24px 20px 20px}.order-drawer-head h2{font-size:29px}.order-drawer-content{padding:0 18px}.order-drawer-footer{padding:20px}.order-feedback{padding:10px 20px}.order-line{grid-template-columns:58px minmax(0,1fr) 22px;gap:10px;padding:20px 0}.order-line-image{width:58px;height:76px}.order-line h3{font-size:12px}.order-line-meta{font-size:10px}.order-line-bottom{gap:10px}.order-total strong{font-size:23px}.order-footer-links{gap:10px}.order-footer-links button,.order-footer-links a{font-size:10px}[data-cart-items] .order-line{grid-template-columns:60px minmax(0,1fr) 24px;gap:12px}[data-cart-items] .order-line-image{width:60px;height:80px}[data-cart-items] .order-line h3{font-size:14px}[data-cart-items] .order-line-price{font-size:14px}}
@media(prefers-reduced-motion:reduce){.order-drawer,.order-drawer::backdrop{animation:none!important}.button.order-primary,.order-icon-button{transition:none!important}}

/* Reference cart surfaces: compact header summary + full right-hand order sheet. */
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart {
  position: relative;
  min-width: 178px !important;
  width: 178px !important;
  flex: 0 0 178px !important;
  min-height: 78px !important;
  height: 78px !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 10px 14px !important;
  border: 1px solid var(--color-retained-e0e4e7) !important;
  border-radius: 0 !important;
  background: var(--color-surface) !important;
  box-shadow: 0 7px 18px var(--color-retained-rgb-55-67-73-_12);
  color: var(--color-text);
}
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart svg { width: 48px; height: 48px; flex: none; }
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart-total { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; line-height: 1.05; white-space: nowrap; }
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart-total strong { color: var(--color-text); font-size: 18px; }
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart-total small { color: var(--color-text); font-size: 11px; }
body.shop-public.reference-shell[data-shop-page] .site-header .header-cart b { top: 17px; left: 20px; right: auto; min-width: 23px; height: 23px; background: var(--reference-orange, var(--color-action)); color: var(--color-surface); font-size: 12px; }

/* Keep the desktop header controls in their own grid track. The cart surface
   is intentionally wider than the legacy header track, so a fixed third
   column makes the language/account controls overflow into the search field. */
@media (min-width: 801px) {
  body.shop-public.reference-shell[data-shop-page] .site-header {
    grid-template-columns: 279px minmax(0, 1fr) max-content !important;
    column-gap: 8px !important;
  }

  body.shop-public.reference-shell[data-shop-page] .header-search,
  body.shop-public.reference-shell[data-shop-page] .header-search input {
    min-width: 0;
  }

  body.shop-public.reference-shell[data-shop-page] .header-search {
    width: 100%;
    max-width: 480px;
  }

  body.shop-public.reference-shell[data-shop-page] .header-actions {
    width: max-content;
    min-width: max-content;
  }

  body.shop-public.reference-shell[data-shop-page] .header-actions > * {
    flex: 0 0 auto;
  }

  body.shop-public.reference-shell[data-shop-page] .header-actions .language-menu {
    flex-basis: auto;
  }
}

/* At the 761–800px tablet breakpoint the reference header uses compact
   controls on the first row and the search on the second row. Restore that
   compact cart after the desktop cart surface rules above. */
@media (min-width: 761px) and (max-width: 800px) {
  body.shop-public.reference-shell[data-shop-page] .header-actions {
    width: max-content;
    min-width: max-content;
  }

  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart {
    width: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    justify-content: center !important;
    padding: 8px !important;
    border: 1px solid var(--color-retained-d7dce0) !important;
    border-radius: 3px !important;
    background: var(--color-surface) !important;
    box-shadow: none !important;
  }

  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart svg {
    width: 23px;
    height: 23px;
  }

  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart-total {
    display: none !important;
  }

  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart b {
    top: -4px;
    right: -3px;
    left: auto;
  }
}

body.shop-public.reference-shell[data-shop-page] .order-drawer {
  inset: 0 16px 16px auto;
  width: 480px;
  max-width: calc(100vw - 16px);
  height: calc(100dvh - 16px);
  border: 1px solid var(--color-retained-e0e5e7);
  border-radius: 0 0 16px 16px;
  box-shadow: 0 20px 70px var(--color-retained-rgb-20-44-54-_24);
}
body.shop-public.reference-shell[data-shop-page] .order-drawer::backdrop { background: var(--color-retained-rgb-180-197-203-_63); backdrop-filter: blur(5px); }
body.shop-public.reference-shell[data-shop-page] .order-drawer-head { padding: 30px 28px 25px; }
body.shop-public.reference-shell[data-shop-page] .order-drawer-head h2 { font-size: 32px; }
body.shop-public.reference-shell[data-shop-page] .order-icon-button { width: 48px; height: 48px; border: 3px solid var(--color-action); color: var(--color-text); box-shadow: 0 0 0 3px var(--color-surface); font-size: 30px; }
body.shop-public.reference-shell[data-shop-page] .order-icon-button:hover { background: var(--color-surface); transform: none; }
body.shop-public.reference-shell[data-shop-page] .order-drawer-content { padding-inline: 28px; }
body.shop-public.reference-shell[data-shop-page] .order-drawer-footer { padding: 24px 28px 27px; background: var(--color-retained-f5f8f4); }

body.shop-public.reference-shell .cart-popover {
  position: fixed;
  z-index: 1200;
  width: 300px;
  max-width: calc(100vw - 20px);
  margin: 0;
  padding: 15px;
  border: 1px solid var(--color-retained-dce2e6);
  border-radius: 0;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 8px 18px var(--color-retained-rgb-55-67-73-_2);
  transform-origin: top right;
}
body.shop-public.reference-shell .cart-popover[hidden] { display: none !important; }
body.shop-public.reference-shell .cart-popover.is-opening { animation: cart-popover-enter .16s ease-out both; }
body.shop-public.reference-shell .cart-popover.is-closing { animation: cart-popover-exit .14s ease-in both; }
body.shop-public.reference-shell .cart-popover-category select { width: 100%; height: 31px; padding: 4px 9px; border: 1px solid var(--color-retained-d6dadd); border-radius: 3px; background: var(--color-surface); color: var(--color-retained-777777); font: inherit; font-size: 14px; }
body.shop-public.reference-shell .cart-popover-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 13px 0 8px; }
body.shop-public.reference-shell .cart-popover-heading strong { font-size: 13px; color: var(--color-text); }
body.shop-public.reference-shell .cart-popover-count { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--reference-orange, var(--color-action)); color: var(--color-surface); font-size: 11px; font-weight: 700; }
body.shop-public.reference-shell .cart-popover-list { max-height: 184px; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
body.shop-public.reference-shell .cart-popover-item { display: grid; grid-template-columns: minmax(0, 1fr) auto 22px; align-items: center; gap: 7px; padding: 8px 0; border-bottom: 1px solid var(--color-retained-e5e8ea); }
body.shop-public.reference-shell .cart-popover-item-copy { min-width: 0; display: grid; gap: 2px; }
body.shop-public.reference-shell .cart-popover-item-copy strong { overflow: hidden; color: var(--reference-orange, var(--color-action)); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body.shop-public.reference-shell .cart-popover-item-copy small { overflow: hidden; color: var(--color-retained-697278); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
body.shop-public.reference-shell .cart-popover-item-price { color: var(--color-text); font-size: 11px; font-weight: 700; white-space: nowrap; }
body.shop-public.reference-shell .cart-popover-remove { width: 22px; height: 24px; padding: 0; border: 0; background: transparent; color: var(--color-retained-8c969b); font-size: 20px; line-height: 1; cursor: pointer; }
body.shop-public.reference-shell .cart-popover-remove:hover { color: var(--reference-orange, var(--color-action)); }
body.shop-public.reference-shell .cart-popover-empty { padding: 16px 4px 10px; border-bottom: 1px solid var(--color-retained-e5e8ea); }
body.shop-public.reference-shell .cart-popover-empty strong { font-size: 12px; }
body.shop-public.reference-shell .cart-popover-empty p { margin: 5px 0 0; color: var(--color-retained-7a858a); font-size: 11px; line-height: 1.45; }
body.shop-public.reference-shell .cart-popover-totals { display: grid; gap: 1px; margin: 12px 0 9px; font-size: 11px; }
body.shop-public.reference-shell .cart-popover-totals > div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 10px; }
body.shop-public.reference-shell .cart-popover-totals strong { font-size: 13px; }
body.shop-public.reference-shell .cart-popover-totals span { color: var(--color-retained-68747a); }
body.shop-public.reference-shell .cart-popover-totals b { grid-column: 2; grid-row: 1 / span 2; font-size: 14px; }
body.shop-public.reference-shell .cart-popover-totals > div + div b { grid-row: auto; }
body.shop-public.reference-shell .cart-popover-actions { display: grid; gap: 7px; }
body.shop-public.reference-shell .cart-popover-actions .button { min-height: 31px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 11px; border-radius: 3px; font-size: 12px; font-weight: 700; text-decoration: none; }
body.shop-public.reference-shell .cart-popover-primary { background: var(--reference-orange, var(--color-action)); color: var(--color-surface); }
body.shop-public.reference-shell .cart-popover-checkout { background: var(--color-retained-555b60); color: var(--color-surface); }
body.shop-public.reference-shell .cart-popover-feedback { margin: 8px 0 0; color: var(--color-retained-995134); font-size: 11px; }
body.shop-public.reference-shell .cart-popover-loading { min-height: 76px; display: grid; place-items: center; }

body.shop-public.reference-shell :is(.reference-order-progress, .checkout-progress) li.is-complete { background: var(--color-retained-edf4f7); color: var(--reference-ink, var(--color-text)); }
body.shop-public.reference-shell :is(.reference-order-progress, .checkout-progress) li.is-complete b { background: var(--reference-blue, var(--color-retained-bfcce4)); }
body.shop-public.reference-shell :is(.reference-order-progress, .checkout-progress) li[aria-current="step"] { background: var(--color-surface-info); color: var(--reference-ink, var(--color-text)); }
body.shop-public.reference-shell :is(.reference-order-progress, .checkout-progress) li[aria-current="step"] b { background: var(--reference-orange, var(--color-action)); color: var(--color-surface); }
body.shop-public.reference-shell[data-shop-page="order"] .order-progress-intro { padding-top: 18px; padding-bottom: 18px; }
body.shop-public.reference-shell[data-shop-page="order"] .order-progress-intro .reference-order-progress { margin: 0; }

@keyframes cart-popover-enter { from { opacity: 0; transform: translateY(-5px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes cart-popover-exit { to { opacity: 0; transform: translateY(-4px) scale(.98); } }
@media (max-width: 760px) {
  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart { width: 52px !important; min-width: 52px !important; flex: 0 0 52px !important; height: 52px !important; min-height: 52px !important; padding: 8px !important; }
  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart svg { width: 34px; height: 34px; }
  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart-total { display: none !important; }
  body.shop-public.reference-shell[data-shop-page] .site-header .header-cart b { top: 2px; left: 2px; }
  body.shop-public.reference-shell[data-shop-page] .order-drawer { inset: 0 8px 8px 8px; width: auto; max-width: none; height: calc(100dvh - 8px); border-radius: 0 0 12px 12px; }
  body.shop-public.reference-shell .cart-popover { max-width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  body.shop-public.reference-shell .cart-popover { animation: none !important; }
}

/* Keep cart actions in the same compact square language as the reference
   catalogue. The close control remains circular by design. */
body.shop-public.reference-shell[data-shop-page] .button.order-primary,
body.shop-public.reference-shell .cart-popover-actions .button,
body.shop-public.reference-shell .cart-popover-category select {
  border-radius: 3px !important;
}

body.shop-public.reference-shell[data-shop-page] .order-quantity {
  border-radius: 2px !important;
}

/* The catalogue reference keeps the header rail at three fixed columns.  The
   language switch remains available, but may overflow the compact actions
   track instead of pushing the search field off its measured centre. */
@media (min-width: 801px) {
  body.shop-public.reference-shell[data-shop-page] .site-header {
    grid-template-columns: 279px minmax(0, 1fr) 177.7px !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;
  }

  body.shop-public.reference-shell[data-shop-page] .header-search {
    width: 480px !important;
    max-width: 480px !important;
  }

  body.shop-public.reference-shell[data-shop-page] .header-actions {
    width: 177.7px !important;
    min-width: 0 !important;
    overflow: visible !important;
    justify-content: flex-end !important;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  body.shop-public.reference-shell[data-shop-page] .site-header {
    grid-template-columns: 220px minmax(0, 1fr) 170px !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
  }

  body.shop-public.reference-shell[data-shop-page] .header-search {
    width: min(480px, 100%) !important;
    max-width: 480px !important;
  }

  body.shop-public.reference-shell[data-shop-page] .header-actions {
    width: 170px !important;
  }
}

/* Full basket only: compact product rows and an honest next-step summary. */
body.shop-public.reference-shell[data-shop-page="cart"] .page-intro { padding-block: 32px 24px; }
body.shop-public.reference-shell[data-shop-page="cart"] .page-intro h1 { font-size: clamp(30px, 4vw, 40px); }
body.shop-public.reference-shell[data-shop-page="cart"] .two-column { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; padding-bottom: 48px; }
body.shop-public.reference-shell[data-shop-page="cart"] .two-column > section { min-width: 0; }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items]:not([hidden]) { padding: 0 16px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line { grid-template-columns: 60px minmax(0, 1fr) 44px; gap: 12px; padding: 16px 0; border-color: var(--color-border); }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line:last-child { border-bottom: 0; }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-image { width: 60px; height: 64px; background: var(--color-surface-info); }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line h3 { font-size: 14px; line-height: 1.5; margin-bottom: 4px; }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-meta { margin-bottom: 8px; font-size: 12px; color: var(--color-text-muted); }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-price { font-size: 14px; white-space: normal; }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-price.is-request { font-size: 12px; color: var(--color-text-muted); }
body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity { height: 46px; border-color: var(--color-border-control); }
body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity button { width: 44px; height: 44px; color: var(--color-text); }
body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity input { width: 44px !important; height: 44px; font-size: 14px; }
body.shop-public.reference-shell[data-shop-page="cart"] .order-remove { width: 44px; height: 44px; padding: 0; margin: 0; color: var(--color-text-muted); }
body.shop-public.reference-shell[data-shop-page="cart"] .order-remove:hover { color: var(--color-status-error-text); }
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-summary]:not([hidden]) { display: block !important; padding: 24px; background: var(--color-brand-dark); color: var(--color-surface); border: 0; border-radius: 12px; }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card .order-total strong { color: var(--color-surface); font-size: 24px; overflow-wrap: anywhere; }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card .order-total { flex-wrap: wrap; }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card :is(.order-summary-note, .order-continue, .order-line-warning) { color: var(--color-surface); }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card .order-primary { background: var(--color-action); color: var(--color-action-text); border-color: var(--color-action); }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card[data-cart-mode="request"] .order-primary { background: var(--color-brand-yellow); color: var(--color-text); border-color: var(--color-brand-yellow); }
body.shop-public.reference-shell[data-shop-page="cart"] .summary-card .order-primary:hover { transform: none; text-decoration: underline; }
@media (max-width: 900px) {
  body.shop-public.reference-shell[data-shop-page="cart"] .two-column { grid-template-columns: minmax(0, 1fr); }
  body.shop-public.reference-shell[data-shop-page="cart"] .summary-card { position: static; }
}
@media (max-width: 520px) {
  body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items]:not([hidden]) { padding-inline: 12px; }
  body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line { grid-template-columns: 56px minmax(0, 1fr) 44px; gap: 8px; }
  body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-image { width: 56px; height: 64px; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-line-bottom { flex-direction: column; align-items: flex-start; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity { max-width: 100%; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity button { width: 44px; flex: 0 0 44px; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-quantity input { min-width: 24px; width: 32px !important; }
}
@media (min-width: 1101px) {
  body.shop-public.reference-shell[data-shop-page="cart"] .order-line-body { display: grid; grid-template-columns: minmax(0, 1fr) 180px; column-gap: 16px; align-content: center; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-line-body > h3,
  body.shop-public.reference-shell[data-shop-page="cart"] .order-line-body > p { grid-column: 1; }
  body.shop-public.reference-shell[data-shop-page="cart"] .order-line-bottom { grid-column: 2; grid-row: 1 / span 2; flex-direction: column; align-items: flex-end; gap: 4px; }
}
/* Constrain source image proportions to the compact holder without cropping. */
body.shop-public.reference-shell[data-shop-page="cart"] [data-cart-items] .order-line-image img { width: 100% !important; height: 64px !important; max-width: 100% !important; max-height: 64px !important; object-fit: contain; }

/* Purchase eligibility stays visible beside every selected product. */
.order-line-status { display: block; margin: 8px 0; color: var(--color-text); font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.order-line-status.is-request { color: var(--color-text-muted); }
.cart-popover-item-copy .order-line-status { margin: 4px 0 0; font-size: 12px; white-space: normal; }
[data-order-progress] [data-order-step][hidden] { display: none !important; }
.order-drawer .order-total { flex-wrap: wrap; }
.order-drawer .order-total strong { overflow-wrap: anywhere; }
.cart-popover-unconfirmed-total { margin: 12px 0; font-size: 14px; line-height: 1.55; }
.cart-popover-unconfirmed-total p { margin: 8px 0 0; font-size: 12px; color: var(--color-text-muted); }

/* One compact basket menu: readable names and a single request-price total. */
body.shop-public.reference-shell .cart-popover {
  padding: 16px;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
body.shop-public.reference-shell .cart-popover:focus { outline: none; }
body.shop-public.reference-shell .cart-popover-item {
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 4px 8px;
}
body.shop-public.reference-shell .cart-popover-item-copy strong,
body.shop-public.reference-shell .cart-popover-item-copy small {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
body.shop-public.reference-shell .cart-popover-item-copy strong { font-size: 14px; color: var(--color-link); }
body.shop-public.reference-shell .cart-popover-item-copy small { font-size: 12px; color: var(--color-text-muted); }
body.shop-public.reference-shell .cart-popover-item-price { grid-column: 1; grid-row: 2; white-space: normal; font-size: 12px; }
body.shop-public.reference-shell .cart-popover-remove { grid-column: 2; grid-row: 1 / span 2; width: 44px; height: 44px; }
body.shop-public.reference-shell .cart-popover-heading strong,
body.shop-public.reference-shell .cart-popover-totals strong { font-size: 14px; }
body.shop-public.reference-shell .cart-popover-actions .button { min-height: 44px; font-size: 14px; }
