/* Store management and cart — existing pages retain their styling. */
[hidden] { display: none !important; }
button:disabled { opacity: .45; cursor: not-allowed; }
#checkoutContinue:disabled {
  opacity:1;
  background:#e2e1e5 !important;
  color:#696570 !important;
  border-color:#ceccd2 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  transform:none !important;
}
#checkoutContinue:disabled > .button-led-core,#checkoutContinue:disabled > .button-led-halo { display:none; }

/* A manual popover keeps cart feedback visible above product dialogs. */
.cart-feedback-layer {
  position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none;
  margin:0; padding:0; border:0; overflow:visible; background:transparent;
  pointer-events:none; z-index:2147483646;
}
.cart-feedback-layer::backdrop { background:transparent; pointer-events:none; }
.cart-added-toast {
  position:fixed; right:24px; bottom:max(24px,env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:12px; width:min(430px,calc(100vw - 32px));
  box-sizing:border-box; padding:14px 16px; border:1px solid #bcd1f3; border-radius:20px;
  background:#fffdf9; color:#28262d; box-shadow:0 12px 38px rgba(23,59,120,.18);
  pointer-events:auto; animation:cart-added-appear .22s ease-out;
}
.cart-added-icon { flex:0 0 42px; width:42px; height:42px; object-fit:contain; }
.cart-added-copy { display:grid; gap:3px; flex:1; min-width:0; text-align:left; }
.cart-added-copy strong { color:#173b78; font-size:.85rem; }
.cart-added-product { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#625e67; font-size:.75rem; }
.cart-added-view { flex:0 0 auto; min-height:38px; padding:8px 12px; border:1px solid #c4d6f3; border-radius:12px; background:#edf4ff; color:#173b78; font:800 .76rem/1.2 var(--font-body); cursor:pointer; }
.cart-added-view:is(:hover,:focus-visible) { background:#dce9ff; border-color:#749de1; }
.cart-added-view:focus-visible { outline:2px solid #2563eb; outline-offset:3px; }
.cart-flying-image { position:fixed; left:0; top:0; margin:0; border:2px solid #fffdf9; border-radius:16px; object-fit:cover; background:#fffdf9; box-shadow:0 8px 24px rgba(23,59,120,.28); pointer-events:none; will-change:transform,opacity; }
@keyframes cart-added-appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:640px) { .cart-added-toast { left:16px; right:16px; gap:9px; padding:12px; bottom:max(16px,env(safe-area-inset-bottom)); } .cart-added-icon { flex-basis:34px; width:34px; height:34px; } }
@media(prefers-reduced-motion:reduce) { .cart-added-toast { animation:none; } }
.commerce-heading { padding-top: 38px; padding-bottom: 28px; }
.cart-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.cart-list-toolbar .commerce-status { flex:1; min-width:0; margin:0; }
.cart-list-toolbar .cart-remove { flex:0 0 auto; min-height:44px; margin-left:auto; }
.commerce-heading h2 { font-size: clamp(2rem,4vw,3.8rem); letter-spacing: -.05em; line-height: 1.05; margin: 18px 0 12px; }
.commerce-heading p { color: var(--muted); line-height: 1.6; }
.commerce-status { font-size: .83rem; line-height: 1.6; color: var(--green); }
.commerce-status:empty { display:none; }
.action-status-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.action-status-row .commerce-status,.action-status-row > [role="status"] { margin:0; min-height:0; flex:1 1 180px; }
.action-status-row .commerce-status:empty,.action-status-row > [role="status"]:empty { display:none; }
.is-error { color: #ff9da6 !important; }
.commerce-help { font-size: .72rem; line-height: 1.7; color: #899ba9; margin: 4px 0; }
.commerce-field { display: grid; gap: 7px; font-size: .76rem; font-weight: 600; color: #b5c6d3; }
.commerce-field input,.commerce-field select,.commerce-field textarea { font-size: .88rem; font-weight: 400; }
.commerce-field input:focus,.commerce-field select:focus,.commerce-field textarea:focus { outline: 1px solid var(--blue); outline-offset: 2px; }
.commerce-two,.commerce-three,.commerce-four { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.commerce-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.commerce-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.commerce-toast { color: var(--green); }
/* Keep solid shop surfaces above the fixed mouse glow (z-index: 0),
   matching the positioned filter sidebar without covering the gaps. */
.shop-card,
.admin-stat,
.admin-catalogue,
.admin-editor,
.admin-security {
  position: relative;
  z-index: 1;
}
.admin-security { background: #10161d; }
.shop-card { display: flex; flex-direction: column; }
.shop-card .card-body { display:flex; flex:0 0 auto; flex-direction:column; gap:6px; }
.shop-card .card-body h3,.shop-card .card-body p { margin: 0; }
.shop-card .pills { margin-top: 0; }
.shop-card .product-buy { margin-top: auto; display: grid; gap: 12px; padding-top: 8px; }
.product-price { font-size: 1.1rem; color: #f3f7fb; font-weight: 800; }
.product-buy .btn { min-height: 42px; font-size: .76rem; }
.shop-product-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center; background:#0c131a; transform:scale(1.08); }
.product-delivery { color: var(--blue); font-size: .72rem; line-height: 1.5; }
.cart-badge { margin-left:4px; }
.commerce-cart { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; padding-bottom: 90px; }
.cart-summary { align-self: start; position: sticky; top: 100px; border: 1px solid var(--line); border-radius: 22px; padding: 26px; background: var(--panel); }
.cart-summary h3 { margin-top: 0; }
.cart-summary p { font-size: .75rem; color: var(--muted); line-height: 1.7; }
.cart-summary .btn { width: 100%; margin-top: 12px; font-size: .8rem; }
.summary-row { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding-top: 20px; }
.shipping-summary-row { margin-top:14px; padding-top:14px; }.shipping-summary-row s { opacity:.6; margin-right:5px; }
.cart-grand-total{margin-top:14px;padding-top:16px;border-top:1px solid rgba(40,38,45,.14);font-size:1.12rem}.cart-total-prices{display:flex;align-items:center;justify-content:flex-end;gap:10px}.cart-total-prices s{color:#bc3f47;text-decoration-color:#bc3f47;text-decoration-thickness:3px;opacity:.8;font-size:.88em}.cart-total-prices span{font-size:1.16em}
.free-shipping-progress{margin:20px 0 8px;padding:14px;border:1px solid rgba(37,99,235,.16);border-radius:14px;background:rgba(234,242,255,.56)}
.free-shipping-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#173b78;font-size:.76rem;font-weight:850}
.free-shipping-progress-track{height:9px;overflow:hidden;border-radius:999px;background:rgba(37,99,235,.13);box-shadow:inset 0 1px 2px rgba(23,59,120,.08)}
.free-shipping-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#75a9ff,#2867e8);box-shadow:0 0 10px rgba(37,99,235,.35);transition:width .65s cubic-bezier(.22,.8,.25,1),background .25s ease}
.cart-summary .free-shipping-progress p{margin:8px 0 0;color:#53647c;line-height:1.45}
.free-shipping-progress.is-complete{border-color:rgba(42,139,91,.25);background:rgba(231,248,238,.72)}
.free-shipping-progress.is-complete .free-shipping-progress-heading,.cart-summary .free-shipping-progress.is-complete p{color:#26714c}
.free-shipping-progress.is-complete .free-shipping-progress-track span{background:linear-gradient(90deg,#62c88e,#278b5b);box-shadow:0 0 10px rgba(39,139,91,.3)}
.cart-items-column{min-width:0}.cart-promo-panel{margin-top:20px;padding:22px 24px;border:1px solid rgba(37,99,235,.17);border-radius:20px;background:rgba(255,253,249,.94);box-shadow:0 14px 34px rgba(91,62,42,.06)}.cart-promo-panel h3{margin:0;color:var(--wobli-ink);font-size:1.05rem}.cart-promo-panel>div>p{margin:5px 0 0;color:var(--wobli-muted);font-size:.76rem;line-height:1.55}.cart-promo-panel .commerce-status{margin-bottom:0}.promo-benefits{display:grid;gap:7px;margin:8px 0 0;padding:0;list-style:none;color:#234e8a;font-size:.78rem;font-weight:750}.promo-benefits li{position:relative;padding-left:22px}.promo-benefits li::before{content:'✓';position:absolute;left:0;top:0;color:#24744f;font-weight:950}.promo-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:16px}.promo-entry .commerce-field{margin:0}.promo-entry .btn{min-width:110px;min-height:46px}.promo-entry input{text-transform:uppercase}.applied-promo{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid rgba(37,99,235,.25);border-radius:12px;background:rgba(37,99,235,.07)}.applied-promo button{border:0;background:none;color:#234e8a;text-decoration:underline;cursor:pointer}.promo-free-label{color:#245c46;font-weight:800}.promo-admin-form{display:grid;gap:16px;max-width:720px}.promo-options{display:flex;flex-wrap:wrap;gap:18px}.promo-options label{display:flex;gap:8px;align-items:center}.promo-list-heading,.promo-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.promo-list-heading{margin-top:30px}.admin-promos{display:grid;gap:12px}.promo-card{padding:18px;border:1px solid rgba(35,78,138,.18);border-radius:16px;background:rgba(255,255,255,.62)}.promo-card p{margin:8px 0}.promo-card.is-inactive{opacity:.68}.promo-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#173f73}.promo-state{padding:4px 9px;border-radius:999px;background:#eee}.promo-state.active{background:#dff4e8;color:#245c46}
.promo-entry input.is-invalid{border-color:#c83e48!important;box-shadow:0 0 0 3px rgba(200,62,72,.13)!important;background:rgba(255,238,239,.92)}#promoStatus.is-error{color:#b32935;font-weight:700}
@media(max-width:560px){.promo-entry{grid-template-columns:1fr}.promo-entry .btn{width:100%}}
.cart-line { display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 20px; padding: 24px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.cart-thumb { width: 90px; height: 90px; object-fit: contain; background: #0b1016; border-radius: 12px; }
.cart-product-link { padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.cart-image-link { align-self:start; border-radius:12px; }
.cart-image-link .cart-thumb { display:block; }
.cart-name-link:hover { color:var(--blue); }
.cart-product-link:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.cart-line h3 { margin: 0 0 8px; font-size: 1rem; }
.cart-line p { color: var(--muted); font-size: .78rem; margin: 6px 0; }
.cart-line .cart-stock { font-weight: 600; }
.cart-line .cart-stock.is-available { color: #187447; }
.cart-line .cart-stock.is-unavailable { color: #b52638; }
.cart-controls { display: flex; align-items: flex-end; gap: 10px; margin-top: 14px; }
.cart-quantity { width: 72px; height:40px; padding: 8px; }
.cart-remove.led-button {
  --button-led-core:#ffb8ad;
  --button-led-halo:#d7474f;
  height:40px;
  padding:8px 12px;
  border:1px solid rgba(190,56,65,.42);
  border-radius:8px;
  background:#fff0ed;
  color:#a42d35;
  font-size:.73rem;
  font-weight:800;
}
.cart-remove.led-button > .button-led-halo { filter:blur(3px) drop-shadow(0 0 5px rgba(190,56,65,.48)); }
.cart-remove.led-button:not(:disabled):is(:hover,:focus-visible) {
  border-color:#bd3841;
  background:#bd3841;
  color:#fff;
  box-shadow:0 5px 15px rgba(190,56,65,.2);
}
.cart-empty { border: 1px dashed #304250; border-radius: 24px; padding: 48px 28px; text-align: center; }
.cart-empty p { color: var(--muted); }
/* Keep the cursor glow behind cart surfaces while leaving gaps illuminated. */
.cart-line,.cart-empty { position:relative; z-index:2; }
.cart-empty { background:var(--panel); }
.cart-summary { z-index:2; }
@media(max-width:760px) { #view-cart .cart-summary { position:relative; } }
.footer-admin { background: none; border: 0; color: #91a8ba; padding: 0; font-size: .8rem; }
.admin-login-dialog { width: min(450px,calc(100% - 32px)); padding: 44px 32px 30px; border: 1px solid var(--line); border-radius: 26px; background: #10161d; color: var(--text); max-height: calc(100dvh - 32px); overflow: auto; }
.admin-login-dialog::backdrop { background: #03070cce; backdrop-filter: blur(12px); }
.admin-login-dialog h2 { font-size: 2rem; letter-spacing: -.04em; margin-bottom: 12px; }
.admin-login-dialog > p { color: var(--muted); font-size: .85rem; line-height: 1.7; }
.admin-login-dialog .auth-close { display: grid; place-items: center; padding: 0; line-height: 1; }
.admin-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.admin-workspace { padding-bottom: 110px; }
.admin-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 26px; }
.admin-stat { border: 1px solid var(--line); border-radius: 18px; padding: 20px; background: #0e151d; }
.admin-stat strong { display: block; font-size: 1.8rem; margin-top: 5px; }
.admin-stat.admin-account-count { width:100%; max-width:280px; margin:16px 0 22px; background:#edf4ff; border-color:rgba(37,99,235,.2); }
#admin-section-orders .admin-account-count span,#admin-section-orders .admin-account-count strong { color:#174487; }
.admin-stat span { color: #91a6b7; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.admin-grid { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 24px; align-items: start; }
.admin-catalogue,.admin-editor { background: #10161d; border: 1px solid var(--line); border-radius: 22px; padding: 24px; min-width: 0; }
.admin-list-heading,.admin-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-list-heading h3 { margin: 0; font-size: 1rem; }
.admin-list-heading .btn { padding: 0 14px; min-height: 38px; font-size: .72rem; }
.admin-catalogue > label { margin-top: 18px; }
.admin-products { display: grid; gap: 8px; margin-top: 20px; max-height: 600px; overflow: auto; padding: 6px; }
.admin-product-row { text-align: left; display: grid; gap: 7px; width: 100%; padding: 15px; background: #0c1219; border: 1px solid var(--line); border-radius: 12px; color: #f1f6fb; }
.admin-product-row.selected { border-color: #69d7ff70; background: #172632; }
.admin-product-row small { color: #93a7b6; font-size: .69rem; }
#view-admin .admin-products { grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); }
#view-admin .admin-product-row { grid-template-columns:76px minmax(0,1fr); align-items:center; gap:12px; }
.admin-product-thumb { display:block; width:76px; height:76px; object-fit:contain; border-radius:10px; border:1px solid rgba(24,65,143,.12); background:#fff; }
.admin-product-no-image { display:grid; place-items:center; padding:7px; color:#667388; font-size:.65rem; text-align:center; }
.admin-product-copy { display:grid; gap:6px; min-width:0; overflow-wrap:anywhere; }
.admin-product-stock { font-size:.7rem; font-weight:700; color:#24558f; }
.admin-product-stock.is-in-stock { color:#187447; }
.admin-product-stock.is-out-of-stock { color:#b52638; }
#view-admin .admin-catalogue-tools { flex-wrap:wrap; }
#view-admin .admin-catalogue-tools .commerce-field { min-width:min(100%,160px); }
.admin-editor h3 { font-size: 1.5rem; margin: 12px 0 0; }
.admin-editor form { gap: 20px; margin-top: 26px; }
.vehicle-checks { border: 1px solid var(--line); border-radius: 13px; margin: 0; padding: 16px; display: flex; flex-wrap: wrap; gap: 16px; }
.vehicle-checks legend { color: #b5c6d3; font-size: .76rem; }
.vehicle-checks label { display: flex; gap: 8px; align-items: center; font-size: .76rem; color: #b5c6d3; }
.vehicle-checks input { width: 15px; height: 15px; margin: 0; accent-color: var(--blue); }
.product-image-editor { display: grid; grid-template-columns: 120px 1fr; gap: 20px; align-items: center; }
.admin-image-preview { height: 120px; border-radius: 15px; background: #080e14; color: #6d8496; font-size: .7rem; display: grid; place-items: center; overflow: hidden; }
.admin-image-preview img { width: 100%; height: 100%; object-fit: contain; }
.product-image-editor .btn { min-height: 32px; font-size: .7rem; margin-top: 8px; }
.editor-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.editor-actions .btn { font-size: .75rem; min-height: 42px; }
.danger { color: #ffa1a9; }
.admin-security { padding: 24px; border: 1px solid var(--line); border-radius: 18px; margin-top: 26px; }
.admin-security summary { cursor: pointer; color: #b1c3d1; font-size: .85rem; }
.admin-security p { color: var(--muted); font-size: .8rem; }
.admin-security form { max-width: 440px; }
@media(max-width:1000px) { .admin-grid { grid-template-columns: 250px minmax(0,1fr); } .commerce-three,.commerce-four { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .commerce-four { grid-template-columns:1fr; } }
@media(max-width:760px) { .admin-grid,.commerce-cart { grid-template-columns: 1fr; } .cart-summary { position: static; } .admin-heading { align-items: flex-start; } .admin-heading > .btn { min-height: 38px; padding: 0 14px; white-space: nowrap; } .admin-products { max-height: 260px; } .commerce-two { grid-template-columns: 1fr; } .admin-stats { gap: 8px; } .admin-stat { padding: 14px; } .admin-stat span { font-size: .58rem; } .admin-catalogue,.admin-editor { padding: 20px; } }
@media(max-width:460px) { .cart-line { grid-template-columns: 64px minmax(0,1fr); padding: 18px; gap: 14px; } .cart-thumb { width: 64px; height: 64px; } .cart-line > strong { grid-column: 2; } .product-image-editor { grid-template-columns: 1fr; } }

/* Compact catalogue cards; full information lives in the product dialog. */
.product-card-open { display:block; width:100%; height:100%; border:0; padding:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.product-card-open:focus-visible { outline:2px solid var(--blue); outline-offset:-3px; }
.shop-card .product-card-open { height:auto; flex:0 0 auto; }
.shop-card-actions { margin-top:auto; padding:0 20px 18px; }
.shop-card-actions .btn { width:100%; min-height:42px; font-size:.76rem; }
.shop-meta-labels,.shop-value-row { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.shop-quantity-heading { width:78px; flex:0 0 78px; color:var(--muted); font-size:.7rem; font-weight:700; }
.shop-value-row .product-price { margin:0; }
.shop-value-row .shop-quantity { width:78px; flex:0 0 78px; }
.shop-quantity-label,.product-quantity-label { display:grid; gap:6px; color:var(--muted); font-size:.7rem; font-weight:700; }
.shop-quantity,.product-quantity { width:100%; height:42px; padding:8px 10px; text-align:center; }
.product-card-open:hover .shop-product-image { transform:scale(1.14); }
.product-card-image { position:relative; width:100%; aspect-ratio:1; overflow:hidden; }
.product-card-image .shop-product-art { width:100%; height:100%; min-height:0; }
.product-card-image .shop-product-image { transition:transform .2s ease; }
.product-image-count { position:absolute; bottom:12px; right:12px; padding:5px 9px; background:#080d15df; border:1px solid var(--line); border-radius:20px; color:#dce7ef; font-size:.72rem; }
.product-cycle-progress { position:absolute; left:0; right:0; bottom:0; z-index:3; height:3px; overflow:hidden; background:rgba(37,99,235,.12); pointer-events:none; }
.product-cycle-progress-bar { display:block; width:0; height:100%; border-radius:0 3px 3px 0; background:#2563eb; box-shadow:0 0 7px rgba(37,99,235,.42); }
.product-cycle-progress-bar.is-running { animation:productImageProgress 5s linear forwards; }
@keyframes productImageProgress { from { width:0; } to { width:100%; } }
.product-dialog-cycle-progress { height:4px; }
.product-availability { color:var(--muted); font-size:.8rem; }
.product-dialog { width:min(960px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; scrollbar-width:none; border:1px solid var(--line); border-radius:24px; padding:56px 30px 30px; color:var(--text); background:#10161d; }
.product-dialog::-webkit-scrollbar { display:none; }
.product-dialog::backdrop { background:#03070cce; backdrop-filter:blur(10px); }
.product-dialog > .auth-close { display:grid; place-items:center; padding:0; line-height:1; }
.product-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.product-gallery { min-height:280px; aspect-ratio:1; display:grid; place-items:center; background:#0b1118; border-radius:18px; overflow:hidden; }
.product-gallery img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; min-height:0; transform:scale(1.08); }
.product-gallery-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; color:var(--muted); }
.product-gallery-controls .btn { min-height:38px; padding:0 18px; }
#productDetails { min-width:0; }
#productDetails h2 { font-size:clamp(1.5rem,3vw,2.3rem); margin:18px 0; overflow-wrap:anywhere; }
#productDetails .product-price { margin:22px 0; font-size:1.5rem; }
.product-full-description { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; color:var(--muted); margin-bottom:22px; }
.product-description-wrap { position:relative; margin-bottom:22px; }
.product-description-wrap .product-full-description { margin-bottom:0; }
.product-description-wrap.is-collapsed .product-full-description {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
  padding-bottom:1px;
}
.product-description-wrap.is-collapsed::after {
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:68%;
  height:1.8em;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#fffdf9 42%);
}
.description-toggle { position:relative; z-index:1; border:0; background:none; color:var(--blue); padding:0; font:inherit; font-size:.78rem; cursor:pointer; }
.description-more { position:absolute; right:0; bottom:.15em; }
.description-less { display:block; margin-top:10px; }
.description-toggle[hidden] { display:none; }
.description-toggle:hover,.description-toggle:focus-visible { color:#2458a6; text-shadow:none; }
.product-detail-actions { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin-top:24px; }
.product-quantity-label { flex:0 0 82px; }
.product-detail-actions .btn { min-height:42px; }
.product-detail-actions .commerce-status { display:block; flex:1 0 100%; height:3.2em; margin:0; overflow:hidden; }
.product-detail-actions .commerce-status:empty { display:none; }
.product-image-editor { grid-template-columns:1fr; }
.admin-image-preview { height:auto; min-height:120px; padding:12px; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:12px; }
.admin-gallery-tile { min-width:0; display:grid; gap:6px; }
.admin-gallery-tile img { height:100px; }
.admin-gallery-tile .btn { padding:6px; white-space:normal; }
@media(max-width:680px) { .product-detail-layout { grid-template-columns:1fr; gap:24px; } .product-dialog { padding:54px 20px 24px; } .product-gallery { min-height:0; } }

@media(min-width:681px) {
  .product-gallery-controls { margin-top:42px; }
  .product-gallery-controls .btn,
  .product-detail-actions .btn { height:42px; }
}
@media(prefers-reduced-motion:reduce) { .product-cycle-progress { display:none; } }
.question-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:52px 28px 28px; background:#10161d; color:var(--text); border:1px solid var(--line); border-radius:24px; }
.question-dialog::backdrop { background:#03070cbf; backdrop-filter:blur(8px); }
.question-dialog h2 { font-size:1.7rem; margin:16px 0; overflow-wrap:anywhere; }
.question-dialog > .auth-close { display:grid; place-items:center; padding:0; line-height:1; }
.question-dialog form { display:grid; gap:16px; margin-top:22px; }
.question-dialog [hidden] { display:none; }
.question-dialog textarea { resize:vertical; }
#questionDialog[data-kind="general"] { width:min(620px,calc(100% - 24px)); }
#questionDialog .general-question-history { max-height:min(360px,40dvh); overflow:auto; overscroll-behavior:contain; padding:4px 0 12px; border-bottom:1px solid rgba(37,99,235,.15); }
#questionDialog .general-question-history .message-reply { margin-top:10px; }
#questionDialog .general-question-history .message-reply p { margin:6px 0 0; }
#questionDialog .general-question-history .message-reply > .commerce-help { font-size:.67rem; }
#questionDialog[data-kind="general"] form { margin-top:14px; gap:10px; }
#questionDialog[data-kind="general"] textarea { min-height:72px; }
.checkout-delivery-form { display:grid; gap:22px; margin-top:22px; }
.checkout-delivery-form[hidden] { display:none; }
#checkoutDialog:has(#embeddedCheckoutWrap:not([hidden])) { width:min(1080px,calc(100% - 32px)); padding:16px; }
#embeddedCheckoutWrap { min-height:360px; margin-top:10px; }
#embeddedCheckoutWrap[hidden] { display:none; }
.checkout-back { margin:0 0 12px; }
.embedded-checkout-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr); gap:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; }
.checkout-recap { display:flex; flex-direction:column; gap:22px; padding:22px; background:#edf4ff; border-right:1px solid var(--line); }
.checkout-recap img { display:block; width:100%; height:auto; border-radius:14px; }
.checkout-recap-heading h2 { margin:8px 0 0; font-size:1.45rem; }
#checkoutRecapItems { display:grid; gap:13px; margin-top:18px; }
.checkout-recap-item,.checkout-recap-costs>div { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.checkout-recap-item { padding-bottom:12px; border-bottom:1px solid var(--line); font-size:.82rem; }
.checkout-recap-item span { min-width:0; overflow-wrap:anywhere; }.checkout-recap-item strong { white-space:nowrap; }
.checkout-recap-costs { display:grid; gap:11px; margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.checkout-recap-total { margin-top:3px; padding-top:13px; border-top:1px solid var(--line); font-size:1.05rem; }
.checkout-recap-costs s { opacity:.62; margin-right:5px; }
.checkout-payment-panel { min-width:0; padding:22px; background:#fffaf2; }
.checkout-payment-panel h3 { margin:8px 0 20px; }
.checkout-payment-help { margin:-8px 0 18px; color:#53647c; font-size:.8rem; line-height:1.5; }
.checkout-order-summary { min-width:0; }
.checkout-order-summary > summary { display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none; color:#174487; font-size:.85rem; }
.checkout-order-summary > summary::-webkit-details-marker { display:none; }
.checkout-order-summary > summary strong { margin-left:auto; white-space:nowrap; color:#28262d; }
.checkout-order-chevron { transition:transform .18s ease; }
.checkout-order-summary[open] .checkout-order-chevron { transform:rotate(180deg); }
.checkout-order-summary > summary:focus-visible { outline:2px solid #2563eb; outline-offset:5px; border-radius:5px; }
#checkoutDialog .checkout-pay:disabled { background:#e1e5ed; color:#626d7f; box-shadow:none; opacity:1; cursor:not-allowed; }
#checkoutDialog .checkout-pay:disabled > :is(.button-led-core,.button-led-halo) { display:none; }
.checkout-pay { width:100%; min-height:48px; margin-top:20px; }
#embeddedPaymentStatus { margin-top:12px; }
.checkout-recap .checkout-back { width:max-content; max-width:100%; margin:auto 0 0; align-self:flex-start; }
.fulfillment-choice { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0; padding:0; border:0; }
.fulfillment-choice legend { grid-column:1/-1; margin-bottom:3px; font-size:.78rem; font-weight:750; }
.fulfillment-choice label { display:flex; gap:10px; padding:15px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.fulfillment-choice input[type="radio"] { width:18px; height:18px; min-width:18px; flex:0 0 18px; margin:2px 0 0; padding:0; border-radius:50%; }
.fulfillment-choice span { display:grid; gap:5px; }.fulfillment-choice small { color:var(--muted); line-height:1.4; }
#shippingAddressFields { display:grid; gap:16px; }
.checkout-costs { display:grid; gap:10px; padding:16px; border:1px solid var(--line); border-radius:12px; }
.checkout-costs>div { display:flex; justify-content:space-between; gap:18px; }
.checkout-cost-total { padding-top:10px; border-top:1px solid var(--line); font-size:1.05rem; }
.checkout-costs s,.fulfillment-choice s { opacity:.65; margin-right:4px; }
.checkout-policy-acceptance { display:grid; grid-template-columns:20px 1fr; gap:11px; align-items:start; padding:15px 16px; border:1px solid rgba(105,215,255,.22); border-radius:12px; background:#090e14; color:#dceaf1; line-height:1.55; }
.checkout-policy-acceptance input { width:18px; height:18px; margin:3px 0 0; accent-color:#69d7ff; }
.checkout-policy-acceptance:focus-within { border-color:#69d7ff; box-shadow:0 0 14px rgba(105,215,255,.17); }
.checkout-policy-link { border:0; padding:0; background:none; color:#8ee4ff; font:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.checkout-policy-link:hover,.checkout-policy-link:focus-visible { color:#d4f7ff; text-shadow:0 0 8px rgba(105,215,255,.5); }
#checkoutDialog .checkout-policy-acceptance label { display:inline; font:inherit; cursor:pointer; }
#checkoutDialog .checkout-policy-link { display:inline; color:#174487; font:inherit; text-shadow:none; }
#checkoutDialog .checkout-policy-link:hover { color:#1260f5; text-decoration-thickness:2px; }
#checkoutDialog .checkout-policy-link:focus-visible { color:#1260f5; outline:2px solid #2563eb; outline-offset:3px; border-radius:3px; }
.checkout-privacy-note { margin:-10px 2px 0; color:var(--muted); font-size:.82rem; line-height:1.5; }
.checkout-payment-actions { display:grid; grid-template-columns:auto 1fr; gap:12px; }
.checkout-confirmation { position:relative; padding:42px 28px; text-align:center; }
.checkout-confirmation p { color:var(--muted); line-height:1.7; }
.payment-result-dialog[data-state="success"] .home-info-dialog-icon { background:#e8f5ed; color:#187447; }
.payment-result-dialog[data-state="error"] .home-info-dialog-icon { background:#fff0ed; color:#b52638; }
.payment-result-dialog[data-state="error"] h2 { color:#a42d35; }
.payment-result-dialog #paymentResultOrder { padding:12px; border-radius:12px; background:#edf3ff; color:#173b78; font-weight:700; overflow-wrap:anywhere; }
.payment-result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.payment-result-actions .btn { max-width:100%; }
.checkout-orders-button { margin-top:18px; --button-led-core:#d7ffeb; --button-led-halo:#32ee91; border-color:rgba(82,239,160,.55); color:#dfffee; }
.checkout-sequence-layer { display:none; position:absolute; inset:2px; z-index:3; border-radius:22px; padding:2px; pointer-events:none; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
@property --checkout-led-angle { syntax:"<angle>"; inherits:false; initial-value:0deg; }
@keyframes checkoutOrangeLock { 0%,18%,42%,68%,100%{opacity:0;background:linear-gradient(90deg,#4f83df 0 12%,transparent 12% 88%,#4f83df 88%)} 20%,40%,70%,90%{opacity:1;background:linear-gradient(90deg,#4f83df 0 12%,transparent 12% 88%,#4f83df 88%)} }
@keyframes checkoutOrangeLockGlow { 0%,18%,42%,68%,100%{opacity:0;background:linear-gradient(90deg,#4f83df 0 12%,transparent 12% 88%,#4f83df 88%);filter:blur(4px) drop-shadow(0 0 9px #2563eb)} 20%,40%,70%,90%{opacity:.9;background:linear-gradient(90deg,#4f83df 0 12%,transparent 12% 88%,#4f83df 88%);filter:blur(4px) drop-shadow(0 0 9px #2563eb)} }
@keyframes checkoutGreenBothWays { from{opacity:1;--checkout-led-angle:0deg;background:conic-gradient(from 0deg,#c9ffe2 0deg var(--checkout-led-angle),transparent var(--checkout-led-angle) calc(360deg - var(--checkout-led-angle)),#c9ffe2 calc(360deg - var(--checkout-led-angle)))} to{opacity:1;--checkout-led-angle:180deg;background:conic-gradient(from 0deg,#c9ffe2 0deg var(--checkout-led-angle),transparent var(--checkout-led-angle) calc(360deg - var(--checkout-led-angle)),#c9ffe2 calc(360deg - var(--checkout-led-angle))) } }
@keyframes checkoutGreenBothWaysGlow { from{opacity:.82;--checkout-led-angle:0deg;background:conic-gradient(from 0deg,#c9ffe2 0deg var(--checkout-led-angle),transparent var(--checkout-led-angle) calc(360deg - var(--checkout-led-angle)),#c9ffe2 calc(360deg - var(--checkout-led-angle)));filter:blur(4px) drop-shadow(0 0 8px #32ee91)} to{opacity:.82;--checkout-led-angle:180deg;background:conic-gradient(from 0deg,#c9ffe2 0deg var(--checkout-led-angle),transparent var(--checkout-led-angle) calc(360deg - var(--checkout-led-angle)),#c9ffe2 calc(360deg - var(--checkout-led-angle)));filter:blur(4px) drop-shadow(0 0 8px #32ee91)} }
.admin-orders { display:grid; gap:14px; margin-top:24px; }
.admin-order { border:1px solid var(--line); border-radius:16px; background:#0c1219; overflow:hidden; }
.admin-order.is-cancelled { border-color:rgba(255,55,66,.65); background:linear-gradient(135deg,rgba(82,7,13,.42),#0c1219); box-shadow:0 0 18px rgba(255,30,42,.15),inset 0 0 22px rgba(255,30,42,.04); }
.admin-order.is-cancelled .admin-order-summary { color:#ffafb3; }
.admin-order-summary { display:grid; grid-template-columns:1.1fr 1.2fr auto auto; gap:16px; align-items:center; padding:20px; cursor:pointer; list-style:none; }
.admin-order-summary::-webkit-details-marker { display:none; }
.admin-order-summary:hover { background:rgba(105,215,255,.045); }
.admin-order-body { padding:4px 22px 22px; border-top:1px solid var(--line); }
.admin-order-body dl { display:grid; grid-template-columns:120px 1fr; gap:9px 18px; }
.admin-order-body dt { color:var(--muted); }
.admin-order-body dd { margin:0; overflow-wrap:anywhere; }
.admin-order-products { margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:12px; }
.admin-order-products p { margin:8px 0; }
@media(max-width:760px){.embedded-checkout-layout{grid-template-columns:1fr}.checkout-recap{border-right:0;border-bottom:1px solid var(--line)}.admin-order-summary{grid-template-columns:1fr;gap:7px}.admin-order-body dl{grid-template-columns:1fr}.admin-order-body dd{margin-bottom:8px}.checkout-payment-actions,.fulfillment-choice{grid-template-columns:1fr}}
.question-login-note { margin-top:12px; }
.admin-question { border-top:1px solid var(--line); padding:20px 0; }
.admin-question h3 { font-size:1rem; }
#accountLabel { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }

.category-form { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin:18px 0; }
.category-form .commerce-field { flex:1 1 220px; }
.category-form .btn { min-height:44px; }
.category-manager{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(260px,1.2fr);gap:18px;margin-top:22px;min-height:330px}
.category-browser,.category-editor{min-width:0;border:1px solid rgba(37,99,235,.16);border-radius:18px;background:rgba(255,253,249,.78)}
.category-browser{overflow:hidden}.category-browser-heading{display:grid;gap:10px;padding:16px;border-bottom:1px solid rgba(40,38,45,.1)}
.category-browser-heading strong{color:#28262d;font-size:.82rem}.category-browser-heading input{width:100%;min-height:42px;border-radius:12px}
.category-list{max-height:390px;overflow:auto;padding:8px;scrollbar-width:thin}
.category-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px 13px;border:1px solid transparent;border-radius:12px;background:transparent;color:#3d3a40;text-align:left;cursor:pointer}
.category-list-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.category-list-item small{color:#68758a;font-size:.67rem;white-space:nowrap}
.category-list-item:is(:hover,:focus-visible){background:#f0f5ff;border-color:rgba(37,99,235,.2)}.category-list-item.selected{background:#eaf2ff;border-color:rgba(37,99,235,.38);color:#173b78;box-shadow:inset 3px 0 #2867e8}
.category-no-results{padding:12px}.category-editor{padding:24px}.category-editor-kicker{color:#2867e8;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.category-editor h4{margin:8px 0 5px;color:#28262d;font-size:1.25rem}.category-edit-form{display:grid;gap:16px;margin-top:24px}.category-editor-actions{display:flex;flex-wrap:wrap;gap:10px}.category-editor-actions .btn{min-height:44px}
@media(max-width:720px){.category-manager{grid-template-columns:1fr}.category-list{max-height:250px}.category-editor{padding:20px}}

/* One workspace at a time, with the same sidebar pattern as the profile. */
.admin-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:26px; align-items:start; }
.admin-section-content { min-width:0; }
.admin-section-content > [hidden] { display:none; }
.admin-section-content > .admin-security { margin-top:0; padding:32px; border-radius:22px; }
.admin-section-content > .admin-security h3 { font-size:1.7rem; margin:18px 0; }
.admin-layout .admin-grid { grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr); gap:18px; }
@media(max-width:1100px) { .admin-layout .admin-grid { grid-template-columns:1fr; } .admin-layout .admin-products { max-height:260px; } }
@media(max-width:760px) { .admin-layout { grid-template-columns:1fr; } .admin-section-content > .admin-security { padding:22px; } }

.admin-message-row { position:relative; display:grid; gap:8px; width:100%; text-align:left; margin:12px 0; padding:20px 44px 20px 20px; border:1px solid var(--line); border-radius:16px; background:#0c1219; color:var(--text); overflow-wrap:anywhere; transition:background .2s,border-color .2s; }
.admin-message-row:hover,.admin-message-row:focus-visible { background:#14202b; border-color:var(--blue); }
.admin-message-row .message-row-arrow { position:absolute; right:18px; top:20px; color:var(--blue); }
.admin-message-row-heading { display:flex; align-items:center; gap:3px; min-width:0; }
.admin-message-row-heading strong { overflow-wrap:anywhere; }
.new-message-dot { display:inline-block; width:8px; height:8px; flex:0 0 8px; margin-left:6px; border-radius:50%; background:#2563eb; box-shadow:0 0 7px #2563eb,0 0 14px #2563ebaa; animation:new-message-dot-pulse 1.3s ease-in-out infinite; }
@keyframes new-message-dot-pulse { 0%,100% { opacity:.3; box-shadow:0 0 3px #2563eb66; } 50% { opacity:1; box-shadow:0 0 8px #2563eb,0 0 16px #2563ebcc; } }
@media(prefers-reduced-motion:reduce) { .new-message-dot { animation:none; opacity:1; } }
#adminQuestions h3 { overflow-wrap:anywhere; }
#adminQuestions { margin-top:20px; }
.conversation-dates { font-size:.75rem; line-height:1.6; }

.installation-request-panel form { display:grid; gap:18px; margin-top:22px; }
.installation-request-panel [hidden] { display:none; }
.installation-card { border:1px solid var(--line); border-radius:16px; padding:20px; margin:14px 0; background:#0c1219; }
.installation-card h4 { margin:0 0 8px; }
.installation-card dl { display:grid; grid-template-columns:max-content 1fr; gap:8px 14px; color:var(--muted); }
.installation-card dt { color:#7890a1; }
.installation-card dd { margin:0; overflow-wrap:anywhere; }
#customLabForm { display:grid; gap:18px; }
#customLabForm [hidden],.installation-request-panel [hidden],#customLabThanks[hidden] { display:none; }
#customProductFields,#newProductFields { display:grid; gap:18px; }

/* Custom Lab — friendly Wobli styling without changing its request workflow. */
.custom-lab-content { padding-bottom:110px; }
.custom-lab-layout { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(440px,1.18fr); gap:24px; align-items:start; }
#view-custom .custom-lab-process,
#view-custom .custom-lab-form-panel { min-height:0; padding:30px; border:1px solid rgba(37,99,235,.15); border-radius:28px; background:rgba(255,253,249,.94); box-shadow:0 20px 48px rgba(46,63,102,.09); }
#view-custom .custom-lab-process { background:linear-gradient(155deg,rgba(238,245,255,.97),rgba(255,253,249,.96) 62%); }
.custom-panel-heading { display:flex; align-items:center; gap:15px; margin-bottom:24px; }
.custom-panel-icon { display:grid; place-items:center; width:58px; height:58px; flex:0 0 58px; border-radius:19px; background:#fff; border:1px solid rgba(37,99,235,.14); box-shadow:0 10px 24px rgba(37,99,235,.11); }
.custom-panel-icon img { width:43px; height:43px; object-fit:contain; }
.custom-panel-icon-form { background:#edf4ff; }
.custom-panel-kicker { display:block; margin-bottom:4px; color:var(--wobli-blue); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
#view-custom .custom-panel-heading h3 { margin:0; color:var(--wobli-ink); font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif; font-size:clamp(1.45rem,2.2vw,2rem); letter-spacing:-.035em; }
#view-custom .custom-lab-process .steps { gap:12px; margin-top:0; }
#view-custom .custom-lab-process .step { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; align-items:center; padding:16px; border:1px solid rgba(37,99,235,.12); border-radius:18px; background:rgba(255,255,255,.72); color:var(--wobli-ink); overflow:visible; }
#view-custom .custom-lab-process .step-number { display:grid; place-items:center; width:44px; height:44px; border-radius:15px; background:#2563eb; color:#fff; font-size:.75rem; font-weight:950; box-shadow:0 8px 18px rgba(37,99,235,.2); }
#view-custom .custom-lab-process .step-content,
#view-custom .custom-lab-process.process-sequence .step-content { display:grid; gap:3px; color:var(--wobli-ink); background:none; animation:none; text-shadow:none; }
#view-custom .custom-lab-process .step-content strong { font-size:.88rem; line-height:1.35; }
#view-custom .custom-lab-process .step-content small { color:var(--wobli-muted); font-size:.72rem; line-height:1.5; }
#view-custom .custom-lab-process.process-sequence h3 { color:var(--wobli-ink); background:none; animation:none; text-shadow:none; }
#view-custom .custom-lab-form-panel:hover { border-color:rgba(37,99,235,.22); box-shadow:0 20px 48px rgba(46,63,102,.09); }
#view-custom #customLabForm { gap:20px; margin-top:0; }
#view-custom #customLabForm > .commerce-field:first-child { padding:16px; border-radius:18px; background:#edf4ff; border:1px solid rgba(37,99,235,.12); }
#view-custom #printModelFields,
#view-custom #shopIdeaFields { display:grid; gap:15px; padding:18px; border:1px solid rgba(37,99,235,.11); border-radius:20px; background:rgba(248,251,255,.8); }
#view-custom .commerce-field { color:#3f4b61; font-size:.77rem; font-weight:850; }
#view-custom .commerce-help { color:#687991; }
#view-custom .commerce-field input,
#view-custom .commerce-field select,
#view-custom .commerce-field textarea { min-height:48px; border:1px solid rgba(35,78,138,.18); border-radius:14px; background:#fffdf9 !important; box-shadow:inset 0 1px 2px rgba(33,52,83,.035); }
#view-custom .commerce-field textarea { min-height:148px; resize:vertical; line-height:1.6; }
#view-custom .commerce-field input:focus,
#view-custom .commerce-field select:focus,
#view-custom .commerce-field textarea:focus { outline:0; border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.11); }
#view-custom input[type="file"] { padding:7px; }
#view-custom input[type="file"]::file-selector-button { min-height:34px; margin-right:12px; padding:0 14px; border:0; border-radius:10px; background:#e4eeff; color:#173b78; font-weight:850; cursor:pointer; }
.custom-file-control { position:relative; display:flex; align-items:center; min-height:48px; padding:6px; overflow:hidden; border:1px solid rgba(35,78,138,.18); border-radius:14px; background:#fffdf9; cursor:pointer; }
.custom-file-button { flex:0 0 auto; padding:10px 14px; border-radius:10px; background:#e4eeff; color:#173b78; font-size:.78rem; font-weight:850; }
.custom-file-name { min-width:0; padding:0 12px; overflow:hidden; color:var(--wobli-muted); font-size:.8rem; font-weight:500; text-overflow:ellipsis; white-space:nowrap; }
#view-custom .custom-file-control input[type="file"] { position:absolute; inset:0; width:100%; height:100%; padding:0; opacity:0; cursor:pointer; }
.custom-file-control:focus-within { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.11); }
#view-custom #customLabForm > p:not(.commerce-status) { margin:0; padding:14px 16px; border-radius:16px; background:#f4f7fb; color:#5c687b; font-size:.75rem; line-height:1.6; }
#view-custom #customLabForm > .btn { justify-self:start; min-width:190px; min-height:52px; border-radius:16px; font-size:.82rem; }
#view-custom #customLabThanks { padding:20px 2px 4px; }
#view-custom #customLabThanks h3 { margin:10px 0; color:var(--wobli-ink); }
@media(max-width:900px) {
  .custom-lab-layout { grid-template-columns:1fr; }
  .custom-lab-process { order:2; }
  .custom-lab-form-panel { order:1; }
}
@media(max-width:620px) {
  #view-custom .custom-lab-process,#view-custom .custom-lab-form-panel { padding:20px; border-radius:22px; }
  .custom-panel-icon { width:50px; height:50px; flex-basis:50px; border-radius:16px; }
  .custom-panel-icon img { width:37px; height:37px; }
  #view-custom .custom-lab-process .step { grid-template-columns:40px minmax(0,1fr); padding:14px; }
  #view-custom .custom-lab-process .step-number { width:40px; height:40px; }
  #view-custom #customLabForm > .btn { width:100%; }
}
