.shop-page,.product-page,.cart-page,.order-page { background:radial-gradient(circle at 15% 16%,rgba(17,136,211,.14),transparent 29%),radial-gradient(circle at 88% 4%,rgba(142,229,46,.08),transparent 28%),#06101c; }
.shop-main { max-width:1320px; margin:auto; padding:54px 30px 100px; }
.shop-hero { min-height:570px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:55px; }
.shop-copy h1 { margin:0; max-width:760px; font:800 clamp(46px,6.4vw,82px)/.94 Outfit; letter-spacing:-3.3px; }
.shop-copy h1 em { color:var(--lime); font-style:normal; }
.shop-copy > p:not(.eyebrow) { max-width:690px; margin:25px 0; color:#a2b5c7; font-size:16px; line-height:1.75; }
.shop-actions { display:flex; flex-wrap:wrap; gap:11px; }
.store-proof-row { margin-top:25px; display:flex; flex-wrap:wrap; gap:10px; }
.store-proof-row span { padding:9px 11px; border:1px solid rgba(120,199,243,.16); border-radius:999px; color:#b8cbe0; background:rgba(17,136,211,.06); font-size:11px; font-weight:800; }
.shop-visual { position:relative; min-height:470px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:36px; background:radial-gradient(circle at 50% 42%,#184666,#0a1b2b 58%,#07111f); }
.shop-visual::after { content:""; position:absolute; width:70%; height:30px; bottom:48px; border-radius:50%; background:rgba(0,0,0,.48); filter:blur(15px); }
.shop-visual img { position:relative; z-index:1; width:min(420px,84%); aspect-ratio:1; object-fit:cover; border-radius:43%; filter:drop-shadow(0 28px 32px rgba(0,0,0,.42)); mix-blend-mode:screen; }
.shop-platform { position:absolute; z-index:2; top:25px; left:25px; padding:8px 11px; border:1px solid rgba(255,255,255,.13); border-radius:999px; color:#7f97ad; background:rgba(5,13,23,.72); font-size:9px; font-weight:800; letter-spacing:1px; }
.shop-platform b { color:#eef6ff; font-size:12px; }
.stock-chip { position:absolute; z-index:2; padding:11px 13px; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:#c7d6e4; background:rgba(7,17,31,.86); box-shadow:0 15px 40px rgba(0,0,0,.25); font-size:10px; font-weight:800; }
.stock-chip b { color:var(--lime); }
.stock-chip.warning { border-color:rgba(255,205,138,.3); color:#ffcd8a; background:rgba(36,21,8,.82); }
.chip-live { left:25px; bottom:26px; }
.chip-secure { right:25px; top:78px; }
.checkout-status-banner { margin:-12px 0 44px; padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid rgba(255,205,138,.22); border-radius:18px; color:#aebfd0; background:linear-gradient(135deg,rgba(255,205,138,.1),rgba(17,136,211,.05)); }
.checkout-status-banner.ready { border-color:rgba(142,229,46,.23); background:linear-gradient(135deg,rgba(142,229,46,.09),rgba(17,136,211,.05)); }
.checkout-status-banner b { display:block; margin-bottom:3px; color:#eef6ff; font:800 15px Outfit; }
.checkout-status-banner span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; color:#07111f; background:#ffcd8a; font-weight:900; }
.checkout-status-banner.ready span { background:var(--lime); }
.checkout-status-banner p { margin:0; color:#8fa5b9; font-size:12px; line-height:1.55; }
.shop-benefits { margin:55px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.shop-benefits article { padding:25px; border:1px solid var(--line); border-radius:20px; background:#091725; }
.shop-benefits article > span { color:#5f788f; font:800 11px Outfit; }
.shop-benefits h2 { margin:20px 0 7px; font:700 21px Outfit; }
.shop-benefits p { margin:0; color:#869caf; font-size:12px; line-height:1.65; }
.shop-benefits a { color:var(--lime); font-weight:900; }
.store-stock { margin-top:55px; padding-top:44px; border-top:1px solid var(--line); }
.store-stock-head h2 { margin:0; font:800 clamp(38px,5vw,58px)/1 Outfit; letter-spacing:-1.8px; }
.store-filters { display:grid; grid-template-columns:minmax(240px,1fr) 160px 150px; gap:12px; align-items:end; }
.store-filters label { display:grid; gap:7px; color:#8398ad; font-size:10px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.store-search-actions { display:grid; grid-template-columns:1fr auto; gap:7px; }
.store-search-actions .button { min-height:48px; padding:0 13px; font-size:10px; }
.store-search-clear { min-height:48px; padding:0 10px; border:1px solid #294058; border-radius:11px; color:#9db1c4; background:#07131f; cursor:pointer; font-size:10px; font-weight:800; }
.store-search-clear:hover { border-color:#4b6885; color:#fff; }
.store-search-links { margin:12px 0 0; display:flex; justify-content:flex-end; gap:9px; color:#6f8599; font-size:10px; }
.store-search-links a { color:#78c7f3; font-weight:900; }
.store-message { min-height:20px; margin:12px 0 18px; color:#91a8bc; font-size:12px; }
.shop-category-nav { display:block; position:static; margin:14px 0 10px; padding:0; background:transparent; }
.shop-departments { display:flex; gap:8px; overflow-x:auto; padding:3px 2px 9px; }
.shop-category-nav button { flex-shrink:0; display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:9px 16px; border:1px solid #2b4054; border-radius:12px; background:#0b1b2a; color:#c3d3e0; font:700 14px 'DM Sans',sans-serif; cursor:pointer; }
.shop-category-nav button:hover { border-color:#7594ac; color:white; }
.shop-category-nav button[aria-pressed=true] { border-color:var(--lime); background:var(--lime); color:#08111b; }
.shop-category-nav button:focus-visible { outline:2px solid #78c7f3; outline-offset:2px; }
.shop-category-nav small { font-size:11px; font-weight:600; opacity:.7; }
.shop-subcategories { display:flex; flex-wrap:wrap; gap:5px; border-bottom:1px solid var(--line); padding:0 0 8px; }
.shop-subcategories button { min-height:38px; padding:7px 12px; border-color:transparent; border-radius:8px; background:transparent; font-size:12px; }
.shop-subcategories button[aria-pressed=true] { color:var(--lime); border-color:#40543c; background:#162b22; }
.store-sections { display:grid; gap:34px; }
.stock-department { min-width:0; }
.stock-department-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:4px 0 14px; }
.stock-department-heading h3 { margin:0; color:#f0f5fa; font:700 24px/1.2 Outfit,sans-serif; letter-spacing:-.4px; }
.stock-department-heading h3 span { color:#a2b7ca; font-weight:500; }
.stock-department-heading > span { flex-shrink:0; color:#8298aa; font-size:12px; }
.store-filters label[hidden] { display:none; }
@media(max-width:640px) { .shop-departments { gap:5px; } .shop-departments button { flex:1; padding:8px 10px; font-size:12px; gap:6px; } .shop-subcategories { flex-wrap:nowrap; overflow-x:auto; } .shop-subcategories button { min-height:44px; } .stock-department-heading h3 { font-size:22px; } }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; align-items:stretch; }
.product-card { --card-radius:17px; overflow:hidden; border:1px solid var(--line); border-radius:var(--card-radius); background:#0b1b2a; box-shadow:0 10px 28px rgba(0,0,0,.12); transition:border-color .2s,box-shadow .2s; }
.product-card:hover,.product-card:focus-within { border-color:#4b6a7f; box-shadow:0 12px 32px rgba(0,0,0,.22); }
.product-cart-feedback { margin:12px 0; padding:12px 14px; border:1px solid rgba(142,229,46,.3); border-radius:12px; background:rgba(142,229,46,.06); color:#dcebd5; font-size:14px; line-height:1.6; }
.product-cart-feedback a { display:inline-block; color:var(--lime); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.card-cart-feedback{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:#dcebd5}
.card-cart-feedback a{display:inline-block;color:var(--lime);text-decoration:underline;text-underline-offset:3px;min-height:30px;padding:5px 0}
.product-alternatives{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.product-alternatives .section-title p{color:var(--muted);font-size:14px;margin:8px 0 0}
.product-alternatives .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.staff-sheet-dialog{width:min(900px,96vw);height:92dvh;max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:14px;background:#07111f;color:#fff;overflow:hidden}
.staff-sheet-dialog::backdrop{background:rgba(0,0,0,.75)}
.staff-sheet-dialog[open]{display:flex;flex-direction:column}
.staff-sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-shrink:0}
.staff-sheet-toolbar strong{font-size:14px;overflow-wrap:anywhere}
.staff-sheet-dialog iframe{width:100%;flex:1;min-height:0;border:0;background:#fff}
@media(max-width:760px){.product-alternatives .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-alternatives .product-card-body{padding:12px}}
/* Give photos a definite frame: intrinsic image/grid sizing must not overlap the copy. */
.product-image-link { --photo-radius:calc(var(--card-radius) - 7px); --photo-offset-y:4px; position:relative; display:block; width:100%; height:auto; aspect-ratio:4/5; flex:0 0 auto; overflow:hidden; border-radius:calc(var(--card-radius) - 1px) calc(var(--card-radius) - 1px) 0 0; isolation:isolate; background:#0b1b2a; }
/* All product photos use the shared framing in styles.css. */

.product-card-body { padding:14px; display:grid; gap:8px; }
.product-card-condition { min-width:0; color:#a5b8c9; font-size:11px; line-height:1.4; }
.product-card .stock-status { flex-shrink:0; font-size:9px; font-weight:600; }
.product-card-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.stock-status { color:#78c7f3; font-size:10px; font-weight:800; }
.stock-status.low { color:#ffcd8a; }
.product-card h3 { margin:0; font:600 17px/1.25 'DM Sans',sans-serif; letter-spacing:-.2px; }
.product-card p { min-height:0; margin:0; color:#8fa4b7; font-size:11px; line-height:1.45; }
.product-meta { display:flex; flex-wrap:wrap; gap:7px; }
.product-meta span { padding:6px 8px; border-radius:999px; color:#90a7bc; background:#07131f; font-size:9px; font-weight:800; }
.product-buy-row { display:grid; gap:4px; margin-top:2px; }
.product-buy-row strong { color:#f2f7fc; font:700 25px/1.2 Outfit; }
.product-buy-row > div { display:grid; grid-template-columns:44px minmax(0,1fr); gap:8px; margin-top:8px; }
.product-buy-row .button,.product-buy-row .secondary-button { min-width:0; min-height:44px; padding:0 8px; border-radius:10px; font-size:12px; box-shadow:none; }
.product-cart-button svg { width:20px; height:20px; }
.secondary-button.added { border-color:rgba(142,229,46,.45); color:var(--lime); }
.skeleton-card { min-height:430px; padding:14px; display:grid; gap:14px; }
.skeleton-card div,.skeleton-card span { border-radius:16px; background:linear-gradient(90deg,#081523,#10263a,#081523); background-size:200% 100%; animation:shimmer 1.2s linear infinite; }
.skeleton-card div { height:240px; }
.skeleton-card span { height:22px; }
@keyframes shimmer { to { background-position:-200% 0; } }
.shop-stock-panel { margin-top:70px; padding:38px; display:flex; align-items:center; justify-content:space-between; gap:45px; border:1px solid rgba(142,229,46,.2); border-radius:27px; background:linear-gradient(125deg,#0d2639,#0a1928); }
.shop-stock-panel h2 { margin:3px 0 8px; font:800 37px Outfit; }
.shop-stock-panel p:not(.mini-label) { max-width:650px; margin:0; color:#8fa5b9; line-height:1.65; }
.shop-stock-panel .secondary-button { flex:0 0 auto; }
.back-link { display:inline-flex; margin-bottom:25px; color:#8fafc9; font-size:12px; font-weight:800; }
.product-main { max-width:1280px; }
.product-detail { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; align-items:start; }
.product-gallery,.product-info,.cart-panel,.checkout-panel,.order-card { border:1px solid var(--line); border-radius:26px; background:#091725; box-shadow:0 18px 52px rgba(0,0,0,.18); }
.product-gallery { position:sticky; top:105px; min-width:0; padding:16px; }
.main-product-image { position:relative; display:block; height:clamp(280px,36vw,420px); min-height:0; overflow:hidden; border-radius:16px; background:radial-gradient(circle at 50% 46%,rgba(120,199,243,.1),transparent 65%),#06111d; }
.main-product-image { --photo-inset:10px; --photo-radius:9px; }
.product-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:12px; }
.product-thumbs button { --photo-inset:4px; --photo-radius:6px; height:68px; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#07131f; cursor:pointer; }
.product-thumbs button.active { border-color:var(--lime); }

.image-hint { margin:14px 2px 0; color:#667e94; font-size:10px; line-height:1.5; }
.product-info { min-width:0; padding:26px; }
.product-info h1 { margin:18px 0 14px; font:800 clamp(28px,3.2vw,42px)/1.08 Outfit; letter-spacing:-1px; overflow-wrap:anywhere; }
.product-summary { margin:0; color:#9db0c2; font-size:15px; line-height:1.75; white-space:pre-line; }
.product-price-row { display:flex; align-items:baseline; gap:12px; margin:22px 0; }
.product-price-row strong { color:var(--lime); font:800 42px Outfit; }
.product-price-row span { color:#70879c; text-decoration:line-through; font-weight:800; }
.product-checkout-notice { margin:-5px 0 18px; padding:13px 14px; display:grid; gap:4px; border:1px solid rgba(255,205,138,.25); border-radius:14px; background:rgba(255,205,138,.07); }
.product-checkout-notice.test { border-color:rgba(120,199,243,.25); background:rgba(17,136,211,.07); }
.product-checkout-notice b { color:#eef6ff; font:800 14px Outfit; }
.product-checkout-notice span { color:#8fa5b9; font-size:11px; line-height:1.55; }
.purchase-actions { display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-bottom:18px; }
.trust-mini-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin:18px 0; }
.trust-mini-grid span { padding:12px; border:1px solid var(--line); border-radius:13px; color:#adc0d0; background:#07131f; font-size:11px; font-weight:800; }
.product-panel { margin-top:16px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#07131f; }
.product-panel h2 { margin:0 0 9px; font:800 22px Outfit; }
.product-panel p,.product-panel li { color:#8fa4b8; font-size:13px; line-height:1.65; }
.product-panel a { color:var(--lime); font-weight:900; }
.product-panel ul { margin:0; padding-left:19px; }
.warranty-panel { border-color:rgba(142,229,46,.25); background:rgba(142,229,46,.06); }
.checkout-hero { margin-bottom:30px; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 430px; gap:25px; align-items:start; }
.cart-panel,.checkout-panel { padding:24px; }
.cart-lines { display:grid; gap:13px; }
.cart-line { padding:15px; display:grid; grid-template-columns:110px 1fr auto; gap:16px; align-items:center; border:1px solid var(--line); border-radius:17px; background:#07131f; }
.cart-line > .item-photo { width:110px; height:90px; }
.cart-line h3 { margin:9px 0 6px; font:800 18px Outfit; }
.cart-line p { max-width:520px; margin:0; color:#7f95a9; font-size:11px; line-height:1.5; }
.cart-line-controls { min-width:135px; display:grid; justify-items:end; gap:8px; }
.cart-line-controls strong { color:var(--lime); font:800 21px Outfit; }
.cart-line-controls label { display:grid; grid-template-columns:auto 60px; align-items:center; gap:7px; color:#7f95aa; font-size:10px; font-weight:800; }
.cart-line-controls input { min-height:35px; padding:0 7px; }
.cart-line-controls button { border:0; color:#ffaaa8; background:transparent; cursor:pointer; font-size:10px; font-weight:800; }
.checkout-panel { position:sticky; top:105px; }
.checkout-panel h2 { margin:20px 0 12px; font:800 25px Outfit; }
.checkout-account-box { padding:13px 14px; border:1px solid rgba(120,199,243,.2); border-radius:14px; color:#a8bed1; background:rgba(17,136,211,.07); font-size:11px; line-height:1.55; }
.summary-box { display:grid; gap:10px; margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:16px; background:#07131f; }
.summary-box div { display:flex; justify-content:space-between; gap:15px; color:#8da2b6; font-size:12px; }
.summary-box strong { color:#eef6ff; }
.summary-total { padding-top:10px; border-top:1px solid var(--line); }
.summary-total strong { color:var(--lime); font-size:19px; }
.lookup-panel { max-width:620px; }
.order-card { padding:28px; }
.order-card-head { display:flex; justify-content:space-between; gap:25px; margin-bottom:25px; }
.order-card-head h2 { margin:10px 0 4px; color:var(--lime); font:800 46px Outfit; }
.order-card-head p { margin:0; color:#8da3b8; }
.order-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; }
.order-grid h3,.order-timeline h3 { margin:0 0 14px; font:800 24px Outfit; }
.order-lines { display:grid; gap:12px; }
.order-line { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:14px; padding:13px; border:1px solid var(--line); border-radius:15px; background:#07131f; }
.order-line > .item-photo { width:80px; height:68px; }
.order-line h3 { margin:0 0 5px; font-size:15px; }
.order-line p { margin:0; color:#7f95a9; font-size:10px; }
.order-line strong { color:var(--lime); }
.order-grid aside { padding:18px; border:1px solid var(--line); border-radius:18px; background:#07131f; }
.order-grid aside p { color:#a0b4c6; font-size:12px; line-height:1.55; }
.summary-box.compact { background:#091725; }
.order-timeline { margin-top:25px; padding-top:22px; border-top:1px solid var(--line); }
.order-timeline ol { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.order-timeline li { padding:13px; display:grid; grid-template-columns:180px 1fr auto; gap:12px; border:1px solid var(--line); border-radius:13px; background:#07131f; }
.order-timeline b { color:#eef6ff; }
.order-timeline span,.order-timeline small { color:#7890a6; font-size:10px; }
.store-admin-grid { display:grid; grid-template-columns:minmax(520px,.95fr) minmax(0,1.05fr); gap:20px; align-items:start; }
.store-admin-form,.store-admin-list,.store-orders-panel { padding:22px; border:1px solid var(--line); border-radius:20px; background:#091725; }
.admin-body .store-admin-grid {grid-template-columns:minmax(0,1fr);}
.admin-body .nav-signout {border:1px solid #294058;border-radius:10px;padding:9px 13px;color:#d8e1ec;background:#0b1b2b;font:inherit;cursor:pointer;}
.admin-body .nav-signout:hover {color:var(--lime);border-color:var(--lime);}
.store-admin-form h3,.store-admin-list h3,.store-orders-panel h3 { margin:0 0 14px; font:800 22px Outfit; }
.listing-helper { margin-bottom:18px; padding:18px; border:1px solid rgba(142,229,46,.22); border-radius:18px; background:linear-gradient(135deg,rgba(142,229,46,.08),rgba(17,136,211,.06)); }
.listing-helper h3 { margin:0 0 10px; }
.listing-helper ol { margin:0; padding-left:18px; color:#9db1c4; font-size:11px; line-height:1.7; }
.staff-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.staff-guide-grid article { padding:22px; border:1px solid var(--line); border-radius:19px; background:#091725; }
.staff-guide-grid span { color:var(--lime); font:900 10px Outfit; letter-spacing:1px; }
.staff-guide-grid h3 { margin:16px 0 7px; font:800 20px Outfit; }
.staff-guide-grid p { margin:0; color:#8fa4b8; font-size:12px; line-height:1.6; }
.listing-readiness { margin-bottom:18px; padding:16px; border:1px solid rgba(255,205,138,.23); border-radius:18px; background:linear-gradient(135deg,rgba(255,205,138,.08),rgba(17,136,211,.04)); }
.listing-readiness.ready { border-color:rgba(142,229,46,.3); background:linear-gradient(135deg,rgba(142,229,46,.1),rgba(17,136,211,.04)); }
.listing-readiness.blocked { border-color:rgba(255,120,120,.34); background:linear-gradient(135deg,rgba(255,99,99,.1),rgba(17,136,211,.04)); }
.listing-readiness-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.listing-readiness-head span { padding:6px 9px; border-radius:999px; color:#211300; background:#ffcd8a; font-size:8px; font-weight:900; letter-spacing:.7px; text-transform:uppercase; }
.listing-readiness.ready .listing-readiness-head span { color:#07111f; background:var(--lime); }
.listing-readiness.blocked .listing-readiness-head span { color:#250606; background:#ff9a9a; }
.listing-readiness-head strong { color:#eef6ff; font:800 16px Outfit; }
.readiness-meter { overflow:hidden; height:8px; border-radius:999px; background:#07131f; border:1px solid rgba(202,224,245,.08); }
.readiness-meter i { display:block; width:0; height:100%; border-radius:999px; background:linear-gradient(90deg,#ffcd8a,var(--lime)); transition:width .22s ease; }
.listing-readiness ul { margin:12px 0 0; padding:0; display:grid; gap:7px; list-style:none; }
.listing-readiness li { display:flex; gap:7px; color:#8ca3b8; font-size:10px; line-height:1.4; }
.listing-readiness li.done { color:#b8d7c0; }
.listing-readiness li b { color:#ffcd8a; }
.listing-readiness li.done b { color:var(--lime); }
.listing-fieldset { margin:0 0 16px; padding:17px; border:1px solid rgba(202,224,245,.13); border-radius:18px; background:#07131f; }
.listing-fieldset legend { padding:0 8px; color:var(--lime); font:800 10px Outfit; letter-spacing:.8px; text-transform:uppercase; }
.listing-fieldset label { margin-bottom:12px; }
.included-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:4px 0 14px; }
.included-checks label { min-height:40px; margin:0; padding:10px 11px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:12px; color:#aebed0; background:#091725; font-size:10px; font-weight:800; letter-spacing:0; text-transform:none; }
.included-checks input { width:15px; height:15px; min-height:auto; accent-color:var(--lime); }
.condition-prompts { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-top:-3px; }
.condition-prompts button { min-height:36px; border:1px solid rgba(120,199,243,.18); border-radius:10px; color:#a8bed1; background:#091725; cursor:pointer; font-size:9px; font-weight:800; }
.condition-prompts button:hover { border-color:rgba(142,229,46,.45); color:var(--lime); }
.mini-action { width:100%; min-height:36px; margin:0 0 12px; border:1px solid rgba(120,199,243,.18); border-radius:11px; color:#78c7f3; background:rgba(17,136,211,.08); cursor:pointer; font-size:10px; font-weight:900; }
.mini-action:hover { border-color:rgba(142,229,46,.42); color:var(--lime); }
.photo-guidance { margin:0 0 12px; padding:12px 13px; border:1px solid rgba(120,199,243,.18); border-radius:13px; background:rgba(17,136,211,.07); }
.photo-guidance span { display:block; margin-bottom:4px; color:#78c7f3; font-size:9px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }
.photo-guidance p { margin:0; color:#93a9bb; font-size:10px; line-height:1.55; }
.store-admin-form .secondary-button { width:100%; margin-top:8px; }
.photo-preview-grid,.admin-product-images { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:10px 0; }
.photo-preview-grid img,.admin-product-images img { width:100%; height:58px; object-fit:cover; border-radius:9px; background:#07131f; }
.admin-product-list { display:grid; gap:12px; }
.admin-product-card { padding:14px; display:grid; grid-template-columns:92px 1fr auto; gap:14px; border:1px solid var(--line); border-radius:15px; background:#07131f; }
.admin-product-card > .item-photo { width:92px; height:82px; }
.admin-product-card h4 { margin:0 0 6px; font:800 16px Outfit; }
.admin-product-card p { margin:0; color:#8197ac; font-size:10px; line-height:1.45; }
.admin-product-card strong { color:var(--lime); }
.admin-card-actions { display:grid; align-content:start; gap:8px; justify-items:end; }
.admin-card-actions a { color:#78c7f3; font-size:10px; font-weight:800; }
.admin-image-tile { position:relative; }
.admin-image-tile button { position:absolute; top:3px; right:3px; width:22px; height:22px; border:0; border-radius:50%; color:white; background:rgba(0,0,0,.65); cursor:pointer; font-size:10px; }

/* Consistent buying and stock-editing surfaces. */
.store-stock-head { display:block; }
.store-stock-head .store-filters { width:100%; margin-top:24px; grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px; border:1px solid var(--line); border-radius:18px; background:#091725; }
.store-filters input,.store-filters select { width:100%; min-width:0; }
.product-card { min-width:0; display:flex; flex-direction:column; }
.product-card-body { flex:1; display:flex; flex-direction:column; }
.product-card-body h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.5em; }
.product-card-body .product-buy-row { margin-top:auto; padding-top:4px; }
.product-card-body .delivered-price { color:#9db2c5; font-size:11px; line-height:1.4; margin:0; }
.product-info .delivered-price { color:#b5c8da; font-size:12px; line-height:1.6; margin:10px 0 0; }
.product-info .delivered-price { margin:0 0 18px; }
.product-question a { display:inline-block; padding:12px 0; color:#a5ef42; font-weight:700; }
button.main-product-image { width:100%; border:1px solid var(--line); cursor:zoom-in; padding:0; }
.product-image-link:focus-visible,button.main-product-image:focus-visible,.product-thumbs button:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
.product-thumbs button { min-width:0; }
.photo-viewer { width:min(1280px,96vw); max-width:96vw; height:min(940px,94dvh); max-height:94dvh; margin:auto; padding:16px; border:1px solid #34516b; border-radius:22px; color:#edf5fc; background:#07111f; overflow:hidden; }
.photo-viewer[open] { display:flex; flex-direction:column; }
.photo-viewer::backdrop { background:rgba(0,5,12,.88); }
.photo-viewer-bar,.photo-viewer-actions { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.photo-viewer-actions { margin-top:14px; }
.photo-viewer button { min-height:44px; padding:10px 16px; border:1px solid #34516b; border-radius:12px; background:#102337; color:#edf5fc; cursor:pointer; }
.photo-viewer button:disabled { opacity:.4; cursor:default; }
.photo-viewer button[aria-pressed=true] { color:#07111f; background:#a5ef42; }
.photo-viewer-frame { position:relative; flex:1; min-height:0; margin-top:12px; overflow:hidden; background:#040b12; border-radius:12px; touch-action:none; cursor:zoom-in; user-select:none; }
.photo-viewer-frame > img { position:absolute; left:50%; top:50%; width:auto; height:auto; max-width:none; max-height:none; border-radius:4px; object-fit:contain; transform-origin:center; pointer-events:none; }
.photo-viewer-frame[data-zoomed=true] { cursor:grab; }
.photo-viewer-frame[data-dragging=true] { cursor:grabbing; }
.photo-zoom-controls { display:flex; align-items:center; gap:8px; }
.photo-viewer .photo-zoom-controls button { min-width:44px; padding:8px; font-size:18px; }
.photo-viewer .photo-zoom-controls [data-reset-photo] { min-width:65px; font-size:13px; }
.photo-viewer-help { flex-shrink:0; margin:10px 0 0; color:#a3b9cc; text-align:center; font-size:12px; }
.photo-viewer-frame:focus-visible { outline:2px solid var(--lime); outline-offset:2px; }
body:has(.photo-viewer[open]) { overflow:hidden; }
@media(max-width:540px) { .photo-viewer { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border-radius:0; padding:10px; } .photo-viewer-actions { gap:5px; } .photo-viewer .photo-nav-label { display:none; } .photo-viewer-help { font-size:11px; } }
.listing-save-state { position:sticky; top:12px; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; padding:12px 14px; border:1px solid #34516b; border-radius:12px; background:#102337; color:#cce2f2; font-weight:700; font-size:12px; }
.admin-product-images { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.managed-photo { padding:10px; border:1px solid #2b4359; border-radius:14px; background:#0b1c2c; min-width:0; }
.admin-product-images .managed-photo img { height:auto; aspect-ratio:4/3; object-fit:contain; }
.managed-photo > span { display:block; padding:8px 0; color:#a5ef42; font-size:12px; font-weight:700; }
.managed-photo .photo-controls { display:flex; flex-wrap:wrap; gap:5px; }
.managed-photo .photo-controls button { position:static; width:auto; height:auto; min-height:36px; padding:6px 10px; border:1px solid #34516b; border-radius:8px; background:#112a40; color:#d6e7f5; font-size:11px; }
.managed-photo .photo-controls button:disabled { opacity:.4; cursor:default; }
.inventory-search { display:grid; gap:8px; margin-bottom:16px; color:#b7cbdc; font-size:12px; }
.inventory-search input { min-width:0; width:100%; }
@media(max-width:760px){
  .store-stock-head .store-filters { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; }
  .store-filters > label:first-child,.store-search-actions { grid-column:1/-1; }
  .photo-viewer { padding:10px; border-radius:14px; }
  .photo-viewer button { padding:8px 12px; }
  .listing-save-state { top:6px; }
}
.store-admin-message { min-height:20px; margin:10px 0; color:#91a8bc; font-size:11px; }
.store-admin-message[data-tone="success"] { color:var(--lime); }
.store-admin-message[data-tone="error"] { color:#ff9a9a; }
.listing-publish-actions{padding:20px;border:1px solid #34516b;border-radius:16px;background:#102337}
.listing-publish-hint{margin:10px 0 16px;color:#b4c8db;font-size:14px;line-height:1.5;text-align:center}
.listing-secondary-actions{display:flex;gap:12px;flex-wrap:wrap}.listing-secondary-actions>button{flex:1}
.listing-action-feedback{margin:0 0 16px;padding:14px 16px;border:1px solid #42627d;border-radius:12px;color:#ecf4ff;background:#0b1b2c;font-size:15px;line-height:1.5}
.listing-action-feedback[hidden]{display:none}.listing-action-feedback p{margin:0}.listing-action-feedback ul{margin:10px 0 0;padding-left:20px}
.listing-action-feedback[data-tone="error"]{border-color:#dc8181;color:#ffc5c5}.listing-action-feedback[data-tone="success"]{border-color:#94d84a;color:#b8f67f}
.listing-action-feedback li+li{margin-top:8px}.listing-action-feedback li button{padding:0;border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;text-align:left;cursor:pointer}
.section-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.section-actions .button,.section-actions .secondary-button { min-height:42px; padding:0 16px; font-size:10px; white-space:nowrap; }
.launch-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.launch-check-grid article { position:relative; overflow:hidden; min-height:155px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#091725; }
.launch-check-grid article.ready { border-color:rgba(142,229,46,.27); background:linear-gradient(145deg,rgba(142,229,46,.09),#091725 58%); }
.launch-check-grid article.needs-work { border-color:rgba(255,182,96,.24); background:linear-gradient(145deg,rgba(255,140,46,.08),#091725 58%); }
.launch-check-grid span { display:inline-flex; margin-bottom:17px; padding:6px 9px; border-radius:999px; color:#07111f; background:var(--lime); font-size:8px; font-weight:900; letter-spacing:.7px; text-transform:uppercase; }
.launch-check-grid article.needs-work span { color:#211300; background:#ffcd8a; }
.launch-check-grid h3 { margin:0 0 7px; font:800 18px Outfit; }
.launch-check-grid p { margin:0; color:#91a7ba; font-size:11px; line-height:1.55; }
.launch-check-grid a { display:inline-flex; margin-top:12px; color:#78c7f3; font-size:10px; font-weight:900; }
.launch-setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.launch-setup-grid article,.launch-detail-grid article,.launch-status-panel article { padding:22px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(145deg,#091725,#07131f); }
.launch-setup-grid article > span,.launch-status-panel article > span { display:inline-grid; place-items:center; min-width:32px; height:32px; margin-bottom:16px; border-radius:12px; color:#07111f; background:var(--lime); font:900 11px Outfit; letter-spacing:.7px; }
.launch-setup-grid h3,.launch-detail-grid h3,.launch-status-panel h3 { margin:0 0 10px; font:800 21px Outfit; }
.launch-setup-grid ul { margin:0; padding-left:18px; color:#93a9bc; font-size:12px; line-height:1.7; }
.launch-setup-grid li + li { margin-top:6px; }
.launch-status-panel { margin-bottom:14px; }
.launch-status-panel article { display:grid; grid-template-columns:auto 1fr; gap:10px 16px; align-items:start; border-color:rgba(120,199,243,.18); background:linear-gradient(135deg,rgba(17,136,211,.09),#091725 66%); }
.launch-status-panel article.ready { border-color:rgba(142,229,46,.28); background:linear-gradient(135deg,rgba(142,229,46,.09),#091725 66%); }
.launch-status-panel article.needs-work { border-color:rgba(255,205,138,.28); background:linear-gradient(135deg,rgba(255,205,138,.08),#091725 66%); }
.launch-status-panel article > span { grid-row:1 / span 2; margin:0; }
.launch-status-panel h3 { margin-top:2px; }
.launch-status-panel p { margin:0; color:#91a7ba; font-size:12px; line-height:1.65; }
.launch-status-list { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:8px; }
.launch-status-list span { min-height:38px; display:flex; align-items:center; gap:7px; padding:9px 10px; border:1px solid var(--line); border-radius:12px; color:#9cb2c6; background:#06111d; font-size:10px; font-weight:800; }
.launch-status-list b { color:var(--lime); font-size:12px; }
.launch-status-list span.todo b { color:#ffcd8a; }
.launch-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.launch-detail-grid p { margin:0 0 12px; color:#8fa5b9; font-size:12px; line-height:1.6; }
.launch-detail-grid code { display:block; overflow:auto; padding:13px 14px; border:1px solid rgba(120,199,243,.18); border-radius:13px; color:#dceaff; background:#06111d; font-size:11px; white-space:nowrap; }
.launch-detail-grid a { color:#78c7f3; font-size:11px; font-weight:900; }
.store-order-status { display:grid; grid-template-columns:1fr 1.25fr auto; gap:8px; align-items:center; }
.store-order-status select,.store-order-status input { min-height:36px; font-size:11px; }
.email-setup-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:14px; margin-bottom:18px; }
.email-status-card,.email-test-card { padding:22px; border:1px solid var(--line); border-radius:20px; background:#091725; }
.email-status-card.ready { border-color:rgba(142,229,46,.28); background:linear-gradient(135deg,rgba(142,229,46,.08),#091725); }
.email-status-card.needs-work { border-color:rgba(255,205,138,.28); background:linear-gradient(135deg,rgba(255,205,138,.08),#091725); }
.email-status-card span { display:inline-flex; min-height:24px; align-items:center; padding:0 10px; border-radius:999px; color:#07111f; background:#ffcd8a; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.7px; }
.email-status-card.ready span { background:var(--lime); }
.email-status-card h3 { margin:14px 0 6px; font:800 20px Outfit; }
.email-status-card p { margin:0; color:#8fa5b9; font-size:12px; line-height:1.55; }
.email-test-card { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
.email-test-card label { margin:0; }
.email-test-card .button { min-height:44px; white-space:nowrap; }
.email-toolbar { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 12px; }
.email-toolbar p { margin:0; color:#8fa5b9; font-size:12px; }
.email-status { display:inline-flex; min-height:26px; align-items:center; padding:0 10px; border-radius:999px; color:#07111f; background:#ffcd8a; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.6px; }
.email-status.sent { background:var(--lime); }
.email-status.failed { background:#ff9a9a; color:#280707; }
.email-status.queued { background:#78c7f3; color:#031723; }
.error-text { color:#ff9a9a!important; }
@media(max-width:1100px){.shop-hero,.cart-layout,.order-grid,.store-admin-grid{grid-template-columns:1fr}.checkout-panel{position:static}}
@media(max-width:820px){.product-detail{grid-template-columns:minmax(0,1fr);gap:18px}.product-gallery{position:static}.main-product-image{height:clamp(260px,65vw,360px)}}
@media(max-width:1100px){.launch-check-grid,.launch-setup-grid,.staff-guide-grid,.email-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-status-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shop-main{padding:40px 16px 75px}.shop-copy h1{font-size:46px;letter-spacing:-2.4px}.shop-actions>a{width:100%}.shop-visual{min-height:320px}.checkout-status-banner{align-items:flex-start;flex-direction:column}.shop-benefits,.store-filters,.trust-mini-grid,.included-checks,.condition-prompts,.launch-check-grid,.launch-setup-grid,.launch-detail-grid,.launch-status-list,.staff-guide-grid,.email-setup-grid,.email-test-card{grid-template-columns:1fr}.section-actions{width:100%;justify-content:stretch}.section-actions .button,.section-actions .secondary-button{width:100%}.email-toolbar{align-items:flex-start;flex-direction:column}.store-stock-head{align-items:flex-start;flex-direction:column}.shop-stock-panel{align-items:flex-start;flex-direction:column;padding:25px}.shop-stock-panel .secondary-button{width:100%}.product-info{padding:22px}.product-gallery{padding:12px}.purchase-actions{grid-template-columns:1fr}.cart-line,.order-line,.admin-product-card{grid-template-columns:1fr}.cart-line-controls{justify-items:start}.order-card-head{align-items:flex-start;flex-direction:column}.order-timeline li{grid-template-columns:1fr}.photo-preview-grid,.admin-product-images{grid-template-columns:repeat(3,1fr)}}
@media(max-width:920px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
@media(max-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{--card-radius:13px}.product-card-body{padding:10px;gap:7px}.product-card h3{font-size:14px;line-height:1.3}.product-card-condition{font-size:10px}.product-card .product-card-top{align-items:start;gap:5px}.product-card .stock-status{font-size:8px;line-height:1.75}.product-buy-row strong{font-size:23px}.product-buy-row>div{gap:6px}.product-buy-row .button{font-size:11px}.product-card-body .delivered-price{font-size:10px;min-height:2.8em}}
.review-reward-strip{padding:16px 20px;margin:0 0 24px;background:#172a23;border:1px solid #415b33;border-radius:14px;color:#d9e8de;font-size:14px;line-height:1.65}.review-reward-strip strong{color:#e4ffce}.review-reward-strip a{display:inline-block;color:#c0f38c;text-decoration:underline;margin-left:6px}
/* Availability is a quiet secondary filter; in-stock products remain the default. */
.stock-availability{display:flex;align-items:center;gap:.7rem;width:fit-content;margin:.35rem 0 1rem;color:#b7c2d5;font-size:.875rem}
.stock-availability select{font:inherit;color:#eff3fc;background:#101b2d;border:1px solid #344158;border-radius:10px;padding:.55rem 2rem .55rem .75rem;min-height:42px}
.stock-status.sold{color:#c3cbda;background:#243044}
.sold-product-card .product-buy-row>div{grid-template-columns:1fr}
.sold-product-card .product-buy-row>div>a{width:100%;text-align:center}
.product-sold-notice{margin:1.25rem 0;padding:1rem;border:1px solid #344158;border-radius:14px;background:#101b2d;color:#d5deec}
.product-sold-notice b{font-size:1.05rem;color:#fff}
.product-sold-notice p{margin:.5rem 0 1rem}
.listing-restock-note{padding:1rem;border:1px solid #344158;border-radius:12px;color:#cbd6e7;background:#101b2d}
/* Keep phone baskets scannable without a tall, mostly empty card per item. */
@media(max-width:760px){
  .cart-panel{padding:16px}
  .cart-line{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px;align-items:start}
  .cart-line>.item-photo{width:82px;height:100px}
  .cart-line>div{min-width:0}
  .cart-line h3{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
  .cart-line-controls{grid-column:1/-1;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
  .cart-line-controls strong{font-size:19px}
  .cart-line-controls label{grid-template-columns:auto 48px}
  .cart-line-controls input,.cart-line-controls button{min-height:44px}
  .cart-line-controls button{font-size:11px;padding:0 4px}
}
/* Compact checkout and staff promotion controls share the existing form style. */
.shop-promotion-box { margin: 0 0 1.2rem; padding: 1rem; border: 1px solid var(--border, #355267); border-radius: 12px; }
.shop-promotion-box summary { cursor: pointer; font-weight: 700; }
.shop-promotion-box label { display: block; margin-top: 1rem; }
.promotion-code-row { display: flex; gap: .6rem; align-items: center; margin-top: .5rem; flex-wrap: wrap; }
.promotion-code-row input { flex: 1 1 130px; min-width: 0; letter-spacing: .08em; }
.promotion-code-row button { min-height: 44px; }
.promotion-admin-form { max-width: 760px; }
#cart-discount-row strong { color: var(--lime, #b4eb74); }
[hidden]#cart-discount-row { display: none; }
