/* ================== THEME VARS ================== */
:root {
  --bg-page:#ffffff;
  --bg-elev:#ffffff;
  --text-main:#0a0a0a;
  --text-dim:#555;
  --line:#00000022;
  --card-line:#0000002e;
  --accent:#c2a464;
  --radius:14px;
  --shadow-card:0 28px 54px rgba(0,0,0,.08);
  --max-width:1200px;
  --input-bg:#fff;
  --input-text:#0a0a0a;
  --input-border:#00000033;
  --link:#0a0a0a;

  /* высота шапки + запас для якорей */
  --topbar-offset:150px;
}

/* dark */
[data-theme="dark"] {
  --bg-page:#121212;
  --bg-elev:#1a1a1a;
  --text-main:#f1f1f1;
  --text-dim:#bbbbbb;
  --line:#ffffff1f;
  --card-line:#ffffff33;
  --shadow-card:0 28px 54px rgba(0,0,0,.65);
  --input-bg:#121212;
  --input-text:#efefef;
  --input-border:#ffffff33;
  --link:#f1f1f1;
}

/* ================== BASE ================== */
* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  font-size:14px;
  scroll-behavior:smooth !important;
  scroll-padding-top:var(--topbar-offset);
}

body {
  background:var(--bg-page);
  color:var(--text-main);
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.65;
}

img {
  max-width:100%;
  height:auto;
  display:block;
}

a {
  color:var(--link);
  text-decoration:none;
}
a:hover {
  color:var(--accent);
}

/* ================== TOP NAV ================== */

/* TOP NAV (fixed) */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: rgba(255,255,255,0.88);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  z-index: 1000;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

[data-theme="dark"] .topbar {
  background: rgba(24,24,24,0.85);
  border-bottom: 1px solid #ffffff22;
}

/* общая обертка шапки */
.topbar-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 14px 22px 10px;

  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ===== РЯД 1: бренд + меню ===== */

.top-row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.brand {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: .07em;
  white-space: nowrap;
  flex: 0 0 auto;
}

.nav-links {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  flex-wrap: nowrap;
  min-width: 0;

  transform: translateX(+83px); /* подбери по вкусу: -20 / -30 / -50 */
}

/* на мобилке лучше выровнять по дефолту */
@media (max-width: 900px){
  .nav-links {
    transform: none;
    justify-content: flex-start;
  }
}

.nav-links a {
  padding: 8px 12px;
  border-radius: 999px;
  transition: background .2s, color .2s;
}

.nav-links a.active {
  color: var(--accent);
}

/* ===== РЯД 2: языки + тема слева, иконки справа ===== */

.bottom-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.left-tools {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* языки */
.lang-switch {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  font-size: .85rem;
}

.lang-switch button {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  background: transparent;
  border: 1px solid transparent;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--text-main);
}

.lang-switch .current-lang {
  color: var(--accent);
  border-color: var(--line);
}

.flag {
  font-size: 1rem;
}

/* тема */
.theme-toggle button {
  border: 1px solid var(--line);
  background: transparent;
  padding: 6px 14px;
  border-radius: 999px;
  cursor: pointer;
  font-size: .78rem;
  letter-spacing: .06em;
  color: var(--text-main);
}

/* иконки справа (wishlist + cart) */
.header-icons {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ===== СТИЛИ ИКОНОК (wishlist + cart) ===== */

.wishlist-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;

  padding:6px 12px;
  border:1px solid var(--line);
  border-radius:999px;

  background:var(--bg-elev);
  color:var(--text-main);
  font-size:.85rem;

  cursor:pointer;
  transition:.2s;
}

.wishlist-icon:hover {
  border-color:var(--accent);
}

.wishlist-icon-svg {
  width:18px;
  height:18px;
}

#wishlistCount {
  min-width:18px;
  height:18px;
  border-radius:999px;
  font-size:.7rem;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
}
/*
/* пустой бейдж скрываем *
.wishlist-icon:not(.has-items) #wishlistCount {
  opacity:0;
  transform:scale(.6);
}
.wishlist-icon.has-items #wishlistCount {
  opacity:1;
  transform:scale(1);
  transition:.18s;
}
*/

.wishlist-icon-svg,
.wishlist-icon-svg path {
  fill: var(--text-main);
}

.wishlist-icon.has-items .wishlist-icon-svg path {
  fill: var(--accent);
}

/* cart */
.cart-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;

  background: var(--bg-elev);
  color: var(--text-main);
  font-size: .85rem;

  cursor: pointer;
  transition: 0.2s;
}

.cart-icon:hover {
  border-color: var(--accent);
}

.cart-icon svg {
  width: 18px;
  height: 18px;
}

.cart-count {
  background: var(--accent);
  color: #fff;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.7rem;
}

/* закрашиваем иконку тележки */
.cart-icon-svg,
.cart-icon-svg path,
.cart-icon-svg circle {
  fill: var(--text-main) !important;
}
.cart-icon:hover .cart-icon-svg path,
.cart-icon:hover .cart-icon-svg circle {
  fill: var(--accent) !important;
}

/* ===== PAGE отступ (оставляем как было) ===== */
.page{
  max-width:var(--max-width);
  margin:0 auto;
  padding:calc(var(--topbar-offset) + 30px) 24px 110px;
}
.page-collection{
  padding-top:121px;
}


/* ================== PAGE WRAPPER ================== */

.page{
  max-width:var(--max-width);
  margin:0 auto;
  padding:calc(var(--topbar-offset) + 30px) 24px 110px;
}

.page-collection{
  padding-top:121px;
}

/* ================== HERO ================== */

.hero{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 34px 68px rgba(0,0,0,.12);
  margin:0 auto 108px;
  max-width:1100px;
  background:var(--bg-elev);
}
.hero-content{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
}
.hero-text{
  flex:1 1 50%;
  min-width:320px;
  padding:86px 62px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-eyebrow{
  font-size:.78rem;
  font-weight:600;
  color:var(--accent);
  letter-spacing:.15em;
  margin-bottom:16px;
}
.hero-title{
  font-family:"Playfair Display",serif;
  font-size:2.4rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin-bottom:20px;
}
.hero-desc{
  font-size:1rem;
  color:var(--text-dim);
  line-height:1.75;
  margin-bottom:32px;
}
.btn{
  display:inline-block;
  padding:12px 20px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.15em;
  border:1px solid var(--text-main);
  color:var(--text-main);
  background:transparent;
  font-weight:600;
  border-radius:999px;
  transition:.25s;
}

/* общий курсор */
.btn,
.btn-sm,
button.btn,
button.btn-sm,
.btn-icon {
  cursor:pointer;
}

/* маленькие кнопки */
.btn-sm,
.btn.small{
  font-size:.72rem;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--card-line);
  background:var(--bg-elev);
  color:var(--text-main);
}

/* primary */
.btn.primary,
.btn-sm.primary{
  border-color:var(--text-main);
  background:var(--text-main);
  color:var(--bg-page);
  transition:.25s;
}

/* hover */
.btn:hover,
.btn-sm:hover,
.btn.small:hover{
  background:var(--text-main);
  color:var(--bg-page);
}
.btn.primary:hover,
.btn-sm.primary:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--bg-page);
}

/* BUY — всегда золотая */
.buy-btn{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.buy-btn:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
}

/* wishlist-круг на карточке */
.btn-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid var(--card-line);
  background:var(--bg-elev);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.25s;
}
.btn-icon svg{
  width:16px;
  height:16px;
  fill:var(--text-main);
}
.btn-icon:hover{
  background:var(--text-main);
}
.btn-icon:hover svg{
  fill:var(--bg-page);
}

.hero-image{
  flex: 1 1 50%;
  min-width: 320px;
  /* вместо чистого #000 делаем фон как карточка */
  background: var(--bg-elev);
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 40px 32px;        /* поменьше паддинги */
}

.hero-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;         /* картинка заполняет, без черных полос */
  border-radius: 18px;
  box-shadow: 0 22px 44px rgba(0,0,0,.35);
  filter: none;              /* можешь убрать затемнение, если не надо */
  transition: .35s;
}
.hero-image img:hover{
  transform: scale(1.02);
}

/* ================== SECTIONS / CARDS ================== */

.section{margin-bottom:130px;}
.section-head{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin-bottom:42px;
}
.section-head h2{
  font-family:"Playfair Display",serif;
  font-size:1.12rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.section-head h2 a{
  color:inherit;
}
.section-head h2 a:hover{
  color:var(--accent);
}
.section-head .line{
  flex:1;
  height:1px;
  background:var(--line);
  transform:translateY(-4px);
}

/* кнопка фильтра в хэдле коллекции */
.section-head .filter-toggle {
  margin-left: auto;
}


/* Адаптив: на узких экранах — колонкой, но без уродства */
@media (max-width: 900px) {
  .filter-row {
    grid-template-columns: 1fr;
  }
  .filter-actions {
    justify-content: flex-start;
  }
}

/* карточки c fade-in */
.editorial-card,
.info-card,
.contact-card{
  background:var(--bg-elev);
  border:1px solid var(--card-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  padding:28px;
  opacity:0;
  transform:translateY(22px);
  transition:all .6s cubic-bezier(.2,.7,.3,1);
}
.editorial-card.visible,
.info-card.visible,
.contact-card.visible{
  opacity:1;
  transform:translateY(0);
}
/* чтобы карточка как ссылка */
.editorial-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  position: relative;
}

/* лёгкий ховер, чтобы чувствовалось "кнопка" */
.editorial-link:hover {
  box-shadow: 0 40px 80px rgba(0,0,0,0.12);
  transform: translateY(-3px);
}

/* маленький CTA внизу */
.editorial-cta {
  display: inline-block;
  margin-top: 18px;
  font-size: 0.82rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
}

/* GRIDS */
.grid-3{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:34px;
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(390px,1fr));
  gap:34px;
}

.piece-card,
.card{
  background:var(--bg-elev);
  border:1px solid var(--card-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  opacity:0;
  transform:translateY(22px);
  transition:
    transform .3s cubic-bezier(.2,.7,.3,1),
    box-shadow .3s cubic-bezier(.2,.7,.3,1),
    opacity .6s cubic-bezier(.2,.7,.3,1);
}
.piece-card.visible,
.card.visible{
  opacity:1;
  transform:translateY(0);
}

.piece-card:hover,
.card:hover{
  transform:translateY(-4px) scale(1.01);
  box-shadow:0 38px 70px rgba(0,0,0,.18);
}


.piece-body,
.body{
  padding:20px 20px 24px;
}
.piece-title,
.title{
  font-family:"Playfair Display",serif;
  font-size:1rem;
  font-weight:600;
  text-transform:uppercase;
  margin-bottom:10px;
}
.piece-meta,
.meta{
  font-size:.8rem;
  color:var(--text-dim);
  margin-bottom:10px;
}
.piece-copy{
  font-size:.9rem;
  line-height:1.6;
  color:var(--text-main);
}
.piece-actions,
.row{
  display:flex;
  gap:8px;
  margin-top:6px;
}

/* крупнее buy/view */
.piece-actions .btn-sm {
  padding:12px 18px;
  font-size:0.85rem;
  border-radius:12px;
}
.piece-actions .btn-sm.primary {
  border-width:2px;
}

/* ================== INFO / CONTACT ================== */

.info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:34px;
}
.info-head{
  font-family:"Playfair Display",serif;
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:10px;
  color:var(--accent);
}
.info-title{
  font-family:"Playfair Display",serif;
  font-size:1.08rem;
  font-weight:600;
  margin-bottom:10px;
}

.contact-block{
  border-top:1px solid var(--line);
  padding-top:40px;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(370px,1fr));
  gap:30px;
}
.contact-card b{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.8rem;
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:12px 0;
}
.form-row.single{grid-template-columns:1fr;}
label{
  font-size:.82rem;
  color:var(--text-dim);
  margin-bottom:4px;
  display:block;
}
input,textarea{
  width:100%;
  border:1px solid var(--input-border);
  background:var(--input-bg);
  color:var(--input-text);
  border-radius:10px;
  padding:10px 12px;
  font-size:.95rem;
}
textarea{min-height:120px;resize:vertical;}
.submit-row{display:flex;gap:10px;margin-top:10px;}
.small-note{
  font-size:.8rem;
  color:var(--text-dim);
  margin-top:8px;
}

/* footer */
.site-footer{
  text-align:center;
  font-size:.85rem;
  color:var(--text-dim);
  border-top:1px solid var(--line);
  padding:40px 24px 70px;
  margin-top:40px;
}

/* ================== MODAL ================== */

.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2000;
}
.modal.open{display:flex;}
.modal-card{
  width:min(780px,92vw);
  background:var(--bg-elev);
  color:var(--text-main);
  border-radius:16px;
  border:1px solid var(--line);
  box-shadow:0 40px 80px rgba(0,0,0,.45);
}
.modal-head{
  padding:12px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.modal-body{
  padding:16px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:16px;
}
.modal-body img{
  width:100%;
  border-radius:10px;
  border:1px solid var(--line);
  background:#111;
}
.modal-meta{
  font-size:.85rem;
  color:var(--text-dim);
  margin-bottom:6px;
}
.modal-copy{
  font-size:.95rem;
  line-height:1.6;
}
.modal-close{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:22px;
  color:var(--text-main);
}
.modal-foot{
  padding:10px 16px 14px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:flex-end;
}
.modal-extra {
  margin: 4px 0 10px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.modal-extra span {
  color: var(--text-main);
}

.modal-extra .dot {
  padding: 0 6px;
  color: var(--text-dim);
}

/* ================== CART / WISHLIST PANEL ================== */

.cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  z-index:2100;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}
.cart-overlay.open{
  opacity:1;
  pointer-events:auto;
}

.cart-panel{
  width:min(360px,88vw);
  background:var(--bg-elev);
  color:var(--text-main);
  padding:20px 18px 16px;
  box-shadow:-12px 0 40px rgba(0,0,0,.35);
  border-left:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:8px;
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.2,.7,.3,1);
}
.cart-overlay.open .cart-panel{
  transform:translateX(0);
}

.cart-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.cart-tabs{
  display:flex;
  gap:6px;
}
.cart-tab{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:6px 10px;
  border-radius:999px;
  color:var(--text-dim);
  transition:.2s;
}
.cart-tab.active{
  background:var(--text-main);
  color:var(--bg-page);
}
.cart-close{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:20px;
  color:var(--text-main);
}

.cart-section{
  margin-top:10px;
  display:none;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.cart-section-cart{display:flex;}

.cart-panel[data-mode="cart"] .cart-section-cart{display:flex;}
.cart-panel[data-mode="cart"] .cart-section-wishlist{display:none;}
.cart-panel[data-mode="wishlist"] .cart-section-cart{display:none;}
.cart-panel[data-mode="wishlist"] .cart-section-wishlist{display:flex;}

.cart-empty,
.wishlist-empty{
  font-size:.85rem;
  color:var(--text-dim);
  margin-top:6px;
}
.cart-items{
  list-style:none;
  padding:0;
  margin:4px 0 0;
  flex:1;
  overflow-y:auto;
  font-size:.86rem;
}
.cart-items li{
  padding:6px 0;
  border-bottom:1px solid var(--line);
}
.cart-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.cart-line-text{flex:1;}
.cart-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:6px;
}

/* ================== BACK TO TOP ================== */

.to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  opacity:0;
  pointer-events:none;
  transform:translateY(8px);
  transition:.2s;
  z-index:1100;
}
.to-top.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.to-top button{
  background:var(--text-main);
  color:var(--bg-page);
  border:none;
  border-radius:999px;
  padding:12px 14px;
  cursor:pointer;
}

/* ================== WISHLIST HEART (CARD) ================== */

.btn-icon.wishlist-btn {
  width:44px;
  height:44px;
  min-width:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--bg-elev);
  border:2px solid var(--card-line);
  cursor:pointer;
  transition:0.22s ease;
}
.btn-icon.wishlist-btn svg{
  width:22px;
  height:22px;
  display:block;
}
.btn-icon.wishlist-btn svg path{
  fill:var(--text-main);
  transition:0.22s ease;
}
.btn-icon.wishlist-btn:hover{
  border-color:var(--accent);
  transform:translateY(-1px);
}
.btn-icon.wishlist-btn:hover svg path{
  fill:var(--accent);
}
.btn-icon.wishlist-btn.active{
  border-color:var(--accent);
  background:var(--accent);
  transform:scale(1.03);
}
.btn-icon.wishlist-btn.active svg path{
  fill:#fff;
}
.btn-icon.wishlist-btn.pop{
  animation:wishlist-pop .18s ease-out;
}
@keyframes wishlist-pop{
  0%{transform:scale(1);}
  50%{transform:scale(1.12);}
  100%{transform:scale(1.03);}
}

/* dark tweaks */
[data-theme="dark"] .btn-icon.wishlist-btn{
  border-color:#ffffff33;
  background:var(--bg-elev);
}
[data-theme="dark"] .btn-icon.wishlist-btn svg path{
  fill:#f5f5f5;
}
[data-theme="dark"] .btn-icon.wishlist-btn.active{
  background:var(--accent);
  border-color:var(--accent);
}
[data-theme="dark"] .btn-icon.wishlist-btn.active svg path{
  fill:#111;
}

/* ================== TOASTS ================== */

.toast-stack{
  position:fixed;
  right:24px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  gap:8px;
  z-index:2500;
}
.toast{
  background:rgba(0,0,0,.9);
  color:#fff;
  padding:10px 16px;
  border-radius:999px;
  font-size:.85rem;
  letter-spacing:.03em;
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
}
[data-theme="light"] .toast{
  background:#111;
}
.toast.show{
  opacity:1;
  transform:translateY(0);
}


/* ================== RESPONSIVE ================== */

@media (max-width:900px){
  .topbar-inner{
    flex-wrap:wrap;
    gap:10px;
  }

  .nav-links{
    order:3;
    flex-basis:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:18px;
  }

  .right-tools{
    margin-left:auto;
  }

  .hero-text{padding:56px 24px;}
  .page{padding:112px 16px 80px;}
  .hero{margin-bottom:86px;}
  .modal-body{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
}
.editorial-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:22px;
  margin-top:24px;
}

.editorial-shot{
  background:var(--bg-elev);
  border:1px solid var(--card-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.editorial-shot img{
  width:100%;
  display:block;
  object-fit:cover;
  max-height:280px;
}

.editorial-shot figcaption{
  padding:12px 14px 14px;
  font-size:.82rem;
  color:var(--text-dim);
}.editorial-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:22px;
  margin-top:24px;
}

.editorial-shot{
  background:var(--bg-elev);
  border:1px solid var(--card-line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}

.editorial-shot img{
  width:100%;
  display:block;
  object-fit:cover;
  max-height:280px;
}

.editorial-shot figcaption{
  padding:12px 14px 14px;
  font-size:.82rem;
  color:var(--text-dim);
}




/* === COLLECTION FILTERS === */

/* Кнопка фильтра (сама таблетка с иконкой) */
.filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--card-line);
  background: var(--bg-elev);
  color: var(--text-main);

  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* иконка наследует цвет текста */
.filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.filter-icon svg {
  width: 14px;
  height: 14px;
  display: block;
}
.filter-toggle .filter-icon svg path {
  fill: currentColor; /* ← поэтому иконка белеет вместе с текстом */
}

/* hover / активное состояние */
.filter-toggle:hover,
.filter-toggle.active {
  background: var(--text-main);
  color: var(--bg-page);
  border-color: var(--text-main);
}

/* ПАНЕЛЬ ФИЛЬТРОВ — базово скрыта */
.collection-filters {
  display: none;
  width: 100%;              /* рамка на всю секцию */
  max-width: 100%;
  margin: 10px 0 18px;
  padding: 10px 18px;

  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--bg-elev);
}



/* открыта по .open (JS как раз этот класс и вешает) */
.collection-filters.open {
  display: block;
}

/* ряд с фильтрами — в одну линию */
.filter-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: flex-end;
  width: 100%;
}

/* три селекта тянутся равномерно */
.filter-group {
  flex: 0 0 240px;      /* можешь подправить на 220/260 по вкусу */
  max-width: 240px;
  min-width: 0;

  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* подпись над селектом */
.filter-group label {
  font-size: 0.68rem;
  letter-spacing: 0.16em;
}

/* селекты */
/* селекты компактные */
.collection-filters select {
  padding: 4px 8px;
  font-size: 0.8rem;
  border-radius: 8px;
  border: 1px solid var(--input-border);
  background: var(--input-bg);
  color: var(--input-text);
}

/* кнопка сброса — всегда справа */
.filter-actions {
  flex: 0 0 auto;
  margin-left: auto;       /* ← уезжает к правому краю рамки */
  display: flex;
  align-items: center;
}

.filter-actions .btn-sm {
  white-space: nowrap;
}

/* мобилка: всё складываем в колонку, чтоб не ломалось */
@media (max-width: 900px) {
  .filter-row {
    flex-wrap: wrap;
  }

  .filter-group {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .filter-actions {
    margin-left: 0;
    margin-top: 8px;
    justify-content: flex-start;
  }
}

/* Коллекция: фиксированная ширина карточек, без раздувания при фильтре */
.grid-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  align-items: stretch;
}

/* 3 карточки в ряд на десктопе */
.grid-3 > .card,
.grid-3 > .piece-card {
  flex: 0 0 calc((100% - 2 * 34px) / 3);
  max-width: calc((100% - 2 * 34px) / 3);
}

/* 2 карточки в ряд на планшете */
@media (max-width: 900px) {
  .grid-3 > .card,
  .grid-3 > .piece-card {
    flex: 0 0 calc((100% - 34px) / 2);
    max-width: calc((100% - 34px) / 2);
  }
}

/* 1 карточка в ряд на мобилке */
@media (max-width: 600px) {
  .grid-3 > .card,
  .grid-3 > .piece-card {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* === FIX: выравнивание картинок в карточках коллекции === */

/* === FULL-BLEED: картинка на всю карточку без полей === */

.piece-img,
.img {
  background: #111;          /* можешь сменить или убрать */
  aspect-ratio: 3 / 4;       /* одинаковая высота карточек */
  display: block;
  padding: 0;                /* НОЛЬ отступов */
}

.piece-img img,
.img img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;         /* заполняет блок, лишнее обрезается */
  display: block;
}

/* hero-галерея тоже фулл-блид */

.editorial-shot {
  background: #111;          /* рамка-фон, если нужна */
  border: 1px solid var(--card-line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
  overflow: hidden;

  aspect-ratio: 3 / 4;
  display: block;
}

.editorial-shot img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;         /* тоже на всю карточку */
  display: block;
}

/* ==== MOBILE NAV FIX ==== */
@media (max-width: 900px) {
  .top-row {
    flex-wrap: wrap;
    gap: 12px;
  }

  .nav-links {
    transform: none !important;          /* убираем сдвиг вправо */
    justify-content: flex-start;         /* выравнивание по левому краю */
    flex-wrap: wrap;
    gap: 14px;
  }

  .nav-links a {
    font-size: 0.82rem;
    padding: 6px 8px;
  }
}