/* ============================================================
   СИЛУЭТ — эталонный шаблон интернет-магазина
   Дизайн-токены + компоненты. Один общий стиль для всех страниц.
   Цвета/шрифты/отступы вынесены в CSS-переменные (рескин = смена токенов).
   ============================================================ */

:root{
  /* --- Цвет --- */
  --ink:#201D18;
  --ink-2:#3A352D;
  --text-muted:#6C655A;
  --text-soft:#8A8175;
  --text-faint:#A69C8B;
  --bg-page:#D9D3C8;
  --bg-card:#FAF8F4;
  --bg-cream:#EFE9E0;
  --bg-cream-2:#F3EEE6;
  --line:#E5DED2;
  --line-soft:#F0EAE0;
  --border-ctl:#C9C0B1;
  --accent:#8A5A3C;
  --accent-hover:#764B30;
  --ok:#4C7A4C;
  --white:#FFFFFF;

  /* --- Свотчи товара (палитра одежды) --- */
  --sw-black:#201D18;
  --sw-milk:#E8E1D3;
  --sw-beige:#C7BCA6;
  --sw-brown:#8C6B4F;
  --sw-khaki:#6C655A;
  --sw-grey:#9A9082;
  --sw-blue:#B7C2C0;

  /* --- Типографика --- */
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'Jost','Helvetica Neue',Arial,sans-serif;

  /* --- Отступы (горизонтальный паддинг «листа») --- */
  --pad-x:56px;
  --pad-x-tablet:28px;
  --pad-x-mobile:16px;

  /* --- Радиусы / тени --- */
  --radius-chip:6px;
  --radius-pill:5px;
  --shadow-sheet:0 2px 60px rgba(32,29,24,.10);
  --shadow-pop:0 12px 40px rgba(32,29,24,.14);
  --shadow-float:0 8px 30px rgba(32,29,24,.14);

  /* --- Плейсхолдер фото (штриховка) --- */
  --ph-1:repeating-linear-gradient(45deg,#EBE4D9 0 13px,#E2DACC 13px 26px);
  --ph-2:repeating-linear-gradient(45deg,#E4DCCE 0 15px,#DAD0BF 15px 30px);
  --ph-3:repeating-linear-gradient(45deg,#EDE7DD 0 14px,#E0D8C9 14px 28px);
  --ph-4:repeating-linear-gradient(45deg,#E8E0D2 0 14px,#DCD2C1 14px 28px);
}

/* ============================================================
   Базовые сбросы
   ============================================================ */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg-page);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.4;
}
a{color:var(--ink);text-decoration:none;}
a:hover{color:#7A7266;}
img{display:block;max-width:100%;}
button,input,select,textarea{font-family:var(--font-body);}
::selection{background:var(--ink);color:var(--bg-card);}
::placeholder{color:var(--text-faint);}
h1,h2,h3{margin:0;font-weight:400;}
ul{margin:0;padding:0;list-style:none;}

/* ============================================================
   Утилиты
   ============================================================ */
.serif{font-family:var(--font-head);}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--text-soft);}
.muted{color:var(--text-muted);}
.ph{background:var(--ph-1);}
.ph-2{background:var(--ph-2);}
.ph-3{background:var(--ph-3);}
.ph-4{background:var(--ph-4);}
.ph-label{font-family:monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);background:rgba(250,248,244,.65);padding:5px 9px;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Лист страницы */
.page{
  width:1440px;
  margin:40px auto;
  background:var(--bg-card);
  box-shadow:var(--shadow-sheet);
}
.section{padding:48px var(--pad-x);}
.px{padding-left:var(--pad-x);padding-right:var(--pad-x);}

/* Заголовки */
.h1{font-family:var(--font-head);font-size:46px;line-height:1.05;}
.h1-lg{font-family:var(--font-head);font-weight:300;font-size:72px;line-height:1.02;letter-spacing:-.01em;}
.h2{font-family:var(--font-head);font-size:36px;}
.h2-light{font-family:var(--font-head);font-weight:300;}

/* ============================================================
   Кнопки
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 34px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid transparent;cursor:pointer;transition:all .2s;text-align:center;
}
.btn-dark{background:var(--ink);color:var(--bg-card);}
.btn-dark:hover{background:var(--ink-2);color:var(--bg-card);}
.btn-accent{background:var(--accent);color:var(--bg-card);}
.btn-accent:hover{background:var(--accent-hover);color:var(--bg-card);}
.btn-line{background:transparent;border-color:var(--border-ctl);color:var(--ink);}
.btn-line:hover{border-color:var(--ink);}
.btn-block{width:100%;}
.btn-sm{padding:11px 16px;font-size:12px;letter-spacing:.1em;}

/* Кнопка «в корзину» на карточке */
.btn-cart{
  width:100%;border:1px solid var(--border-ctl);background:transparent;
  padding:11px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;
}
.btn-cart:hover{background:var(--ink);color:var(--bg-card);border-color:var(--ink);}

/* ============================================================
   Промо-бар
   ============================================================ */
.promo{
  background:var(--bg-cream);padding:11px 10px;
  display:flex;gap:38px;justify-content:center;align-items:center;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5C554A;
}
.promo span{display:inline-flex;align-items:center;gap:9px;}
.promo svg{flex:0 0 auto;}

/* ============================================================
   Шапка
   ============================================================ */
.header{
  display:flex;align-items:center;padding:24px var(--pad-x);
  border-bottom:1px solid var(--line);gap:16px;
}
.header__nav{flex:1;display:flex;gap:30px;align-items:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.header__nav a.is-active{border-bottom:1px solid var(--ink);padding-bottom:2px;}
.header__nav .nav-sale{color:var(--accent);}
.logo{flex:0 0 auto;font-size:24px;letter-spacing:.42em;padding-left:.42em;color:var(--ink);}
.header__icons{flex:1;display:flex;gap:22px;align-items:center;justify-content:flex-end;}
.icon-btn{position:relative;background:none;border:none;padding:0;cursor:pointer;display:flex;color:var(--ink);}
.badge{
  position:absolute;top:-6px;right:-8px;background:var(--ink);color:var(--bg-card);
  font-size:10px;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;
}

/* Бургер (пер-CSS дропдаун) */
.burger{display:none;position:relative;}
.burger>summary{list-style:none;cursor:pointer;display:flex;align-items:center;}
.burger>summary::-webkit-details-marker{display:none;}
.burger__menu{
  position:absolute;top:34px;left:0;background:var(--bg-card);border:1px solid var(--line);
  box-shadow:var(--shadow-pop);min-width:210px;z-index:30;display:flex;flex-direction:column;padding:8px 0;
}
.burger__menu a{padding:13px 22px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;}

/* ============================================================
   Хлебные крошки
   ============================================================ */
.breadcrumb{font-size:12px;letter-spacing:.06em;color:var(--text-soft);}
.breadcrumb a{color:var(--text-soft);}
.breadcrumb .current{color:var(--ink);}

/* ============================================================
   Hero-галерея (самодостаточный компонент)
   ============================================================ */
.gallery{position:relative;width:100%;height:100%;overflow:hidden;background:#E2DACC;}
.gallery__track{display:flex;height:100%;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.gallery__slide{flex:0 0 100%;height:100%;}
.gallery__arrows{position:absolute;right:16px;bottom:16px;display:flex;gap:10px;}
.gallery__dots{position:absolute;left:16px;bottom:22px;display:flex;gap:7px;align-items:center;}
.gallery__arrow{
  width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;background:rgba(250,248,244,.85);color:var(--ink);transition:background .2s;
}
.gallery__arrow:hover{background:var(--bg-card);}
.gallery__dot{width:8px;height:3px;border:none;padding:0;cursor:pointer;border-radius:2px;transition:all .3s;background:rgba(32,29,24,.28);}
.gallery__dot.is-active{width:22px;background:var(--ink);}
/* тёмный вариант (поверх фото) */
.gallery--dark .gallery__arrow{background:rgba(30,27,22,.4);color:var(--bg-card);}
.gallery--dark .gallery__dot{background:rgba(250,248,244,.45);}
.gallery--dark .gallery__dot.is-active{background:var(--bg-card);}

/* ============================================================
   Hero (главная)
   ============================================================ */
.hero{display:grid;grid-template-columns:1fr 1fr;}
.hero__text{padding:88px 64px;display:flex;flex-direction:column;justify-content:center;}
.hero__text .eyebrow{margin-bottom:22px;}
.hero__text .h1-lg{margin:0 0 22px;}
.hero__lead{font-size:16px;line-height:1.7;color:var(--text-muted);max-width:400px;margin:0 0 36px;}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero__media{position:relative;min-height:600px;}

/* ============================================================
   Секции-заголовки
   ============================================================ */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:16px;}
.section-head .link{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);}

/* ============================================================
   Плитка категорий
   ============================================================ */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cat-tile__img{aspect-ratio:3/4;}
.cat-tile__name{padding:14px 2px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;}

/* ============================================================
   Сетка товаров + карточка (переиспользуемый блок)
   ============================================================ */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;}
.product-grid--3{grid-template-columns:repeat(3,1fr);}
.product-card__media{position:relative;aspect-ratio:3/4;cursor:pointer;}
.product-card__badge{position:absolute;top:12px;left:12px;font-size:11px;letter-spacing:.06em;padding:4px 8px;z-index:1;}
.badge-sale{background:var(--ink);color:var(--bg-card);}
.badge-hit{background:var(--accent);color:var(--bg-card);}
.badge-new{background:var(--bg-cream);color:#5C554A;}
.product-card__fav{
  position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;
  background:rgba(250,248,244,.9);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;
}
.product-card__swatches{display:flex;gap:6px;margin:14px 0 10px;}
.swatch-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(32,29,24,.15);}
.product-card__name{font-size:15px;display:block;margin-bottom:7px;cursor:pointer;}
.price{display:flex;gap:10px;align-items:baseline;margin-bottom:12px;}
.price__now{font-size:15px;}
.price__old{font-size:13px;color:var(--text-faint);text-decoration:line-through;}

/* ============================================================
   Каталог: сайдбар-фильтры
   ============================================================ */
.catalog-body{display:grid;grid-template-columns:260px 1fr;gap:44px;}
.filters{font-size:14px;}
.filter-group{padding:26px 0;border-bottom:1px solid var(--line);}
.filter-group:first-child{padding-top:0;}
.filter-title{letter-spacing:.1em;text-transform:uppercase;font-size:12px;margin-bottom:16px;color:#5C554A;}
.size-chips{display:flex;flex-wrap:wrap;gap:8px;}
.size-chip{min-width:44px;height:38px;padding:0 12px;border:1px solid var(--border-ctl);background:transparent;color:var(--ink);font-size:13px;cursor:pointer;transition:all .15s;}
.size-chip.is-active{border-color:var(--ink);background:var(--ink);color:var(--bg-card);}
.color-swatches{display:flex;flex-wrap:wrap;gap:12px;}
.color-swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;padding:0;outline:1px solid transparent;outline-offset:3px;border:1px solid rgba(32,29,24,.15);}
.color-swatch.is-active{outline-color:var(--ink);}
.check-row{display:flex;flex-direction:column;gap:12px;color:#4A453D;}
.check-row label{display:flex;align-items:center;gap:10px;cursor:pointer;}
.check-box{width:16px;height:16px;border:1px solid var(--border-ctl);display:inline-block;flex:0 0 auto;}
.price-slider{position:relative;height:2px;background:#D8CFBF;margin-top:6px;}
.price-slider__fill{position:absolute;left:8%;right:6%;top:0;height:2px;background:var(--ink);}
.price-slider__knob{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--bg-card);border:1px solid var(--ink);}
.toggle{display:flex;align-items:center;gap:10px;background:none;border:none;padding:0;font-size:14px;color:var(--ink);cursor:pointer;}
.toggle__knob{width:38px;height:22px;border-radius:11px;background:#D8CFBF;transition:background .2s;display:inline-block;flex:0 0 auto;box-shadow:inset -16px 0 0 -8px var(--bg-card);}
.toggle.is-on .toggle__knob{background:var(--ink);box-shadow:inset 16px 0 0 -8px var(--bg-card);}

.catalog-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap;}
.active-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.active-chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-cream);border:none;padding:7px 12px;font-size:12px;color:#4A453D;cursor:pointer;}
.sort{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted);margin-left:auto;}
.sort select{border:1px solid var(--border-ctl);background:transparent;padding:9px 14px;font-size:13px;color:var(--ink);outline:none;cursor:pointer;}

/* Пагинация */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.pagination a,.pagination span{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:14px;border:1px solid var(--line);}
.pagination .is-current{background:var(--ink);color:var(--bg-card);border-color:var(--ink);}

/* ============================================================
   Карточка товара (страница)
   ============================================================ */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.pdp__gallery{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:start;}
.pdp__thumbs{display:flex;flex-direction:column;gap:12px;}
.pdp__thumb{width:76px;aspect-ratio:4/5;border:1px solid var(--line);cursor:pointer;padding:0;}
.pdp__thumb.is-active{border-color:var(--ink);}
.pdp__main{position:relative;aspect-ratio:4/5;overflow:hidden;}
.pdp__info{max-width:520px;}
.pdp__title{font-family:var(--font-head);font-size:44px;line-height:1.05;margin:0 0 16px;}
.stars{display:flex;gap:2px;}
.price-lg{font-size:30px;}
.price-lg-old{font-size:17px;color:var(--text-faint);text-decoration:line-through;}
.installments{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);}
.pay-logos{display:flex;align-items:center;gap:10px;}
.pay-chip{display:inline-flex;align-items:center;background:var(--white);border:1px solid #EAE3D7;border-radius:var(--radius-chip);padding:7px 11px;height:36px;}
.pay-chip img{height:15px;}
.opt-title{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#5C554A;margin-bottom:12px;}
.pdp-colors{display:flex;gap:12px;}
.pdp-color{width:30px;height:30px;border-radius:50%;cursor:pointer;padding:0;outline:1px solid transparent;outline-offset:3px;border:1px solid rgba(32,29,24,.15);}
.pdp-color.is-active{outline-color:var(--ink);}
.pdp-sizes{display:flex;gap:8px;flex-wrap:wrap;}
.pdp-size{min-width:48px;height:44px;padding:0 12px;border:1px solid var(--border-ctl);background:transparent;color:var(--ink);font-size:14px;cursor:pointer;transition:all .15s;}
.pdp-size.is-active{background:var(--ink);color:var(--bg-card);border-color:var(--ink);}
.pdp-size:disabled{color:#C4BBAC;border-color:#EAE3D7;text-decoration:line-through;cursor:not-allowed;}
.pdp-actions{display:flex;gap:12px;}
.fav-btn{width:56px;flex:0 0 auto;border:1px solid var(--border-ctl);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.model-note{font-size:13px;color:var(--text-muted);background:var(--bg-cream-2);padding:12px 16px;}
.link-underline{background:none;border:none;font-size:13px;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:6px;}

/* Табы */
.tabs{display:flex;gap:32px;border-bottom:1px solid var(--line);}
.tab{background:none;border:none;padding:16px 0;margin-bottom:-1px;font-size:14px;letter-spacing:.04em;cursor:pointer;color:var(--text-soft);border-bottom:2px solid transparent;}
.tab.is-active{color:var(--ink);border-bottom-color:var(--ink);}
.tab-panel{padding:32px 0;}
.spec-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line-soft);font-size:14px;}
.spec-row .k{color:var(--text-soft);}

/* Отзывы */
.reviews{display:grid;grid-template-columns:280px 1fr;gap:48px;}
.review{border-bottom:1px solid var(--line-soft);padding-bottom:20px;}
.review__head{display:flex;justify-content:space-between;margin-bottom:8px;}

/* ============================================================
   Блок доверия
   ============================================================ */
.trust{background:var(--bg-cream);padding:56px var(--pad-x);display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.trust__icon{display:block;margin-bottom:16px;}
.trust__title{font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.trust__text{font-size:14px;line-height:1.6;color:var(--text-muted);}

/* ============================================================
   О компании (главная)
   ============================================================ */
.about{padding:96px var(--pad-x);display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.about__stats{display:grid;grid-template-columns:repeat(3,auto);gap:44px;justify-content:start;}
.about__stat .num{font-family:var(--font-head);font-size:56px;line-height:1;}
.about__stat .cap{font-size:13px;color:var(--text-soft);margin-top:8px;letter-spacing:.04em;}
.about__facts{display:flex;gap:40px;margin-top:36px;padding-top:32px;border-top:1px solid var(--line);flex-wrap:wrap;}
.about__fact{display:flex;gap:12px;align-items:center;font-size:14px;color:#4A453D;line-height:1.4;}
.about__collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:16px;}
.about__collage .big{grid-row:span 2;aspect-ratio:3/4.4;}
.about__collage .sm{aspect-ratio:1/1;}
.about__collage figure{margin:0;display:flex;align-items:flex-end;padding:16px;}

/* ============================================================
   Контакты + форма + карта (главная)
   ============================================================ */
.contacts{background:var(--bg-cream);padding:88px var(--pad-x);}
.contacts__head{text-align:center;margin-bottom:52px;}
.contacts__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:stretch;}
.contacts__card{background:var(--bg-card);padding:44px;}
.contacts__info{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-bottom:36px;}
.contacts__label{display:flex;gap:10px;align-items:center;margin-bottom:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);}
.contacts__val{font-size:15px;line-height:1.6;color:var(--ink-2);}
.socials{display:flex;gap:10px;}
.social{width:34px;height:34px;border:1px solid var(--border-ctl);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.social:hover{border-color:var(--ink);}
.divider{height:1px;background:var(--line);margin-bottom:30px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.input{border:1px solid var(--border-ctl);background:transparent;padding:14px 16px;font-size:14px;outline:none;}
.input:focus{border-color:var(--ink);}
.input--full{grid-column:1/3;}
textarea.input{resize:none;}
.form-note{grid-column:1/3;font-size:12px;color:var(--text-soft);line-height:1.6;margin:2px 0 0;}
.map{position:relative;min-height:480px;background:#E7E2D6;overflow:hidden;}
.map__grid{position:absolute;inset:0;background-image:linear-gradient(#DED8CB 1px,transparent 1px),linear-gradient(90deg,#DED8CB 1px,transparent 1px);background-size:44px 44px;}
.map__roads{position:absolute;top:0;left:0;width:100%;height:100%;}
.map__pin{position:absolute;transform:translate(-50%,-100%);}
.map__card{position:absolute;left:24px;bottom:24px;background:var(--bg-card);padding:18px 22px;max-width:260px;box-shadow:var(--shadow-float);}
.map__card-title{font-size:14px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px;}
.map__card-addr{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:12px;}
.map__route{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}

/* ============================================================
   Баннер / лукбук
   ============================================================ */
.banner{margin:64px var(--pad-x);position:relative;min-height:420px;display:flex;align-items:center;padding:72px;}
.banner__inner{max-width:420px;}

/* ============================================================
   Рассылка
   ============================================================ */
.newsletter{text-align:center;padding:80px var(--pad-x);}
.newsletter__form{display:flex;max-width:440px;margin:26px auto 0;}
.newsletter__form .input{flex:1;border-right:none;}
.newsletter__form button{background:var(--ink);color:var(--bg-card);border:none;padding:0 28px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}

/* ============================================================
   Корзина / Оформление / общие блоки заказа
   ============================================================ */
.split-2{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start;}
.summary{background:var(--bg-cream-2);padding:32px;}
.summary--sticky{position:sticky;top:24px;}
.sum-row{display:flex;justify-content:space-between;font-size:14px;padding:9px 0;color:#4A453D;}
.sum-row--total{font-size:20px;padding:16px 0 22px;margin-top:6px;border-top:1px solid #E0D8CA;}
.sum-row--border{border-top:1px solid #E0D8CA;}

.cart-head,.cart-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:center;}
.cart-head{padding-bottom:14px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);}
.cart-row{padding:22px 0;border-bottom:1px solid var(--line-soft);}
.cart-item{display:flex;gap:18px;align-items:center;}
.cart-item__img{width:90px;height:112px;flex:0 0 auto;}
.qty{display:inline-flex;align-items:center;border:1px solid var(--border-ctl);}
.qty button{width:38px;height:40px;border:none;background:transparent;font-size:18px;cursor:pointer;color:var(--ink);}
.qty span{width:40px;text-align:center;font-size:15px;}
.icon-remove{background:none;border:none;cursor:pointer;color:var(--text-faint);padding:6px;}
.icon-remove:hover{color:var(--ink);}
.promo-input{display:flex;gap:10px;margin-bottom:22px;}
.promo-input .input{flex:1;background:var(--bg-card);}
.promo-input button{background:var(--ink);color:var(--bg-card);border:none;padding:0 20px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}

.empty-state{text-align:center;padding:70px 20px;}
.empty-state svg{margin-bottom:20px;}
.empty-state__title{font-family:var(--font-head);font-size:34px;margin-bottom:12px;}

/* Оформление */
.checkout-step{border:1px solid var(--line);padding:30px 32px;}
.step-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.step-num{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:14px;flex:0 0 auto;}
.step-head h2{font-family:var(--font-head);font-size:26px;}
.radio-row{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--border-ctl);background:transparent;padding:15px 18px;cursor:pointer;}
.radio-row.is-active{border-color:var(--ink);background:#FBF7F0;}
.radio{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-ctl);flex:0 0 auto;box-shadow:inset 0 0 0 8px var(--bg-card);background:var(--ink);}
.radio-row.is-active .radio{border-color:var(--ink);box-shadow:inset 0 0 0 3.5px var(--bg-card);}
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pay-opt{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--border-ctl);background:transparent;padding:14px;cursor:pointer;}
.pay-opt.is-active{border-color:var(--ink);background:#FBF7F0;}
.pay-opt__sub{display:block;font-size:12px;color:var(--text-soft);margin-top:2px;}
.tag{font-size:11px;letter-spacing:.04em;padding:3px 7px;flex:0 0 auto;background:var(--bg-cream);color:#5C554A;}
.tag-accent{background:var(--accent);color:var(--bg-card);}
.checkbox-agree{display:flex;align-items:flex-start;gap:11px;font-size:12px;color:var(--text-muted);line-height:1.6;cursor:pointer;margin-bottom:16px;}
.checkbox-agree .box{width:18px;height:18px;flex:0 0 auto;margin-top:1px;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;background:var(--ink);}
.checkout-header{display:flex;align-items:center;justify-content:space-between;padding:24px var(--pad-x);border-bottom:1px solid var(--line);}

/* ПВЗ карта в чекауте */
.pvz{display:grid;grid-template-columns:1fr 240px;border:1px solid var(--line);}
.pvz__map{position:relative;height:220px;background:#E7E2D6;overflow:hidden;}
.pvz__info{padding:18px;background:var(--bg-card);}

/* ============================================================
   Спасибо за заказ
   ============================================================ */
.thanks{max-width:720px;margin:0 auto;padding:72px 40px 40px;text-align:center;}
.thanks__check{display:inline-flex;width:72px;height:72px;border-radius:50%;background:var(--bg-cream);align-items:center;justify-content:center;margin-bottom:28px;}
.tracker{display:flex;align-items:flex-start;justify-content:space-between;max-width:560px;margin:0 auto 44px;position:relative;}
.tracker__line{position:absolute;top:15px;left:12%;right:12%;height:2px;background:#E0D8CA;}
.tracker__fill{position:absolute;top:15px;left:12%;width:26%;height:2px;background:var(--accent);}
.tracker__step{position:relative;text-align:center;width:80px;}
.tracker__dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:13px;}
.tracker__dot--done{background:var(--accent);color:var(--bg-card);}
.tracker__dot--now{background:var(--bg-card);border:2px solid var(--accent);color:var(--accent);}
.tracker__dot--wait{background:var(--bg-cream);color:var(--text-faint);}
.order-box{border:1px solid var(--line);padding:26px 30px;text-align:left;max-width:560px;margin:0 auto 32px;}

/* ============================================================
   Личный кабинет
   ============================================================ */
.account-grid{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start;}
.account-nav{display:flex;flex-direction:column;gap:2px;font-size:14px;}
.account-nav a{text-align:left;background:transparent;border-left:2px solid transparent;padding:14px 16px;font-size:14px;color:var(--text-muted);cursor:pointer;}
.account-nav a.is-active{background:var(--bg-cream-2);border-left-color:var(--ink);color:var(--ink);}
.loyalty{background:var(--ink);color:var(--bg-card);padding:22px;margin-top:20px;}
.loyalty__cap{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sw-grey);margin-bottom:10px;}
.loyalty__num{font-family:var(--font-head);font-size:38px;line-height:1;}
.order-card{border:1px solid var(--line);}
.order-card__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:var(--bg-cream-2);flex-wrap:wrap;gap:12px;}
.order-card__meta{display:flex;gap:28px;align-items:baseline;flex-wrap:wrap;}
.order-card__body{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.order-thumbs{display:flex;gap:10px;}
.order-thumbs .t{width:52px;height:64px;}
.status{font-size:12px;letter-spacing:.05em;padding:5px 11px;background:#FBF7F0;border:1px solid var(--accent);color:var(--accent);}
.status--ok{border-color:var(--ok);color:var(--ok);}
.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.addr{border:1px solid var(--line);padding:24px;}
.addr.is-main{border-color:var(--ink);}

/* ============================================================
   Поиск
   ============================================================ */
.search-bar{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:14px;max-width:720px;}
.search-bar input{flex:1;border:none;background:transparent;font-size:26px;font-family:var(--font-head);outline:none;color:var(--ink);}
.suggest{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.suggest a{border:1px solid var(--border-ctl);padding:11px 20px;font-size:13px;}

/* ============================================================
   О бренде
   ============================================================ */
.brand-hero{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;}
.manifesto{max-width:760px;margin:0 auto;padding:80px 40px 40px;text-align:center;}
.manifesto p{font-family:var(--font-head);font-weight:300;font-size:30px;line-height:1.5;color:var(--ink-2);margin:0;}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:40px var(--pad-x) 20px;}
.value{text-align:center;}
.value__num{font-family:var(--font-head);font-size:44px;margin-bottom:10px;}
.value__title{font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;}
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);margin:60px var(--pad-x);border:1px solid var(--line);}
.stats-band__cell{text-align:center;padding:40px 20px;border-right:1px solid var(--line);}
.stats-band__cell:last-child{border-right:none;}
.stats-band__num{font-family:var(--font-head);font-size:48px;line-height:1;}

/* ============================================================
   Доставка и оплата
   ============================================================ */
.delivery-cols{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.table{border:1px solid var(--line);}
.table__head,.table__row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;padding:16px 20px;font-size:14px;}
.table__head{background:var(--bg-cream-2);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);}
.table__row{border-top:1px solid var(--line-soft);}
.pay-list{display:flex;flex-direction:column;gap:10px;}
.pay-list__item{border:1px solid var(--line);padding:16px 20px;font-size:14px;}
.pay-list__item.is-featured{border-color:var(--ink);background:#FBF7F0;}
.note-inline{background:var(--bg-cream);padding:16px 20px;font-size:14px;color:#5C554A;display:flex;gap:10px;align-items:center;}
.returns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.return-card{background:var(--bg-cream-2);padding:24px;}
.faq{max-width:900px;}
.faq__item{border-top:1px solid var(--line);}
.faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:20px 0;font-size:16px;text-align:left;cursor:pointer;color:var(--ink);}
.faq__icon{font-size:22px;line-height:1;transition:transform .2s;color:var(--text-soft);}
.faq__item.is-open .faq__icon{transform:rotate(45deg);}
.faq__a{font-size:15px;line-height:1.7;color:var(--text-muted);padding:0 0 22px;max-width:720px;display:none;}
.faq__item.is-open .faq__a{display:block;}

/* Модалка размерной сетки */
.modal-overlay{position:fixed;inset:0;background:rgba(32,29,24,.5);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px;}
.modal-overlay[hidden]{display:none;}
.modal{background:var(--bg-card);max-width:640px;width:100%;padding:40px;position:relative;}
.modal__close{position:absolute;top:20px;right:20px;background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink);}
.size-table{width:100%;border-collapse:collapse;font-size:14px;}
.size-table th{text-align:left;color:var(--text-soft);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;padding:10px 8px;}
.size-table td{padding:12px 8px;border-top:1px solid var(--line-soft);}

/* ============================================================
   404
   ============================================================ */
.notfound{text-align:center;padding:110px 40px;}
.notfound__num{font-family:var(--font-head);font-weight:300;font-size:160px;line-height:.9;letter-spacing:-.02em;}

/* ============================================================
   Футер
   ============================================================ */
.footer{background:var(--ink);color:#C7C0B4;padding:64px var(--pad-x) 40px;}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid var(--ink-2);}
.footer__logo{font-size:22px;letter-spacing:.42em;color:var(--bg-card);padding-left:.42em;margin-bottom:18px;}
.footer p{font-size:14px;line-height:1.7;max-width:260px;margin:0;color:#C7C0B4;}
.footer__col{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.footer__col-title{color:var(--bg-card);margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase;font-size:12px;}
.footer__col a{color:#C7C0B4;}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;padding-top:28px;flex-wrap:wrap;gap:18px;}
.footer__req{font-size:12px;color:var(--text-soft);line-height:1.6;}
.pay-methods{display:flex;gap:8px;flex-wrap:wrap;}
.pay-method{border:1px solid var(--ink-2);border-radius:4px;padding:7px 11px;font-size:11px;color:#C7C0B4;}
.footer--slim{padding:36px var(--pad-x);text-align:center;font-size:12px;line-height:1.6;color:var(--text-soft);}

/* ============================================================
   Адаптив — брейкпоинты 1500 / 1024 / 680
   ============================================================ */
@media (max-width:1500px){
  .page{width:100%;margin:0;box-shadow:none;}
}
@media (max-width:1024px){
  :root{--pad-x:var(--pad-x-tablet);}
  .header__nav{display:none;}
  .burger{display:block;}
  .hero{grid-template-columns:1fr;}
  .hero__media{order:-1;min-height:420px;}
  .hero__text{padding:44px 28px;}
  .h1-lg{font-size:56px;}
  .cat-grid{grid-template-columns:repeat(4,1fr);}
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .trust{grid-template-columns:repeat(2,1fr);}
  .about{grid-template-columns:1fr;gap:40px;}
  .contacts__grid{grid-template-columns:1fr;}
  .catalog-body{grid-template-columns:1fr;gap:0;}
  .filters{display:flex;flex-wrap:wrap;gap:22px 34px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:28px;}
  .filter-group{border:none;padding:0;min-width:150px;}
  .pdp{grid-template-columns:1fr;gap:32px;}
  .pdp__desc,.reviews{grid-template-columns:1fr;gap:24px;}
  .split-2{grid-template-columns:1fr;gap:36px;}
  .summary--sticky{position:static;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .account-grid{grid-template-columns:1fr;gap:28px;}
  .account-nav{flex-direction:row;flex-wrap:wrap;gap:8px;}
  .account-nav a{border-left:none;border:1px solid var(--line);padding:11px 16px;}
  .loyalty{display:none;}
  .delivery-cols{grid-template-columns:1fr;gap:32px;}
  .stats-band{grid-template-columns:repeat(2,1fr);}
  .stats-band__cell:nth-child(2){border-right:none;}
  .values{grid-template-columns:1fr;gap:30px;}
  .pvz{grid-template-columns:1fr;}
}
@media (max-width:680px){
  :root{--pad-x:var(--pad-x-mobile);}
  .promo{gap:0;font-size:11px;}
  .promo .promo--second{display:none;}
  .logo{font-size:19px;}
  .h1,.pdp__title{font-size:32px;}
  .h1-lg{font-size:44px;}
  .h2{font-size:28px;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid,.product-grid--3{grid-template-columns:repeat(2,1fr);}
  .trust{grid-template-columns:1fr;}
  .about__collage{grid-template-columns:1fr 1fr;}
  .about__stats{grid-template-columns:1fr 1fr;gap:28px;}
  .pdp__gallery{grid-template-columns:1fr;}
  .pdp__thumbs{flex-direction:row;overflow-x:auto;}
  .pdp__thumb{width:64px;flex:0 0 auto;}
  .contacts__info{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .input--full,.form-note{grid-column:1;}
  .addr-grid{grid-template-columns:1fr;}
  .returns{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr;}
  .cart-head{display:none;}
  .cart-row{grid-template-columns:1fr auto;gap:14px;}
  .cart-row .qty{grid-column:1;justify-self:start;}
  .cart-row .cart-sum{grid-column:2;}
  .banner{padding:40px 24px;margin:32px 16px;}
  .notfound__num{font-size:104px;}
  .thanks h1{font-size:38px;}
}
