/* ============================================================
   SWISS MOTION — международный типографический стиль + кинетика
   Префикс: sw-   Схемы: mono (deflt), klein, olive
   ============================================================ */

/* ---------- цветовые схемы ---------- */
.theme-swiss{
  --sw-bg:#ffffff;
  --sw-ink:#0a0a0a;
  --sw-fg:#0a0a0a;
  --sw-soft:#7a7a7a;
  --sw-line:#e2e2e2;
  --sw-line-strong:#0a0a0a;
  --sw-card:#ffffff;
  --sw-red:#ff2d2d;          /* акцент по умолчанию */
  --sw-disp:'Archivo',Helvetica,Arial,sans-serif;
  --sw-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  /* канон-переменные (читают cart.css и общие партиалы) */
  --vt-accent:var(--sw-red);
  --vt-fg:var(--sw-fg);
  --vt-line:var(--sw-line);
  --vt-card:var(--sw-card);
}
.theme-swiss.scheme-mono { --sw-red:#ff2d2d; }
.theme-swiss.scheme-klein{ --sw-red:#1d3bd6; }
.theme-swiss.scheme-olive{ --sw-red:#6b7a3a; }

/* ---------- база ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
.theme-swiss{
  margin:0;background:var(--sw-bg);color:var(--sw-fg);
  font-family:var(--sw-disp);font-weight:400;font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;letter-spacing:-.01em;
}
.theme-swiss a{color:inherit;text-decoration:none;}
.theme-swiss img{max-width:100%;display:block;}
.theme-swiss h1,.theme-swiss h2,.theme-swiss h3,.theme-swiss h4{
  font-family:var(--sw-disp);font-weight:800;letter-spacing:-.03em;line-height:.98;margin:0;
}
.theme-swiss ::selection{background:var(--sw-red);color:#fff;}

.sw-main{display:block;}
.sw-sec,.sw-hero,.sw-product,.sw-article,.sw-auth,.sw-acct-grid,.sw-acct-head,
.sw-checkout,.sw-actions,.sw-twocol,.sw-crumbs,.sw-h1,.sw-marquee,.sw-filter,
.sw-chips,.sw-grid,.sw-cats,.sw-bullets,.sw-frame{
  max-width:1280px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px;
}

/* мета-подписи (моно, номера, eyebrow) */
.sw-meta{
  font-family:var(--sw-mono);font-size:11px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sw-soft);display:inline-block;
}
.sw-meta--num{color:var(--sw-red);}

/* line-draw разделители */
.sw-rule{display:block;width:100%;height:2px;margin:0 0 8px;overflow:visible;}
.sw-rule line{stroke:var(--sw-line-strong);stroke-width:2;}
.sw-rule line.is-drawn{transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1);stroke-dashoffset:0 !important;}

/* ---------- баннер ---------- */
.sw-banner{
  background:var(--sw-ink);color:#fff;font-family:var(--sw-mono);font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:9px 16px;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.sw-banner__mark{color:var(--sw-red);font-size:9px;}
.sw-banner a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- шапка ---------- */
.sw-head{position:sticky;top:0;z-index:40;background:var(--sw-bg);border-bottom:1px solid var(--sw-line-strong);}
.sw-head__bar{
  max-width:1280px;margin:0 auto;padding:0 32px;height:68px;
  display:flex;align-items:center;gap:24px;
}
.sw-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:21px;letter-spacing:-.04em;text-transform:uppercase;}
.sw-brand img{height:30px;width:auto;}
.sw-brand__mark{width:14px;height:14px;background:var(--sw-red);display:inline-block;}
.sw-search{flex:1;display:flex;max-width:520px;border:1px solid var(--sw-line-strong);}
.sw-search input{
  flex:1;border:0;outline:0;background:transparent;padding:10px 14px;
  font-family:var(--sw-mono);font-size:13px;color:var(--sw-fg);
}
.sw-search input::placeholder{color:var(--sw-soft);text-transform:uppercase;letter-spacing:.06em;}
.sw-search button{border:0;background:var(--sw-ink);color:#fff;width:44px;display:grid;place-items:center;cursor:pointer;}
.sw-search button:hover{background:var(--sw-red);}
.sw-head__act{display:flex;align-items:center;gap:18px;margin-left:auto;}
.sw-acc{font-family:var(--sw-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid transparent;}
.sw-acc:hover{border-color:var(--sw-red);color:var(--sw-red);}
.sw-cart{display:flex;align-items:center;gap:8px;font-family:var(--sw-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.sw-cart__lbl{}
.sw-cart b{background:var(--sw-red);color:#fff;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:11px;padding:0 5px;}
.sw-cart:hover{color:var(--sw-red);}

.sw-nav{border-top:1px solid var(--sw-line);}
.sw-nav__in{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;gap:30px;flex-wrap:wrap;height:42px;align-items:center;}
.sw-nav__in a{font-family:var(--sw-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sw-soft);}
.sw-nav__in a:hover{color:var(--sw-fg);}

/* бургер */
.sw-nav-toggle{display:none;}
.sw-burger{display:none;flex-direction:column;gap:4px;cursor:pointer;}
.sw-burger span{width:24px;height:2px;background:var(--sw-ink);display:block;}

/* ---------- HERO ---------- */
.sw-hero{position:relative;padding-top:56px;padding-bottom:40px;min-height:62vh;display:flex;flex-direction:column;}
.sw-hero__grid{position:absolute;inset:0;pointer-events:none;z-index:0;display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;left:0;right:0;padding:0 32px;}
.sw-hero__grid span{border-left:1px solid var(--sw-line);}
.sw-hero__grid span:last-child{border-right:1px solid var(--sw-line);}
.sw-hero__meta{position:relative;z-index:1;display:flex;justify-content:space-between;margin-bottom:24px;}
.sw-hero__title{
  position:relative;z-index:1;
  font-size:clamp(48px,11vw,168px);font-weight:900;letter-spacing:-.05em;line-height:.9;
  text-transform:uppercase;margin:auto 0;
}
.sw-hero__bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-top:36px;}
.sw-hero__sub{max-width:420px;color:var(--sw-soft);font-size:16px;line-height:1.55;margin:0;}
.sw-hero__cta{display:flex;align-items:center;gap:24px;}
.sw-hero .sw-rule{margin-top:36px;}

/* кинетика заголовка */
.sw-kw{display:inline-block;overflow:hidden;vertical-align:top;}
.sw-kl{display:inline-block;transform:translateY(110%);opacity:0;}
[data-kinetic].is-in .sw-kl{transform:translateY(0);opacity:1;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s;}

/* кнопки / ссылки */
.sw-btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--sw-ink);color:#fff;
  font-family:var(--sw-disp);font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase;
  padding:14px 26px;border:1px solid var(--sw-ink);cursor:pointer;transition:background .18s,color .18s,transform .18s;
}
.sw-btn:hover{background:var(--sw-red);border-color:var(--sw-red);transform:translateY(-2px);}
.sw-btn--full{width:100%;justify-content:center;}
.sw-link{font-family:var(--sw-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid var(--sw-red);padding-bottom:2px;}
.sw-link:hover{color:var(--sw-red);}
.sw-ghost{
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sw-line-strong);
  font-family:var(--sw-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:11px 18px;
}
.sw-ghost:hover{background:var(--sw-ink);color:#fff;}

/* ---------- бегущая строка ---------- */
.sw-marquee{max-width:100%!important;padding:0!important;border-top:1px solid var(--sw-line-strong);border-bottom:1px solid var(--sw-line-strong);overflow:hidden;background:var(--sw-bg);}
.sw-marquee__track{display:inline-flex;align-items:center;gap:18px;white-space:nowrap;padding:13px 0;animation:sw-marq 28s linear infinite;font-family:var(--sw-mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.sw-marquee__sep{color:var(--sw-red);}
@keyframes sw-marq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- секции ---------- */
.sw-sec{padding-top:64px;padding-bottom:8px;opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s;}
.sw-sec.is-in{opacity:1;transform:none;}
.sw-sec__head{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--sw-line-strong);padding-bottom:14px;margin-bottom:30px;flex-wrap:wrap;}
.sw-sec__head h2{font-size:clamp(26px,4vw,46px);text-transform:uppercase;}
.sw-sec__head .sw-meta--num{align-self:flex-start;}
.sw-sec__link{margin-left:auto;font-family:var(--sw-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid transparent;}
.sw-sec__link:hover{border-color:var(--sw-red);color:var(--sw-red);}

/* ---------- категории ---------- */
.sw-cats{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--sw-line);}
.sw-cat{display:flex;align-items:center;gap:24px;padding:22px 4px;border-bottom:1px solid var(--sw-line);transition:padding-left .25s,background .2s;}
.sw-cat:hover{padding-left:18px;background:#fafafa;}
.sw-cat__idx{font-family:var(--sw-mono);font-size:12px;color:var(--sw-red);min-width:34px;}
.sw-cat__name{font-weight:800;font-size:clamp(20px,2.6vw,32px);text-transform:uppercase;letter-spacing:-.02em;}
.sw-cat__count{font-family:var(--sw-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-soft);margin-left:auto;}
.sw-cat__go{font-size:22px;color:var(--sw-red);transition:transform .25s;}
.sw-cat:hover .sw-cat__go{transform:translateX(8px);}

/* ---------- ЖИВОЙ ФИЛЬТР ---------- */
.sw-filter{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border:1px solid var(--sw-line-strong);padding:0;margin-bottom:0;}
.sw-filter__search{display:flex;align-items:center;gap:14px;padding:0 18px;flex:1;min-width:240px;border-right:1px solid var(--sw-line);}
.sw-filter__search input{flex:1;border:0;outline:0;background:transparent;font-family:var(--sw-mono);font-size:13px;padding:14px 0;color:var(--sw-fg);}
.sw-filter__search input::placeholder{color:var(--sw-soft);text-transform:uppercase;letter-spacing:.06em;}
.sw-filter__sort{display:flex;}
.sw-sort{
  border:0;border-left:1px solid var(--sw-line);background:transparent;cursor:pointer;
  font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sw-soft);padding:14px 16px;transition:background .18s,color .18s;
}
.sw-sort:hover{color:var(--sw-fg);}
.sw-sort.is-on{background:var(--sw-ink);color:#fff;}

.sw-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;margin-bottom:4px;}
.sw-chip{
  border:1px solid var(--sw-line-strong);background:transparent;cursor:pointer;
  font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  padding:8px 14px;color:var(--sw-fg);transition:background .18s,color .18s;
}
.sw-chip:hover{border-color:var(--sw-red);color:var(--sw-red);}
.sw-chip.is-on{background:var(--sw-red);border-color:var(--sw-red);color:#fff;}

.sw-noresult{font-family:var(--sw-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--sw-soft);padding:40px 0;text-align:center;}

/* ---------- сетка карточек ---------- */
.sw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-left:1px solid var(--sw-line);border-top:1px solid var(--sw-line);margin-top:24px;}
.sw-card{
  border-right:1px solid var(--sw-line);border-bottom:1px solid var(--sw-line);
  display:flex;flex-direction:column;background:var(--sw-card);padding:0;
  opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s;
}
.sw-card.is-in{opacity:1;transform:none;}
.sw-card .photo{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#f4f4f4;}
.sw-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1);}
.sw-card:hover .photo img{transform:scale(1.05);}
.sw-card .sold{position:absolute;top:12px;left:12px;background:var(--sw-ink);color:#fff;font-family:var(--sw-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;}
.sw-card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.sw-card .topline{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
.sw-card .meta{font-family:var(--sw-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-soft);}
.sw-card .price{font-weight:800;font-size:17px;letter-spacing:-.02em;}
.sw-card .name{font-weight:600;font-size:16px;line-height:1.2;text-transform:uppercase;letter-spacing:-.01em;}
.sw-card .name:hover{color:var(--sw-red);}
.sw-card .ident{font-family:var(--sw-mono);font-size:10px;color:var(--sw-soft);letter-spacing:.04em;}
.sw-card .stock{font-family:var(--sw-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-soft);}
.sw-card .stock.zero{color:var(--sw-red);}
.sw-card .cart-slot{margin-top:auto;padding-top:6px;}
.sw-choose,.sw-soldout{display:block;text-align:center;font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:11px;border:1px solid var(--sw-line-strong);}
.sw-choose:hover{background:var(--sw-ink);color:#fff;}
.sw-soldout{color:var(--sw-soft);}

.sw-empty{font-family:var(--sw-mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--sw-soft);padding:48px;text-align:center;border:1px solid var(--sw-line);}

/* ---------- буллеты ---------- */
.sw-bullets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--sw-line-strong);}
.sw-bullet{padding:26px 22px 30px;border-bottom:1px solid var(--sw-line);border-right:1px solid var(--sw-line);}
.sw-bullet__ic{font-size:26px;margin:14px 0 8px;}
.sw-bullet__t{font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:-.01em;margin-top:12px;}
.sw-bullet__x{color:var(--sw-soft);font-size:14px;margin-top:8px;line-height:1.5;}

/* ---------- about ---------- */
.sw-about{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.sw-about__txt h2{font-size:clamp(28px,4.5vw,52px);text-transform:uppercase;margin:14px 0 18px;}
.sw-about__txt p{color:var(--sw-soft);max-width:480px;line-height:1.6;}
.sw-about__art{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--sw-line-strong);}
.sw-about__art img{width:100%;height:100%;object-fit:cover;}
.sw-stats{display:flex;gap:38px;margin-top:30px;}
.sw-stat .n{font-weight:900;font-size:34px;letter-spacing:-.04em;}
.sw-stat .l{font-family:var(--sw-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-soft);margin-top:4px;}

/* ---------- крошки / h1 ---------- */
.sw-crumbs{font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-soft);padding-top:30px;padding-bottom:0;margin:0;}
.sw-crumbs a:hover{color:var(--sw-red);}
.sw-h1{font-size:clamp(32px,6vw,72px);text-transform:uppercase;letter-spacing:-.04em;margin:18px auto 30px;display:flex;align-items:center;}

/* ---------- товар ---------- */
.sw-product{display:grid;grid-template-columns:1.05fr .95fr;gap:0;margin-top:20px;border:1px solid var(--sw-line-strong);}
.sw-product .gallery{aspect-ratio:1/1;overflow:hidden;background:#f4f4f4;border-right:1px solid var(--sw-line-strong);}
.sw-product .gallery img{width:100%;height:100%;object-fit:cover;}
.sw-product .info{padding:40px;display:flex;flex-direction:column;gap:16px;}
.sw-product .info h1{font-size:clamp(28px,3.4vw,44px);text-transform:uppercase;letter-spacing:-.03em;margin-top:6px;}
.sw-product .ident{font-family:var(--sw-mono);font-size:11px;color:var(--sw-soft);letter-spacing:.04em;}
.sw-product .price{font-weight:900;font-size:38px;letter-spacing:-.04em;}
.sw-product .stock-line{font-family:var(--sw-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-soft);}
.sw-product .stock-zero{color:var(--sw-red);}
.sw-product .desc{color:var(--sw-fg);line-height:1.6;border-top:1px solid var(--sw-line);padding-top:16px;}
.sw-variants{display:flex;flex-wrap:wrap;gap:10px;}
.sw-variant{border:1px solid var(--sw-line-strong);padding:10px 16px;cursor:pointer;font-family:var(--sw-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;}
.sw-variant.selected{background:var(--sw-ink);color:#fff;}
.sw-buy-row{margin-top:8px;}

/* ---------- рамки / таблицы ---------- */
.sw-frame{border:1px solid var(--sw-line-strong);background:var(--sw-card);max-width:none;}
.sw-pad{padding:26px;}
.sw-article{max-width:880px;}
.sw-article .body{line-height:1.7;}
.sw-lead{color:var(--sw-soft);font-size:18px;max-width:680px;margin-bottom:24px;}

.sw-table{width:100%;border-collapse:collapse;font-size:14px;}
.sw-table th{font-family:var(--sw-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-soft);text-align:left;padding:10px 12px;border-bottom:1px solid var(--sw-line-strong);}
.sw-table td{padding:12px;border-bottom:1px solid var(--sw-line);vertical-align:middle;}
.sw-table .r{text-align:right;}
.sw-table img{width:52px;height:52px;object-fit:cover;border:1px solid var(--sw-line);}
.sw-table tfoot td{border-bottom:0;border-top:1px solid var(--sw-line-strong);}
.sw-table .strong{font-weight:800;}
.sw-qty input{width:64px;border:1px solid var(--sw-line-strong);padding:7px;font-family:var(--sw-mono);text-align:center;}
.sw-rm{border:1px solid var(--sw-line);background:transparent;width:30px;height:30px;cursor:pointer;font-size:16px;line-height:1;}
.sw-rm:hover{background:var(--sw-red);color:#fff;border-color:var(--sw-red);}
.sw-actions{display:flex;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap;}

/* ---------- checkout ---------- */
.sw-checkout{display:grid;grid-template-columns:1.4fr .9fr;gap:28px;align-items:start;margin-top:8px;}
.sw-checkout h2{font-size:18px;text-transform:uppercase;margin:22px 0 14px;letter-spacing:-.02em;}
.sw-checkout h2:first-child{margin-top:0;}
.sw-field{margin-bottom:14px;display:flex;flex-direction:column;gap:6px;}
.sw-field label{font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-soft);}
.sw-field .req{color:var(--sw-red);}
.theme-swiss input[type=text]:not(.vt-cc__n),.theme-swiss input[type=email],.theme-swiss input[type=tel],
.theme-swiss input[type=password],.theme-swiss input[type=number],.theme-swiss textarea,.theme-swiss select{
  width:100%;border:1px solid var(--sw-line-strong);background:var(--sw-bg);padding:11px 13px;
  font-family:var(--sw-mono);font-size:13px;color:var(--sw-fg);outline:0;
}
.theme-swiss textarea{min-height:96px;resize:vertical;}
.theme-swiss input:not(.vt-cc__n):focus,.theme-swiss textarea:focus,.theme-swiss select:focus{border-color:var(--sw-red);}
.sw-delivery label{display:flex;gap:12px;border:1px solid var(--sw-line);padding:14px;margin-bottom:10px;cursor:pointer;}
.sw-delivery label:hover{border-color:var(--sw-line-strong);}
.sw-delivery .d-title{font-weight:700;text-transform:uppercase;font-size:14px;}
.sw-delivery .d-meta{font-family:var(--sw-mono);font-size:11px;color:var(--sw-soft);margin-top:4px;}
.sw-summary .row{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;}
.sw-summary .row.grand{font-weight:800;font-size:17px;border-top:1px solid var(--sw-line-strong);margin-top:8px;padding-top:12px;}
.sw-summary hr{border:0;border-top:1px solid var(--sw-line);margin:10px 0;}
.sw-note{font-family:var(--sw-mono);font-size:10px;color:var(--sw-soft);line-height:1.6;margin-top:14px;}
.sw-errors,.sw-field-err{color:var(--sw-red);font-family:var(--sw-mono);font-size:12px;margin:6px 0;}

/* ---------- account / auth ---------- */
.sw-acct-head{display:flex;align-items:center;justify-content:space-between;padding-top:30px;flex-wrap:wrap;gap:14px;}
.sw-logout{border:1px solid var(--sw-line-strong);background:transparent;font-family:var(--sw-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 16px;cursor:pointer;}
.sw-logout:hover{background:var(--sw-ink);color:#fff;}
.sw-acct-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:start;margin-top:18px;}
.sw-orders{display:flex;flex-direction:column;border-top:1px solid var(--sw-line);}
.sw-orders a{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid var(--sw-line);transition:padding-left .2s;}
.sw-orders a:hover{padding-left:12px;}
.sw-orders .on{font-weight:800;}
.sw-orders .od{font-family:var(--sw-mono);font-size:11px;color:var(--sw-soft);text-transform:uppercase;letter-spacing:.05em;}
.sw-auth{max-width:480px;margin:0 auto;padding-top:20px;}
.sw-auth-alt{font-family:var(--sw-mono);font-size:12px;color:var(--sw-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:18px;text-align:center;}
.sw-auth-alt a{color:var(--sw-red);border-bottom:1px solid var(--sw-red);}
.sw-twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

/* ---------- галерея ---------- */
.sw-gal__cell{overflow:hidden;border:1px solid var(--sw-line);}
.sw-gal__cell img{transition:transform .5s;}
.sw-gal__cell:hover img{transform:scale(1.04);}
.sw-gal__cap{font-family:var(--sw-mono);font-size:11px;color:var(--sw-soft);margin-top:8px;letter-spacing:.04em;}

/* ---------- плавающие контакты ---------- */
.sw-floatcontacts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:50;}
.sw-floatcontacts a{background:var(--sw-ink);color:#fff;font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:9px 13px;}
.sw-floatcontacts a:hover{background:var(--sw-red);}

/* ---------- подвал ---------- */
.sw-foot{border-top:1px solid var(--sw-line-strong);margin-top:80px;}
.sw-foot__in{max-width:1280px;margin:0 auto;padding:54px 32px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;}
.sw-foot__name{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-.04em;}
.sw-foot__tag{font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sw-red);margin:14px 0 8px;}
.sw-foot__about{color:var(--sw-soft);font-size:14px;line-height:1.6;max-width:320px;}
.sw-foot__col h4{font-family:var(--sw-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--sw-soft);margin:0 0 14px;}
.sw-foot__col a,.sw-foot__col span{display:block;font-size:14px;margin-bottom:8px;color:var(--sw-fg);}
.sw-foot__col a:hover{color:var(--sw-red);}
.sw-foot__bottom{border-top:1px solid var(--sw-line);max-width:1280px;margin:0 auto;padding:20px 32px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--sw-mono);font-size:11px;letter-spacing:.04em;color:var(--sw-soft);text-transform:uppercase;}
.sw-foot__legal-wrap{display:flex;gap:16px;flex-wrap:wrap;}
.sw-foot__legal:hover{color:var(--sw-red);}

/* ---------- интеграция с общими партиалами каталога (vt-) ---------- */
.theme-swiss .vt-sidebar{border:1px solid var(--sw-line-strong);padding:18px;}
.theme-swiss .vt-sidebar a{display:block;font-family:var(--sw-mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--sw-soft);padding:7px 0;border-bottom:1px solid var(--sw-line);}
.theme-swiss .vt-sidebar a:hover,.theme-swiss .vt-sidebar a.active{color:var(--sw-red);}
.theme-swiss .vt-toolbar{border:1px solid var(--sw-line-strong);padding:12px 16px;margin-bottom:20px;font-family:var(--sw-mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.theme-swiss .vt-toolbar select{font-family:var(--sw-mono);}
.theme-swiss .vt-list{border-top:1px solid var(--sw-line);}
.theme-swiss .vt-cc__n{background:var(--sw-bg);color:var(--sw-fg);}

/* ============================================================
   КАТАЛОГ — строгая модульная типографическая сетка (sw-cat-*)
   Нумерованный индекс разделов слева + baseline-сетка товаров.
   Резко отличается от обычного sidebar+toolbar+grid.
   ============================================================ */
.sw-cat-page{max-width:1280px;margin:0 auto;padding:0 32px 24px;}

/* шапка-спека */
.sw-cat-masthead{padding-top:30px;}
.sw-cat-crumbs{max-width:none;padding:0;}
.sw-cat-title{display:flex;flex-direction:column;gap:6px;margin-top:14px;}
.sw-cat-h1{max-width:none;padding:0;margin:4px 0 0;display:block;}
.sw-cat-rule{margin-top:22px;}

/* модульная раскладка: фиксированная колонка-индекс + резиновый контент */
.sw-cat-layout{display:grid;grid-template-columns:248px 1fr;gap:0;border-left:1px solid var(--sw-line-strong);}
.sw-cat-layout>*{min-width:0;}

/* нумерованный индекс разделов */
.sw-cat-index{
  border-right:1px solid var(--sw-line-strong);
  position:sticky;top:120px;align-self:start;
  display:flex;flex-direction:column;
}
.sw-cat-index__lbl{padding:16px 18px 12px;border-bottom:1px solid var(--sw-line-strong);}
.sw-cat-row{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;
  padding:13px 18px;border-bottom:1px solid var(--sw-line);
  transition:padding-left .2s,color .18s;
}
.sw-cat-row__idx{font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;color:var(--sw-soft);}
.sw-cat-row__name{font-family:var(--sw-disp);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:-.01em;line-height:1.2;}
.sw-cat-row__count{font-family:var(--sw-mono);font-size:11px;color:var(--sw-soft);font-variant-numeric:tabular-nums;}
.sw-cat-row__bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sw-red);transform:scaleY(0);transform-origin:top;transition:transform .25s;}
.sw-cat-row:hover{padding-left:24px;}
.sw-cat-row:hover .sw-cat-row__idx{color:var(--sw-red);}
.sw-cat-row.is-active{padding-left:24px;}
.sw-cat-row.is-active .sw-cat-row__name{color:var(--sw-red);}
.sw-cat-row.is-active .sw-cat-row__idx{color:var(--sw-fg);}
.sw-cat-row.is-active .sw-cat-row__bar{transform:scaleY(1);}

/* контентная колонка */
.sw-cat-content{display:flex;flex-direction:column;}

/* baseline-тулбар: счётчик + серверная сортировка */
.sw-cat-bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:14px 18px;border-bottom:1px solid var(--sw-line-strong);
}
.sw-cat-bar__count{color:var(--sw-fg);}
.sw-cat-sort{display:flex;align-items:center;gap:12px;margin:0;}
.sw-cat-sort__lbl{margin:0;}
.sw-cat-sort__sel{
  width:auto;border:1px solid var(--sw-line-strong);background:var(--sw-bg);
  font-family:var(--sw-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--sw-fg);padding:8px 30px 8px 12px;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--sw-fg) 50%),linear-gradient(135deg,var(--sw-fg) 50%,transparent 50%);
  background-position:calc(100% - 15px) center,calc(100% - 10px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.sw-cat-sort__sel:focus{border-color:var(--sw-red);}

/* модульная сетка каталога: без внешних рамок (их даёт layout) */
.sw-grid.sw-cat-grid{margin-top:0;border-left:0;border-top:0;grid-template-columns:repeat(3,1fr);}
.sw-grid.sw-cat-grid .sw-card{border-top:1px solid var(--sw-line);}

.sw-cat-empty{margin:0;border:0;border-bottom:1px solid var(--sw-line);text-align:left;padding:48px 18px;}

/* ---------- адаптив ---------- */
@media(max-width:1180px){
  .sw-cat-layout{grid-template-columns:208px 1fr;}
  .sw-grid.sw-cat-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:1024px){
  .sw-grid{grid-template-columns:repeat(3,1fr);}
  .sw-foot__in{grid-template-columns:1fr 1fr;}
  .sw-checkout,.sw-acct-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .sw-head__bar{flex-wrap:wrap;height:auto;padding:12px 18px;gap:14px;}
  .sw-search{order:3;flex-basis:100%;max-width:none;}
  .sw-nav__in{display:none;flex-direction:column;height:auto;padding:10px 18px 18px;gap:14px;}
  .sw-nav-toggle:checked ~ .sw-head .sw-nav__in{display:flex;}
  .sw-burger{display:flex;}
  .sw-cart__lbl{display:none;}
  .sw-sec,.sw-hero,.sw-head__bar,.sw-foot__in,.sw-foot__bottom,.sw-marquee,
  .sw-crumbs,.sw-h1,.sw-product,.sw-grid,.sw-cats,.sw-bullets,.sw-filter,.sw-chips,
  .sw-checkout,.sw-actions,.sw-twocol,.sw-acct-grid,.sw-acct-head,.sw-about{padding-left:18px;padding-right:18px;}
  .sw-grid{grid-template-columns:repeat(2,1fr);}
  .sw-cat-page{padding-left:18px;padding-right:18px;}
  .sw-cat-layout{grid-template-columns:1fr;border-left:0;}
  .sw-cat-index{position:static;border-right:0;border-top:1px solid var(--sw-line-strong);border-bottom:1px solid var(--sw-line-strong);}
  .sw-cat-row.is-active,.sw-cat-row:hover{padding-left:18px;}
  .sw-cat-row__bar{display:none;}
  .sw-grid.sw-cat-grid{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--sw-line);}
  .sw-product,.sw-about,.sw-twocol{grid-template-columns:1fr;}
  .sw-product .gallery{border-right:0;border-bottom:1px solid var(--sw-line-strong);}
  .sw-filter{flex-direction:column;align-items:stretch;}
  .sw-filter__search{border-right:0;border-bottom:1px solid var(--sw-line);}
  .sw-filter__sort{overflow-x:auto;}
  .sw-stats{gap:24px;flex-wrap:wrap;}
}
@media(max-width:460px){
  .sw-grid,.sw-grid.sw-cat-grid{grid-template-columns:1fr;}
}

/* prefers-reduced-motion */
@media(prefers-reduced-motion:reduce){
  .sw-marquee__track{animation:none;}
  .sw-sec,.sw-card{opacity:1;transform:none;transition:none;}
  .sw-kl{transform:none;opacity:1;}
  html{scroll-behavior:auto;}
}
