/* Вкладка «Магазин» — клубный мерч. Токены темы из styles.css (--panel, --line, --muted, --acid). */
.shop-view{--shop-accent:#ffc400;--shop-ink:#15130a;min-width:0}
.shop-view .button.primary{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-ink)}
.shop-view .button.primary:hover{background:#ffdb52;border-color:#ffdb52}
.shop-view .button.primary:disabled{background:#3a3627;border-color:#3a3627;color:#8d8875;cursor:not-allowed}
.shop-view :focus-visible{outline:2px solid var(--shop-accent);outline-offset:2px}

.shop-heading{margin-bottom:20px}
.shop-cart-button{position:relative;gap:10px}
.shop-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--shop-accent);color:var(--shop-ink);font-size:.75rem;font-weight:700}
.shop-cart-total{color:var(--muted);font-weight:500}

.shop-notice{padding:16px 20px;margin-bottom:22px;background:linear-gradient(115deg,#221e13,#16191b 75%);border:1px solid #463d24;border-left:3px solid var(--shop-accent);border-radius:8px}
.shop-notice strong{font-size:.9rem;color:#f4e8b7}
.shop-notice p{font-size:.8rem;color:var(--muted);margin-top:5px;max-width:720px;line-height:1.5}

.shop-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.shop-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid var(--line);border-radius:19px;background:var(--panel);color:#cfd4cf;font-size:.8rem;font-weight:600;cursor:pointer}
.shop-chip span{color:var(--muted);font-weight:500}
.shop-chip:hover{border-color:#5b5434}
.shop-chip[aria-pressed="true"]{background:var(--shop-accent);border-color:var(--shop-accent);color:var(--shop-ink)}
.shop-chip[aria-pressed="true"] span{color:#4a4220}

.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-card{min-width:0;border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;transition:border-color .15s,transform .15s}
.shop-card:hover{border-color:#776a37}
.shop-card.is-out{opacity:.72}
.shop-card-open{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}
.shop-card-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px}
.shop-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.shop-card h3{font-size:1rem;line-height:1.3}
.shop-card p{font-size:.8rem;color:var(--muted);line-height:1.4}
.shop-price{font-size:1.05rem;color:var(--shop-accent);margin-top:6px}
.shop-price.large{font-size:1.6rem}

.shop-art{position:relative;aspect-ratio:4/3;overflow:hidden;background:#101315;display:grid;place-items:center}
.shop-art img{width:100%;height:100%;object-fit:cover;display:block}
.shop-art.fit-contain{background:#f2f0e8;padding:10px}
.shop-art.fit-contain img{object-fit:contain}
.shop-art-mock{background:repeating-radial-gradient(circle at 50% 120%,#1a1e20 0 14px,#16191b 14px 28px)}
.shop-art-mock img{position:absolute;width:46%;height:auto;opacity:.92;border-radius:50%/42%}
.shop-art-mock span{position:absolute;right:12px;bottom:10px;font-size:1.6rem;font-weight:800;letter-spacing:.08em;color:var(--shop-accent);text-shadow:0 2px 0 #000}
.shop-art-mock small{position:absolute;left:12px;top:10px;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:#0c0e10cc;padding:3px 6px;border-radius:3px}
.shop-art-large{border-radius:8px;aspect-ratio:1/1}
.shop-art-thumb{width:64px;aspect-ratio:1/1;border-radius:6px;flex-shrink:0;padding:4px}
.shop-art-thumb span,.shop-art-thumb small{display:none}

.shop-dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #3a3a2c;border-radius:12px;background:var(--bg);color:var(--text)}
.shop-dialog::backdrop{background:#000b}
.shop-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:1}
.shop-dialog-header .eyebrow{margin-bottom:6px}
.shop-dialog-header h2{font-size:1.25rem}
.shop-dialog-close{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer;flex-shrink:0}
.shop-dialog-body{padding:20px 22px 24px}

.shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.shop-product-info{display:flex;flex-direction:column;gap:16px;min-width:0}
.shop-product-desc{font-size:.9rem;line-height:1.55;color:#cdd2cc}
.shop-members-note{font-size:.8rem;color:var(--orange);line-height:1.5}
.shop-variants{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.shop-variants legend{font-size:.8rem;color:var(--muted);margin-bottom:8px}
.shop-variant{min-width:52px;min-height:40px;padding:8px 12px;border:1px solid #384043;border-radius:6px;background:#0e1113;color:var(--text);font-weight:600;cursor:pointer}
.shop-variant[aria-pressed="true"]{border-color:var(--shop-accent);background:#2a2412;color:#ffe48a}
.shop-variant:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.shop-buy{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.shop-buy>div:first-child{display:flex;align-items:center;gap:10px}
.shop-qty{display:inline-flex;align-items:center;gap:4px}
.shop-qty output{min-width:28px;text-align:center;font-weight:700}
.shop-qty .button{min-height:36px;width:36px;padding:0}
.shop-add,.shop-wide{width:100%}
.shop-in-cart{font-size:.8rem;color:var(--muted)}

.shop-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.shop-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto 32px;align-items:center;gap:14px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.shop-line-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.shop-line-info strong{font-size:.9rem}
.shop-line-info span{font-size:.75rem;color:var(--muted)}
.shop-line-sum{white-space:nowrap}
.shop-line-remove{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:1.2rem;cursor:pointer}
.shop-line-remove:hover{background:#2a1d1d;color:#ff9b8a}
.shop-total{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.shop-total strong{font-size:1.4rem;color:var(--shop-accent)}
.shop-fineprint{font-size:.75rem;color:var(--muted);line-height:1.5;margin-bottom:14px}
.shop-empty{text-align:center;padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--muted)}

.shop-form{display:flex;flex-direction:column;gap:14px}
.shop-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.shop-field.has-error input,.shop-field.has-error textarea{border-color:#c4553f}
.shop-error{color:#ff9b8a;font-size:.75rem}
.shop-hint{color:var(--muted);font-size:.72rem}
.shop-form-alert{padding:10px 12px;border-radius:6px;background:#2a1d1d;color:#ffb3a5;font-size:.85rem}
.shop-delivery{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.shop-delivery legend{font-size:.875rem;color:#cad0ca;margin-bottom:8px}
.shop-radio{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid #384043;border-radius:6px;background:#0e1113;cursor:pointer;font-size:.85rem;line-height:1.4}
.shop-radio input{margin-top:2px;accent-color:var(--shop-accent)}
.shop-radio:has(input:checked){border-color:var(--shop-accent)}
.shop-form-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

.shop-done{display:flex;flex-direction:column;gap:14px}
.shop-done-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--shop-accent);color:var(--shop-ink);font-size:1.5rem;font-weight:800}
.shop-done-warning{padding:12px 14px;border-left:3px solid var(--orange);background:#241d16;border-radius:6px;font-size:.85rem;line-height:1.5;color:#e8d3bf}
.shop-order-text{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Consolas,monospace;font-size:.78rem;line-height:1.55;padding:14px;border:1px solid var(--line);border-radius:8px;background:#0e1113;color:#d6dad3;max-height:260px;overflow:auto}

@media(max-width:950px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-product{grid-template-columns:1fr}.shop-art-large{aspect-ratio:4/3}}
@media(max-width:620px){
  .shop-grid{grid-template-columns:1fr}
  .shop-form-row{grid-template-columns:1fr}
  .shop-line{grid-template-columns:52px minmax(0,1fr) 32px;grid-template-areas:"art info remove" "qty qty sum"}
  .shop-line .shop-art-thumb{width:52px;grid-area:art}.shop-line-info{grid-area:info}.shop-line-remove{grid-area:remove}.shop-line .shop-qty{grid-area:qty}.shop-line-sum{grid-area:sum;text-align:right}
  .shop-dialog-header,.shop-dialog-body{padding-left:16px;padding-right:16px}
  .shop-cart-total{display:none}
}
@media(prefers-reduced-motion:reduce){.shop-card{transition:none}}

/* Заказы на сервере */
.shop-head-actions{display:flex;gap:10px;flex-wrap:wrap}
.shop-done-ok{padding:12px 14px;border-left:3px solid #9fd34c;background:#1b2416;border-radius:6px;font-size:.85rem;line-height:1.5;color:#d9ecbf}
.shop-orders{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.shop-order-row{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;flex-direction:column;gap:6px}
.shop-order-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-order-sum{margin-left:auto;font-weight:700;color:var(--shop-accent)}
.shop-order-items,.shop-order-contact,.shop-order-comment{font-size:.8rem;color:#cdd2cc;line-height:1.45}
.shop-order-comment{color:var(--muted)}
.shop-order-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.shop-order-note{flex:1;min-width:200px;min-height:36px;background:#0e1113;border:1px solid #384043;border-radius:6px;padding:8px 10px;color:var(--text);font-size:.8rem}
.shop-orders-title{font-size:.95rem;margin:8px 0 10px}
