
:root { --fg:#15171a; --muted:#6b7280; --line:#e6e8ec; --bg:#f3f4f6; --card:#fff; --accent:#5b3cf5; --accent-hover:#4a2ee0;
  --accent-weak:#efebff; --sale:#e5173f; --ok:#12804a; --warn:#a15c00; --bad:#b3261e; --radius:14px;
  --shadow:0 1px 2px rgba(16,24,40,.05), 0 1px 3px rgba(16,24,40,.08); --shadow-hover:0 12px 28px rgba(16,24,40,.13); }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color:var(--fg); background:var(--bg); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
h1 { font-size:28px; line-height:1.2; margin:0; letter-spacing:-.01em; }
h2 { font-size:22px; line-height:1.25; margin:0; letter-spacing:-.01em; }
.wrap { max-width:1280px; margin:0 auto; padding:0 16px; }
main.wrap { padding-top:14px; padding-bottom:40px; min-height:60vh; }
.notice { font-size:13px; color:var(--muted); }
.fixture-banner { padding:6px 16px; background:#fff3cd; color:#664d03; border-bottom:1px solid #ffe69c; font-size:13px; text-align:center; }
.infobar { background:#15171a; color:#dfe1e7; font-size:12.5px; text-align:center; padding:6px 16px; }
.infobar .short { display:none; }
.icon { display:block; }

header.top { position:sticky; top:0; z-index:20; background:#fff; box-shadow:0 1px 0 var(--line); }
.top-row { display:flex; align-items:center; gap:14px; height:68px; }
.logo { display:flex; align-items:center; gap:9px; font-weight:800; font-size:21px; letter-spacing:-.02em; white-space:nowrap; }
.logo-mark { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px; color:#fff; font-size:19px;
  background:linear-gradient(135deg, #8a6bff, #5b3cf5 55%, #3a20c4); }
.catalog-btn { display:inline-flex; align-items:center; gap:9px; height:44px; padding:0 18px; border-radius:12px; background:var(--accent); color:#fff; font-weight:650; white-space:nowrap; }
.catalog-btn:hover { background:var(--accent-hover); }
.burger { width:16px; height:12px; background:linear-gradient(#fff 0 0) top/100% 2px no-repeat, linear-gradient(#fff 0 0) center/100% 2px no-repeat, linear-gradient(#fff 0 0) bottom/100% 2px no-repeat; }
.search { flex:1 1 auto; display:flex; height:44px; border:2px solid var(--accent); border-radius:12px; overflow:hidden; background:#fff; min-width:0; }
.search input { flex:1; min-width:0; border:0; padding:0 14px; font:inherit; outline:none; background:transparent; }
.search button { border:0; background:var(--accent); color:#fff; padding:0 18px; cursor:pointer; display:grid; place-items:center; }
.cart-link { position:relative; display:flex; flex-direction:column; align-items:center; gap:1px; font-size:12px; padding:2px 8px; }
.cart-link:hover { color:var(--accent); }
.cart-link .badge { position:absolute; top:-4px; right:2px; min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--sale); color:#fff; font-size:11px; font-weight:700; display:grid; place-items:center; }
.catnav { border-top:1px solid var(--line); }
.catnav-row { display:flex; gap:24px; overflow-x:auto; white-space:nowrap; height:42px; align-items:center; scrollbar-width:none; }
.catnav-row a { font-size:14px; color:#30343b; }
.catnav-row a:hover { color:var(--accent); }

.crumbs { font-size:13px; color:var(--muted); margin:4px 0 10px; }
.crumbs a:hover { color:var(--accent); }
.page-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:2px 0 16px; }
.page-head .count { color:var(--muted); font-size:14px; }
.btn { display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 22px; border-radius:12px; font-weight:650; border:1px solid transparent; }
.btn.primary { background:var(--accent); color:#fff; }
.btn.primary:hover { background:var(--accent-hover); }
.btn.ghost { background:#fff; color:var(--fg); border-color:var(--line); }

.hero { border-radius:22px; padding:44px 44px 40px; color:#fff; margin-top:6px;
  background:radial-gradient(900px 380px at 88% -20%, rgba(255,255,255,.22), transparent 60%), linear-gradient(115deg, #24137e, #5b3cf5 58%, #9a7bff); }
.hero h1 { font-size:40px; max-width:760px; letter-spacing:-.02em; }
.hero p { font-size:17px; opacity:.92; max-width:640px; margin:14px 0 24px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hero .btn.primary { background:#fff; color:var(--accent); }
.hero .btn.primary:hover { background:#f1edff; }
.hero .btn.ghost { background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.4); }

.rail-section { margin-top:34px; }
.how-to { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; counter-reset:step; }
.how-to li { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:16px 16px 16px 58px; position:relative; display:grid; gap:4px; counter-increment:step; }
.how-to li::before { content:counter(step); position:absolute; left:16px; top:16px; width:30px; height:30px; border-radius:50%; background:var(--accent); color:#fff; font-weight:800; display:grid; place-items:center; }
.how-to b { font-size:15px; }
.how-to span { color:var(--muted); font-size:13px; }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; }
.more { color:var(--accent); font-weight:650; font-size:14px; white-space:nowrap; }
.cat-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:14px; }
.cat-grid a { display:block; background:#fff; border-radius:var(--radius); padding:14px 16px 16px; box-shadow:var(--shadow); transition:box-shadow .15s, transform .15s; }
.cat-grid a:hover { box-shadow:var(--shadow-hover); transform:translateY(-2px); }
.cat-ph { aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; }
.cat-ph img { width:100%; height:100%; object-fit:contain; }
.cat-ph.collage { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:4px; }
.cat-ph.collage img { min-height:0; }
.facts { list-style:none; padding:0; margin:14px 0 0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.facts li { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:14px 16px; display:flex; flex-direction:column; gap:2px; }
.facts b { font-size:15px; }
.facts span { color:var(--muted); font-size:13px; }
.cat-name { font-weight:750; font-size:16px; margin-top:8px; }
.cat-count { color:var(--muted); font-size:13px; }
.rail { list-style:none; padding:2px 2px 12px; margin:0 -2px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 5 * 14px) / 6); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; }
.rail > li { scroll-snap-align:start; }
.brand-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:10px; }
.brand-grid a { display:flex; flex-direction:column; gap:2px; background:#fff; border-radius:12px; padding:12px 14px; box-shadow:var(--shadow); transition:box-shadow .15s; }
.brand-grid a:hover { box-shadow:var(--shadow-hover); }
.brand-name { font-weight:750; }
.brand-count { color:var(--muted); font-size:12.5px; }

.catalog-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:16px; }
.filters { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow); padding:2px 16px; }
.filters > summary { cursor:pointer; font-weight:650; padding:12px 0; list-style:none; }
.filters > summary::-webkit-details-marker { display:none; }
.filters > summary::after { content:"▾"; float:right; color:var(--muted); }
.filters[open] > summary::after { content:"▴"; }
.filter-group { padding:12px 0 14px; border-top:1px solid var(--line); }
.filter-title { font-weight:750; margin-bottom:8px; }
.filter-list { list-style:none; padding:0; margin:0; display:grid; gap:1px; }
.filter-list a, .filter-list .on { display:flex; justify-content:space-between; gap:8px; padding:6px 8px; border-radius:8px; font-size:14px; }
.filter-list a:hover { background:var(--bg); }
.filter-list .on { background:var(--accent-weak); color:var(--accent); font-weight:650; }
.filter-list .n { color:var(--muted); font-size:12.5px; }
.filter-list .on .n { color:var(--accent); }
.size-filter { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(46px, 1fr)); gap:6px; }
.size-filter a { display:grid; place-items:center; height:36px; border:1px solid var(--line); border-radius:9px; font-size:13.5px; background:#fff; }
.size-filter a:hover { border-color:var(--accent); color:var(--accent); }
.size-filter a.on { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:700; }
.filter-group .notice { margin:8px 0 0; font-size:12px; }
.toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.sort { margin-left:auto; display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); }
.sort select { font:inherit; color:var(--fg); padding:8px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.chip { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:13px; }
.chip.active { background:var(--accent-weak); border-color:transparent; color:var(--accent); font-weight:650; }

.grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
.tile { background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:box-shadow .15s, transform .15s; }
.tile:hover { box-shadow:var(--shadow-hover); transform:translateY(-2px); }
.tile a { display:block; height:100%; }
.tile .ph { position:relative; aspect-ratio:1; display:grid; place-items:center; padding:12px; background:#fff; }
.tile .ph img { width:100%; height:100%; object-fit:contain; }
.img-failed { visibility:hidden; }
.badge-sale { position:absolute; left:10px; top:10px; background:var(--sale); color:#fff; font-weight:750; font-size:12.5px; padding:3px 8px; border-radius:8px; }
.badge-sale.inline { position:static; display:inline-block; margin-top:6px; }
.tile-body { padding:2px 12px 14px; }
.tile .price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.tile .now { font-size:18px; font-weight:800; letter-spacing:-.01em; }
.tile .old { color:var(--muted); text-decoration:line-through; font-size:13px; }
.tile .vendor { margin-top:4px; font-size:13px; font-weight:750; }
.tile .name { font-size:14px; color:#2b2f36; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; }
.tile .meta { margin-top:6px; font-size:12.5px; color:var(--muted); }
.pager { display:flex; justify-content:center; align-items:center; gap:6px; margin:28px 0 6px; flex-wrap:wrap; }
.pager a, .pager span { min-width:40px; height:40px; padding:0 8px; display:grid; place-items:center; border-radius:10px; background:#fff; box-shadow:var(--shadow); font-weight:650; }
.pager a:hover { color:var(--accent); }
.pager .on { background:var(--accent); color:#fff; }
.pager .gap { background:transparent; box-shadow:none; }
.pager .off { opacity:.4; }

.product { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; }
.gallery { background:#fff; border-radius:18px; padding:16px; box-shadow:var(--shadow); }
.main-ph { aspect-ratio:1; display:grid; place-items:center; }
.main-ph img { max-width:min(100%, 525px); max-height:100%; object-fit:contain; }
.thumbs { display:flex; gap:8px; overflow-x:auto; margin-top:12px; padding-bottom:4px; }
.thumb { flex:0 0 auto; width:72px; height:72px; padding:4px; border:2px solid var(--line); border-radius:12px; background:#fff; cursor:pointer; }
.thumb.on { border-color:var(--accent); }
.thumb img { width:100%; height:100%; object-fit:contain; }
.buy { background:#fff; border-radius:18px; padding:22px; box-shadow:var(--shadow); }
.brand-link { color:var(--accent); font-weight:750; font-size:14px; }
.buy h1 { font-size:24px; margin:6px 0 2px; }
.buy > .notice { margin:0; }
.price-block { margin:16px 0 8px; }
.big { font-size:30px; font-weight:800; letter-spacing:-.01em; }
.big .old { font-size:16px; font-weight:500; color:var(--muted); text-decoration:line-through; margin-left:10px; }
.status { font-size:13px; margin-top:4px; }
.status.fresh { color:var(--ok); } .status.stale, .status.conflict { color:var(--warn); } .status.unavailable { color:var(--bad); }
.feed-sizes { margin:16px 0 8px; }
.feed-sizes .label { font-weight:750; font-size:14px; margin-bottom:8px; }
.size-chips { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.size-chips li { display:flex; flex-direction:column; align-items:center; min-width:74px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; background:#fafafb; }
.size-chips b { font-size:14px; font-weight:700; }
.size-chips small { font-size:11.5px; color:var(--muted); white-space:nowrap; }
fieldset.sizes { border:0; padding:0; margin:14px 0; display:grid; gap:6px; }
fieldset.sizes legend { font-weight:750; font-size:14px; margin-bottom:8px; }
fieldset.sizes label { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
fieldset.sizes label:has(input:checked) { border-color:var(--accent); background:var(--accent-weak); }
fieldset.sizes label.off { color:var(--muted); cursor:not-allowed; }
fieldset.sizes input:checked + span { font-weight:700; }
button.primary { width:100%; height:52px; border:0; border-radius:14px; background:var(--accent); color:#fff; font:inherit; font-size:16px; font-weight:700; cursor:pointer; margin-top:10px; }
button.primary:hover { background:var(--accent-hover); }
button.primary[disabled] { background:#dcdee4; color:#5d6470; cursor:not-allowed; }
.ship-card { margin-top:14px; padding:12px 14px; border-radius:12px; background:var(--bg); }
.ship-title { font-weight:750; font-size:14px; }
.ship-card .notice { margin-top:2px; }
details { margin-top:12px; }
details summary { cursor:pointer; font-weight:650; font-size:14px; }
details p { margin:6px 0; font-size:13px; color:var(--muted); }
.specs { margin-top:24px; background:#fff; border-radius:18px; padding:20px 22px; box-shadow:var(--shadow); }
table.params { width:100%; border-collapse:collapse; font-size:14px; margin-top:10px; }
table.params td { padding:9px 0; border-bottom:1px dashed var(--line); vertical-align:top; }
table.params td:first-child { color:var(--muted); width:40%; padding-right:12px; }

.size-chips { display:flex; flex-wrap:wrap; gap:8px; }
.size-chip { position:relative; cursor:pointer; }
.size-chip input { position:absolute; opacity:0; pointer-events:none; }
.size-chip span { display:flex; flex-direction:column; align-items:center; min-width:74px; padding:7px 10px; border:1px solid var(--line); border-radius:10px; background:#fafafb; }
.size-chip b { font-size:14px; font-weight:700; }
.size-chip small { font-size:11.5px; color:var(--muted); white-space:nowrap; }
.size-chip:hover span { border-color:var(--accent); }
.size-chip input:checked + span { border-color:var(--accent); background:var(--accent-weak); box-shadow:0 0 0 1px var(--accent) inset; }
.size-chip input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
fieldset.feed-sizes { border:0; padding:0; margin:16px 0 8px; }
fieldset.feed-sizes legend { padding:0; }
.cart-hint { margin:8px 0 0; font-size:13.5px; color:var(--accent); font-weight:600; }
.cart-hint a { text-decoration:underline; }
.cart-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; align-items:start; }
.cart-lines { background:#fff; border-radius:18px; padding:6px 20px 8px; box-shadow:var(--shadow); }
.cart-lines .cart-line { display:grid; grid-template-columns:88px minmax(0, 1fr) auto; gap:14px; align-items:start; }
.cart-lines .cart-line:last-child { border-bottom:0; }
.cart-ph { width:88px; height:88px; border-radius:12px; background:#fff; border:1px solid var(--line); display:grid; place-items:center; overflow:hidden; }
.cart-ph img { width:100%; height:100%; object-fit:contain; }
.cart-name { font-weight:650; display:block; margin-bottom:2px; }
.cart-price { font-weight:800; font-size:17px; white-space:nowrap; }
.qty { display:flex; gap:6px; align-items:center; margin-top:8px; }
.qty button { min-width:32px; height:32px; border-radius:8px; border:1px solid var(--line); background:#fff; cursor:pointer; font:inherit; }
.link-btn { border:0 !important; background:none !important; color:var(--muted); text-decoration:underline; cursor:pointer; font:inherit; font-size:13px; padding:0 4px; }
.summary-box { background:#fff; border-radius:18px; padding:20px; box-shadow:var(--shadow); display:grid; gap:10px; }
.summary-box h2 { font-size:19px; }
.sum-row { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.sum-row span { flex:0 0 auto; }
.sum-row b { font-weight:700; text-align:right; min-width:0; overflow-wrap:anywhere; }
.sum-row.total b { white-space:nowrap; }
.order-layout > *, .order-main, .checkout-main, .checkout-side, .pay-wrap > * { min-width:0; }
.sum-row.total { font-size:16px; padding-top:10px; border-top:1px solid var(--line); }
.sum-row.total b { font-size:22px; font-weight:800; }
.promo { font:inherit; padding:10px 12px; border:1px dashed var(--line); border-radius:10px; background:#fafafb; }
.btn.block { width:100%; }
.cart-empty { background:#fff; border-radius:18px; padding:28px; box-shadow:var(--shadow); display:grid; gap:10px; justify-items:start; }
.preview-note { background:#fff8e1; border:1px solid #ffe08a; color:#5c4400; border-radius:14px; padding:12px 16px; font-size:14px; margin-bottom:16px; }
.checkout { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; align-items:start; }
.checkout-main { display:grid; gap:16px; }
.step { background:#fff; border-radius:18px; padding:20px 22px; box-shadow:var(--shadow); }
.step h2 { display:flex; align-items:center; gap:10px; font-size:19px; margin-bottom:14px; }
.step-n { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent); color:#fff; font-size:14px; font-weight:800; }
.fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:12px; }
.fields[hidden] { display:none; }
.field { display:grid; gap:4px; font-size:13px; color:var(--muted); }
.field.wide { grid-column:1 / -1; }
.field input { font:inherit; color:var(--fg); padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.field input:focus { outline:2px solid var(--accent-weak); border-color:var(--accent); }
.choice-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:10px; }
.choice { position:relative; cursor:pointer; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice span { display:grid; gap:2px; padding:12px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; height:100%; }
.choice small { color:var(--muted); font-size:12.5px; }
.choice input:checked + span { border-color:var(--accent); background:var(--accent-weak); box-shadow:0 0 0 1px var(--accent) inset; }
.choice input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }
.consent { display:flex; gap:8px; align-items:flex-start; font-size:13.5px; }
.consent a { color:var(--accent); text-decoration:underline; }
.mini-lines { list-style:none; padding:0; margin:0; display:grid; gap:8px; font-size:13.5px; }
.mini-lines li { display:flex; justify-content:space-between; gap:10px; }
.mini-lines b { white-space:nowrap; }
.placed-note { background:#e8f7ee; border:1px solid #b7e4c7; color:#0f5132; border-radius:14px; padding:12px 16px; margin-bottom:14px; }
.order-card { background:#fff; border-radius:18px; padding:18px 20px; box-shadow:var(--shadow); display:grid; gap:12px; margin-bottom:14px; }
.order-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
.badge-status { margin-left:auto; background:#fff3cd; color:#664d03; border-radius:999px; padding:3px 10px; font-size:12.5px; font-weight:650; }
.order-meta { display:grid; gap:6px; }
.prose p { line-height:1.6; }
.orders-link .icon { margin-bottom:0; }
.checkout-message { border-radius:12px; padding:12px 14px; display:grid; gap:8px; font-size:14px; }
.checkout-message.warn { background:#fff8e1; border:1px solid #ffe08a; }
.checkout-message.bad { background:#fdecee; border:1px solid #f5c2c7; color:#842029; }
.pay-wrap { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; max-width:980px; margin:0 auto; align-items:start; }
.pay-card { background:#fff; border-radius:20px; padding:26px; box-shadow:var(--shadow); display:grid; gap:12px; }
.pay-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.pay-brand { font-weight:800; font-size:18px; color:var(--accent); }
.pay-amount { font-size:36px; font-weight:800; letter-spacing:-.02em; }
.pay-actions { display:grid; gap:10px; }
.test-card { display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-radius:14px; color:#fff; background:linear-gradient(135deg, #2b2f36, #4b5563); }
.test-card b { letter-spacing:.12em; }
.order-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:18px; align-items:start; }
.order-main { display:grid; gap:16px; }
.order-lines { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.order-lines li { display:grid; grid-template-columns:64px minmax(0, 1fr) auto; gap:12px; align-items:center; }
.order-lines .cart-ph { width:64px; height:64px; }
.timeline { list-style:none; padding:0; margin:6px 0 0; display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:8px; }
.timeline li { display:grid; justify-items:center; text-align:center; gap:4px; color:var(--muted); font-size:13px; }
.timeline .dot { width:16px; height:16px; border-radius:50%; background:var(--line); }
.timeline li.done { color:var(--fg); }
.timeline li.done .dot { background:var(--accent); box-shadow:0 0 0 4px var(--accent-weak); }
.badge-status.s-in_work, .badge-status.s-in_transit { background:var(--accent-weak); color:var(--accent); }
.badge-status.s-received, .badge-status.p-paid { background:#e8f7ee; color:#0f5132; }
.badge-status.s-cancelled, .badge-status.p-failed { background:#fdecee; color:#842029; }
.page-head .badge-status { margin-left:0; }
.cancel-form, .seller-test { display:grid; gap:8px; margin-top:6px; }
.cancel-form select { font:inherit; padding:9px 10px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--fg); }
.wrap-text { white-space:normal !important; text-align:right; }
a.order-card { color:inherit; transition:box-shadow .15s; }
a.order-card:hover { box-shadow:var(--shadow-hover); }
.order-pics { display:flex; gap:8px; }
.order-head .badge-status { margin-left:0; }
.order-head .badge-status:nth-of-type(3) { margin-left:auto; }
.summary-box .order-lines li { grid-template-columns:48px minmax(0, 1fr); gap:10px; align-items:start; }
.summary-box .order-lines .cart-ph { width:48px; height:48px; }
.summary-box .order-lines .cart-name { font-size:14px; }
.summary-box .order-lines .cart-price { grid-column:2; font-size:14px; }
.order-pics img { width:56px; height:56px; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:10px; }
.cart-box, .panel, .empty { background:#fff; border-radius:18px; padding:20px 22px; box-shadow:var(--shadow); }
.panel { max-width:760px; margin:16px auto; padding:28px; }
.panel h1 { margin-bottom:10px; }
.empty { margin-bottom:16px; }
.cart-line { padding:14px 0; border-bottom:1px solid var(--line); }
.cart-summary { margin-top:16px; padding:16px; border-radius:14px; background:var(--bg); }
.cart-total { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:15px; }
.cart-total b { font-size:24px; font-weight:800; }
.cart-summary .status { margin:8px 0 0; }
.cart-box a.primary { display:inline-flex; align-items:center; height:48px; padding:0 22px; border-radius:12px; background:var(--accent); color:#fff; font-weight:700; margin-top:12px; }

.site-footer { background:#111318; color:#c9ccd4; margin-top:40px; padding:36px 0 28px; font-size:14px; }
.footer-cols { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:24px; }
.site-footer a { display:block; color:#e6e8ee; padding:3px 0; }
.site-footer a:hover { color:#fff; }
.site-footer p { margin:0 0 8px; color:#a9adb8; }
.footer-title { color:#fff; font-weight:750; margin-bottom:8px; }
.footer-logo { color:#fff; font-weight:800; font-size:20px; margin-bottom:8px; }

@media (min-width:640px) { .grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; } }
@media (min-width:900px) {
  .product { grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); gap:24px; align-items:start; }
  .gallery { position:sticky; top:128px; }
}
@media (min-width:1024px) {
  .cart-layout, .checkout { grid-template-columns:minmax(0, 1fr) 360px; gap:24px; }
  .cart-layout .summary-box, .checkout-side, .order-layout > .summary-box { position:sticky; top:128px; }
  .pay-wrap, .order-layout { grid-template-columns:minmax(0, 1fr) 360px; gap:24px; }
  .catalog-layout { grid-template-columns:260px minmax(0, 1fr); gap:24px; align-items:start; }
  .filters { position:sticky; top:128px; max-height:calc(100vh - 148px); overflow:auto; }
  .filters > summary { display:none; }
  .grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .search-page .grid { grid-template-columns:repeat(5, minmax(0, 1fr)); }
}
@media (max-width:720px) {
  .top-row { display:grid; grid-template-columns:auto minmax(0, 1fr) auto; grid-template-areas:"logo logo cart" "cat search search"; height:auto; padding:10px 16px; gap:10px; }
  .logo { grid-area:logo; font-size:19px; }
  .cart-link { grid-area:cart; }
  .catalog-btn { grid-area:cat; height:42px; padding:0 13px; }
  .catalog-text, .cart-text { display:none; }
  .search { grid-area:search; height:42px; }
  .search button { padding:0 14px; }
  h1 { font-size:22px; }
  h2 { font-size:19px; }
  .hero { padding:26px 20px; border-radius:16px; }
  .hero h1 { font-size:26px; }
  .hero p { font-size:15px; }
  .rail { grid-auto-columns:46%; gap:10px; }
  .infobar .long { display:none; }
  .infobar .short { display:inline; }
  .facts { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
  .how-to { grid-template-columns:minmax(0, 1fr); }
  .facts li { padding:12px; }
  .cat-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
  .cat-grid a { padding:10px 12px 12px; }
  .tile-body { padding:2px 10px 12px; }
  .tile .now { font-size:16px; }
  .buy { padding:18px; }
  .big { font-size:26px; }
  .sort { margin-left:0; }
  .fields { grid-template-columns:minmax(0, 1fr); }
  .cart-lines { padding:4px 14px 6px; }
  .cart-lines .cart-line { grid-template-columns:64px minmax(0, 1fr); }
  .cart-ph { width:64px; height:64px; }
  .cart-price { grid-column:2; }
  .orders-link { display:none; }
  .timeline { grid-template-columns:minmax(0, 1fr); justify-items:start; }
  .timeline li { grid-template-columns:16px auto auto; justify-items:start; text-align:left; align-items:center; gap:8px; }
  .pay-amount { font-size:30px; }
}
