:root {
  --bg: #faf7f2; --fg: #1f1a17; --muted: #75695f; --line: #e8e0d5; --card: #fff;
  --accent: #7a4b2a; --accent-fg: #fff; --badge: #f1e7dc; --gold: #b8925a; --soft: #f3ece2;
  --radius: 12px;
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-family: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); line-height: 1.5; }
a { color: var(--accent); }
img { max-width: 100%; height: auto; display: block; }
.wrap { max-width: 1440px; margin: 0 auto; padding: 0 16px; }

.top { background: var(--card); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.top-in { display: flex; gap: 16px; align-items: center; padding-top: 10px; padding-bottom: 10px; flex-wrap: wrap; }
.logo { font-family: var(--serif); font-weight: 600; font-size: 26px; line-height: 1; color: var(--fg); text-decoration: none; }
.search { flex: 1 1 220px; }
.search input { width: 100%; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius); font: inherit; }
.nav { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.nav a { text-decoration: none; color: var(--fg); }
.nav a.btn { color: var(--accent-fg); }

.btn { display: inline-block; background: var(--accent); color: var(--accent-fg); padding: 8px 16px; border-radius: var(--radius);
       text-decoration: none; border: 1px solid var(--accent); font: inherit; cursor: pointer; }
.btn.ghost { background: transparent; color: var(--accent); }
.btn.big { padding: 12px 22px; font-size: 17px; }

.crumbs { font-size: 14px; color: var(--muted); margin: 14px 0; }
.crumbs a { color: var(--muted); }
h1 { font-size: clamp(24px, 4vw, 34px); line-height: 1.2; margin: 16px 0; }
h2 { font-size: 22px; margin: 28px 0 12px; }

.hero { padding: 32px 0 8px; max-width: 760px; }
.hero p { font-size: 18px; color: var(--muted); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.cats { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.cats a { display: flex; justify-content: space-between; padding: 12px 14px; background: var(--card); border: 1px solid var(--line);
          border-radius: var(--radius); text-decoration: none; color: var(--fg); }
.cats span, .filters span { color: var(--muted); font-size: 13px; }
.why ol { padding-left: 20px; max-width: 760px; }

.catalog { display: grid; grid-template-columns: 250px 1fr; gap: 24px; align-items: start; }
.filters { display: flex; flex-direction: column; gap: 14px; }
.cat-list { display: flex; flex-direction: column; gap: 2px; }
.facets { display: flex; flex-direction: column; gap: 8px; }
.facet { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 10px; }
.facet summary { cursor: pointer; font-weight: 600; }
.facet-vals { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
.facet-vals.scroll { max-height: 260px; overflow-y: auto; }
.facet-vals label { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; }
.facet-vals label span { margin-left: auto; color: var(--muted); font-size: 12px; }
.reset { font-size: 14px; }
.cat-list a { display: flex; justify-content: space-between; padding: 7px 10px; border-radius: 8px; text-decoration: none; color: var(--fg); }
.cat-list a.on { background: var(--badge); font-weight: 600; }
.found { color: var(--muted); }

.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); position: relative;
        text-decoration: none; color: var(--fg); display: flex; flex-direction: column; }
.card-link { color: inherit; text-decoration: none; display: block; }
.card-img { border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; }
.quick { display: none; position: absolute; left: -1px; right: -1px; top: calc(100% - 1px); z-index: 30; background: var(--card);
         border: 1px solid var(--accent); border-top: 0; border-radius: 0 0 var(--radius) var(--radius); padding: 10px 12px 44px;
         box-shadow: 0 10px 22px rgba(60, 40, 20, .18); }
.card:hover .quick, .card:focus-within .quick { display: block; }
.quick-t { margin: 0 0 4px; font-size: 13px; color: var(--muted); text-align: center; }
.quick-sizes { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 4px; }
.quick-sizes label { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 12px; }
.quick-sizes span { font-weight: 600; }
.quick-sizes input { width: 40px; padding: 4px 2px; border: 1px solid var(--line); border-radius: 6px; text-align: center; font: inherit; }
.quick .btn { width: 100%; }
.quick-msg { margin: 6px 0 0; font-size: 12px; text-align: center; min-height: 0; }
.quick-msg:empty { display: none; }
.quick-msg.ok { color: #2f6b2a; }
.stock-panel { margin: 2px 0 0; text-align: center; }
.stock-panel-t { margin: 0 0 1px; font-size: 11px; color: var(--muted); line-height: 1.2; }
.stock-panel-boxes { display: flex; gap: 10px; }
.stock-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; }
.stock-item span { font-size: 10px; color: var(--muted); line-height: 1.1; }
.stock-box { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 8px; padding: 4px 8px; line-height: 1.2; text-align: center; }
.stock-box b { font-size: 13px; font-weight: 400; }
.buy .stock-panel-t { font-size: 15px; }
.buy .stock-item span { font-size: 14px; }
.buy .stock-box { height: 34px; display: flex; align-items: center; justify-content: center; padding: 0 8px; }
.buy .stock-box b { font-size: 16px; }
@media (min-width: 481px) {
  .quick .stock-panel-t { font-size: 13px; }
  .quick .stock-item span { font-size: 12px; }
}
.quick .price-big { font-size: 17px; font-weight: 700; margin: 0; line-height: 1.2; }
.quick .price-big small { font-size: 11px; }
.quick .buy-bar { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 6px; margin: 1px 0 8px; }
.quick .buy-bar .price-big { margin: 0; white-space: nowrap; flex: 0 0 auto; }
.quick .buy-bar .buy-total { margin: 0; }
.quick .buy-bar .buy-actions { margin-top: 0; width: auto !important; flex: 0 0 auto; }
.quick .buy-bar .btn { padding: 0 26px !important; height: 34px !important; min-width: 130px; font-size: 13px !important; width: auto !important; }
.buy .buy-bar { display: flex !important; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 11px !important; }
.buy .buy-bar .price-big { margin: 0; flex: 0 0 auto; }
.buy .buy-bar .buy-actions { width: auto !important; margin-top: 0; flex: 1 1 auto !important; }
.buy .buy-bar .btn { width: 100% !important; flex: 1 1 auto !important; min-width: 0; padding: 0 32px !important; height: 46px !important; font-size: 15px !important; }
.quick-msg.bad { color: #a33; }
@media (hover: none) { .quick { display: block; position: static; box-shadow: none; border: 0; border-top: 1px solid var(--line); border-radius: 0 0 var(--radius) var(--radius); } }
.card:hover { border-color: var(--accent); }
/* узкое окно (телефон) — размеры не слипаются, поля крупнее под палец, цена и кнопка не обрезаются */
@media (max-width: 480px) {
  .quick-sizes.car-track { gap: 8px; }
  .quick-sizes.car-track .size { flex: 0 0 auto; min-width: 34px; }
  .quick-sizes.car-track input { width: 34px; height: 36px; font-size: 14px; }
  .quick .price-big { font-size: 15px; }
  .quick .price-big small { font-size: 10px; }
  .quick .buy-bar { flex-direction: column; align-items: stretch; gap: 8px; }
  .quick .buy-bar .price-big { text-align: center; }
  .quick .buy-bar .btn { width: 100% !important; min-width: 0; }
  .buy .buy-bar { margin-top: 5px !important; }
  .stock-panel { margin-top: 1px; }
}
.card-img { aspect-ratio: 1; background: #f3f1ee; }
.card-img img { width: 100%; height: 100%; object-fit: cover; }
.card-title { padding: 10px 12px 4px; font-size: 14px; font-weight: 600; }
.card-meta { padding: 0 12px 12px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.stock-lines { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.lock { color: var(--muted); }
.badge { display: inline-block; background: var(--badge); color: var(--accent); padding: 2px 8px; border-radius: 99px; font-size: 13px; width: fit-content; }
.noimg { aspect-ratio: 1; display: grid; place-items: center; color: var(--muted); font-size: 13px; }

.pager { display: flex; gap: 6px; flex-wrap: wrap; margin: 28px 0; }
.pager a, .pager span { padding: 6px 11px; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; background: var(--card); }
.pager .cur { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); }
.pager .gap { border: 0; background: none; }

.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
.gallery .main { width: 100%; border-radius: var(--radius); background: #f3f1ee; }
.thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.thumbs button { padding: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: none; cursor: pointer; }
.thumbs img { width: 72px; height: 72px; object-fit: cover; }
.sku { color: var(--muted); }
.price-lock { background: var(--card); border: 1px dashed var(--accent); border-radius: var(--radius); padding: 14px 16px; margin: 16px 0; }
.price-lock p { margin: 0 0 8px; }
.props { display: grid; grid-template-columns: minmax(110px, 38%) minmax(0, 1fr); gap: 8px 16px; margin: 0; }
.props dt { color: var(--muted); overflow-wrap: anywhere; min-width: 0; }
.props dd { margin: 0; overflow-wrap: anywhere; min-width: 0; }
.descr { white-space: pre-line; }
.descr-tail { color: var(--muted); font-size: 14px; margin-top: 4px; }

.faq section { max-width: 760px; }
.lead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; max-width: 760px; margin: 20px 0 40px; }
.lead label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--muted); }
.lead .wide, .lead button { grid-column: 1 / -1; }
.lead input, .lead textarea { padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; font: inherit; color: var(--fg); background: var(--card); }
.lead .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.errors { background: #fdeceb; border: 1px solid #f2b8b5; border-radius: var(--radius); padding: 8px 14px; max-width: 760px; }
.errors p { margin: 4px 0; color: #9b1c1c; }

/* ---- кабинет ---- */
.inline { display: inline; margin: 0; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: var(--fg); cursor: pointer; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.neg { color: #a12a1f; }
.flash { padding: 10px 14px; border-radius: var(--radius); margin: 12px 0; }
.flash.ok { background: #eef6ea; border: 1px solid #c9e2bd; }
.flash.bad { background: #fdeceb; border: 1px solid #f2b8b5; }
.note { background: var(--soft); border-radius: var(--radius); padding: 10px 14px; margin: 12px 0; }
.badge.ok { background: #e7f2e1; color: #2f6b2a; }
.badge.wait { background: #eeeae5; color: var(--muted); }
.card-price { font-weight: 700; font-size: 15px; color: var(--fg); }
.price-big { font-family: Manrope, system-ui, sans-serif; font-size: 30px; font-weight: 700; margin: 8px 0; font-variant-numeric: lining-nums tabular-nums; }
.price-big small { font-family: Manrope, system-ui, sans-serif; font-size: 14px; }
.anchor { scroll-margin-top: 140px; }
.buy { min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; margin: 16px 0; }
.buy-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 12px; }
.qty { width: 76px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.sizes { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.size { display: flex; flex-direction: column; align-items: center; gap: 3px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 6px; }
.size.off { background: #f6f3ef; color: var(--muted); }
.size-n { font-weight: 700; }
.size-p { font-size: 12px; }
.size-st { font-size: 11px; color: #2f6b2a; }
.size.off .size-st { color: var(--muted); }
.size input { width: 58px; padding: 5px 6px; border: 1px solid var(--line); border-radius: 6px; text-align: center; font: inherit; }
.tiers { font-size: 13px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 12px 0 0; }
.tbl { width: 100%; border-collapse: collapse; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin: 10px 0 18px; font-size: 14px; }
.tbl th, .tbl td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.tbl th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); background: var(--soft); }
.tbl .r { text-align: right; white-space: nowrap; }
.tbl tr.off td { color: var(--muted); }
.tbl .thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.own-thumb { width: 34px; height: 34px; object-fit: cover; border-radius: 4px; display: block; position: relative;
  transition: transform .15s ease; transform-origin: left center; }
.own-thumb:hover { transform: scale(3); z-index: 5; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
.tbl-tight { overflow: visible; }
.tbl-tight th, .tbl-tight td { padding: 2px 5px; font-size: 12.5px; }
.tbl-tight .num { width: 60px; padding: 1px 3px; }
.tbl tfoot td { border-bottom: 0; }
.cart-sum { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; max-width: 640px; margin-left: auto; }
.cart-sum .total { font-family: Manrope, system-ui, sans-serif; font-size: 26px; font-weight: 700; margin: 6px 0; font-variant-numeric: lining-nums tabular-nums; }
.form { display: flex; flex-direction: column; gap: 12px; max-width: 460px; }
.form label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--muted); }
.form input, .form textarea { padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; font: inherit; color: var(--fg); background: var(--card); }
.form label.check, .lead label.check { flex-direction: row; align-items: center; gap: 8px; }
.form.tight { gap: 6px; max-width: 240px; }
.form.tight input { padding: 6px 8px; }
.form.row { flex-direction: row; flex-wrap: wrap; max-width: none; align-items: center; }
.form.narrow { max-width: 420px; }
.delivery { border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px; display: flex; flex-direction: column; gap: 8px; }
.delivery legend { padding: 0 6px; font-weight: 600; color: var(--fg); }
.delivery label.check { color: var(--fg); }
.ok-text { color: #2f6b2a; }
.auth { max-width: 460px; margin: 30px auto 60px; }
.btn.small { padding: 5px 10px; font-size: 13px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.st { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: 12px; background: var(--badge); color: var(--accent); }
.st-closed { background: #e7f2e1; color: #2f6b2a; }
.st-cancelled { background: #eeeae5; color: var(--muted); }
.st-received { background: #fff1d6; color: #8a5a00; }
.st-internal { background: #e3edf7; color: #2a5a8a; }
.debt-overlay { position: fixed; inset: 0; z-index: 50; background: rgba(31, 26, 23, .55); display: grid; place-items: center; padding: 16px; }
.debt-box { position: relative; background: #fff; border-radius: 18px; padding: 26px 28px; max-width: 560px; width: 100%; box-shadow: 0 30px 60px -20px rgba(0,0,0,.4); }
.debt-box h2 { margin: 0 0 4px; }
.debt-sum { font-family: Manrope, system-ui, sans-serif; font-variant-numeric: lining-nums tabular-nums; font-size: 38px; font-weight: 700; color: #a12a1f; margin: 0 0 10px; }
/* долг меньше порога блокировки — не перекрываем страницу, можно закрыть и работать дальше */
.debt-overlay.debt-soft { inset: auto 16px 16px auto; background: none; display: block; padding: 0; pointer-events: none; max-width: 380px; }
.debt-overlay.debt-soft .debt-box { pointer-events: auto; max-width: 100%; }
.debt-close { position: absolute; top: 8px; right: 12px; background: none; border: none; font-size: 22px; line-height: 1; cursor: pointer; color: var(--muted); padding: 4px; }
@media (max-width: 480px) { .debt-overlay.debt-soft { inset: auto 10px 10px 10px; max-width: none; } }
/* админка */
.kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin: 16px 0 24px; }
.kpis a { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; text-decoration: none; color: var(--fg); }
.kpis b { display: block; font-size: 26px; }
.kpis span { font-size: 13px; color: var(--muted); }
.inline-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.inline-actions form { margin: 0; }
.copy { width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; }
.filters-row { display: flex; flex-wrap: wrap; gap: 6px; }
.filters-row a { padding: 4px 10px; border: 1px solid var(--line); border-radius: 99px; text-decoration: none; color: var(--fg); font-size: 13px; }
.filters-row a.on { background: var(--accent); color: #fff; border-color: var(--accent); }
@media (max-width: 760px) { .tbl { font-size: 13px; display: block; overflow-x: auto; } .cart-sum { margin-left: 0; } }

/* ---- главная ---- */
.display { font-family: var(--serif); font-weight: 600; letter-spacing: .2px; }
h2.display { font-size: clamp(28px, 3.6vw, 40px); margin: 0 0 20px; line-height: 1.1; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; color: var(--gold); font-weight: 700; margin: 0 0 14px; }
.btn.light { background: #fff; color: var(--accent); border-color: #fff; }

.h-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; padding: 48px 0 56px; }
.h-hero h1 { font-size: clamp(40px, 6vw, 68px); line-height: 1.02; margin: 0 0 20px; }
.h-hero .lead { font-size: 18px; color: var(--muted); max-width: 540px; margin: 0 0 26px; }
.h-stats { list-style: none; padding: 0; margin: 34px 0 0; display: flex; gap: 32px; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 22px; }
.h-stats b { display: block; font-family: var(--serif); font-size: 34px; line-height: 1; color: var(--accent); }
.h-stats span { font-size: 13px; color: var(--muted); }
.h-collage { display: grid; grid-template-columns: 1.45fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 5 / 4.6; }
.h-tile { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 22px; box-shadow: 0 22px 44px -26px rgba(60, 36, 16, .45); }
/* лицо слева, серьга в центре кадра — держим левый край, чтобы были видны и лицо, и ухо */
.h-tile.t1 { grid-row: 1 / 3; object-position: 4% 30%; }
.h-tile.t2 { object-position: 40% 22%; }
.h-tile.t3 { object-position: 40% 22%; }

.h-look { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.h-look img { width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--radius); }
.h-look-text { grid-column: 1 / -1; grid-row: 1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 28px; }
.h-look-text h2 { margin: 0; }
.h-look-text p { flex: 1 1 360px; margin: 0; }
.h-look-text p { color: var(--muted); }
.h-look-text a { color: var(--accent); font-weight: 600; text-decoration: none; }

.h-section { padding: 40px 0; }
.h-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.h-head a { color: var(--accent); text-decoration: none; font-weight: 600; white-space: nowrap; }
.h-cats-main { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.h-cats-main .h-cat.wide { grid-column: auto; }
.h-cats-main .h-cat.wide .h-cat-img { aspect-ratio: 3 / 1; }
.h-cats-wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.75fr); gap: 14px; align-items: stretch; }
.h-cat.tall .h-cat-img { aspect-ratio: 1 / 1.3; }
.h-cat.tall .h-cat-img img { object-position: 50% 62%; }
.h-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, 1fr); gap: 14px; }
.h-cats .h-cat { display: flex; flex-direction: column; }
.h-cats .h-cat-img { flex: 1; aspect-ratio: auto; min-height: 60px; position: relative; overflow: hidden; }
.h-cats .h-cat-img img { position: absolute; inset: 0; padding: 2px; }
.h-cats .h-cat-name { padding: 6px 14px 8px; }
.h-cats .h-cat-name span, .h-cat.tall .h-cat-name span { font-size: 20px; }
.h-cat { position: relative; display: block; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--fg); transition: border-color .2s, transform .2s; }
.h-cats .h-cat[href*="braslety"] .h-cat-img img { transform: scale(1.7); }
.h-cats .h-cat[href*="/kole/"] .h-cat-img img { transform: translateY(-6%) scale(1.6); }
.h-cats .h-cat[href*="/tsepi/"] .h-cat-img img { object-fit: cover; padding: 0; object-position: 50% 100%; }
.h-cats .h-cat[href*="/ikony/"] .h-cat-img img { transform: scale(1.35); }
.h-cats .h-cat[href*="broshi"] .h-cat-img img { transform: translateY(12%) scale(1.5); }
.h-cat:hover { border-color: var(--gold); transform: translateY(-2px); }
.h-cat.wide { grid-column: span 2; }
.h-cat-img { aspect-ratio: 4 / 3; background: #fff; }
.h-cat.wide .h-cat-img { aspect-ratio: 8 / 3; }
.h-cat-img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.h-cat-img img.photo { object-fit: cover; padding: 0; object-position: 50% 35%; }
.h-cat-name { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 16px 14px; border-top: 1px solid var(--line); }
.h-cat-name span { font-family: var(--serif); font-size: 22px; font-weight: 600; }
.h-cat-name small { color: var(--muted); font-size: 13px; }

.h-why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.h-why-grid > div { background: var(--soft); border-radius: var(--radius); padding: 22px 20px; }
.h-why .ico { color: var(--gold); font-size: 22px; }
.h-why h3 { font-size: 16px; margin: 10px 0 6px; }
.h-why p { margin: 0; color: var(--muted); font-size: 14px; }

.h-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; counter-reset: step; }
.h-steps li { counter-increment: step; border-top: 2px solid var(--gold); padding-top: 16px; }
.h-steps li::before { content: "0" counter(step); font-family: var(--serif); font-size: 40px; color: var(--gold); line-height: 1; display: block; margin-bottom: 8px; }
.h-steps b { font-size: 18px; }
.h-steps p { color: var(--muted); margin: 6px 0 0; }

.h-cta { margin: 40px 0 8px; padding: 56px 24px; text-align: center; border-radius: 24px; color: #fff;
         background: radial-gradient(120% 140% at 20% 0%, #9a6a45 0%, #6e4224 55%, #4a2a16 100%); }
.h-cta h2 { color: #fff; margin-bottom: 10px; }
.h-cta p { color: #f1e2d2; max-width: 520px; margin: 0 auto 24px; }

.foot .seller { font-size: 13px; }
.foot a { color: var(--muted); }
.foot { border-top: 1px solid var(--line); margin-top: 48px; padding: 20px 0; color: var(--muted); font-size: 14px; }

@media (max-width: 760px) {
  .catalog, .product { grid-template-columns: minmax(0, 1fr); }
  .cat-list { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .cat-list a { border: 1px solid var(--line); background: var(--card); }
  .facet:not([open]) { padding: 6px 10px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lead { grid-template-columns: 1fr; }
  .h-hero { grid-template-columns: 1fr; gap: 28px; padding: 28px 0 32px; }
  .h-stats { gap: 22px; }
  .h-cats-main { gap: 8px; margin-bottom: 8px; }
  .h-cats-main .h-cat.wide .h-cat-img { aspect-ratio: 3 / 2; }
  .h-cats-wrap { grid-template-columns: 1fr; gap: 8px; }
  .h-cat.tall .h-cat-img { aspect-ratio: 16 / 9; }
  .h-cat.tall .h-cat-img img { object-position: 50% 64%; }
  .h-cats .h-cat[href*="braslety"] .h-cat-img img { transform: scale(1.2); }
  .h-cats .h-cat[href*="/kole/"] .h-cat-img img { transform: translateY(-4%) scale(1.25); }
  .h-cats .h-cat[href*="broshi"] .h-cat-img img { transform: translateY(6%) scale(1.2); }
  .h-cats .h-cat[href*="/ikony/"] .h-cat-img img { transform: scale(1.1); }
  .h-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; gap: 8px; }
  .h-cats .h-cat-img { flex: none; aspect-ratio: 1 / 1; min-height: 0; }
  .h-cats .h-cat-img img { position: static; }
  .h-cats .h-cat-name { padding: 6px 8px 8px; }
  .h-cats .h-cat-name span { font-size: 15px; }
  .h-cats .h-cat-name small { display: none; }
  .h-why-grid, .h-steps ol { grid-template-columns: 1fr; }
  .h-cat-name span { font-size: 19px; }
  .h-collage { aspect-ratio: 1 / 1; }
  .h-look { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .h-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* админка: проверка описаний */
.rev { display: grid; grid-template-columns: 220px 1fr; gap: 18px; border-bottom: 1px solid var(--line); padding: 16px 0; }
.rev-img { display: flex; flex-direction: column; gap: 8px; }
/* первое фото — крупное как раньше; остальные (включая технический чертёж с размерами) — маленькие миниатюры рядом,
   а не в полный размер */
.rev-img-main { width: 220px; border-radius: 10px; background: #fff; border: 1px solid var(--line); }
.rev-img-more { display: flex; flex-wrap: wrap; gap: 4px; width: 220px; }
.rev-img-more img { width: 50px; height: 50px; object-fit: contain; border-radius: 6px; background: #fff; border: 1px solid var(--line); }
.rev h2 { margin: 0 0 6px; font-size: 18px; }
.rev .chips .badge { margin: 0 4px 4px 0; }
.rev-text { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font: inherit; line-height: 1.5; }
@media (max-width: 760px) { .rev { grid-template-columns: 1fr; } .rev-img-main { width: 100%; } .rev-img-more { width: 100%; } }

/* подборки по типам изделий */
.chips.type-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.chip { display: inline-block; padding: 6px 12px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); text-decoration: none; color: var(--fg); font-size: 14px; }
.chip:hover { border-color: var(--gold); }
.chip span { color: var(--muted); font-size: 12px; margin-left: 4px; }
.seo-text { color: var(--muted); max-width: 760px; margin: 0 0 18px; }

.card-art { padding: 0 12px 6px; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.card-art span { overflow-wrap: anywhere; }
.copy-art { border: 1px solid var(--line); background: var(--card); color: var(--accent); border-radius: 99px; padding: 1px 8px; font-size: 12px; cursor: pointer; flex: none; }
.copy-art:hover { border-color: var(--accent); }

/* Карусель размеров со стрелками: размер сверху, под ним поле ввода, ровно 5 в ряду */
.car { display: flex; align-items: center; gap: 2px; min-width: 0; }
.car-track { flex: 1; min-width: 0; display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: visible; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; gap: 6px; padding-bottom: 3px; }
.car-track::-webkit-scrollbar { display: none; }
.car-track > * { flex: 0 0 calc((100% - 24px) / 5); scroll-snap-align: start; min-width: 0; }
.car-btn { flex: 0 0 auto; width: 20px; height: 36px; border: 0; background: transparent; color: var(--accent); font-size: 16px; line-height: 1; cursor: pointer; padding: 0; }
.car-btn:hover { color: var(--fg); }
.car-btn:disabled { opacity: .25; cursor: default; }
.car-btn[hidden] { display: none; }
.sizes.car-track { display: flex; padding: 0; }
.sizes.car-track .size { border: 0; padding: 0; gap: 4px; width: auto; background: transparent; }
.sizes.car-track .size-n { font-size: 15px; font-weight: 700; }
.sizes.car-track .size-st { display: none; }
.sizes.car-track .size-p { font-size: 11px; color: var(--muted); }
.sizes.car-track .size input { width: 100%; height: 34px; padding: 2px; font-size: 14px; border-radius: 6px; box-sizing: border-box; }
.sizes.car-track .size.off .size-n { color: var(--muted); font-weight: 500; }
.sizes.car-track .size.off input { background: #f3f0ec; }
.quick-sizes.car-track { justify-content: flex-start; margin-bottom: 0; }
.quick-sizes.car-track label { width: auto; gap: 3px; }
.quick-sizes.car-track .size { border: 0; padding: 0; background: transparent; }
.quick-sizes.car-track input { width: 100%; height: 30px; padding: 2px; box-sizing: border-box; font-size: 13px; }
.quick .car { margin-bottom: 4px; }
.quick .car-btn { width: 16px; height: 30px; font-size: 14px; }
/* поля количества в карусели: без стрелок-счётчиков, цифра по центру и целиком видна */
.car input[type=number] { -moz-appearance: textfield; appearance: textfield; text-align: center; padding-left: 0; padding-right: 0; }
.car input[type=number]::-webkit-inner-spin-button, .car input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.quick-sizes.car-track label { font-size: 13px; }
.quick-sizes.car-track input { height: 32px; font-size: 14px; }
.quick { padding: 10px 8px 11px; }

.stock-mode { border: 0; margin: 0 0 14px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.stock-mode legend { font-weight: 700; padding: 0; margin-bottom: 6px; }
.stock-mode label { display: flex; align-items: center; gap: 6px; font-size: 14px; cursor: pointer; padding: 3px 0; }
.stock-mode label > span:last-child { margin-left: auto; color: var(--muted); font-size: 12px; }
.stock-mode label .flag { margin: 0; }

/* плашки NEW и SALE: круглые, в бронзовой палитре сайта (тёмная — скидка, светлая — новинка) */
.card-img, .gallery { position: relative; }
.flags { position: absolute; top: 4px; left: 4px; display: flex; flex-direction: column; gap: 4px; z-index: 2; pointer-events: none; }
.flag { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 40px; height: 40px; border-radius: 50%;
        font-family: Manrope, system-ui, sans-serif; font-weight: 800; font-size: 11px; letter-spacing: .3px; line-height: 1; text-transform: uppercase;
        box-shadow: 0 2px 8px rgba(70, 40, 15, .22); }
.flag.new { color: var(--accent); background: #fbf6ee; border: 2px solid var(--accent); }
.flag.sale { color: #fff; background: var(--accent); border: 2px solid var(--accent); }
.gallery .flags { top: 8px; left: 8px; }
.gallery .flag { width: 50px; height: 50px; font-size: 13px; }

/* сворачиваемые блоки «Разделы» и «Фильтры»: на компьютере всегда раскрыты, на телефоне закрыты */
.mob-fold > summary { display: none; }
@media (max-width: 760px) {
  .mob-fold > summary { display: block; cursor: pointer; font-weight: 700; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); margin-bottom: 8px; list-style: none; }
  .mob-fold > summary::-webkit-details-marker { display: none; }
  .mob-fold > summary::after { content: "▾"; float: right; color: var(--muted); }
  .mob-fold[open] > summary::after { content: "▴"; }
}
.marks label .flag { width: 40px; height: 40px; flex: 0 0 40px; font-size: 11px; box-shadow: none; }
.marks label { gap: 10px; padding: 5px 0; }

/* при наведении на карточку — вторая фотография */
.card-img { position: relative; }
.card-img img.alt { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .18s ease; background: #fff; }
@media (hover: hover) { .card:hover .card-img img.alt { opacity: 1; } }

/* защита изображений: нельзя перетащить, выделить, вызвать меню долгим нажатием */
img { -webkit-user-drag: none; user-drag: none; -webkit-touch-callout: none; }
.card-img img, .gallery img, .thumbs img, .zoom-pop img { user-select: none; -webkit-user-select: none; }
.zoom-pop { display: none; position: fixed; z-index: 100; width: 360px; height: 360px; background: #fff; border: 1px solid var(--line); border-radius: 12px;
            box-shadow: 0 14px 30px rgba(40, 30, 20, .25); padding: 6px; pointer-events: none; }
.zoom-pop img { width: 100%; height: 100%; object-fit: contain; }
img.zoomable { cursor: zoom-in; }
.copyright { font-size: 12px; color: var(--muted); }

/* перечёркнутая старая цена */
.old-price { color: #6b5e53; font-weight: 500; font-size: 15px; text-decoration: line-through; text-decoration-thickness: 1px; margin-right: 6px; }
.price-big .old-price { font-size: 20px; }

.sort-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; }
.sort-bar select { padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); font: inherit; color: var(--fg); cursor: pointer; }
.sort-n { color: var(--muted); font-size: 14px; }

.price-in { display: flex; align-items: center; gap: 6px; }
.price-in input { width: 100%; min-width: 0; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; font: inherit; background: var(--card); box-sizing: border-box; }
.price-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.price-presets .chip { cursor: pointer; font: inherit; font-size: 13px; }

/* ===== телефон: компактная шапка и лента типов в одну строку ===== */
@media (max-width: 760px) {
  .top { transition: transform .22s ease; }
  .top.hide { transform: translateY(-100%); }
  .top-in { gap: 8px 10px; padding-top: 8px; padding-bottom: 8px; }
  .logo { font-size: 22px; order: 1; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  body:not(.adm) .nav { display: contents; }
  body.adm .top-in { flex-direction: column; align-items: flex-start; }
  body.adm .nav { display: flex; flex-wrap: wrap; gap: 6px 10px; order: 2; width: 100%; }
  body.adm .nav a, body.adm .nav .linklike { font-size: 13px; }
  .nav a.btn { order: 2; padding: 7px 12px; font-size: 14px; border-radius: 10px; white-space: nowrap; }
  .search { order: 3; flex: 1 1 100%; }
  .search input { padding: 7px 12px; font-size: 15px; }
  .nav a:not(.btn), .nav form.inline { order: 4; font-size: 14px; }
  .nav .linklike { font-size: 14px; padding: 0; }
  .chips.type-links { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 2px 16px 6px;
                      scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .chips.type-links::-webkit-scrollbar { display: none; }
  .chips.type-links .chip { flex: 0 0 auto; white-space: nowrap; }
  .sort-bar { flex-wrap: nowrap; gap: 8px; }
  .sort-bar label { font-size: 0; }
  .sort-bar select { font-size: 15px; max-width: 62vw; }
  .crumbs { font-size: 13px; }
}
@media (max-width: 760px) {
  .mob-fold > summary { padding: 8px 12px; margin-bottom: 6px; font-size: 15px; }
  .mob-fold:not([open]) { margin-bottom: 0; }
  h1 { font-size: 26px; margin: 8px 0 12px; }
}

/* корзина на телефоне: каждая позиция — карточка */
@media (max-width: 760px) {
  table.cart, table.cart tbody { display: block; overflow: visible; }
  table.cart thead { display: none; }
  table.cart tr { display: grid; grid-template-columns: 64px 1fr auto; grid-template-areas: "img title title" "img size sum" "img qty del"; gap: 4px 12px;
                  align-items: center; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; margin-bottom: 10px; }
  table.cart td { display: block; border: 0; padding: 0; text-align: left; }
  table.cart td.c-img { grid-area: img; align-self: start; }
  table.cart td.c-img img { width: 64px; height: 64px; border-radius: 8px; object-fit: cover; }
  table.cart td.c-title { grid-area: title; font-weight: 600; }
  table.cart td.c-size { grid-area: size; color: var(--muted); font-size: 14px; }
  table.cart td.c-size::before { content: "Размер "; }
  table.cart td.c-price { display: none; }
  table.cart td.c-sum { grid-area: sum; text-align: right; font-weight: 700; font-size: 16px; }
  table.cart td.c-sum::after { content: " BYN"; font-weight: 400; font-size: 12px; color: var(--muted); }
  table.cart td.c-qty { grid-area: qty; }
  table.cart td.c-qty .qty { width: 72px; padding: 6px 8px; }
  table.cart td.c-del { grid-area: del; text-align: right; font-size: 13px; }
  table.cart tr.off { display: block; }
}

.buy-total { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
.buy-total:empty { display: none; }
@media (max-width: 760px) {
  .buy-bar { position: sticky; bottom: 0; z-index: 20; background: var(--card); margin: 0 -16px -14px; padding: 8px 16px 12px;
             border-top: 1px solid var(--line); box-shadow: 0 -6px 14px rgba(60, 40, 20, .08); border-radius: 0 0 var(--radius) var(--radius); }
  .buy-bar .buy-total { margin: 0 0 6px; font-size: 13px; }
  .buy-bar .buy-actions { margin-top: 0; flex-wrap: nowrap; }
  .buy-bar .buy-actions .btn { flex: 0 0 auto; white-space: nowrap; padding: 9px 24px; font-size: 15px; }
}

.related { margin: 36px 0 8px; }
.related h2 { font-size: 22px; margin: 0 0 14px; }

/* размеры и нижняя панель на карточке товара не слипаются */
.buy-bar { margin-top: 16px; }
.buy .car { margin-bottom: 4px; }
@media (max-width: 760px) {
  .buy-bar { margin-top: 16px; }
  .zoom-pop { max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); }
}

.zoom-pop { width: 260px; height: 260px; }

/* баннер о скрытых товарах, цели в корзине */
.stock-note { background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; font-size: 14px; margin: 0 0 14px; }
.goals { display: grid; gap: 10px; margin: 12px 0; }
.goal p { margin: 0 0 4px; font-size: 14px; }
.goal .bar { height: 8px; background: var(--soft); border-radius: 99px; overflow: hidden; }
.goal .bar i { display: block; height: 100%; background: var(--accent); border-radius: 99px; }
.btn.small { padding: 5px 12px; font-size: 13px; }
form.inline { display: inline; }

.in-cart { background: var(--soft); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; font-size: 14px; margin: 0 0 12px; }

.set-ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; border: 2px solid var(--gold); color: var(--accent); font-weight: 800; font-size: 20px; }
.stock-mode.marks label > span.set-ico { margin-left: 0; font-size: 20px; color: var(--accent); }

/* блоки «Другие цвета», «Комплект», «Похожие»: один ряд с горизонтальной прокруткой */
.rel-row { display: flex; gap: 12px; overflow-x: auto; padding: 2px 2px 14px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.rel-row > .card { flex: 0 0 190px; scroll-snap-align: start; }
.rel-row .quick, .rel-row .card-img img.alt { display: none !important; }
.related { margin: 28px 0 4px; }
.related h2 { font-size: 20px; margin: 0 0 10px; }
details.rel-more { background: var(--soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px; }
details.rel-more > summary { cursor: pointer; font-weight: 600; font-size: 17px; }
details.rel-more > summary span { color: var(--muted); font-weight: 400; margin-left: 6px; }
details.rel-more[open] > summary { margin-bottom: 12px; }
@media (max-width: 760px) { .rel-row > .card { flex-basis: 150px; } }

/* карточка без артикула и «копировать»; неразмерные позиции: при наведении «Есть» заменяется на остаток, количество и корзинку */
.card-art { display: none; }
.card-meta.has-qi { min-height: 84px; }
.quick-inline { display: none; position: static; box-shadow: none; border: 0; padding: 0; background: transparent; margin: 0; }
.card:hover .quick-inline, .card:focus-within .quick-inline { display: flex; flex-direction: column; gap: 6px; }
.card:hover .meta-badge, .card:focus-within .meta-badge { display: none; }
.qi-stock { font-size: 13px; color: var(--muted); }
.qi-row { display: flex; gap: 8px; align-items: center; }
.qi-row input { width: 64px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; font: inherit; text-align: center; box-sizing: border-box; }
.cart-btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; height: 34px; border: 0; border-radius: 8px; background: var(--accent); color: var(--accent-fg); cursor: pointer; }
.cart-btn:hover { filter: brightness(1.1); }
.quick-inline .quick-msg { display: block; font-size: 12px; margin: 0; }
.quick-inline .quick-msg:empty { display: none; }
@media (hover: none) { .quick-inline { display: flex; flex-direction: column; gap: 6px; } .meta-badge { display: none; } }
/* панель размеров продолжает карточку без видимого шва */
.card.has-panel:hover, .card.has-panel:focus-within { border-bottom-color: var(--card); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.card .quick:not(.quick-inline) { top: calc(100% - 1px); border-top: 0; border-color: var(--accent); }
@media (hover: none) { .card.has-panel { border-bottom-color: var(--line); } }

/* карточка: фото крупнее (срезаем белые поля у снимка), название компактнее */
.card-img img:not(.alt) { transform: scale(1.14); transform-origin: center 45%; }
.card-img img.alt { transform: scale(1.14); transform-origin: center 45%; }
.card-title { padding: 8px 10px 2px; font-size: 13px; font-weight: 600; line-height: 1.25; letter-spacing: .1px; }
.card-meta { padding: 0 10px 10px; }
.rel-row .card-img img { transform: scale(1.1); }

/* фото, где изделие упирается в края кадра: даём поле */
.card-img.tight img { object-fit: contain; padding: 9%; background: #fff; box-sizing: border-box; }
.gallery .main.tight { padding: 7%; background: #fff; box-sizing: border-box; }

/* крупные разделы: плитки подразделов вместо сетки на 2000 товаров */
.hub-lead { color: var(--muted); margin: 0 0 18px; }
.hub { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hub-tile { display: block; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--fg); transition: border-color .2s, transform .2s; }
.hub-tile:hover { border-color: var(--gold); transform: translateY(-2px); }
.hub-img { aspect-ratio: 1; background: #fff; }
.hub-img img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.hub-name { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 14px 12px; border-top: 1px solid var(--line); }
.hub-name span { font-family: var(--serif); font-size: 19px; font-weight: 600; }
.hub-name small { color: var(--muted); font-size: 13px; }
.hub-all { margin: 22px 0 8px; }
@media (max-width: 760px) { .hub { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .hub-name span { font-size: 16px; } }
.hub-img { overflow: hidden; }
.hub-tile[href*="krupnye-kresty"] .hub-img img { transform: scale(1.18); }

/* мелкое изделие в большом кадре: увеличиваем */
.card-img.zoom img { transform: scale(1.7); }
.card-img.zoom { overflow: hidden; }

/* категории — компактной строкой над каталогом; «тип» колец и серёг — строкой кнопок над сеткой */
.cat-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 14px; }
.chip.on { background: var(--accent); color: #fff; border-color: var(--accent); }
.chip.on span { color: #f1e2d2; }
.cat-more { position: relative; }
.cat-more summary { cursor: pointer; list-style: none; }
.cat-more summary::-webkit-details-marker { display: none; }
.cat-more > div { position: absolute; z-index: 20; top: 110%; left: 0; display: flex; flex-wrap: wrap; gap: 6px; width: 340px; max-width: 88vw;
                  padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.grp-row b { font-weight: 600; margin-right: 2px; align-self: center; }
@media (max-width: 760px) {
  .cat-pills { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .cat-pills::-webkit-scrollbar { display: none; }
  .cat-pills .chip { flex: 0 0 auto; white-space: nowrap; }
  .cat-more > div { position: fixed; left: 16px; right: 16px; top: auto; width: auto; }
}

/* ряд «Тип» колец и серёг — одной строкой, с прокруткой, если не помещается */
.chips.type-links.grp-row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; align-items: center; }
.chips.type-links.grp-row .chip { flex: 0 0 auto; white-space: nowrap; font-size: 13px; padding: 5px 11px; }

/* телефон: меньше слоёв управления над первым фото */
.facet.desk-hide { display: none; }
@media (max-width: 760px) {
  .facet.desk-hide { display: block; }
  .chips.type-links.grp-row { display: none; }
  .crumbs { display: none; }
  .stock-note { display: none; }
  main h1 { font-size: 26px; margin: 10px 0 8px; }
  .cat-pills { margin-bottom: 8px; }
  .mob-fold > summary { padding: 9px 12px; }
  .sort-bar { margin: 6px 0 8px; }
}

.sort-f select { width: 100%; padding: 7px 10px; font: inherit; font-size: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }

/* верхние ряды — без овальных кнопок: текст и подчёркивание у выбранного (как у современных магазинов) */
.cat-pills { gap: 4px 26px; border-bottom: 1px solid var(--line); padding-bottom: 0; margin-bottom: 16px; }
.cat-pills .chip, .cat-more summary.chip { background: none; border: 0; border-radius: 0; padding: 10px 0; font-size: 14px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; }
.cat-pills .chip span { display: none; }
.cat-pills .chip:hover { color: var(--fg); border-color: var(--line); }
.cat-pills .chip.on { background: none; color: var(--fg); border-bottom-color: var(--accent); }
.cat-more > div .chip { text-transform: none; letter-spacing: 0; padding: 4px 10px; font-size: 14px; font-weight: 500; }
.cat-more > div .chip span { display: inline; }
.chips.type-links.grp-row { gap: 4px 20px; margin-bottom: 14px; }
.chips.type-links.grp-row .chip { background: none; border: 0; border-radius: 0; padding: 4px 0; font-size: 14px; color: var(--muted);
  border-bottom: 1px solid transparent; }
.chips.type-links.grp-row .chip:hover { color: var(--fg); border-color: var(--line); }
.chips.type-links.grp-row .chip.on { background: none; color: var(--fg); font-weight: 600; border-bottom-color: var(--accent); }
.chips.type-links.grp-row .chip span { color: var(--muted); font-size: 11px; }
@media (max-width: 760px) { .cat-pills { gap: 4px 18px; } .cat-pills .chip { font-size: 13px; } }

/* характеристики и описание на карточке товара — сворачивающиеся блоки */
.acc { border-top: 1px solid var(--line); }
.acc:last-of-type { border-bottom: 1px solid var(--line); }
.acc > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 14px 0;
  font-size: 14px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.acc > summary::-webkit-details-marker { display: none; }
.acc > summary::after { content: "⌄"; font-size: 18px; transition: transform .15s; }
.acc[open] > summary { color: var(--fg); }
.acc[open] > summary::after { transform: rotate(180deg); }
.acc > .props, .acc > .descr { margin-top: 0; padding-bottom: 14px; }

/* размеры на карточке товара: все сразу, компактными ячейками, без прокрутки стрелками */
@media (min-width: 761px) {
  .sizes.car-track { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; gap: 6px; }
  .sizes.car-track > .size { flex: 0 0 54px; padding: 5px 3px; border-radius: 8px; }
  .sizes.car-track .size input { width: 42px; padding: 3px 2px; font-size: 13px; }
  .buy .car .car-btn { display: none; }
}

/* товар уже в корзине: кнопка темнеет и подписана */
.size-cart { font-size: 10px; line-height: 1.1; color: var(--accent); font-weight: 600; text-align: center; }
.card-img { position: relative; }
.in-cart-ico { position: absolute; top: 8px; right: 8px; z-index: 3; display: flex; align-items: center; gap: 4px;
  padding: 4px 8px; background: #fff; border: 1px solid var(--accent); border-radius: 10px; color: var(--accent); line-height: 1; }
.in-cart-ico b { font-size: 12px; font-weight: 700; }

.sizes.car-track > .size { justify-content: flex-start; }
.size-cart { white-space: nowrap; }

.in-cart-line { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 14px; color: var(--accent); font-weight: 600; }
.in-cart-line svg { flex: 0 0 auto; }

.in-cart-ico i { font-style: normal; font-size: 13px; font-weight: 700; }
.size-alt { font-size: 10px; color: var(--muted); line-height: 1; white-space: nowrap; }
.size.in-cart, .sizes.car-track .size.in-cart, .quick-sizes.car-track .size.in-cart { background: var(--line) !important; }
.size.in-cart input { border-color: var(--muted) !important; }

.buy-total:empty { display: none; }
.buy-actions .btn { padding: 9px 24px; font-size: 15px; }

/* ===== блок покупки: аккуратный и современный ===== */
.buy-actions { margin-top: 14px; gap: 12px; justify-content: flex-start; }
.buy-actions .btn { height: 48px; padding: 0 30px; min-width: 190px; font-size: 16px; font-weight: 600; letter-spacing: .01em;
  border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px -8px rgba(122, 75, 42, .55); transition: transform .12s, box-shadow .12s, background .12s; }
.buy-actions .btn:hover { transform: translateY(-1px); box-shadow: 0 10px 20px -8px rgba(122, 75, 42, .6); }
.buy-actions .btn:active { transform: translateY(0); }
.buy-total { margin: 14px 0 0; font-size: 15px; color: var(--fg); font-weight: 600; }
/* размер с введённым количеством подсвечивается */
.size:has(input:not(:placeholder-shown):not(:disabled)) { border-color: var(--accent); background: var(--badge); }
.size:has(input:not(:placeholder-shown):not(:disabled)) input { border-color: var(--accent); }
.size input:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.price-big { margin: 4px 0 12px; }
@media (max-width: 760px) {
  .buy-bar .buy-actions { justify-content: center; }
  .buy-bar .buy-actions .btn { flex: 1 1 auto; max-width: 340px; height: 46px; min-width: 0; }
  .buy-bar .buy-total { text-align: center; margin: 0 0 6px; font-size: 14px; }
}

/* ===== редизайн: тёплый минимализм (шапка, заголовки, карточки каталога) ===== */
.top { background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); }
.top-in { padding-top: 14px; padding-bottom: 14px; gap: 22px; }
.logo { font-size: 30px; font-weight: 500; }
.search input { background: var(--bg); border-color: transparent; border-radius: 99px; padding: 10px 18px; }
.search input:focus { outline: 0; background: #fff; border-color: var(--gold); }
.nav { gap: 22px; }
.nav a:not(.btn) { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.nav a:not(.btn):hover { color: var(--fg); }
.nav a.btn { border-radius: 99px; padding: 9px 20px; font-size: 14px; }
main > h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 4.5vw, 46px); line-height: 1.1; margin: 6px 0 18px; }
.grid { gap: 30px 22px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.card { border: 0; background: transparent; border-radius: 0; }
.card:hover { border-color: transparent; }
.card-img { border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.card-title { padding: 12px 2px 2px; font-weight: 500; font-size: 14px; }
.card-meta { padding: 0 2px 4px; }
@media (max-width: 760px) {
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .top-in { gap: 10px; }
  .nav a:not(.btn) { font-size: 12px; letter-spacing: .05em; }
}
.catalog > div { min-width: 0; }
.chips.type-links.grp-row { scrollbar-width: none; }
.chips.type-links.grp-row::-webkit-scrollbar { display: none; }

/* ===== каталог: фильтры в выезжающей панели, товары на всю ширину ===== */
.catalog { grid-template-columns: minmax(0, 1fr); }
.grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.filters { position: fixed; z-index: 120; top: 0; bottom: 0; left: 0; width: min(400px, 92vw); background: #fff; padding: 0; gap: 0;
  overflow-y: auto; transform: translateX(-102%); transition: transform .28s ease; box-shadow: 0 0 40px rgba(40, 25, 10, .25); }
.filters.open { transform: none; }
.drawer-bg { position: fixed; inset: 0; z-index: 110; background: rgba(30, 20, 10, .42); opacity: 0; pointer-events: none; transition: opacity .25s; }
.filters.open ~ * { }
.catalog:has(.filters.open) .drawer-bg { opacity: 1; pointer-events: auto; }
body.no-scroll { overflow: hidden; }
.drawer-head { position: sticky; top: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 18px 20px;
  background: #fff; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 26px; }
.drawer-x { border: 0; background: none; font-size: 30px; line-height: 1; cursor: pointer; color: var(--muted); padding: 0 4px; }
.filters > details.mob-fold { padding: 4px 20px 0; }
.filters details.mob-fold > summary { display: none; }
.filters .facets { padding-bottom: 8px; }
.drawer-foot { position: sticky; bottom: 0; padding: 14px 20px; background: #fff; border-top: 1px solid var(--line); }
.drawer-foot .btn { width: 100%; height: 48px; border-radius: 12px; font-size: 16px; font-weight: 600; }
.facet { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; padding: 12px 0; }
.facet summary { font-size: 15px; }
.stock-mode { border: 0; border-bottom: 1px solid var(--line); padding: 12px 0; margin: 0; }
.filters-btn { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 20px; border: 1px solid var(--fg); border-radius: 99px;
  background: #fff; color: var(--fg); font: inherit; font-weight: 600; font-size: 14px; letter-spacing: .04em; cursor: pointer; }
.filters-btn:hover { background: var(--fg); color: #fff; }
.filters-btn .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); display: inline-block; }
.sort-bar { display: flex; align-items: center; gap: 16px; margin: 4px 0 18px; }
.sort-bar .sort-n { margin-left: auto; color: var(--muted); }

/* фото без серых рамок: белая подложка с мягкой тенью */
.card-img { border: 0; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(60, 40, 20, .05), 0 14px 28px -18px rgba(60, 40, 20, .35); transition: box-shadow .2s; }
.card:hover .card-img { box-shadow: 0 1px 2px rgba(60, 40, 20, .06), 0 20px 36px -16px rgba(60, 40, 20, .45); }

/* ===== как у современных магазинов: категории в шапке, фильтры слева-аккордеоны, крупные карточки ===== */
.cats-nav { display: flex; gap: 26px; align-items: center; }
.cats-nav a, .cats-nav summary { font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg); cursor: pointer; list-style: none; }
.cats-nav a:hover, .cats-nav summary:hover { color: var(--accent); }
.cats-nav .cat-more { position: relative; }
.cats-nav .cat-more summary::-webkit-details-marker { display: none; }
.cats-nav .cat-more > div { position: absolute; top: 140%; left: -12px; z-index: 60; display: flex; flex-direction: column; gap: 10px; min-width: 190px;
  padding: 16px 18px; background: #fff; border-radius: 14px; box-shadow: 0 18px 40px -16px rgba(40, 25, 10, .35); }
.top-in { flex-wrap: nowrap; gap: 28px; }
.top-in .search { flex: 0 1 260px; min-width: 150px; }
.nav { margin-left: auto; }

/* карточки: фото на светлой подложке без рамок; белый фон снимков сливается с ней */
.card-img { background: #f4f1ec; border: 0; box-shadow: none; border-radius: 16px; }
.card:hover .card-img { box-shadow: none; }
.card-img img { mix-blend-mode: multiply; }
.card-title { font-size: 15px; font-weight: 500; padding: 14px 2px 2px; }
.card-sub { font-size: 13px; color: var(--muted); padding: 0 2px 4px; }
.card-meta { padding: 0 2px 6px; }
.grid { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 34px 24px; }

/* строка над товарами */
.sort-bar { display: flex; align-items: center; gap: 22px; margin: 6px 0 22px; }
.filters-btn { border: 0; background: none; padding: 0; height: auto; font-size: 16px; font-weight: 600; letter-spacing: 0; border-radius: 0; }
.filters-btn:hover { background: none; color: var(--accent); }
.sort-bar .sort-n { margin-left: 0; color: var(--muted); font-size: 15px; }
.sort-sel { margin-left: auto; }
.sort-sel select { border: 0; background: transparent; font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; padding: 6px 0; }

/* широкий экран: фильтры — колонка слева с плюсиками, кнопка прячет её */
@media (min-width: 1001px) {
  .catalog { grid-template-columns: 290px minmax(0, 1fr); gap: 36px; }
  .catalog.filters-hidden { grid-template-columns: minmax(0, 1fr); }
  .catalog.filters-hidden .filters { display: none; }
  .filters { position: static; transform: none; width: auto; background: transparent; box-shadow: none; overflow: visible; }
  .drawer-bg, .drawer-head, .drawer-foot { display: none; }
  .filters > details.mob-fold { padding: 0; }
  .sort-bar { grid-column: 1 / -1; }
  .catalog > div:last-child { min-width: 0; }
}
.facet summary, .stock-mode legend { display: flex; justify-content: space-between; align-items: center; font-size: 17px; font-weight: 600; cursor: pointer; list-style: none; padding: 0; }
.facet summary::-webkit-details-marker { display: none; }
.facet summary::after { content: "+"; font-size: 24px; font-weight: 300; line-height: 1; color: var(--fg); }
.facet[open] summary::after { content: "−"; }
.facet { padding: 16px 0; }
.stock-mode legend { padding: 0 0 8px; float: none; width: 100%; }
@media (max-width: 1000px) { .cats-nav { display: none; } }

/* вертикальные карточки (4:5), как у современных магазинов; шапка не переносится */
.card-img { aspect-ratio: 4 / 5; }
.card-img img { object-fit: contain; }
.card-img img.alt { object-fit: contain; }
.logo { white-space: nowrap; }
.top-in { gap: 22px; }
.cats-nav { gap: 20px; flex: 0 0 auto; }
.cats-nav a, .cats-nav summary { font-size: 13px; white-space: nowrap; }
.top-in .search { flex: 0 1 190px; }
.nav { flex-wrap: nowrap; gap: 16px; white-space: nowrap; }
.nav a:not(.btn) { font-size: 12px; }
@media (min-width: 761px) { .grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); } }

/* белый фон страниц */
:root { --bg: #fff; --soft: #f6f4f0; }
body { background: #fff; }
.top { background: #fff; backdrop-filter: none; }
.search input { background: #f4f2ee; }

/* без закруглений: прямые углы везде */
:root { --radius: 0; }
*:not(input[type="radio"]):not(.dot):not(.sw):not(.swatch):not(.color-dot) { border-radius: 0 !important; }

/* подложка карточек светлее */
.card-img { background: #f9f8f6; }

/* ===== типографика: жирным только важное (артикул и цена), остальное спокойнее ===== */
body { font-size: 15px; line-height: 1.5; }
.cats-nav a, .cats-nav summary { font-weight: 500; letter-spacing: .06em; }
.nav a:not(.btn) { font-weight: 500; color: var(--muted); }
.nav a.btn { font-weight: 600; }
.facet summary, .stock-mode legend { font-size: 16px; font-weight: 600; }
.facet-vals label, .stock-mode label { font-size: 14px; font-weight: 400; }
.filters-btn { font-weight: 500; font-size: 15px; }
.sort-bar .sort-n { font-size: 14px; }
.sort-sel select { font-weight: 500; font-size: 14px; }
/* карточка: артикул и цена — главное */
.card-title { font-size: 15px; font-weight: 600; letter-spacing: .01em; color: var(--fg); }
.card-sub { font-size: 13px; font-weight: 400; color: var(--muted); }
.card-price { font-size: 18px; font-weight: 700; color: var(--fg); }
.card-meta .badge { background: none; padding: 0; font-size: 12px; font-weight: 500; color: var(--muted); }
.card-meta .badge.ok { color: #2f6b2a; }
.card-meta .badge.wait { color: #9a6a2a; }
.old-price { font-size: 13px; font-weight: 400; color: var(--muted); }

/* при наведении второе фото заменяет первое, а не накладывается на него («привидение») */
.card-img img.alt { background: transparent; }
@media (hover: hover) { .card:hover .card-img img:not(.alt) { opacity: 0; } }
.card-img img:not(.alt) { transition: opacity .18s ease; }

/* подвал сайта и страницы каталога */
.foot { background: #1b1714; color: #cfc6bb; border-top: 0; margin-top: 70px; padding: 50px 0 22px; font-size: 14px; }
.foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 40px; }
.foot-logo { font-family: var(--serif); font-size: 28px; font-weight: 500; color: #fff; margin-bottom: 12px; }
.foot h4 { margin: 0 0 14px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.foot a { display: block; color: #cfc6bb; margin: 0 0 8px; text-decoration: none; }
.foot a:hover { color: #fff; }
.foot p { margin: 0 0 8px; line-height: 1.55; }
.foot .seller { color: #a89c8e; font-size: 13px; margin-top: 12px; }
.foot-copy { margin-top: 36px; padding-top: 18px; border-top: 1px solid #332d28; font-size: 12px; color: #8a7f73; }
@media (max-width: 760px) { .foot-grid { grid-template-columns: 1fr; gap: 26px; } .foot { padding: 36px 0 18px; } }
.pager { justify-content: center; gap: 8px; margin: 44px 0 10px; }
.pager a, .pager span { min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: #fff; color: var(--fg); font-weight: 500; }
.pager a:hover { border-color: var(--fg); }
.pager .cur { background: var(--fg); color: #fff; border-color: var(--fg); }
.pager .gap { border: 0; min-width: 20px; padding: 0; }

/* быстрый заказ: панель размеров выезжает поверх нижней части фото, а не висит под карточкой */
@media (hover: hover) {
  .card { container-type: inline-size; }
  .quick { top: calc(125cqw - 150px); left: 0; right: 0; bottom: auto; padding: 10px 12px 12px; background: rgba(255, 255, 255, .96);
    border: 0; box-shadow: none; }
  .quick-t { margin: 0 0 6px; font-size: 12px; }
  .quick-sizes { margin-bottom: 8px; }
  .quick .btn { height: 38px; padding: 0; width: 100%; font-size: 14px; box-shadow: none; }
}

/* шапка: ссылки без подчёркивания, поиск спокойнее */
.cats-nav a, .cats-nav summary, .nav a { text-decoration: none; }
.top-in .search input:focus { outline: 0; border-color: var(--fg); background: #fff; }
.top-in .search input { border: 1px solid transparent; }
/* плитки разделов подвесок в том же стиле, что карточки: без рамок, светлая подложка */
.hub { gap: 30px 24px; }
.hub-tile { background: transparent; border: 0; }
.hub-tile:hover { border-color: transparent; transform: none; }
.hub-img { background: #f9f8f6; aspect-ratio: 4 / 5; }
.hub-img img { mix-blend-mode: multiply; padding: 18px; }
.hub-name { border-top: 0; padding: 14px 2px 0; }
.hub-name span { font-family: Manrope, system-ui, sans-serif; font-size: 16px; font-weight: 600; }
.hub-lead { display: none; }

.cat-facet { border-bottom: 1px solid var(--line); padding: 16px 0; margin: 0; }

/* ряд «Тип»: переносится на строки, ничего не скрывается и не нужно прокручивать */
.chips.type-links.grp-row { flex-wrap: wrap; overflow: visible; gap: 8px 26px; padding-bottom: 0; margin: 0 0 18px; }
.chips.type-links.grp-row b { margin-right: 4px; }

/* на широком экране колонка фильтров не должна быть выше шапки */
@media (min-width: 1001px) { .filters { z-index: auto; } }
.top { z-index: 100; }

/* если второго фото нет, при наведении ничего не пропадает */
@media (hover: hover) {
  .card:hover .card-img img:not(.alt) { opacity: 1; }
  .card:hover .card-img:has(img.alt) img:not(.alt) { opacity: 0; }
}
/* цена: четыре кнопки на всю ширину диапазона */
.price-presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; width: 100%; }
.price-presets .chip { width: 100%; text-align: center; padding: 8px 0; }
.price-in { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; width: 100%; }
.price-in input { width: 100%; min-width: 0; }

/* быстрый заказ точно по ширине и поверх нижней части фото (без container-единиц) */
@media (hover: hover) {
  .card .quick:not(.quick-inline), .card .quick { top: 0; margin-top: calc(125% - 150px); left: 0; right: 0; width: auto; box-sizing: border-box; background: #fff; padding: 10px 14px 14px; }
  .quick .btn { width: 100%; }
}

/* быстрый заказ занимает место подписи под фото и не закрывает изделие */
@media (hover: hover) {
  .card .quick:not(.quick-inline), .card .quick { top: 0; margin-top: 125%; padding: 6px 2px 11px; background: #fff; }
  .card .quick .quick-t { display: none; }
  .card .quick .quick-sizes { margin-bottom: 8px; }
  .card .quick .btn { height: 38px; }
}

@media (hover: hover) {
  .card .quick .quick-t { display: block; text-align: left; margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--fg); }
}

.quick-sizes .qs-ok { color: var(--accent); font-size: 16px; font-weight: 800; line-height: 1; margin-top: 2px; }
.quick-sizes .qs-alt { font-size: 10px; color: var(--muted); line-height: 1; white-space: nowrap; }
@media (hover: hover) {
  .card .quick .quick-sizes { margin-bottom: 0; gap: 4px; }
  .card .quick .car { margin-bottom: 4px; }
  .card .quick .quick-msg { margin: 0; min-height: 0; line-height: 0; }
  .card .quick .btn { margin-top: 0; }
}
.grid { row-gap: 54px; }
@media (hover: hover) {
  .card .quick .quick-t { font-size: 16px; margin: 0 0 3px; }
  .card .quick .btn { height: 36px; }
  .card .quick .quick-sizes input { height: 32px; }
}
.grid { row-gap: 62px; }
.quick-sizes .qs-ok { font-size: 12px; margin-top: 1px; }
.size-ok { font-size: 13px; }

@media (hover: hover) {
  .card .quick .quick-t { display: none; }
  .quick-foot { display: flex; align-items: center; gap: 12px; }
  .quick-foot .btn { flex: 1; width: auto; }
  .qprice { font-size: 17px; font-weight: 700; white-space: nowrap; color: var(--fg); }
  .qprice small { font-size: 11px; font-weight: 500; color: var(--muted); }
}

/* узкие окна и планшеты: шапка переносится, ничего не уезжает за край */
@media (max-width: 1000px) {
  .top-in { flex-wrap: wrap; gap: 10px 16px; }
  .top-in .search { flex: 1 1 200px; }
  .nav { flex-wrap: wrap; white-space: normal; margin-left: auto; gap: 8px 14px; }
}
html, body { overflow-x: clip; }
@media (max-width: 1000px) { .gallery { max-width: 520px; margin: 0 auto; } }

/* страница товара: фото на светлой подложке, без серых рамок (как в каталоге) */
.gallery .main-wrap { background: #f9f8f6; }
.gallery .main { background: transparent; mix-blend-mode: multiply; display: block; border-radius: 0; }
.gallery .main.tight { background: transparent; }
.thumbs button { background: #f9f8f6; border: 1px solid transparent; }
.thumbs button:hover { border-color: var(--fg); }
.thumbs img { mix-blend-mode: multiply; }

/* страница товара на компьютере: фото по высоте экрана, блок покупки без рамки */
.buy { background: transparent; border: 0; padding: 4px 0 8px; margin: 12px 0; }
@media (min-width: 1001px) {
  .gallery .main-wrap { height: calc(100vh - 250px); max-height: 720px; min-height: 420px; display: flex; align-items: center; justify-content: center; }
  .gallery .main { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
}

/* заголовок товара: тоньше и меньше */
.info h1 { font-family: Manrope, system-ui, sans-serif; font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; letter-spacing: .02em; line-height: 1.25; margin: 4px 0 14px; }
.price-big { font-size: 26px; font-weight: 600; }

/* поле количества и кнопка «В корзину» — одной высоты и одной линии */
.buy-actions { align-items: stretch; gap: 10px; }
.buy-actions .qty { height: 48px; width: 84px; padding: 0 10px; text-align: center; font: inherit; font-size: 16px; border: 1px solid var(--line); background: #fff; box-sizing: border-box; }
.buy-actions .btn { min-width: 0; padding: 0 28px; }

/* страница товара: без липкой панели, линий и теней между блоками */
.buy-bar { position: static !important; margin: 14px 0 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
.buy .badge, .info .badge.ok { background: none; padding: 0; font-size: 14px; font-weight: 500; color: #2f6b2a; }
.buy .badge.ok::before { content: "● "; font-size: 10px; vertical-align: 1px; }
.info .acc:first-of-type { margin-top: 18px; }

/* поле количества и кнопка — единая полоса */
.buy-actions { gap: 0 !important; flex-wrap: nowrap; }
.buy-actions .qty { width: 72px; height: 48px; border: 1px solid var(--fg); border-right: 0; background: #fff; }
.buy-actions .btn { height: 48px; min-width: 210px; box-shadow: none !important; transform: none !important; }
.buy-actions .btn.ghost { margin-left: 10px; }

/* страница товара на компьютере: фото не на пол-экрана, всё по центру */
@media (min-width: 1001px) {
  .product { grid-template-columns: minmax(0, 600px) minmax(0, 520px); justify-content: center; gap: 64px; }
  .gallery .main-wrap { height: min(calc(100vh - 250px), 600px); }
}

/* поле слева, кнопка тянется на всю остальную ширину блока */
.buy-actions { width: 100%; justify-content: flex-start; }
.buy-actions .qty { flex: 0 0 72px; }
.buy-actions .btn { flex: 1 1 auto; min-width: 0; }

/* поле количества отдельно от кнопки */
.buy-actions { gap: 12px !important; }
.buy-actions .qty { border: 1px solid var(--line); border-right: 1px solid var(--line); }

/* телефон и планшет: сетка карточек */
@media (max-width: 760px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; row-gap: 28px; } .card-title { font-size: 13px; } .card-price { font-size: 16px; } .card-price small { font-size: 12px; } }
@media (min-width: 761px) and (max-width: 1000px) { .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 16px; row-gap: 40px; } }

/* телефон и планшет: на карточке никаких выезжающих панелей — открыть товар и выбрать там */
@media (hover: none) { .card .quick { display: none !important; } }
@media (max-width: 760px) {
  .sort-bar { gap: 10px; flex-wrap: wrap; }
  .sort-bar .sort-n { white-space: nowrap; font-size: 13px; }
  .sort-sel select { font-size: 14px; max-width: 150px; }
  .filters-btn { font-size: 15px; }
}

/* шапка на телефоне: логотип и корзина в одной строке, ниже поиск и ссылки */
@media (max-width: 760px) {
  .top-in { gap: 8px 12px; padding-top: 10px; padding-bottom: 10px; }
  .top-in .logo { order: 1; flex: 1 1 auto; font-size: 24px; }
  .nav a.btn { order: 2; padding: 8px 14px; font-size: 14px; }
  .top-in .search { order: 3; flex: 1 1 100%; }
  .nav a:not(.btn), .nav form.inline { order: 4; }
}

/* «Похожие товары» и другие ряды под карточкой: компактнее и на всю ширину */
.related { margin: 40px 0 0; }
.related h2 { font-family: var(--serif); font-size: 28px; font-weight: 500; margin: 0 0 18px; }
@media (min-width: 1001px) {
  .rel-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; overflow: visible; padding: 0; }
  .rel-row > .card { flex: none; }
}
.rel-row .card-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.product { margin-bottom: 0; }
.info { padding-bottom: 0; }

/* ряды под карточкой товара: компактные интервалы между разделами */
.related { margin: 22px 0 0; }
.related h2 { font-size: 24px; margin: 0 0 12px; }
.rel-row { padding: 0 !important; }
.rel-row .card-meta { padding-bottom: 0; }
.rel-row .card-sub { margin-bottom: 2px; }
.related + .related { margin-top: 18px; }

/* разделы под карточкой начинаются от левого края фото товара и той же ширины */
@media (min-width: 1001px) {
  .product { grid-template-columns: minmax(0, 600px) minmax(0, 536px); gap: 64px; width: 1200px; max-width: 100%; margin-left: auto; margin-right: auto; }
  .related, .rel-more { width: 1200px; max-width: 100%; margin-left: auto; margin-right: auto; }
  .rel-row { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
}

/* планшет и телефон: фото, название, цены и разделы начинаются на одной вертикали */
@media (max-width: 1000px) {
  .gallery { max-width: none; margin: 0; }
  .gallery .main-wrap { display: flex; justify-content: center; }
  .gallery .main { width: auto; max-width: 100%; max-height: 62vh; object-fit: contain; }
  .related, .rel-more { width: auto; margin-left: 0; margin-right: 0; }
}

/* поисковая строка: с лупой, тонкая линия, не обрезает подсказку */
.top-in .search { flex: 0 1 300px; min-width: 190px; }
.top-in .search input { height: 42px; padding: 0 14px 0 42px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237d6f62' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center;
  border: 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.top-in .search input::placeholder { color: var(--muted); }
.top-in .search input:focus { outline: 0; border-bottom-color: var(--fg); background-color: #fff; }
@media (max-width: 760px) { .top-in .search input { background-color: #f4f2ee; border: 0; } }

/* быстрый заказ товара без размеров — та же панель под фото, что и у колец */
@media (hover: hover) {
  .card .quick.quick-inline { display: none; top: 0; margin-top: 125%; left: 0; right: 0; background: #fff; padding: 6px 2px 0; flex-direction: column; gap: 8px; }
  .card:hover .quick.quick-inline, .card:focus-within .quick.quick-inline { display: flex; }
  .quick-inline .qi-stock { font-size: 13px; color: var(--muted); }
  .quick-inline .quick-foot { display: flex; gap: 10px; }
  .quick-inline .qi-qty { flex: 0 0 64px; height: 36px; border: 1px solid var(--line); text-align: center; font: inherit; box-sizing: border-box; }
  .quick-inline .btn { flex: 1; height: 36px; }
}

/* подпись под фото без пустого «подвала», интервалы между рядами меньше */
.card-meta.has-qi { min-height: 0; }
.card-meta { padding-bottom: 0; }
.grid { row-gap: 40px; }
@media (max-width: 760px) { .grid { row-gap: 26px; } }
@media (hover: hover) { .card .quick.quick-inline { position: absolute; } }

/* панель заказа полностью закрывает подпись под фото (цена не торчит из-под неё) */
@media (hover: hover) {
  .card .quick { min-height: 112px; box-sizing: border-box; }
  .quick-inline .qi-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
}

/* панель заказа: у колец и у товаров без размеров одинаковой высоты, цена и кнопка внизу */
@media (hover: hover) {
  .card .quick, .card .quick.quick-inline { min-height: 117px; }
  .card:hover .quick.quick-inline, .card:focus-within .quick.quick-inline { display: flex; flex-direction: column; justify-content: space-between; }
  .quick-inline .quick-foot { margin-top: auto; }
}
@media (hover: hover) {
  .card .quick.quick-inline { justify-content: flex-end; gap: 0; }
  .quick-inline .qi-top { margin-top: auto; margin-bottom: 8px; }
  .quick-inline .quick-foot { margin-top: 0; }
}

/* товары без размеров: панель заказа заканчивается на уровне низа карточки (где слово «Есть»); кольца не затронуты */
@media (hover: hover) {
  .card .quick.quick-inline { top: auto !important; margin-top: 0 !important; bottom: 0; height: 102px; min-height: 102px; padding: 2px 2px 0; box-sizing: border-box; }
  .card .quick.quick-inline .qi-top { margin-bottom: 6px; }
}

/* сообщение после добавления — внутри панели, на месте кнопки, и гаснет само */
@media (hover: hover) {
  .card .quick .quick-msg { position: absolute; left: 0; right: 0; bottom: 0; height: 36px; margin: 0; padding: 0 8px; display: none; align-items: center; justify-content: center;
    background: #fff; font-size: 13px; line-height: 1.2; text-align: center; z-index: 5; }
  .card .quick .quick-msg:not(:empty) { display: flex; }
  .card .quick .quick-msg a { margin-left: 6px; white-space: nowrap; }
}

.quick-inline .qi-top { flex-wrap: wrap; gap: 2px 10px; }
.quick-inline .qi-in { color: var(--accent); font-size: 13px; font-weight: 600; white-space: nowrap; }
.quick-inline .qi-in b { font-weight: 800; }

/* корзина — иконка со счётчиком, без слова */
.nav .cart-link { position: relative; display: inline-flex; align-items: center; color: var(--fg); padding: 6px; background: none; border: 0; }
.nav .cart-link:hover { color: var(--accent); }
.cart-n { position: absolute; top: -2px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-sizing: border-box; }
.cart-n[hidden] { display: none; }
.in-cart-ico { color: var(--accent); padding: 5px 6px; }
.in-cart-ico svg { display: block; }
@media (max-width: 760px) { .nav .cart-link { order: 2; margin-left: auto; } }

/* значок «товар в корзине»: просто мини-тележка без плашки, внутри цвет как у NEW */
.in-cart-ico { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-width: 0; top: 10px; right: 10px; }
.in-cart-ico svg { width: 24px; height: 24px; fill: #fbf6ee; stroke: var(--accent); stroke-width: 1.8; }

/* метка «товары в корзине» — в одном ряду с «Новинки», «Скидки», «Комплект» */
.cart-flag { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: 40px; height: 40px; border: 2px solid var(--accent); background: #fbf6ee; color: var(--accent); }
.cart-flag svg { fill: #fbf6ee; stroke: var(--accent); }
.stock-mode label .cart-flag { margin: 0; }

/* главная: фото на модели во всю ширину, текст сверху */
.h-hero2 { padding: 34px 0 40px; }
.h-hero2-top { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: end; margin-bottom: 30px; }
.h-hero2 h1 { font-size: clamp(38px, 5.4vw, 72px); line-height: 1.02; margin: 0; font-family: var(--serif); font-weight: 500; }
.h-hero2 .eyebrow { margin: 0 0 14px; }
.h-hero2-side .lead { font-size: 17px; color: var(--muted); margin: 0 0 20px; max-width: 520px; }
.h-hero2 .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.h-triptych { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.h-triptych a { position: relative; display: block; overflow: hidden; background: #f4f1ec; aspect-ratio: 4 / 5; max-height: 74vh; }
.h-triptych img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; transition: transform .6s ease; }
.h-triptych a:hover img { transform: scale(1.03); }
.h-triptych span { position: absolute; left: 20px; bottom: 18px; padding: 8px 18px; background: #fff; color: var(--fg); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.h-hero2 .h-stats { margin-top: 28px; }
@media (max-width: 900px) {
  .h-hero2-top { grid-template-columns: 1fr; gap: 18px; }
  .h-triptych { gap: 8px; }
  .h-triptych span { left: 8px; bottom: 8px; padding: 5px 9px; font-size: 11px; letter-spacing: .06em; }
}
@media (max-width: 900px) {
  .h-triptych { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .h-triptych a:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 4.6; }
  .h-triptych span { left: 12px; bottom: 12px; padding: 7px 13px; font-size: 12px; }
}

/* главная: те же три фото, что были, но на всю ширину и крупно */
.h-collage2 { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; height: min(78vh, 680px); }
.h-collage2 a { position: relative; display: block; overflow: hidden; background: #f4f1ec; }
.h-collage2 img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.h-collage2 a:hover img { transform: scale(1.03); }
.h-collage2 .c1 { grid-row: 1 / 3; }
.h-collage2 .c1 img { object-position: center 28%; }
.h-collage2 .c2 img, .h-collage2 .c3 img { object-position: center 35%; }
@media (max-width: 900px) {
  .h-collage2 { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 8px; height: auto; }
  .h-collage2 .c1 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 4.6; }
  .h-collage2 .c2, .h-collage2 .c3 { aspect-ratio: 1; }
}

/* ===== главная: единый стиль с каталогом ===== */
.hx { padding: 64px 0 0; }
.hx-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 0 0 24px; }
.hx-head h2, .hx-look-text h2, .hx-cta h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; margin: 0; }
.hx-head a { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--fg); text-decoration: none; border-bottom: 1px solid var(--fg); padding-bottom: 3px; }

/* разделы: 6 вертикальных плиток, как плитки каталога */
.hx-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.hx-cat { display: block; color: var(--fg); text-decoration: none; }
.hx-cat-img { aspect-ratio: 4 / 5; background: #f9f8f6; overflow: hidden; }
.hx-cat-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.hx-cat-img img.pack { object-fit: contain; mix-blend-mode: multiply; padding: 12%; }
.hx-cat:hover .hx-cat-img img { transform: scale(1.04); }
.hx-cat-name { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 2px 0; font-size: 15px; font-weight: 600; }
.hx-cat-name small { color: var(--muted); font-weight: 400; font-size: 13px; }
.hx-more { margin: 22px 0 0; color: var(--muted); font-size: 14px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.hx-more a { color: var(--fg); text-decoration: none; border-bottom: 1px solid var(--line); }
.hx-more a:hover { border-color: var(--fg); }

/* новинки — теми же карточками, что в каталоге */
.hx-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* фотоблок */
.hx-look { display: grid; grid-template-columns: 1fr 1.7fr; gap: 56px; align-items: center; }
.hx-look-text p { color: var(--muted); font-size: 17px; line-height: 1.6; margin: 18px 0 24px; max-width: 460px; }
.hx-look-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.hx-look-photos img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }

/* преимущества: 4 колонки, без коробок */
.hx-why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 32px; }
.hx-why-grid > div { border-top: 1px solid var(--fg); padding-top: 16px; }
.hx-why-grid i { font-style: normal; font-family: var(--serif); font-size: 22px; color: var(--accent); }
.hx-why-grid h3 { font-size: 16px; font-weight: 600; margin: 10px 0 8px; line-height: 1.3; }
.hx-why-grid p { color: var(--muted); font-size: 14px; line-height: 1.6; margin: 0; }

/* шаги */
.hx-steps ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.hx-steps li { border-top: 1px solid var(--fg); padding-top: 16px; }
.hx-steps li i { display: block; font-style: normal; font-family: var(--serif); font-size: 56px; line-height: 1; color: var(--accent); margin-bottom: 10px; }
.hx-steps li b { font-size: 17px; }
.hx-steps li p { color: var(--muted); margin: 6px 0 0; font-size: 15px; }

/* призыв */
.hx-cta { margin-top: 72px; background: #1b1714; color: #fff; text-align: center; padding: 64px 20px; }
.hx-cta p { color: #cfc6bb; margin: 14px auto 26px; max-width: 520px; }
.hx-cta .btn.light { background: #fff; color: #1b1714; border-color: #fff; }

@media (max-width: 1000px) {
  .hx-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hx-look { grid-template-columns: 1fr; gap: 28px; }
  .hx-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .hx { padding-top: 44px; }
  .hx-cats { gap: 10px; }
  .hx-cat-name { font-size: 13px; flex-direction: column; gap: 2px; }
  .hx-look-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hx-why-grid { grid-template-columns: 1fr; gap: 28px; }
  .hx-steps ol { grid-template-columns: 1fr; }
  .hx-cta { margin-top: 48px; padding: 44px 18px; }
}
.hx-cat-img img.pack { padding: 5%; transform: scale(1.12); }
.hx-cat:hover .hx-cat-img img.pack { transform: scale(1.18); }

/* один фирменный цвет — шоколадный: чёрные акценты заменены им */
:root { --choc-dark: #3b2517; }
.foot { background: var(--choc-dark); }
.foot-copy { border-top-color: #5a3d2c; color: #b9a595; }
.foot .seller { color: #c9b6a6; }
.hx-cta { background: var(--choc-dark); }
.hx-cta .btn.light { color: var(--choc-dark); }
.hx-cta p { color: #e6d9cc; }
.pager .cur { background: var(--accent); border-color: var(--accent); }
.pager a:hover { border-color: var(--accent); }
.filters-btn { color: var(--accent); }
.filters-btn:hover { color: var(--choc-dark); }
.hx-head a { color: var(--accent); border-bottom-color: var(--accent); }
.hx-why-grid > div, .hx-steps li { border-top-color: var(--accent); }
.top-in .search input:focus { border-bottom-color: var(--accent); }
.chips.type-links.grp-row .chip.on, .cat-pills .chip.on { border-bottom-color: var(--accent); }

/* логотип-картинка */
.logo.logo-img { display: inline-flex; align-items: center; line-height: 0; }
.logo.logo-img img { height: 40px; width: auto; display: block; }
@media (max-width: 760px) { .logo.logo-img img { height: 32px; } }
.foot-logo img { height: 44px; width: auto; display: block; }
.logo.logo-img img { height: 52px; }
@media (max-width: 760px) { .logo.logo-img img { height: 40px; } }
.foot-logo img { height: 64px; }
.logo.logo-img img { height: 62px; }
@media (max-width: 760px) { .logo.logo-img img { height: 46px; } }
.foot-logo img { height: 84px; }
.logo.logo-img img { height: 30px; }
@media (max-width: 760px) { .logo.logo-img img { height: 24px; } }
.foot-logo img { height: 34px; }

/* планшет и телефон: шапка = меню-бургер, логотип, корзина; ниже поиск */
.burger { display: none; }
@media (max-width: 1000px) {
  .burger { display: block; position: static; order: 0; }
  .burger summary { list-style: none; cursor: pointer; color: var(--fg); display: flex; align-items: center; padding: 4px; }
  .burger summary::-webkit-details-marker { display: none; }
  .burger-panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 120; background: #fff; border-bottom: 1px solid var(--line);
    box-shadow: 0 18px 30px -18px rgba(40, 25, 10, .3); padding: 8px 16px 16px; display: flex; flex-direction: column; }
  .burger-panel a, .burger-panel button { display: block; padding: 12px 2px; font-size: 16px; color: var(--fg); text-decoration: none; background: none; border: 0; text-align: left; font-family: inherit; cursor: pointer; width: 100%; }
  .burger-panel hr { border: 0; border-top: 1px solid var(--line); margin: 6px 0; width: 100%; }
  .top-in { flex-wrap: wrap; align-items: center; gap: 10px 14px; position: relative; }
  .top-in .logo { order: 1; margin-right: auto; }
  .nav { order: 2; margin-left: 0; gap: 0; }
  body:not(.adm) .nav a:not(.cart-link):not(.user-link), body:not(.adm) .nav form.inline, body:not(.adm) .nav .btn { display: none; }
  /* админка не имеет гамбургер-меню (.burger) — её ссылки на уже скрывать нельзя, иначе навигации не остаётся вообще */
  body.adm .nav { flex-wrap: wrap; gap: 6px 12px; }
  .nav .cart-link { order: 0; }
  .top-in .search { order: 3; flex: 1 1 100%; min-width: 0; }
  .top { position: sticky; }
}
@media (max-width: 1000px) {
  .top-in .logo { order: 1; margin-right: 0; flex: 0 0 auto; }
  body:not(.adm) .top-in .nav { display: contents; }
  body.adm .top-in .logo { order: 0; }
  .top-in .nav .cart-link { order: 2; margin-left: auto; }
  .top-in .search { order: 3; }
}

/* бренды в каталоге */
.hx-brands-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hx-brand { display: flex; flex-direction: column; gap: 12px; padding: 34px 32px; background: #f9f8f6; color: var(--fg); text-decoration: none; min-height: 220px; transition: background .2s; }
.hx-brand:hover { background: #f4f1ec; }
.hx-brand-name { font-family: var(--serif); font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; font-weight: 500; }
.hx-brand-text { color: var(--muted); font-size: 15px; line-height: 1.55; max-width: 460px; }
.hx-brand-go { margin-top: auto; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
@media (max-width: 760px) { .hx-brands-grid { grid-template-columns: 1fr; } .hx-brand { padding: 24px 20px; min-height: 0; } }
.brand-page { padding: 56px 0 20px; max-width: 760px; }
.brand-page h1 { font-size: clamp(44px, 7vw, 84px); line-height: 1; margin: 6px 0 18px; font-family: var(--serif); font-weight: 500; }
.brand-page .lead { font-size: 18px; color: var(--muted); margin: 0 0 26px; line-height: 1.6; }

/* главная: текст слева, фото на моделях справа — крупно и без пустоты посередине */
.h-hero3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding: 40px 0 8px; }
.h-hero3 h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 4.8vw, 68px); line-height: 1.04; margin: 6px 0 22px; }
.h-hero3 .lead { font-size: 17px; line-height: 1.65; color: var(--muted); margin: 0 0 28px; max-width: 560px; }
.h-hero3 .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 34px; }
.h-hero3 .h-stats { margin-top: 0; }
.h-hero3 .h-collage2 { height: min(80vh, 700px); }
@media (max-width: 900px) {
  .h-hero3 { grid-template-columns: 1fr; gap: 26px; padding-top: 24px; }
  .h-hero3 .h-collage2 { height: auto; }
}

/* главная: абзац не должен сжиматься общим правилом .lead; лицо на главном фото не обрезается */
.h-hero3 .lead { display: block; grid-template-columns: none; max-width: 600px; margin: 0 0 28px; }
.h-hero3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.h-hero3 .h-hero3-text { max-width: 640px; }
.h-collage2 .c1 img { object-position: 0% 30%; }
.h-hero3 .h-collage2 { grid-template-columns: 1.3fr 1fr; }
@media (min-width: 901px) {
  .h-hero3 { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 44px; }
  .h-hero3 .h-hero3-text { max-width: none; }
  .h-hero3 h1 { font-size: clamp(38px, 4.3vw, 64px); }
}
@media (max-width: 900px) {
  .h-hero3 { grid-template-columns: 1fr; gap: 24px; padding-top: 22px; }
  .h-hero3 .h-hero3-text { max-width: none; }
  .h-hero3 .lead { max-width: none; font-size: 16px; }
  .h-hero3 h1 { font-size: clamp(34px, 9vw, 52px); }
  .h-hero3 .h-collage2 { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; height: auto; gap: 8px; }
  .h-hero3 .h-collage2 .c1 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 4.6; }
  .h-hero3 .h-collage2 .c2, .h-hero3 .h-collage2 .c3 { aspect-ratio: 1; }
}
@media (max-width: 600px) {
  .h-hero3 .h-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .h-hero3 .h-stats li { min-width: 0; }
  .h-hero3 .h-stats b { font-size: 26px; }
  .h-hero3 .h-stats span { font-size: 11px; line-height: 1.25; }
}

/* шапка не сливается с контентом: при прокрутке тень и чуть плотнее граница */
.top { transition: box-shadow .2s ease, background-color .2s ease; }
.top.scrolled { box-shadow: 0 14px 28px -18px rgba(40, 25, 10, .45); border-bottom-color: #d9cfc2; }

/* шапка — отдельная поверхность цвета песка, чтобы не сливаться с белым контентом */
.top { background: #f3ede4 !important; backdrop-filter: none; border-bottom: 1px solid #e0d5c6; }
.top .search input { background-color: #fff !important; }
.top .search input:focus { border-bottom-color: var(--accent); }
.top.scrolled { border-bottom-color: #d3c6b3; box-shadow: 0 16px 30px -18px rgba(40, 25, 10, .5); }
.cats-nav .cat-more > div, .burger-panel { background: #fff; }

/* шапка тёмно-шоколадная, как подвал: ясно отделена от белой страницы */
.top { background: var(--choc-dark) !important; border-bottom: 0; color: #fff; }
.top.scrolled { box-shadow: 0 14px 28px -16px rgba(20, 10, 5, .6); }
.top .logo, .top .logo:hover { color: #fff; }
.cats-nav a, .cats-nav summary { color: #f1e7dc; }
.cats-nav a:hover, .cats-nav summary:hover { color: #fff; }
.top .nav a:not(.btn), .top .nav .linklike, .top .nav a:not(.btn):hover { color: #d9c9b8; }
.top .nav a:not(.btn):hover { color: #fff; }
.top .nav .cart-link { color: #fff; }
.top .nav .cart-link:hover { color: #f0d9bd; }
.top .cart-n { background: #fff; color: var(--choc-dark); }
.top .search input { background-color: rgba(255, 255, 255, .10) !important; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .28); }
.top .search input::placeholder { color: #cdbcab; }
.top .search input:focus { background-color: rgba(255, 255, 255, .18) !important; border-bottom-color: #fff; }
.top .search input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23d9c9b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); }
.top .burger summary { color: #fff; }
.cats-nav .cat-more > div a { color: var(--fg); }
@media (max-width: 760px) { .top .search input { background-color: rgba(255, 255, 255, .12) !important; border: 0; } }
/* без тени-шторы под шапкой */
.top, .top.scrolled { box-shadow: none !important; }
/* лёгкая тень под шапкой только при прокрутке, едва заметная */
.top.scrolled { box-shadow: 0 2px 6px -2px rgba(40, 25, 10, .18) !important; }

/* поиск в шапке: белое поле с лупой, чётко читается на шоколадном фоне */
.top .search { flex: 0 1 340px; min-width: 200px; }
.top .search input { height: 42px; background-color: #fff !important; color: var(--fg); border: 0 !important; padding: 0 16px 0 44px; font-size: 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237d6f62' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E"); background-position: 15px center; background-repeat: no-repeat; }
.top .search input::placeholder { color: #8a7d70; }
.top .search input:focus { background-color: #fff !important; outline: 2px solid #d6b98f; outline-offset: 0; border: 0 !important; }
@media (max-width: 760px) { .top .search input { background-color: #fff !important; } }

/* поиск: на компьютере — значок лупы, по клику раскрывается поле; на телефоне — как раньше строка */
.search-toggle { display: none; }
@media (min-width: 1001px) {
  .top .search { flex: 0 0 auto; min-width: 0; display: flex; align-items: center; }
  .search-toggle { display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: #fff; cursor: pointer; padding: 8px; }
  .search-toggle:hover { color: #f0d9bd; }
  .top .search input { display: none; }
  .top-in.search-open .cats-nav { display: none; }
  .top-in.search-open .search { flex: 1 1 auto; }
  .top-in.search-open .search input { display: block; width: 100%; flex: 1; }
  .top-in.search-open .search-toggle { display: none; }
}

/* мобильное меню: выезжающая панель слева с крупными разделами */
@media (max-width: 1000px) {
  .burger-panel { position: fixed; top: 0; bottom: 0; left: 0; right: auto; width: min(88vw, 380px); z-index: 130; background: #fff; padding: 0 0 20px;
    overflow-y: auto; box-shadow: none; border: 0; display: flex; flex-direction: column; }
  .burger[open] summary::after { content: ""; position: fixed; inset: 0; background: rgba(25, 14, 8, .55); z-index: 125; }
  .bp-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; background: var(--choc-dark); color: #fff; }
  .bp-title { font-family: var(--serif); font-size: 26px; font-weight: 500; }
  .burger-panel .bp-x { width: auto; padding: 0 4px; font-size: 34px; line-height: 1; color: #fff; background: none; border: 0; }
  .bp-cats { display: flex; flex-direction: column; padding: 8px 20px; }
  .burger-panel .bp-cats a { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 19px; font-weight: 500; }
  .bp-cats small { color: var(--muted); font-size: 13px; font-weight: 400; }
  .bp-links { display: flex; flex-direction: column; padding: 8px 20px 0; }
  .burger-panel .bp-links a, .burger-panel .bp-links button { padding: 11px 0; font-size: 15px; color: var(--muted); border: 0; }
  .burger-panel .bp-links a.bp-cta { margin-top: 10px; text-align: center; background: var(--accent); color: #fff; padding: 13px 0; font-weight: 600; }
  .bp-contact { margin-top: auto; padding: 18px 20px 0; display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--line); }
  .burger-panel .bp-contact a { padding: 2px 0; font-size: 14px; color: var(--fg); }
}
@media (max-width: 1000px) {
  .burger-panel .bp-cats a { padding: 10px 0; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .bp-cats small { font-size: 12px; letter-spacing: 0; }
  .bp-cats { padding: 4px 20px; }
  .bp-title { font-size: 22px; }
  .bp-top { padding: 12px 20px; }
}
/* верх меню с крестиком остаётся на месте, когда листаем разделы */
@media (max-width: 1000px) {
  .burger-panel .bp-top { position: sticky; top: 0; z-index: 3; flex: 0 0 auto; }
}

/* мобильное меню как у mie: на весь экран под шапкой, шапка остаётся (логотип, корзина), бургер превращается в крестик */
.burger .ico-close { display: none; }
@media (max-width: 1000px) {
  .burger[open] .ico-open { display: none; }
  .burger[open] .ico-close { display: block; }
  .burger-panel { position: fixed; top: var(--top-h, 110px); left: 0; right: 0; bottom: 0; width: auto; z-index: 90; background: #fff;
    padding: 0 0 24px; overflow-y: auto; box-shadow: none; }
  .burger[open] summary::after { display: none; }
  .bp-cats { padding: 6px 20px 0; }
  .burger-panel .bp-cats a { padding: 15px 0; border-bottom: 1px solid #efe8de; font-size: 15px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; color: var(--fg); }
  .bp-cats small { font-size: 12px; font-weight: 300; color: var(--muted); letter-spacing: 0; }
  .bp-links { padding: 12px 20px 0; }
  .burger-panel .bp-links a, .burger-panel .bp-links button { font-size: 15px; font-weight: 400; padding: 12px 0; color: var(--fg); }
  .burger-panel .bp-links a.bp-cta { color: #fff; font-weight: 500; }
  .bp-contact { padding: 18px 20px 0; margin-top: 12px; }
  .burger-panel .bp-contact a { font-weight: 400; }
}
/* телефон и планшет: сначала фото, потом текст (порядок в HTML остаётся прежним — для поисковиков ничего не меняется) */
@media (max-width: 900px) {
  .h-hero3 .h-collage2 { order: -1; }
  .h-hero3 { padding-top: 12px; }
  .h-hero3 .h-collage2 .c1 { aspect-ratio: 4 / 4.8; }
}

/* телефон и планшет: после логотипа — поиск (значок), кабинет (человечек), корзина */
.user-link { display: none; }
@media (max-width: 1000px) {
  .top .search { display: contents; }
  .search-toggle { display: inline-flex; order: 2; margin-left: auto; color: #fff; padding: 8px; background: none; border: 0; cursor: pointer; align-items: center; }
  .top .search input { display: none; }
  .top-in.search-open .search input { display: block; order: 5; flex: 1 1 100%; width: 100%; }
  .top-in.search-open .search-toggle { display: inline-flex; }
  .top .nav .user-link { display: inline-flex; order: 3; color: #fff; padding: 8px; margin: 0; }
  .top .nav .cart-link { order: 4; margin-left: 0; padding: 8px; }
  .top-in { gap: 6px 4px; }
  .top-in .logo { margin-right: 0; }
}

/* поиск внутри открытого мобильного меню */
.bp-search { padding: 14px 20px 6px; }
.bp-search input { width: 100%; height: 44px; border: 1px solid var(--line); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237d6f62' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center; padding: 0 14px 0 44px; font: inherit; font-size: 15px; color: var(--fg); }
.bp-search input:focus { outline: 0; border-color: var(--accent); }

/* ===== корзина: список позиций слева, итог и оформление справа ===== */
main > h1.display { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 4vw, 46px); margin: 8px 0 22px; }
.cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 48px; align-items: start; }
.cart-main .tbl { border: 0; background: transparent; margin: 0; font-size: 15px; }
.cart-main .tbl thead th { background: none; border-bottom: 1px solid var(--fg); color: var(--muted); font-weight: 600; font-size: 11px; letter-spacing: .12em; padding: 0 10px 10px; }
.cart-main .tbl td { padding: 16px 10px; vertical-align: middle; border-bottom: 1px solid var(--line); }
.cart-main .tbl .thumb img { width: 72px; height: 90px; object-fit: contain; background: #f9f8f6; mix-blend-mode: multiply; }
.cart-main .c-title a { color: var(--fg); text-decoration: none; font-weight: 600; letter-spacing: .01em; }
.cart-main .c-title a:hover { color: var(--accent); }
.cart-main .qty { width: 74px; height: 40px; text-align: center; border: 1px solid var(--line); background: #fff; font: inherit; }
.cart-main .c-sum { font-weight: 700; }
.cart-main .c-del .del { color: var(--muted); font-size: 13px; cursor: pointer; }
.cart-main .c-del .del:hover { color: var(--accent); }
.cart-main .c-del input { margin-right: 4px; }
.cart-sum { position: sticky; top: 120px; max-width: none; margin: 0; background: #f9f8f6; border: 0; border-radius: 0; padding: 30px 28px; }
.cart-sum .total { font-size: 28px; font-weight: 600; margin: 8px 0 14px; }
.cart-sum .total small { font-size: 13px; font-weight: 400; color: var(--muted); }
.cart-sum > p { margin: 0 0 8px; font-size: 15px; }
.cart-sum .muted { font-size: 13px; line-height: 1.55; margin-top: 14px; }
.goal .bar { height: 4px; border-radius: 0; background: #e6dfd5; }
.goal .bar i { border-radius: 0; }
.cart-sum .form { margin-top: 18px; max-width: none; gap: 14px; }
.cart-sum .delivery { border: 0; border-top: 1px solid var(--line); padding: 16px 0 0; border-radius: 0; }
.cart-sum .delivery legend { padding: 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.cart-sum textarea, .cart-sum input[type=text] { border: 1px solid var(--line); background: #fff; padding: 10px 12px; font: inherit; width: 100%; box-sizing: border-box; }
.cart-sum .btn.big { width: 100%; height: 52px; justify-content: center; font-size: 16px; }
@media (max-width: 1000px) {
  .cart-grid { grid-template-columns: 1fr; gap: 28px; }
  .cart-sum { position: static; padding: 22px 18px; }
}
@media (max-width: 760px) {
  .cart-main .tbl, .cart-main .tbl tbody { display: block; overflow: visible; }
  .cart-main .tbl thead { display: none; }
  .cart-main .tbl tr { display: grid; grid-template-columns: 64px 1fr auto; grid-template-areas: "img title del" "img size sum" "img qty sum"; gap: 2px 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .cart-main .tbl td { display: block; border: 0; padding: 0; }
  .cart-main .tbl td.c-img { grid-area: img; }
  .cart-main .tbl td.c-title { grid-area: title; font-size: 14px; }
  .cart-main .tbl td.c-size { grid-area: size; color: var(--muted); font-size: 13px; }
  .cart-main .tbl td.c-size::before { content: "Размер "; }
  .cart-main .tbl td.c-qty { grid-area: qty; margin-top: 6px; }
  .cart-main .tbl td.c-price { display: none; }
  .cart-main .tbl td.c-sum { grid-area: sum; align-self: end; text-align: right; }
  .cart-main .tbl td.c-del { grid-area: del; text-align: right; }
  .cart-main .tbl .thumb img { width: 64px; height: 80px; }
}

/* ===== кабинет: заказы, заказ, вход — в том же стиле ===== */
.tbl { border: 0; background: transparent; border-radius: 0; margin: 14px 0 26px; font-size: 15px; }
.tbl th { background: none; color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: .12em; border-bottom: 1px solid var(--fg); padding: 0 10px 10px; }
.tbl td { padding: 14px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.tbl tbody tr:hover td { background: #faf8f5; }
.tbl tfoot td { padding-top: 16px; border-bottom: 0; font-size: 16px; }
.tbl a { color: var(--accent); text-decoration: none; font-weight: 600; }
.tbl a:hover { text-decoration: underline; }
.tbl .btn.small, .tbl .btn.ghost.small { height: 34px; padding: 0 14px; display: inline-flex; align-items: center; font-size: 13px; }
.st { padding: 0; background: none !important; font-size: 13px; font-weight: 600; color: var(--accent); }
.st::before { content: "● "; font-size: 9px; vertical-align: 1px; }
.st-closed { color: #2f6b2a; }
.st-cancelled { color: var(--muted); }
.st-received { color: #8a5a00; }
.st-internal { color: #2a5a8a; }
.note { background: #f9f8f6; border-radius: 0; padding: 16px 18px; border-left: 3px solid var(--accent); }
.flash { border-radius: 0; }
h2 { font-family: var(--serif); font-weight: 500; font-size: 30px; margin: 34px 0 6px; }
.docs { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.docs b { margin-right: 6px; }
/* вход и пароль */
.auth { max-width: 440px; margin: 36px auto 70px; }
.auth h1 { font-family: var(--serif); font-weight: 500; font-size: 40px; margin: 0 0 20px; }
.form input, .form textarea { border-radius: 0; padding: 12px 14px; background: #fff; }
.form input:focus, .form textarea:focus { outline: 0; border-color: var(--accent); }
.form .btn { height: 48px; justify-content: center; font-size: 15px; font-weight: 600; }
@media (max-width: 760px) {
  .tbl { display: block; overflow-x: auto; white-space: nowrap; }
  h2 { font-size: 26px; }
}
/* подвал внизу экрана даже на коротких страницах */
body { min-height: 100vh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; width: 100%; }
body > footer { flex-shrink: 0; }

/* сайт чуть собран к центру на широких экранах */
.wrap { max-width: 1440px; }
@media (min-width: 1500px) { .wrap { padding-left: 24px; padding-right: 24px; } }

/* корзина: без пустоты посередине, размер под названием, фото без фона */
.cart-grid { grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; }
.cart-main .tbl { table-layout: fixed; }
.cart-main .tbl th:nth-child(1) { width: 84px; }
.cart-main .tbl th:nth-child(3) { width: 96px; }
.cart-main .tbl th:nth-child(4) { width: 92px; }
.cart-main .tbl th:nth-child(5) { width: 104px; }
.cart-main .tbl th:nth-child(6) { width: 100px; }
.cart-main .c-size-in { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; font-weight: 400; }
.cart-main .tbl .thumb img { background: none; mix-blend-mode: normal; }
.cart-main .tbl td.c-del { white-space: nowrap; }
.cart-main .tbl td.c-title { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .cart-main .tbl { table-layout: auto; }
  .cart-main .tbl tr { grid-template-areas: "img title del" "img qty sum"; }
  .cart-main .tbl th:nth-child(n) { width: auto; }
}
@media (max-width: 760px) {
  .cart-main .tbl td.c-title { font-size: 13px; line-height: 1.3; }
  .cart-main .c-title a { font-size: 13px; font-weight: 500; letter-spacing: 0; }
  .cart-main .c-size-in { font-size: 12px; margin-top: 2px; }
  .cart-main .tbl tr { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 4px 12px; padding: 12px 0; }
  .cart-main .tbl .thumb img { width: 60px; height: 74px; }
  .cart-main .c-del .del { font-size: 12px; }
  .cart-main .qty { width: 64px; height: 36px; }
  .cart-main .c-sum { font-size: 14px; }
  .cart-main .tbl td.c-del, .cart-main .tbl td.c-sum { white-space: nowrap; }
}
@media (max-width: 1000px) {
  .cart-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .cart-sum { position: static; }
}
@media (max-width: 760px) {
  .cart-main .tbl, .cart-main .tbl tbody, .cart-main .tbl tr { border: 0 !important; background: none !important; box-shadow: none !important; }
  .cart-main .tbl tr { border-bottom: 1px solid var(--line) !important; }
  .cart-main .tbl td.c-title, .cart-main .tbl td.c-title a { font-size: 12.5px !important; }
  .cart-main .c-size-in { font-size: 11.5px !important; }
}

/* корзина компактнее: чтобы 100–200 строк не превращались в бесконечную ленту */
.cart-main .tbl { font-size: 14px; }
.cart-main .tbl td { padding: 7px 10px; }
.cart-main .tbl thead th { padding-bottom: 8px; }
.cart-main .tbl .thumb img { width: 44px; height: 54px; }
.cart-main .qty { height: 34px; width: 66px; }
.cart-main .c-size-in { margin-top: 1px; font-size: 12px; }
.cart-main .tbl th:nth-child(1) { width: 66px; }
@media (max-width: 760px) {
  .cart-main .tbl tr { padding: 8px 0; gap: 2px 10px; }
  .cart-main .tbl .thumb img { width: 48px; height: 60px; }
  .cart-main .tbl tr { grid-template-columns: 48px minmax(0, 1fr) auto; }
  .cart-main .qty { height: 32px; width: 60px; }
}

/* корзина: колонки ближе к названию, без пустого поля; мобильные строки плотные */
@media (min-width: 1001px) {
  .cart-main .tbl th:nth-child(1) { width: 66px; }
  .cart-main .tbl th:nth-child(3) { width: 15%; }
  .cart-main .tbl th:nth-child(4) { width: 13%; }
  .cart-main .tbl th:nth-child(5) { width: 13%; }
  .cart-main .tbl th:nth-child(6) { width: 14%; }
  .cart-main .tbl th:nth-child(3), .cart-main .tbl td.c-qty { text-align: left; }
}
@media (max-width: 760px) {
  .cart-main .tbl td { padding: 0 !important; }
  .cart-main .tbl tr { grid-template-columns: 48px minmax(0, 1fr) auto; grid-template-areas: "img title sum" "img qty del"; gap: 4px 10px; padding: 8px 0; align-items: center; }
  .cart-main .tbl td.c-qty { margin-top: 0; }
  .cart-main .tbl td.c-sum { align-self: center; }
  .cart-main .tbl td.c-del { text-align: right; }
  .cart-main .tbl td.c-img { align-self: start; }
}

/* кнопка оформления: текст целиком, в одну строку или с нормальным переносом */
.cart-sum .btn.big { height: auto; min-height: 52px; padding: 14px 20px; line-height: 1.25; white-space: normal; width: 100%; }

/* панели (фильтры, меню): прокрутка не «протекает» на страницу под ними */
.filters, .burger-panel { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.burger-panel { overflow-y: auto; }

/* при открытом меню шапка остаётся на месте (overflow:hidden на body ломает sticky) */
body.no-scroll .top { position: fixed; top: 0; left: 0; right: 0; }

/* телефон: плашки NEW / SALE мельче и в углу, чтобы не закрывали изделие */
@media (max-width: 760px) {
  .card .flags { top: 0; left: 0; gap: 2px; }
  .card .flag { width: 28px; height: 18px; border-radius: 0 !important; border-width: 1px; font-size: 9px; font-weight: 600; letter-spacing: .02em; }
}

/* логотип в подвале поменьше */
.foot-logo img { height: 26px; }
.foot-logo { margin-bottom: 10px; }

/* номера страниц компактнее */
.pager { gap: 6px; margin: 32px 0 8px; transition: margin-top .1s; }
/* раскрытая панель последнего ряда не должна наезжать на пагинацию */
.grid:has(.card:hover), .grid:has(.card:focus-within) { margin-bottom: 90px; }
.pager a, .pager span { min-width: 34px; height: 34px; padding: 0 10px; font-size: 14px; font-weight: 400; }
.pager .gap { min-width: 14px; padding: 0; }
@media (max-width: 760px) { .pager { gap: 4px; } .pager a, .pager span { min-width: 32px; height: 32px; padding: 0 8px; font-size: 13px; } }

/* характеристики: плотнее по высоте */
.props { gap: 3px 14px; font-size: 14px; line-height: 1.3; }
@media (max-width: 760px) {
  .props { grid-template-columns: minmax(96px, 40%) minmax(0, 1fr); gap: 2px 12px; font-size: 13px; line-height: 1.25; }
  .acc > .props, .acc > .descr { padding-bottom: 10px; }
}

/* телефон: фото ниже, чтобы кнопка «В корзину» была видна без прокрутки */
@media (max-width: 760px) {
  .gallery .main-wrap { display: flex; justify-content: center; align-items: center; height: auto; min-height: 0; }
  .gallery .main { width: auto; max-width: 100%; max-height: 40vh; max-height: 40svh; object-fit: contain; }
  .product h1, .info h1 { font-size: 20px; margin: 10px 0 4px; }
}

/* узкие телефоны (320–390): шапка в одну строку, плотная карточка товара */
@media (max-width: 1000px) {
  .top-in:not(.search-open) { flex-wrap: nowrap; }
}
@media (max-width: 420px) {
  .top-in { padding-top: 6px; padding-bottom: 6px; gap: 2px; }
  .top-in .logo.logo-img img { height: 20px; }
  .burger > summary { padding: 6px; }
  .top .nav .user-link, .top .nav .cart-link, .search-toggle { padding: 6px; }
  .buy { margin: 6px 0 8px; padding-top: 0; padding-bottom: 4px; }
  .buy .price-big { margin: 0 0 6px; line-height: 1.15; font-size: 22px; }
  .product h1, .info h1 { margin: 8px 0 2px; font-size: 18px; line-height: 1.2; }
  .gallery .main { max-height: 34vh; max-height: 34svh; }
}

/* телефон: фото товара не липнет к шапке */
@media (max-width: 760px) { .gallery { margin-top: 12px; } }

/* телефон: скромнее название, цена, количество и кнопка; фото выше */
@media (max-width: 420px) {
  .product h1, .info h1 { font-size: 15px; font-weight: 500; letter-spacing: .02em; }
  .buy .price-big { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
  .buy .price-big small, .buy .price-big span { font-size: 12px; }
  .buy .car .size-cell b, .buy .car label > span:first-child, .buy .car .sz { font-size: 12px; }
  .buy .car input[type=number] { height: 28px; font-size: 13px; }
  .buy .btn { height: 38px !important; min-height: 0; padding: 0 16px; font-size: 14px; font-weight: 500; }
  .gallery .main { max-height: 42vh; max-height: 42svh; }
}
@media (max-width: 420px) {
  .buy-actions { gap: 8px; }
  .buy-actions .qty, .buy-actions input.qty { height: 38px !important; width: 56px; font-size: 14px; }
}

/* телефон: в рядах «Другие цвета» и «Похожие» две карточки целиком */
@media (max-width: 760px) {
  .rel-row { gap: 10px; }
  .rel-row > .card { flex: 0 0 calc((100% - 10px) / 2); min-width: 0; }
}

/* телефон: без полосы прокрутки; край третьей карточки подсказывает, что ряд листается */
@media (max-width: 760px) {
  .rel-row { scrollbar-width: none; -ms-overflow-style: none; scroll-snap-type: x mandatory; padding-bottom: 6px; margin-right: -16px; padding-right: 16px; }
  .rel-row::-webkit-scrollbar { display: none; }
  .rel-row > .card { flex: 0 0 calc((100% - 36px) / 2.2); scroll-snap-align: start; }
}

/* подвал на телефоне: плотнее по высоте */
@media (max-width: 760px) {
  .foot { margin-top: 40px; padding: 24px 0 14px; font-size: 13px; }
  .foot-grid { gap: 16px; }
  .foot p { line-height: 1.4; margin: 0 0 4px; }
  .foot h4 { margin: 0 0 6px; font-size: 11px; }
  .foot a { margin: 0 0 3px; padding: 2px 0; }
  .foot .seller { margin-top: 6px; font-size: 12px; line-height: 1.35; }
  .foot-copy { margin-top: 14px; padding-top: 10px; font-size: 11px; line-height: 1.35; }
}

/* ===== главная на телефоне: плотные блоки ===== */
@media (max-width: 760px) {
  .hx { margin-top: 34px; }
  .hx-head { margin-bottom: 12px; }
  .hx-head h2, .hx-look-text h2 { font-size: 24px; }

  /* первый экран: фото компактной сеткой, под ними текст */
  .h-collage2 { display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; gap: 6px; height: 230px; }
  .h-collage2 a { display: block; min-height: 0; overflow: hidden; }
  .h-collage2 .c1 { grid-row: 1 / 3; }
  .h-collage2 img { width: 100%; height: 100%; object-fit: cover; }
  .h-hero3 { gap: 18px; }
  .h-hero3 .lead { font-size: 14px; line-height: 1.5; }
  .h-stats { gap: 14px; }

  /* бренды: две плотные плитки */
  .hx-brands-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .hx-brand { padding: 16px 14px; gap: 6px; min-height: 0; }
  .hx-brand-name { font-size: 22px; }
  .hx-brand-text { display: none; }
  .hx-brand-go { font-size: 11px; letter-spacing: .06em; }

  /* новинки — лента, которая листается вбок */
  .hx-grid { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
  .hx-grid::-webkit-scrollbar { display: none; }
  .hx-grid > .card { flex: 0 0 calc((100% - 36px) / 2.2); scroll-snap-align: start; min-width: 0; }

  /* блок с фото-подборкой убираем, остаётся короткий текст */
  .hx-look-photos { display: none; }
  .hx-look { margin-top: 28px; }
  .hx-look-text p { font-size: 14px; line-height: 1.5; margin: 6px 0 12px; }

  /* почему с нами: только заголовки, по два в ряд */
  .hx-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
  .hx-why-grid > div { padding: 12px 0; border-top: 1px solid var(--line); }
  .hx-why-grid > div p { display: none; }
  .hx-why-grid i { display: block; font-size: 11px; color: var(--accent); margin-bottom: 2px; font-style: normal; letter-spacing: .1em; }
  .hx-why-grid h3 { font-size: 14px; line-height: 1.25; font-weight: 500; margin: 0; }

  /* как начать: три короткие строки */
  .hx-steps ol { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
  .hx-steps li { display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
  .hx-steps li i { grid-row: 1 / 3; font-style: normal; color: var(--accent); font-weight: 600; }
  .hx-steps li b { font-size: 15px; font-weight: 500; }
  .hx-steps li p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--muted); }

  .hx-cta { padding: 28px 18px; margin-top: 30px; }
  .hx-cta h2 { font-size: 24px; margin-bottom: 6px; }
  .hx-cta p { font-size: 14px; margin: 0 0 14px; }
}

@media (max-width: 760px) {
  .h-hero3 .h-collage2 { grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; height: 240px; gap: 6px; }
  .h-hero3 .h-collage2 .c1 { grid-column: 1; grid-row: 1 / 3; aspect-ratio: auto; }
  .h-hero3 .h-collage2 .c2, .h-hero3 .h-collage2 .c3 { aspect-ratio: auto; grid-column: 2; }
  .h-hero3 h1 { font-size: 28px; margin: 4px 0 10px; }
  .h-hero3 .hero-actions { margin-bottom: 18px; }
  .h-hero3 .hero-actions .btn { height: 44px; padding: 0 20px; font-size: 14px; }
  .h-hero3 .eyebrow { font-size: 11px; }
}

@media (max-width: 760px) {
  .hx-steps li i, .hx-why-grid i { font-family: inherit; font-variant-numeric: lining-nums; font-size: 14px; }
  .hx-why-grid i { font-size: 11px; }
}

/* главная на телефоне: расстояние между блоками небольшое */
@media (max-width: 760px) {
  .hx, .hx.hx-look, .hx.hx-why, .hx.hx-steps, .hx.hx-brands { margin-top: 0; padding-top: 26px; }
  .hx-cta { margin-top: 26px; }
  .h-hero3 { padding-bottom: 0; }
  .hx-head { margin-bottom: 10px; }
}

/* логотип в шапке скромнее */
.logo.logo-img img { height: 24px; }
@media (max-width: 760px) { .logo.logo-img img { height: 20px; } }

/* логотип: на планшете крупнее, на большом экране в меру */
.logo.logo-img img { height: clamp(28px, 2.4vw, 32px); }
@media (max-width: 760px) { .logo.logo-img img { height: 22px; } }
@media (max-width: 420px) { .top-in .logo.logo-img img { height: 22px; } }

/* логотип по высоте вровень с пунктами меню и чуть выше */
.logo.logo-img img { height: clamp(36px, 3vw, 44px); }
@media (max-width: 760px) { .logo.logo-img img, .top-in .logo.logo-img img { height: 24px; } }

/* логотип не сжимается, когда в шапке тесно */
.top-in .logo { flex: 0 0 auto; }
.logo.logo-img img { width: auto; max-width: none; flex: 0 0 auto; }

/* ноутбуки и широкие планшеты: шапка помещается целиком */
@media (min-width: 1001px) and (max-width: 1279px) {
  .top-in { gap: 12px; }
  .cats-nav { gap: 13px; }
  .top-in .nav { gap: 10px; }
  .logo.logo-img img { height: 34px; }
}

/* логотип: тонкий, ровно между «мелким» и «огромным» */
.logo.logo-img img { height: clamp(27px, 2.1vw, 30px); }
@media (min-width: 1001px) and (max-width: 1279px) { .logo.logo-img img { height: 28px; } }
@media (max-width: 760px) { .logo.logo-img img, .top-in .logo.logo-img img { height: 22px; } }

/* планшет/небольшой ноутбук: уже колонка фильтров, три товара в ряд */
@media (min-width: 1001px) and (max-width: 1279px) {
  .catalog { grid-template-columns: 230px minmax(0, 1fr); gap: 24px; }
  .catalog .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 14px; }
}

/* колонка фильтров уже */
@media (min-width: 1280px) { .catalog { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; } }
@media (min-width: 1001px) and (max-width: 1279px) {
  .catalog { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
  .filters { font-size: 13px; }
  .filters .facet-vals label, .filters fieldset label { font-size: 13px; }
  .filters .price-quick button, .filters .quick-prices a { padding: 0 6px; }
}

/* панель фильтров (планшет и телефон): ровные отступы и плотнее по высоте */
@media (max-width: 1000px) {
  .filters > details.cat-facet { padding: 0 20px; }
  .filters .cat-facet > summary { padding: 14px 0; }
  .filters .facets { padding: 0 20px 8px; }
  .filters > details.mob-fold { padding: 0; }
  .filters .facet > summary, .filters fieldset legend { padding-top: 10px; padding-bottom: 8px; margin: 0; font-size: 15px; }
  .filters fieldset { margin: 0; padding: 0 0 6px; gap: 0; }
  .filters .stock-mode label, .filters .facet-vals label, .filters .marks label { padding: 5px 0; margin: 0; gap: 8px; min-height: 0; line-height: 1.25; font-size: 14px; }
  .filters .marks { gap: 0; }
  .filters .marks label .flag { width: 30px; height: 30px; flex-basis: 30px; font-size: 9px; }
  .filters .facet { border-top: 1px solid var(--line); padding: 0; }
  .filters .price-row { margin-bottom: 8px; }
  .filters .facets .btn-row, .filters .quick-prices { gap: 6px; margin-top: 6px; }
  .filters input[type=number], .filters .price-row input { height: 40px; }
}

/* значки меток в фильтрах: один размер на всех устройствах */
.filters .marks label .flag, .filters .marks label .set-ico, .filters .marks label .cart-flag {
  width: 34px; height: 34px; flex: 0 0 34px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
.filters .marks label .flag { font-size: 10px; letter-spacing: 0; }
.filters .marks label .set-ico { font-size: 18px; }
.filters .marks label .cart-flag svg { width: 18px; height: 18px; }

/* значения фильтров: чуть воздуха между строками, удобно попадать пальцем */
@media (max-width: 1000px) {
  .filters .facet .facet-vals label { padding: 8px 0 !important; min-height: 36px; line-height: 1.25; align-items: center; }
  .filters .facet .facet-vals.scroll { max-height: 340px; }
}

@media (max-width: 1000px) {
  .filters .facet .facet-vals label { padding: 4px 0 !important; min-height: 28px; }
}

@media (max-width: 1000px) {
  .filters .facet .facet-vals label { padding: 2px 0 !important; min-height: 24px; }
}

/* цена в фильтрах: поля и кнопки ниже */
.filters .price-in input { height: 34px; padding: 0 10px; font-size: 13px; }
.filters .price-presets { gap: 6px; }
.filters .price-presets button, .filters .price-presets a { height: 30px; padding: 0 8px; font-size: 13px; }
.filters .price-f { padding-bottom: 8px; }

/* страница раздела: заголовок слева, «Показать все» справа сверху */
.hub-head { margin-bottom: 18px; }
.hub-head h1 { margin: 0; }
@media (max-width: 760px) { .hub-head { align-items: flex-end; gap: 12px; } .hub-head a { font-size: 12px; white-space: nowrap; } }

/* заголовки страниц скромнее на планшете и телефоне */
@media (max-width: 1000px) {
  main h1, main > h1.display, .brand-page h1 { font-size: 28px; line-height: 1.15; margin: 6px 0 14px; }
  .hub-head h1 { margin: 0; }
}
@media (max-width: 760px) {
  main h1, main > h1.display, .brand-page h1 { font-size: 23px; margin: 4px 0 10px; }
  .h-hero3 h1 { font-size: 28px; }
  .hub-head { gap: 10px; align-items: baseline; }
  .hub-head a { font-size: 11px; letter-spacing: .04em; white-space: nowrap; flex: 0 0 auto; }
  .hub-head h1 { min-width: 0; }
}

/* плитки разделов на планшете и телефоне: плотнее, фото крупнее */
@media (max-width: 1000px) {
  .hub { gap: 20px 14px; }
  .hub-img { aspect-ratio: 1 / 1.1; }
  .hub-img img { padding: 8px; }
  .hub-name { padding-top: 8px; }
}
@media (max-width: 760px) {
  .hub { gap: 14px 10px; }
  .hub-img img { padding: 4px; }
  .hub-name { padding: 6px 2px 0; }
  .hub-name span { font-size: 14px; line-height: 1.2; }
  .hub-name small { font-size: 12px; }
}

@media (max-width: 760px) {
  .hub-name span { font-size: 13px; font-weight: 500; letter-spacing: 0; }
  .hub-name small { font-size: 11px; }
  .seo-text { font-size: 13px; line-height: 1.5; }
  .seo-text h2 { font-size: 18px; }
}

/* заголовки страниц: тонкий шрифт с засечками, воздух над ним */
@media (max-width: 1000px) {
  main h1, main > h1.display, .hub-head h1, .brand-page h1 { font-family: var(--serif); font-weight: 500; letter-spacing: 0; }
  main > h1, main > .hub-head, main > .crumbs + h1 { margin-top: 18px; }
  .hub-head { margin-top: 18px; }
}
@media (max-width: 760px) {
  main > h1, .hub-head { margin-top: 16px; }
  main h1, main > h1.display, .hub-head h1 { font-size: 26px; }
}

/* воздух между шапкой и заголовком страницы (не схлопывается с отступом заголовка) */
@media (max-width: 1000px) {
  main:not(:has(.h-hero3)) { padding-top: 18px; }
  main > h1, .hub-head { margin-top: 0; }
}
@media (max-width: 1000px) { main:not(:has(.h-hero3)) { padding-top: 8px; } }

/* страницы на телефоне/планшете: ближе к шапке; «Показать все» мельче и по нижней линии заголовка */
@media (max-width: 1000px) {
  main:not(:has(.h-hero3)) { padding-top: 0; }
  main > h1, .hub-head { margin-top: 10px; }
  .hub-head { align-items: flex-end; }
  .hub-head h1 { line-height: 1.1; }
  .hub-head a { font-size: 10px; letter-spacing: .05em; padding-bottom: 2px; margin-bottom: 4px; }
}

/* ======================================================================
   ТИПОГРАФИКА: единая шкала. У компьютера, планшета и телефона свой набор.
   Уровни: hero (главная/бренд) > h1 страница > h1s название товара > h2 раздел > h3 пункт > h4 подзаголовок фильтра/блока > метка (КАПС)
   ====================================================================== */
:root {
  --t-hero: clamp(44px, 4.4vw, 62px);
  --t-h1: 40px;
  --t-h1s: 28px;
  --t-h2: 32px;
  --t-h3: 17px;
  --t-h4: 15px;
  --t-label: 12px;
  --t-body: 15px;
  --t-small: 13px;
}
@media (max-width: 1000px) {
  :root { --t-hero: 40px; --t-h1: 30px; --t-h1s: 24px; --t-h2: 26px; --t-h3: 16px; --t-h4: 15px; --t-label: 12px; --t-body: 15px; --t-small: 13px; }
}
@media (max-width: 760px) {
  :root { --t-hero: 28px; --t-h1: 24px; --t-h1s: 18px; --t-h2: 21px; --t-h3: 15px; --t-h4: 14px; --t-label: 11px; --t-body: 14px; --t-small: 12px; }
}
body { font-size: var(--t-body); }

/* заголовок страницы */
main h1, main h1.display { font-family: var(--serif) !important; font-weight: 500 !important; font-size: var(--t-h1) !important; line-height: 1.12 !important; letter-spacing: 0 !important; }
/* главный экран и страница бренда */
.h-hero3 h1, .brand-page h1 { font-size: var(--t-hero) !important; line-height: 1.06 !important; }
/* название товара на его странице */
.product h1, .info h1 { font-family: var(--sans, Manrope, system-ui, sans-serif) !important; font-weight: 500 !important; font-size: var(--t-h1s) !important; line-height: 1.2 !important; letter-spacing: .01em !important; }
/* заголовок раздела внутри страницы */
main h2, .hx-head h2, .hx-look-text h2, .hx-cta h2, .related h2, .seo-text h2 { font-family: var(--serif) !important; font-weight: 500 !important; font-size: var(--t-h2) !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
/* пункт списка / карточка преимущества */
main h3 { font-size: var(--t-h3) !important; font-weight: 600; line-height: 1.3; }
/* подзаголовок блока, фильтра */
.filters .facet > summary, .filters fieldset legend, .filters .cat-facet > summary { font-size: var(--t-h4) !important; font-weight: 600; }
.acc > summary, details.acc > summary { font-size: var(--t-label) !important; }
/* малые подписи */
.crumbs, .foot, .card-sub, small { font-size: var(--t-small); }
.eyebrow, .foot h4, .hub-head a, .hx-head a { font-size: var(--t-label) !important; }
/* мелочи, которые раньше задавались отдельно */
.hub-name span, .hx-brand-name { font-size: var(--t-h3) !important; }
.hx-brand-name { font-family: var(--serif); font-weight: 500; font-size: var(--t-h2) !important; }
main .h-hero3 h1:not(#a), main .brand-page h1:not(#a) { font-size: var(--t-hero) !important; line-height: 1.06 !important; }

/* длинный заголовок главной экрана: размер поменьше */
:root { --t-hero: clamp(34px, 3.3vw, 48px); }
@media (max-width: 1000px) { :root { --t-hero: 34px; } }
@media (max-width: 760px) { :root { --t-hero: 26px; } }

/* цифры на главном экране: читаемые */
.h-hero3 .h-stats { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); gap: 18px 36px; justify-content: start; list-style: none; padding: 0; }
.h-hero3 .h-stats li { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.h-hero3 .h-stats b { font-family: var(--serif); font-weight: 500; font-variant-numeric: lining-nums; font-size: 34px; line-height: 1; color: var(--fg); }
.h-hero3 .h-stats span { font-size: var(--t-small); line-height: 1.3; color: var(--muted); letter-spacing: 0; }
@media (max-width: 760px) {
  .h-hero3 .h-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .h-hero3 .h-stats b { font-size: 26px; }
  .h-hero3 .h-stats span { font-size: 12px; }
}

/* ======================================================================
   КНОПКИ: высота и отступы по устройствам
   обычная (btn) / крупная (btn.big) / малая (btn.small)
   ====================================================================== */
:root { --btn-h: 42px; --btn-h-big: 48px; --btn-h-sm: 34px; --btn-px: 24px; --btn-fs: 14px; }
@media (max-width: 1000px) { :root { --btn-h: 42px; --btn-h-big: 46px; --btn-h-sm: 34px; --btn-px: 22px; } }
@media (max-width: 760px)  { :root { --btn-h: 40px; --btn-h-big: 44px; --btn-h-sm: 32px; --btn-px: 18px; --btn-fs: 14px; } }

.btn, button.btn, a.btn { box-sizing: border-box; height: var(--btn-h) !important; min-height: 0 !important; padding: 0 var(--btn-px) !important; font-size: var(--btn-fs) !important; font-weight: 500 !important; line-height: 1 !important; letter-spacing: .02em; display: inline-flex; align-items: center; justify-content: center; width: auto; white-space: nowrap; text-align: center; }
.btn.big, .btn.big.light { height: var(--btn-h-big) !important; }
.btn.small { height: var(--btn-h-sm) !important; padding: 0 14px !important; font-size: 13px !important; }
/* кнопки, которые должны занимать всю ширину блока */
.cart-sum .btn.big, .buy .btn, form .btn.big[type=submit], .buy-actions .btn { width: 100%; }
.buy-actions .btn { flex: 1 1 auto; }
/* кнопка оформления заказа может быть в две строки */
.cart-sum .btn.big { white-space: normal; height: auto !important; min-height: var(--btn-h-big) !important; padding-top: 10px !important; padding-bottom: 10px !important; line-height: 1.25 !important; }
/* пара кнопок на главном экране: на телефоне ровно пополам в один ряд */
.h-hero3 .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 760px) {
  .h-hero3 .hero-actions { flex-wrap: nowrap; gap: 8px; }
  .h-hero3 .hero-actions .btn { flex: 1 1 0; min-width: 0; padding: 0 10px !important; font-size: 13px !important; }
}

/* кнопка «В корзину» — крупная, остальные формы — не на всю ширину на компьютере */
.buy .btn, .buy-actions .btn { height: var(--btn-h-big) !important; }
@media (min-width: 761px) {
  .buy-actions .btn { flex: 0 1 320px; width: auto; }
  form .btn.big[type=submit], .lead-form .btn, .form > .btn { width: auto; min-width: 240px; }
}
@media (max-width: 760px) { form .btn.big[type=submit], .buy .btn { width: 100%; } }
@media (min-width: 761px) { form .btn.big[type=submit] { justify-self: start; align-self: flex-start; width: auto; min-width: 240px; } }

/* телефон: типографика компактнее, без растяжки */
@media (max-width: 760px) {
  :root { --t-h3: 14px; --t-h4: 14px; --t-body: 14px; --t-small: 12px; --t-h2: 20px; --t-h1: 23px; }
  main h3 { font-weight: 500; line-height: 1.25; }
  .hub-name span { font-size: 13px !important; font-weight: 500; }
  .hx-brand-name { font-size: 20px !important; }
  .hx-why-grid > div { padding: 9px 0; }
  .hx-steps li { padding: 8px 0; }
  .hx-steps li p, .hx-why-grid p { font-size: 12px; line-height: 1.35; }
  .hx-head { margin-bottom: 8px; }
  .hx, .hx.hx-look, .hx.hx-why, .hx.hx-steps, .hx.hx-brands { padding-top: 22px; }
}

/* «Почему с нами» — на тёплой подложке во всю ширину, «Как начать» — карточки на белом */
.hx.hx-why { background: #f9f8f6; box-shadow: 0 0 0 100vmax #f9f8f6; clip-path: inset(0 -100vmax); margin-top: 56px; padding-top: 48px; padding-bottom: 48px; }
.hx.hx-why .hx-why-grid > div { border-top-color: #e6e2dc; }
.hx.hx-steps { margin-top: 0; padding-top: 56px; padding-bottom: 8px; }
.hx.hx-steps ol { counter-reset: none; }
.hx.hx-steps li { background: #fff; border: 1px solid var(--line); padding: 22px 24px; }
@media (max-width: 760px) {
  .hx.hx-why { margin-top: 30px; padding-top: 26px; padding-bottom: 26px; }
  .hx.hx-steps { padding-top: 30px; }
  .hx.hx-steps ol { gap: 8px; }
  .hx.hx-steps li { padding: 12px 14px; border: 1px solid var(--line); border-top: 1px solid var(--line); }
  .hx-cta { margin-top: 30px; }
}

/* «Как начать закупку»: крупные цифры шагов */
.hx.hx-steps li { display: grid; grid-template-columns: 72px 1fr; column-gap: 18px; align-items: center; }
.hx.hx-steps li i { grid-row: 1 / 3; font-family: var(--serif) !important; font-style: normal; font-weight: 500; font-variant-numeric: lining-nums; font-size: 64px !important; line-height: .9; color: var(--accent); text-align: left; }
.hx.hx-steps li b { font-size: var(--t-h3); }
@media (max-width: 1000px) { .hx.hx-steps li { grid-template-columns: 60px 1fr; } .hx.hx-steps li i { font-size: 54px !important; } }
@media (max-width: 760px) {
  .hx.hx-steps li { grid-template-columns: 44px 1fr; column-gap: 12px; padding: 12px 14px; }
  .hx.hx-steps li i { font-size: 48px !important; }
}

/* призыв перед подвалом — светлый, чтобы не сливаться с тёмным подвалом */
.hx-cta { background: #f9f8f6; color: var(--fg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); box-shadow: 0 0 0 100vmax #f9f8f6; clip-path: inset(0 -100vmax); margin-top: 56px; }
.hx-cta p { color: var(--muted); }
.hx-cta .btn.light { background: var(--accent); color: #fff; border-color: var(--accent); }
.hx-cta .btn.light:hover { background: var(--choc-dark); border-color: var(--choc-dark); }
.foot { margin-top: 0 !important; }

/* телефон: фото-подборка возвращена компактной лентой из четырёх кадров */
@media (max-width: 760px) {
  .hx-look-photos { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-top: 14px; }
  .hx-look-photos img { width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; }
}

/* новинки на планшете: четыре в ряд (8 штук = два ряда) */
@media (min-width: 761px) and (max-width: 1000px) {
  .hx-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 12px; overflow: visible; }
  .hx-grid > .card { flex: none; }
}

/* новинки на планшете: один ряд, четыре карточки целиком и край пятой — ряд листается вбок */
@media (min-width: 761px) and (max-width: 1000px) {
  .hx-grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
  .hx-grid::-webkit-scrollbar { display: none; }
  .hx-grid > .card { flex: 0 0 calc((100% - 36px) / 4.3); scroll-snap-align: start; min-width: 0; }
}

/* ======================================================================
   ГЛАВНАЯ: расстояние между блоками одно на всех, своё для каждого устройства
   ====================================================================== */
:root { --sec: 56px; }
@media (max-width: 1000px) { :root { --sec: 40px; } }
@media (max-width: 760px)  { :root { --sec: 28px; } }

.h-hero3 { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.hx, .hx.hx-brands, .hx.hx-look, .hx.hx-steps { margin-top: 0 !important; padding-top: var(--sec) !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.hx.hx-why { margin-top: var(--sec) !important; padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; margin-bottom: 0 !important; }
.hx.hx-why + .hx { padding-top: var(--sec) !important; }
.hx-cta { margin-top: var(--sec) !important; padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; margin-bottom: 0 !important; }
.hx-head { margin-bottom: 16px !important; }
@media (max-width: 760px) { .hx-head { margin-bottom: 10px !important; } }
.hx-more { margin-top: 14px; margin-bottom: 0; }
.hx-grid, .hx-cats, .hx-brands-grid, .hx-look-photos { margin-bottom: 0; }

/* «Почему с нами» на планшете: четыре колонки, два ряда, без растяжки */
@media (min-width: 761px) and (max-width: 1000px) {
  .hx-why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 20px; }
  .hx-why-grid > div { padding: 14px 0 16px; border-top: 1px solid #e6e2dc; }
  .hx-why-grid i { display: block; font-style: normal; font-size: 12px; color: var(--accent); margin-bottom: 4px; font-family: inherit; }
  .hx-why-grid h3 { margin: 0 0 4px; font-size: 15px !important; }
  .hx-why-grid p { font-size: 12px; line-height: 1.4; margin: 0; color: var(--muted); }
}

/* ===== главная на планшете (761–1000 px): компактно, без огромных фото ===== */
@media (min-width: 761px) and (max-width: 1000px) {
  .h-hero3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 28px !important; align-items: center; padding-top: 24px !important; }
  .h-hero3 .h-collage2 { order: 0 !important; display: grid; grid-template-columns: 1.15fr 1fr !important; grid-template-rows: 1fr 1fr !important; height: 420px !important; gap: 8px !important; }
  .h-hero3 .h-collage2 .c1 { grid-column: 1 !important; grid-row: 1 / 3 !important; aspect-ratio: auto !important; }
  .h-hero3 .h-collage2 .c2, .h-hero3 .h-collage2 .c3 { grid-column: 2 !important; aspect-ratio: auto !important; }
  .h-hero3 .h-collage2 a { min-height: 0; overflow: hidden; }
  .h-hero3 .h-collage2 img { width: 100%; height: 100%; object-fit: cover; }
  .h-hero3 .lead { font-size: 14px; line-height: 1.55; margin-bottom: 18px; }
  .h-hero3 .hero-actions { margin-bottom: 20px; }
  .h-hero3 .h-stats { gap: 16px 22px; }
  .h-hero3 .h-stats b { font-size: 28px; }
  .hx-cat-img { aspect-ratio: 1 / 1 !important; }
  .hx-cats { gap: 18px 14px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .hx-cat-img { aspect-ratio: 4 / 3 !important; }
  .hx-brand { padding: 22px 22px !important; min-height: 0 !important; gap: 8px !important; }
  .hx-brand-text { font-size: 13px; line-height: 1.45; }
  .hx-look-photos img { aspect-ratio: 4 / 5; object-fit: cover; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .hx.hx-steps li { display: block; padding: 18px 20px; }
  .hx.hx-steps li i { display: block; font-size: 56px !important; margin-bottom: 8px; }
}

/* ===== главная: расстояния между блоками — самые маленькие из разумных ===== */
:root { --sec: 40px; --sec-in: 28px; }
@media (max-width: 1000px) { :root { --sec: 28px; --sec-in: 20px; } }
@media (max-width: 760px)  { :root { --sec: 18px; --sec-in: 14px; } }
.hx, .hx.hx-brands, .hx.hx-look, .hx.hx-steps { padding-top: var(--sec) !important; }
.hx.hx-why { margin-top: var(--sec) !important; padding-top: var(--sec-in) !important; padding-bottom: var(--sec-in) !important; }
.hx.hx-why + .hx { padding-top: var(--sec) !important; }
.hx-cta { margin-top: var(--sec) !important; padding-top: var(--sec-in) !important; padding-bottom: var(--sec-in) !important; }
.hx-head { margin-bottom: 12px !important; }
@media (max-width: 760px) { .hx-head { margin-bottom: 8px !important; } }
.hx.hx-steps li { padding: 12px 16px !important; }
.hx-why-grid > div { padding-top: 10px !important; padding-bottom: 10px !important; }
.hx.hx-steps { padding-bottom: 0 !important; }
.hx-look { padding-bottom: 0 !important; }
.hx-look-photos { margin-top: 10px !important; }
.hx-look-text p { margin: 6px 0 10px !important; }

/* «Как начать закупку»: три столбика в один ряд на всех устройствах */
.hx.hx-steps ol { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; padding: 0; margin: 0; list-style: none; }
.hx.hx-steps li { display: block !important; padding: 18px 20px !important; }
.hx.hx-steps li i { display: block; font-size: 56px !important; line-height: .9; margin-bottom: 8px; }
.hx.hx-steps li b { display: block; margin-bottom: 4px; }
.hx.hx-steps li p { margin: 0; }
@media (max-width: 760px) {
  .hx.hx-steps ol { gap: 8px !important; }
  .hx.hx-steps li { padding: 10px 10px 12px !important; }
  .hx.hx-steps li i { font-size: 38px !important; margin-bottom: 6px; }
  .hx.hx-steps li b { font-size: 13px; }
  .hx.hx-steps li p { font-size: 11.5px; line-height: 1.35; }
}

/* телефон: кнопки блоков главной тянутся на всю ширину, как и пара в первом экране */
@media (max-width: 760px) {
  .hx-look-text .btn, .hx-cta .btn { width: 100%; max-width: 420px; }
}

/* телефон: «От минимализма до этники» — заголовок, текст, фото сразу под ним, кнопка последней */
@media (max-width: 760px) {
  .hx.hx-look { display: flex !important; flex-direction: column; gap: 0 !important; }
  .hx-look-text { display: contents !important; }
  .hx-look-text h2 { order: 1; margin: 0 0 6px !important; }
  .hx-look-text p { order: 2; margin: 0 0 12px !important; }
  .hx-look-photos { order: 3; margin: 0 0 12px !important; }
  .hx-look-text .btn { order: 4; margin: 0 !important; }
  .hx-look-photos img { aspect-ratio: 3 / 4; }
}
@media (max-width: 760px) { .hx-look, .hx-look-text, .hx-look-text h2, .hx-look-text p { text-align: left !important; } }

/* страница Jenavi: меньше пустоты сверху, кнопки одной ширины */
@media (max-width: 1000px) { .brand-page { padding: 14px 0 20px !important; } .brand-page .lead { margin: 0 0 18px !important; font-size: var(--t-body); line-height: 1.55; } }
@media (max-width: 760px) {
  .brand-page .btn { width: 100%; }
  .brand-page .hero-actions, .brand-page .brand-actions { display: grid; gap: 8px; }
}

/* телефон: ничего мельче 12 px, основной мелкий текст 13 px */
@media (max-width: 760px) {
  small, .card-sub, .seller, .c-size-in, .cart-main .del, .size-n, .hx-steps li p, .hx-why-grid p, .hx-brand-text { font-size: 13px !important; }
  .eyebrow, .hx-brand-go, .foot h4, .foot-copy, .hub-head a, .hx-head a, summary, .crumbs { font-size: 12px !important; }
  .hx.hx-steps li p { line-height: 1.35; }
  .hx.hx-steps li b { font-size: 14px; }
  .foot a { font-size: 13px; }
}

/* ===== подвал: три колонки на компьютере, компактно на телефоне ===== */
.foot { padding: 44px 0 0 !important; font-size: 14px; }
.foot-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 40px; padding-bottom: 32px; }
.foot-logo { margin-bottom: 12px; }
.foot-logo img { height: 28px; }
.foot-brand p { margin: 0; max-width: 420px; line-height: 1.55; color: #d9ccbf; }
.foot-col { display: flex; flex-direction: column; gap: 8px; }
.foot-col h4 { margin: 0 0 6px; }
.foot-col a { margin: 0; padding: 0; }
.foot-bottom { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 20px; border-top: 1px solid #5a3d2c; font-size: 12px; line-height: 1.5; color: #b9a595; }
@media (max-width: 1000px) { .foot-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 24px; } }
@media (max-width: 760px) {
  .foot { padding: 26px 0 0 !important; }
  .foot-grid { grid-template-columns: 1fr 1fr; gap: 20px 16px; padding-bottom: 22px; }
  .foot-brand { grid-column: 1 / -1; }
  .foot-logo img { height: 24px; }
  .foot-brand p { font-size: 13px; line-height: 1.45; max-width: none; }
  .foot-col { gap: 6px; }
  .foot-col h4 { font-size: 12px !important; margin-bottom: 4px; }
  .foot-col a { font-size: 13px !important; }
  .foot-bottom { flex-direction: column; gap: 4px; padding-top: 12px; padding-bottom: 16px; font-size: 12px !important; }
}

/* компьютер: призыв без обрезанных линий, карточки шагов компактнее (цифра слева, текст справа) */
.hx-cta { border: 0 !important; }
@media (min-width: 1001px) {
  .hx.hx-steps li { display: grid !important; grid-template-columns: 64px 1fr; column-gap: 18px; align-items: center; padding: 16px 22px !important; }
  .hx.hx-steps li i { grid-row: 1 / 3; font-size: 56px !important; margin: 0 !important; }
  .hx.hx-steps li b { margin: 0 0 2px; align-self: end; }
  .hx.hx-steps li p { align-self: start; }
}

/* кнопка под шагами вместо отдельного блока на весь экран */
.hx-steps-cta { margin: 18px 0 0; }
@media (max-width: 760px) { .hx-steps-cta .btn { width: 100%; } }
.foot { margin-top: var(--sec) !important; }

/* ===== закрывающий блок: убеждаем оставить заявку ===== */
.hx.hx-final { padding-top: var(--sec) !important; padding-bottom: 0 !important; }
.hx-final-box { display: grid; grid-template-columns: 1.25fr 1fr; gap: 0; background: #f9f8f6; border: 1px solid var(--line); }
.hx-final-text { padding: 40px 44px; }
.hx-final-text h2 { margin: 0 0 20px; max-width: 560px; }
.hx-final-list { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; }
.hx-final-list li { position: relative; padding-left: 26px; line-height: 1.45; color: var(--muted); font-size: var(--t-body); }
.hx-final-list li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 11px; height: 6px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(-45deg); }
.hx-final-list li b { color: var(--fg); font-weight: 600; }
.hx-final-note { margin: 12px 0 0; font-size: var(--t-small); color: var(--muted); }
.hx-final-tiers { background: var(--choc-dark); color: #fff; padding: 40px 44px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.hx-final-cap { margin: 0 0 8px; font-family: var(--serif); font-size: 26px; line-height: 1.15; color: #fff; }
.hx-final-tiers .tier { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.22); }
.hx-final-tiers .tier span { color: #e6d9cc; font-size: var(--t-body); }
.hx-final-tiers .tier b { font-family: var(--serif); font-weight: 500; font-size: 28px; line-height: 1; color: #fff; }
.hx-final-small { margin: 6px 0 0; font-size: var(--t-small); color: #cdb9a7; }
@media (max-width: 1000px) {
  .hx-final-box { grid-template-columns: 1fr; }
  .hx-final-text, .hx-final-tiers { padding: 26px 24px; }
}
@media (max-width: 760px) {
  .hx-final-text, .hx-final-tiers { padding: 20px 16px; }
  .hx-final-text h2 { font-size: 21px; margin-bottom: 14px; }
  .hx-final-list { gap: 10px; margin-bottom: 18px; }
  .hx-final-text .btn { width: 100%; }
  .hx-final-cap { font-size: 21px; }
  .hx-final-tiers .tier { padding: 10px 0; }
  .hx-final-tiers .tier b { font-size: 24px; }
}
.hx-final-tiers .tier { flex-direction: column; align-items: flex-start; gap: 2px; }
.hx-final-tiers .tier b { font-size: 24px; }
.hx-final-tiers .tier span { color: #e6d9cc; }
@media (max-width: 760px) { .hx-final-tiers .tier b { font-size: 21px; } }
.hx-final-tiers .tier b, .hx-final-cap { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.hx-final-big { margin: 14px 0 12px; font-family: var(--serif); font-weight: 500; font-variant-numeric: lining-nums; font-size: 56px; line-height: 1; color: #fff; }
.hx-final-sub { margin: 0; max-width: 360px; color: #e6d9cc; line-height: 1.5; font-size: var(--t-body); }
@media (max-width: 760px) { .hx-final-big { font-size: 40px; margin: 8px 0; } }
.hx-final-tiers .tier { margin-top: 22px; padding-top: 16px; }
.hx-final-tiers .tier b { font-size: 22px; }

/* ===== телефон: правки по кадрам владелицы (только до 760 px; новинки-лента и планшет до 1000) ===== */
@media (max-width: 1000px) {
  /* лента «Новинки»: панель заказа остаётся внутри карточки, не обрезается */
  .hx-grid .card .quick.quick-inline { position: static !important; top: auto !important; bottom: auto !important; height: auto !important; min-height: 0 !important; margin: 8px 0 0 !important; padding: 0 !important; }
}
@media (max-width: 760px) {
  /* цены компактнее */
  .card-price, .quick-inline .qprice, .quick-inline .qi-top b, .quick-inline .qi-price { font-size: 15px !important; }
  /* «Весь каталог» / «Смотреть все» — тихие ссылки, не заголовки */
  .hx-head a { font-size: 13px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
  /* плитки брендов: название крупнее, ссылка мелкая */
  .hx-brand-name { font-size: 20px !important; line-height: 1.15; }
  .hx-brand-go { font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
  /* «Как начать закупку»: на телефоне три строки, а не три узких столбика */
  .hx.hx-steps ol { grid-template-columns: 1fr !important; gap: 8px !important; }
  .hx.hx-steps li { display: grid !important; grid-template-columns: 40px 1fr !important; column-gap: 12px; align-items: center; padding: 10px 14px !important; }
  .hx.hx-steps li i { grid-row: 1 / 3; font-size: 36px !important; margin: 0 !important; }
  .hx.hx-steps li b { font-size: 15px; margin: 0 0 2px; align-self: end; }
  .hx.hx-steps li p { font-size: 13px; line-height: 1.35; align-self: start; }
}
@media (max-width: 760px) { .hx.hx-look h2, .hx.hx-look p { text-align: left !important; align-self: stretch; } }

/* «Новинки» на главной: без панели заказа в карточке (заказ — в каталоге и на странице товара) */
.hx-grid .card .quick, .hx-grid .card:hover .quick, .hx-grid .card:focus-within .quick, .hx-grid .card .quick.quick-inline { display: none !important; }
.hx-grid .card .card-meta.has-qi { min-height: 0 !important; }

/* подтипы серёг и колец — те же рамочки, что у подразделов подвесок */
.chips.type-links.grp-row { display: flex !important; flex-wrap: wrap !important; overflow: visible !important; gap: 8px !important; margin: 0 0 16px !important; padding: 0 !important; align-items: stretch; }
.chips.type-links.grp-row b { display: none !important; }
.chips.type-links.grp-row .chip { padding: 6px 12px !important; border: 1px solid var(--line) !important; border-radius: 0 !important; background: var(--card) !important; color: var(--fg) !important; font-size: 14px !important; font-weight: 400 !important; white-space: nowrap; }
.chips.type-links.grp-row .chip:hover { border-color: var(--gold) !important; }
.chips.type-links.grp-row .chip.on { background: var(--accent) !important; color: #fff !important; border-color: var(--accent) !important; }
.chips.type-links.grp-row .chip span { font-size: 12px !important; margin-left: 4px; color: var(--muted) !important; }
.chips.type-links.grp-row .chip.on span { color: #f1e2d2 !important; }
@media (max-width: 760px) { .chips.type-links.grp-row { flex-wrap: nowrap !important; overflow-x: auto !important; margin-left: -16px !important; margin-right: -16px !important; padding: 2px 16px 6px !important; } }

/* строка под названием: короткие покрытие и вставка, мелким шрифтом */
.card-sub { font-size: 12px !important; line-height: 1.3; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* админка: карточка товара в «Описаниях»/«Товарах» — обычный шрифт заголовка (не декоративный с сайта) */
.rev h2 { font-family: Manrope, system-ui, sans-serif !important; font-weight: 600 !important; font-size: 17px !important;
          letter-spacing: 0 !important; color: var(--fg) !important; }
.rev h2 a { color: var(--fg); text-decoration: none; }
.rev h2 a:hover { text-decoration: underline; }

/* админка: метки — столбцы-карточки, закрытые по умолчанию (открыты только те, что сами открыли —
   localStorage, admin/_layout.html); что отмечено — видно в заголовке и закрытым. Класс свой, не «facet»:
   тот общий с фильтрами каталога на сайте (другой дизайн — крупный шрифт, плюсик 24px, space-between —
   отсюда была «кривая» вёрстка, когда оба правила смешивались). .rev-img + div даёт столбцам переноситься
   на новую строку, когда не помещаются (без min-width:0 грид-колонка не сжималась и обрезала лишние) */
.rev-img + div { min-width: 0; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 10px; }
.tag-facet { width: 172px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; }
/* заголовок и выбранные метки — отдельными строками (не счётчик «·2», а сами названия), поэтому не ломаются
   при переносе в узкой карточке */
.tag-facet summary { display: flex; flex-direction: column; gap: 1px; padding-right: 14px; position: relative;
                      cursor: pointer; list-style: none; }
.tag-facet summary::-webkit-details-marker { display: none; }
.tag-facet summary::after { content: "+"; position: absolute; top: 0; right: 0; font-size: 14px; font-weight: 400; color: var(--muted); }
.tag-facet[open] summary::after { content: "−"; }
.tag-facet summary .tag-label { font-size: 13px; font-weight: 600; }
.tag-facet summary .tag-preview { font-size: 12px; font-weight: 400; color: var(--muted); overflow: hidden;
                                   text-overflow: ellipsis; white-space: nowrap; }
.tag-facet .facet-vals { max-height: 220px; overflow-y: auto; margin-top: 6px; }
.tag-facet .facet-vals label { font-size: 13px; }

/* страница «Коллекции»: обложка часто настоящее фото (например, модель в украшении), не товар на белом фоне —
   общий .hub-img img (mix-blend-mode: multiply, выше по файлу) создан для товарных фото и портит обычные
   фотографии; здесь показываем как есть, во всю плитку */
.hub-img-photo { background: #ece7e0; }
.hub-img-photo img { object-fit: cover; mix-blend-mode: normal; padding: 0; }
.coll-hero { aspect-ratio: 21 / 8; border-radius: var(--radius); overflow: hidden; margin: 0 0 18px; background: #ece7e0; }
.coll-hero img { width: 100%; height: 100%; object-fit: cover; }
/* на телефоне хлебные крошки скрыты (.crumbs), баннер иначе липнет прямо к шапке — добавляем свой отступ сверху */
@media (max-width: 760px) { .coll-hero { aspect-ratio: 4 / 3; margin-top: 14px; } }

/* капсула-конструктор: слоты, живой выбор, витрина — плитка = обычная карточка каталога (.card/.card-img),
   никакой своей рамки и фона-коробки не добавляем, чтобы не отличалась от каталога; отметка — кольцо вокруг фото */
.cap-form { padding-bottom: 110px; }  /* нижний липкий бар не должен перекрывать последний ряд плиток */
.cap-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 6px; }
.cap-sort { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); white-space: nowrap; }
.cap-sort select { font: inherit; font-size: 14px; padding: 6px 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
/* мобилка: компактно и без лишних отступов (владелица, 2026-11-10 — раньше было слишком
   свободно и «не было выравнивания») */
@media (max-width: 760px) {
  .cap-toolbar { gap: 6px 10px; }
  .cap-toolbar > p.muted { flex: 1 1 100%; order: -1; font-size: 13px; margin: 0 0 2px; }
  .cap-sort { font-size: 12px; }
  .cap-sort select { font-size: 13px; padding: 5px 7px; }
}
.cap-slot { margin-top: 36px; }
.cap-slot-title { font-size: 19px; margin: 0 0 14px; }
.cap-sub-title { font-size: 14px; font-weight: 600; color: var(--muted); margin: 20px 0 10px; }
.cap-sub-title:first-of-type { margin-top: 0; }
.cap-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.cap-pick { display: block; cursor: pointer; }
/* у .cap-pick свой display:block той же силы, что браузерное [hidden] { display: none } — без этого
   правила атрибут hidden от JS-фильтра «Показать» не прячет плитку визуально (владелица,
   2026-11-13: «выбираю Минск, показывает все товары капсулы») */
.cap-pick[hidden] { display: none; }
/* фото с ВБ (карточки товара на маркетплейсе) — 3:4, а не квадрат; при квадратном окне контейнера
   появляются рамки по бокам (владелица, 2026-11-10). */
.cap-pick .card-img { aspect-ratio: 3 / 4; }
/* в капсуле фото не увеличиваем (убираем zoom 1.14 из .card-img) — само изделие на снимке
   выглядит слишком крупным и тяжёлым для восприятия (владелица, 2026-11-10). Именно scale(1),
   не меньше: при уменьшении у фото-баннеров с моделью (во весь кадр, без полей) вылезает рамка
   из фона карточки — у них, в отличие от предметной съёмки, нет своих белых полей, которые можно
   обрезать. */
.cap-pick .card-img img:not(.alt) { transform: scale(1); }
.cap-pick:has(input:checked) .card-img { box-shadow: 0 0 0 3px var(--accent); }
.cap-pick.off { opacity: .5; cursor: default; }
/* чекбокс — в левом верхнем углу фото (card-img уже position:relative): внизу у бижутерии почти
   всегда пустое поле снимка, и квадратик там выглядел «отклеившимся» от карточки (владелица,
   2026-11-10). Сдвигаем ниже меток NEW/SALE, если они есть, чтобы не перекрывались. */
.cap-pick .card-img input { position: absolute; top: 10px; left: 10px; z-index: 3; width: 24px; height: 24px; margin: 0;
                             accent-color: var(--accent); background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.3); cursor: pointer; }
.cap-pick .card-img:has(.flags) input { top: 40px; }
/* выбор размера у колец/браслетов в капсуле — отдельная галочка на каждый размер, можно отметить
   сразу несколько размеров одного товара (раньше брался самый маленький размер автоматически,
   владелица, 2026-11-13: «если хочу купить несколько размеров... придётся снова заходить») */
.cap-sizes-car { margin-top: 6px; }
/* цифра размера сверху, крупно — галочка снизу, иначе на мобилке размер не видно за галочкой
   (владелица, 2026-11-13) */
.cap-size-chip { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
                  padding: 5px 2px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: #fff; }
.cap-size-n { font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap; }
.cap-size-chip:has(input:checked) { background: var(--accent); color: var(--accent-fg); border-color: var(--accent); }
/* мобилка: цифра («17.5») не влезала в ячейку из пяти в ряд и наезжала на соседние — показываем
   по 3 в ряд и мельче шрифтом (владелица, 2026-11-13: «иначе не виден размер») */
@media (max-width: 760px) {
  .cap-sizes-car .car-track > * { flex-basis: calc((100% - 16px) / 3); }
  .cap-size-n { font-size: 11px; }
  .cap-size-chip { padding: 4px 1px; }
}
.cap-size-chip input { margin: 0; width: 12px; height: 12px; flex: 0 0 auto; }
.cap-size-chip[hidden] { display: none; }
/* название и цена на десктопе — те же .card-title/.card-price, что в обычном каталоге, без
   переопределений (владелица, 2026-11-10: «меняли шрифты только для мобилки»). Правки размера
   и начертания — только в мобильном медиа-запросе ниже. */
/* остаток и «Ожидается» — тем же стилем, что в обычном каталоге (.card-meta .badge), чтобы не
   плодить лишние варианты шрифта на сайте (владелица, 2026-11-10) */
.cap-pick .badge { background: none; padding: 0; font-size: 12px; font-weight: 500; color: var(--muted); }
.cap-stock { font-size: 12px; font-weight: 500; color: #2f6b2a; margin-top: 2px; }
@media (max-width: 760px) {
  .cap-pick .card-title { font-size: 12px; font-weight: 200; padding: 6px 2px 0; line-height: 1.3; }
  .cap-pick .card-price { font-size: 15px; font-weight: 500; padding-top: 1px; }
  .cap-pick .card-price small { font-size: 12px; }
  .cap-stock { margin-top: 0; }
}
.cap-preview { display: flex; flex-wrap: wrap; gap: 10px; }
.cap-preview-item { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: #fff; border: 1px solid var(--line); }
.cap-preview-item img { width: 100%; height: 100%; object-fit: contain; }
.cap-bar { position: sticky; bottom: 16px; z-index: 10; margin-top: 36px; background: var(--fg); color: var(--bg); border-radius: 14px;
           padding: 16px 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
           box-shadow: 0 16px 40px -16px rgba(0,0,0,.4); }
.cap-bar button:disabled { opacity: .5; cursor: default; }
@media (max-width: 760px) { .cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* уведомление о cookie внизу страницы */
.cookie-note { position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; background: var(--choc-dark, #2a1c12); color: #f1e7dc;
               display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px;
               padding: 14px max(16px, env(safe-area-inset-left, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-right, 0px));
               box-shadow: 0 -10px 30px -14px rgba(0,0,0,.4); }
.cookie-note p { margin: 0; font-size: 13px; line-height: 1.5; max-width: 760px; }
.cookie-note a { color: #f1e7dc; text-decoration: underline; }
.cookie-note .btn.small { flex: none; white-space: nowrap; }
.cookie-note-btns { display: flex; gap: 10px; flex: none; }
.cookie-note .btn.ghost { color: #f1e7dc; border-color: #6b5744; }
.cookie-note .btn.ghost:hover { background: rgba(255,255,255,.08); }
@media (max-width: 600px) { .cookie-note { flex-direction: column; align-items: stretch; text-align: center; } .cookie-note-btns { justify-content: center; } }

/* иконки соцсетей в подвале */
.foot-social { display: flex; gap: 12px; margin-top: 10px; }
.foot-social a { color: #d9c9b8; display: inline-flex; }
.foot-social a:hover { color: #fff; }
