/* Ordering: shop, my orders, inventory. Inherits site.css type and colours. */
.shop-page{max-width:1180px;margin:0 auto;padding:96px 20px 120px}
.shop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.shop-head h1{margin:0;font-size:34px}
.shop-head .sub{margin:6px 0 0;opacity:.7}
.shop-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.shop-tabs button{background:transparent;border:1px solid rgba(var(--ink-rgb), .18);color:inherit;border-radius:999px;padding:7px 14px;cursor:pointer;font:inherit;font-size:14px}
.shop-tabs button.on{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .7)}
.shop-search{width:100%;max-width:420px;padding:9px 12px;border-radius:10px;border:1px solid rgba(var(--ink-rgb), .18);background:rgba(var(--ink-rgb), .04);color:inherit;font:inherit}
.shop-layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.shop-group{margin:0 0 22px}
.shop-group h3{margin:0 0 8px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.shop-table{width:100%;border-collapse:collapse;font-size:14px}
.shop-table th{text-align:left;font-weight:500;opacity:.6;padding:6px 8px;border-bottom:1px solid rgba(var(--ink-rgb), .12)}
.shop-table td{padding:7px 8px;border-bottom:1px solid rgba(var(--ink-rgb), .06);vertical-align:middle}
.shop-table td.num{text-align:right;white-space:nowrap}
.shop-table tr.picked{background:rgba(var(--accent-rgb), .08)}
.qty{display:inline-flex;align-items:center;gap:4px}
.qty button{width:28px;height:28px;border-radius:8px;border:1px solid rgba(var(--ink-rgb), .2);background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1}
.qty input{width:52px;text-align:center;padding:5px 4px;border-radius:8px;border:1px solid rgba(var(--ink-rgb), .18);background:rgba(var(--ink-rgb), .04);color:inherit;font:inherit}
.bag{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;border:1px solid rgba(var(--ink-rgb), .14);border-radius:16px;padding:16px;background:rgba(var(--bg-rgb), .75);backdrop-filter:blur(8px)} /* sticky and taller than the viewport left the confirm button unreachable; the bag scrolls inside the viewport */
.bag h2{margin:0 0 10px;font-size:20px}
.bag-lines{max-height:280px;overflow:auto;margin:0 0 10px;padding:0;list-style:none;font-size:13px}
.bag-lines li{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:5px 0;border-bottom:1px solid rgba(var(--ink-rgb), .06)}
.bag-lines li .rm{background:none;border:0;color:rgb(var(--danger-rgb));cursor:pointer}
.bag-total{display:flex;justify-content:space-between;font-size:15px;margin:6px 0}
.bag-total.grand{font-size:18px;font-weight:600;border-top:1px solid rgba(var(--ink-rgb), .14);padding-top:8px}
.bag .field{display:grid;gap:4px;margin:8px 0;font-size:13px}
.bag input,.bag select,.bag textarea{padding:8px 10px;border-radius:9px;border:1px solid rgba(var(--ink-rgb), .18);background:rgba(var(--ink-rgb), .04);color:inherit;font:inherit;font-size:14px}
.bag .cta{width:100%;margin-top:10px;text-align:center;cursor:pointer;border:0;font:inherit}
.bag .cta[disabled]{opacity:.5;cursor:not-allowed}
.shop-note{font-size:12px;opacity:.65;margin:8px 0 0}
.status{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(var(--ink-rgb), .2)}
.status.submitted{color:rgb(var(--new-rgb));border-color:rgba(var(--new-rgb), .5)}
.status.processing{color:rgb(var(--info-rgb));border-color:rgba(var(--info-rgb), .5)}
.status.completed{color:rgb(var(--ok-rgb));border-color:rgba(var(--ok-rgb), .5)}
.status.cancelled{color:rgb(var(--danger-rgb));border-color:rgba(var(--danger-rgb), .5)}
.orders-list{display:grid;gap:12px}
.order-card{border:1px solid rgba(var(--ink-rgb), .12);border-radius:14px;padding:14px 16px;background:rgba(var(--ink-rgb), .03);cursor:pointer}
.order-card:hover{border-color:rgba(var(--accent-rgb), .6)}
.order-card .row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.order-card .muted{opacity:.65;font-size:13px}
.order-detail{border:1px solid rgba(var(--ink-rgb), .14);border-radius:16px;padding:18px;background:rgba(var(--bg-rgb), .7)}
.order-detail h2{margin:0 0 4px}
.order-detail dl{display:grid;grid-template-columns:140px 1fr;gap:4px 12px;font-size:14px;margin:12px 0}
.order-detail dt{opacity:.6}
.events{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.events li{padding:4px 0;border-bottom:1px solid rgba(var(--ink-rgb), .06)}
.events li .mono{opacity:.6;margin-right:8px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.actions button{padding:9px 14px;border-radius:10px;border:1px solid rgba(var(--ink-rgb), .2);background:transparent;color:inherit;font:inherit;cursor:pointer}
.actions button.primary{background:rgba(var(--accent-rgb), .25);border-color:rgba(var(--accent-rgb), .8)}
.actions button[disabled]{opacity:.5;cursor:not-allowed}
.banner{padding:12px 14px;border-radius:12px;border:1px solid rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .1);margin:0 0 16px}
.banner.err{border-color:rgba(var(--danger-rgb), .6);background:rgba(var(--danger-rgb), .1)}
.inv-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
@media (max-width:900px){.shop-layout{grid-template-columns:1fr}.bag{position:static}.order-detail dl{grid-template-columns:1fr}}

/* Native controls follow the dark page; autofill must not paint fields white. */
.shop-page{color-scheme:dark}
.shop-page input,.shop-page select,.shop-page textarea{background:rgba(var(--ink-rgb), .05);color:var(--field-text);border:1px solid rgba(var(--ink-rgb), .18);border-radius:9px;padding:8px 10px;font:inherit;font-size:14px}
.shop-page input:focus,.shop-page select:focus,.shop-page textarea:focus{outline:none;border-color:rgba(var(--accent-rgb), .8);background:rgba(var(--ink-rgb), .07)}
.shop-page input::placeholder,.shop-page textarea::placeholder{color:rgba(var(--ink-rgb), .45)}
.shop-page input:-webkit-autofill,.shop-page textarea:-webkit-autofill,.shop-page select:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--field) inset;-webkit-text-fill-color:var(--field-text);caret-color:var(--field-text);transition:background-color 9999s}
.shop-page select option{background:var(--field);color:var(--field-text)}
.actions input{min-width:180px}
.qty input{padding:5px 4px}

/* Phones: each product is a small card (ref · item · price, spec and number under it, quantity
   on the right) instead of a six-column table that never fit. */
.bag-bar,.bag-back{display:none}
@media (max-width:720px){
  .shop-table thead{display:none}
  .shop-table,.shop-table tbody{display:block}
  .shop-table tr{display:grid;grid-template-columns:42px 1fr auto;grid-template-areas:"ref item price" "ref spec qty" "ref no qty";column-gap:10px;row-gap:2px;padding:10px 0;border-bottom:1px solid rgba(var(--ink-rgb), .08);align-items:center}
  .shop-table td{display:block;padding:0;border:0}
  .shop-table td.c-ref{grid-area:ref;align-self:start;padding-top:2px}
  .shop-table td.c-item{grid-area:item}
  .shop-table td.c-spec{grid-area:spec;opacity:.75;font-size:13px}
  .shop-table td.c-no{grid-area:no;font-size:12px;opacity:.6}
  .shop-table td.c-price{grid-area:price;text-align:right}
  .shop-table td.c-qty{grid-area:qty;text-align:right;align-self:end}
  .qty input{width:44px}
  .shop-head h1{font-size:28px}
}
@media (max-width:900px){
  .shop-page{padding-bottom:150px}
  .bag-back{display:inline-block;margin:0 0 10px;font-size:13px;color:inherit}
  .bag-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-radius:14px;background:var(--bronze);color:var(--on-accent);text-decoration:none;font-weight:600;box-shadow:0 8px 30px rgba(var(--shadow-rgb), .5)}
  .bag-bar[hidden]{display:none}
}

/* Product photos (js/amii-products.js): white tiles, as in the catalogue, on either theme. */
.amii-photo,.shop-lineup,.shop-thumb,.bag-thumb,.og-photo{background:#fff;border-radius:10px;cursor:zoom-in;object-fit:contain}
.shop-group-head{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:16px;align-items:center;margin:0 0 10px;padding:12px;border:1px solid rgba(var(--ink-rgb), .1);border-radius:14px;background:rgba(var(--ink-rgb), .025)}
.shop-lineup{width:100%;max-height:150px;padding:10px;box-sizing:border-box}
.shop-lineup.tall{max-height:190px;width:auto;justify-self:center;padding:8px 24px}
.shop-group-text h3{margin:0 0 4px}
.shop-step{margin:0 0 4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze)}
.shop-what{margin:0;font-size:13.5px;line-height:1.5;opacity:.8}
.shop-table th.c-ph,.shop-table td.c-ph{width:56px;padding-right:0}
.shop-thumb{display:block;width:48px;height:48px;padding:3px;box-sizing:border-box}
.bag-item{display:flex;gap:8px;align-items:center;min-width:0}
.bag-thumb{width:32px;height:32px;padding:2px;box-sizing:border-box;flex:none}
.amii-zoom{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(0,0,0,.72);padding:24px;cursor:zoom-out}
.amii-zoom[hidden]{display:none}
.amii-zoom figure{margin:0;display:grid;gap:10px;justify-items:center;max-width:min(92vw,1100px)}
.amii-zoom img{max-width:100%;max-height:78vh;background:#fff;border-radius:14px;padding:18px;box-sizing:border-box;object-fit:contain}
.amii-zoom figcaption{color:#f2ebd8;font-size:14px}
.amii-zoom button{position:absolute;top:16px;right:16px;border:0;border-radius:999px;width:40px;height:40px;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer}

/* Order guide (js/order-guide.js) */
.order-guide{margin:0 0 22px;padding:18px;border:1px solid rgba(var(--accent-rgb), .35);border-radius:18px;background:rgba(var(--accent-rgb), .05);display:grid;gap:14px}
.og-head h2{margin:0;font-size:24px}
.og-sub{margin:4px 0 0;opacity:.75;font-size:14px}
.og-qs{display:grid;gap:12px}
.og-q{display:grid;gap:6px}
.og-q-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:14px}
.og-q-title span{font-size:12px;color:var(--bronze)}
.og-chips{display:flex;gap:8px;flex-wrap:wrap}
.og-chip{display:grid;gap:1px;text-align:left;border:1px solid rgba(var(--ink-rgb), .18);background:transparent;color:inherit;border-radius:12px;padding:8px 12px;cursor:pointer;font:inherit;font-size:14px}
.og-chip small{opacity:.6;font-size:11.5px}
.og-chip.on{border-color:rgba(var(--accent-rgb), .9);background:rgba(var(--accent-rgb), .18)}
.og-two{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.shop-page .og-n{width:70px}
.og-inc{font-size:14px;display:flex;gap:6px;align-items:center;cursor:pointer}
.og-wait{margin:0;font-size:13px;opacity:.7}
.og-result{display:grid;gap:10px}
.og-part{display:grid;grid-template-columns:96px 1fr auto;gap:14px;align-items:center;padding:10px;border:1px solid rgba(var(--ink-rgb), .12);border-radius:14px;background:rgba(var(--ink-rgb), .03)}
.og-part.none{grid-template-columns:1fr;opacity:.8}
.og-part.none p{margin:4px 0 0;font-size:13.5px}
.og-photo{width:96px;height:96px;padding:6px;box-sizing:border-box}
.og-photo.tall{padding:4px 22px}
.og-part-body{display:grid;gap:3px;min-width:0}
.og-step{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze)}
.og-why{margin:0;font-size:13px;opacity:.75}
.og-spec{font-size:13px;opacity:.8}
.shop-page .og-select{max-width:100%;font-size:13px;padding:6px 8px}
.og-side{display:grid;gap:6px;justify-items:end}
.og-qty{font-size:13px;opacity:.7}
.og-add{border:0;border-radius:999px;padding:8px 14px;background:rgb(var(--accent-rgb));color:#120e08;font:inherit;font-size:13.5px;cursor:pointer;white-space:nowrap}
.og-see{border:0;background:none;padding:0;color:var(--bronze);font:inherit;font-size:12.5px;cursor:pointer}
.og-all{justify-self:start}
.og-note{margin:0;font-size:12px;opacity:.6}
@media (max-width:700px){
  .shop-group-head{grid-template-columns:1fr}
  .shop-lineup{max-height:120px}
  .og-part{grid-template-columns:72px 1fr}
  .og-photo{width:72px;height:72px}
  .og-side{grid-column:1 / -1;grid-template-columns:auto 1fr auto;align-items:center;justify-items:start}
  .shop-table tr{grid-template-columns:52px 42px 1fr auto;grid-template-areas:"ph ref item price" "ph ref spec qty" "ph ref no qty"}
  .shop-table td.c-ph{grid-area:ph;align-self:start;width:auto}
}
.og-hint{font-size:12.5px;opacity:.7;max-width:520px}
