/* =========================================================
   All in Wood — Core 0.1: карточка товара + блок «Новые модели»
   Токены — из базового CSS сайта (fallback на случай отсутствия).
   ========================================================= */

/* ---------- Цена ---------- */
.aiw-price{ font-family:var(--aiw-font-head,"Geologica",system-ui,sans-serif); font-size:20px; line-height:1.2; letter-spacing:-.01em; color:var(--aiw-ink,#161616); white-space:nowrap; }
.aiw-price__from{ font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif); font-size:14px; letter-spacing:0; color:var(--aiw-muted,#6E6B66); }
.aiw-price__old{ margin-left:6px; font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif); font-size:14px; letter-spacing:0; color:#8C8984; text-decoration:line-through; }
.aiw-price--text{ font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif); font-size:15px; font-weight:500; letter-spacing:0; }

/* ---------- Карточка товара ---------- */
.aiw-tile{ position:relative; font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif); color:var(--aiw-ink,#161616); }
.aiw-tile *, .aiw-tile *::before, .aiw-tile *::after{ box-sizing:border-box; }
.aiw-tile__link{ display:flex; flex-direction:column; gap:14px; color:inherit !important; text-decoration:none !important; }
.aiw-tile__media{
  position:relative; overflow:hidden; isolation:isolate; aspect-ratio:4 / 5;
  border-radius:var(--aiw-r-lg,22px); background:var(--aiw-panel,#F3F2EF);
}
.aiw-tile .aiw-tile__media > img.aiw-tile__img{
  position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none;
  margin:0; border:0; border-radius:0; box-shadow:none; display:block;
  object-fit:cover; object-position:50% 50%;
  transition:transform .8s var(--aiw-ease,ease), opacity .6s ease;
}
.aiw-tile .aiw-tile__media > img.aiw-tile__img--hover{ opacity:0; }
.aiw-tile__link:hover .aiw-tile__media > img.aiw-tile__img{ transform:scale(1.03); }
@media (hover:hover){
  .aiw-tile.has-hover .aiw-tile__link:hover .aiw-tile__media > img.aiw-tile__img--hover{ opacity:1; }
}

.aiw-tile__badges{ position:absolute; z-index:2; left:14px; top:14px; display:flex; gap:6px; }
.aiw-tile__badge{
  height:30px; padding:0 13px; border-radius:var(--aiw-r-pill,999px);
  display:inline-flex; align-items:center; font-size:13px; font-weight:500; line-height:1;
  background:#fff; color:var(--aiw-ink,#161616);
}
.aiw-tile__badge--dark{ background:var(--aiw-ink,#161616); color:#fff; }
.aiw-tile__badge--hit::before{ content:""; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--aiw-olive,#5E6B4E); }
.aiw-tile__badge--sale{ background:var(--aiw-olive,#5E6B4E); color:#fff; }

.aiw-tile__body{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:0 4px 0 6px; }
.aiw-tile__text{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.aiw-tile__cat{ font-size:13px; color:var(--aiw-muted,#6E6B66); }
.aiw-tile__name{
  margin:0 0 4px; font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif);
  font-size:16px; font-weight:500; line-height:1.3; letter-spacing:0; color:inherit;
}
.aiw-tile__go{
  width:44px; height:44px; flex:none; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--aiw-ink,#161616); color:#fff; font-size:17px; line-height:1;
  transition:transform .35s var(--aiw-ease,ease);
}
.aiw-tile__link:hover .aiw-tile__go{ transform:translateX(4px); }
.aiw-tile__link:focus-visible{ outline:none; }
.aiw-tile__link:focus-visible .aiw-tile__media{ outline:2px solid var(--aiw-olive,#5E6B4E); outline-offset:3px; }

/* ---------- Блок «Новые модели» ---------- */
.aiw-new{
  --rail-pad:max(var(--aiw-gutter,24px), calc((100% - var(--aiw-container,1320px)) / 2));
  padding:clamp(56px, 6vw, 96px) 0 clamp(72px, 8vw, 128px);
  font-family:var(--aiw-font-text,"Golos Text",system-ui,sans-serif); color:var(--aiw-ink,#161616);
}
.aiw-new__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  padding:0 var(--rail-pad); margin-bottom:clamp(28px, 3.4vw, 48px);
}
.aiw-new__eyebrow{ display:block; margin-bottom:14px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--aiw-muted,#6E6B66); }
.aiw-new__title{
  margin:0; font-family:var(--aiw-font-head,"Geologica",system-ui,sans-serif); font-weight:400;
  font-size:clamp(32px, 2.6vw + 14px, 52px); line-height:1.05; letter-spacing:-.035em; color:inherit;
}
.aiw-new__nav{ display:flex; gap:8px; flex:none; }
.aiw-new__arrow{
  width:48px; height:48px; padding:0; border-radius:50%; border:1px solid #D9D6D1; background:transparent;
  display:flex; align-items:center; justify-content:center; font-size:17px; line-height:1; color:var(--aiw-ink,#161616); cursor:pointer;
  transition:border-color .25s ease, opacity .25s ease;
}
.aiw-new__arrow:hover:not(:disabled){ border-color:var(--aiw-ink,#161616); }
.aiw-new__arrow:disabled{ opacity:.35; cursor:default; }
.aiw-new__nav.is-static{ visibility:hidden; }

.aiw-new__rail{
  display:flex; gap:12px; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory; scroll-padding-inline:var(--rail-pad);
  padding:0 var(--rail-pad) 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.aiw-new__rail::-webkit-scrollbar{ display:none; }
.aiw-new__rail:focus-visible{ outline:2px solid var(--aiw-olive,#5E6B4E); outline-offset:4px; }
.aiw-new__item{ flex:0 0 calc((min(100vw, var(--aiw-container,1320px)) - 36px) / 3.4); scroll-snap-align:start; min-width:0; }

@media (max-width:1099px){
  .aiw-new__item{ flex-basis:calc((100vw - 2 * var(--aiw-gutter,24px) - 12px) / 2.3); }
}
@media (max-width:767px){
  .aiw-new__head{ align-items:flex-start; }
  .aiw-new__nav{ display:none; }
  .aiw-new__rail{ gap:8px; }
  .aiw-new__item{ flex-basis:78vw; }
  .aiw-tile__media{ border-radius:var(--aiw-r-md,18px); }
  .aiw-tile__go{ width:38px; height:38px; font-size:15px; }
}
@media (prefers-reduced-motion:reduce){
  .aiw-tile .aiw-tile__media > img.aiw-tile__img, .aiw-tile__go{ transition:none; }
  .aiw-new__rail{ scroll-behavior:auto; }
}

/* =========================================================
   0.9.2 — образцы исполнения в карточках каталога и категорий
   ========================================================= */
.aiw-tile.has-ex{ display:flex; flex-direction:column; gap:14px; }
.aiw-tile.has-ex .aiw-tile__link--media{ display:block; }
.aiw-tile.has-ex:hover .aiw-tile__media > img.aiw-tile__img{ transform:scale(1.03); }
.aiw-tile.has-ex:hover .aiw-tile__go{ transform:translateX(4px); }
.aiw-tile.has-ex .aiw-tile__link--body:focus-visible{ outline:none; }
.aiw-tile.has-ex:has(.aiw-tile__link--body:focus-visible) .aiw-tile__media{ outline:2px solid var(--aiw-olive,#5E6B4E); outline-offset:3px; }

/* Слой временного показа (наведение на образец) — поверх обоих фото */
.aiw-tile .aiw-tile__media > img.aiw-tile__img--ex{ opacity:0; z-index:1; transition:opacity .25s ease; }
.aiw-tile.is-preview .aiw-tile__media > img.aiw-tile__img--ex{ opacity:1; }
@media (hover:hover){
  /* Второй ракурс закреплённого исполнения — при наведении на карточку, но не на образец */
  .aiw-tile.has-ex.has-hover:hover:not(.is-preview):not(.is-ex-hover) .aiw-tile__media > img.aiw-tile__img--hover{ opacity:1; }
}

/* Пометка: фото выбранного исполнения нет — показаны обычные фото модели */
.aiw-tile__nophoto{
  position:absolute; z-index:2; left:12px; right:12px; bottom:12px; width:fit-content; max-width:calc(100% - 24px);
  padding:6px 10px; border-radius:var(--aiw-r-pill,999px); background:rgba(255,255,255,.92);
  font-size:12px; line-height:1.25; color:var(--aiw-ink,#161616); opacity:0; pointer-events:none; transition:opacity .2s ease;
}
.aiw-tile.is-nophoto:not(.is-preview) .aiw-tile__nophoto, .aiw-tile.is-preview-nophoto .aiw-tile__nophoto{ opacity:1; }

/* Ряд образцов */
.aiw-tile__ex{ display:flex; flex-wrap:wrap; align-items:center; gap:2px; min-height:28px; margin:-2px 0; padding:0 2px; }
.aiw-tile__ex.is-empty{ display:none; }
/* Выравнивание сетки: если в каталоге есть карточки с образцами, у остальных — пустой ряд той же высоты */
.aiw-cat__grid:has(.aiw-tile.has-ex) .aiw-tile__ex.is-empty{ display:block; }
.aiw-tile .aiw-tile__ex-o{
  -webkit-appearance:none; appearance:none; position:relative; margin:0; padding:0 !important; border:0 !important;
  background:transparent !important; box-shadow:none !important; cursor:pointer; color:var(--aiw-ink,#161616) !important;
  display:inline-flex; align-items:center; justify-content:center; min-height:0; line-height:1 !important;
  font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; -webkit-tap-highlight-color:transparent;
}
.aiw-tile .aiw-tile__ex-o.is-sw{ width:28px; height:28px; border-radius:50% !important; }
.aiw-tile__sw{
  display:block; width:18px; height:18px; border-radius:50%; overflow:hidden; background:var(--aiw-panel,#F3F2EF);
  box-shadow:inset 0 0 0 1px rgba(22,22,22,.16); transition:box-shadow .2s ease, transform .2s ease;
}
.aiw-tile__sw.is-none{ background:repeating-linear-gradient(135deg, #F3F2EF 0 3px, #E2DED8 3px 4px); }
.aiw-tile .aiw-tile__sw img{ width:100%; height:100%; max-width:none; margin:0; border:0; border-radius:0; object-fit:cover; display:block; }
.aiw-tile .aiw-tile__ex-o.is-sw.is-on .aiw-tile__sw{ box-shadow:inset 0 0 0 1px rgba(22,22,22,.16), 0 0 0 2px #fff, 0 0 0 3.5px var(--aiw-ink,#161616); }
@media (hover:hover){
  .aiw-tile .aiw-tile__ex-o.is-sw:hover:not(.is-on) .aiw-tile__sw{ box-shadow:inset 0 0 0 1px rgba(22,22,22,.16), 0 0 0 2px #fff, 0 0 0 3px rgba(22,22,22,.28); }
}
.aiw-tile .aiw-tile__ex-o.is-chip{ height:28px; }
.aiw-tile__chip{
  display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:var(--aiw-r-pill,999px);
  border:1px solid var(--aiw-line,#E2DED8); font-size:12px; color:var(--aiw-muted,#6E6B66); white-space:nowrap;
}
.aiw-tile .aiw-tile__ex-o.is-chip.is-on .aiw-tile__chip{ border-color:var(--aiw-ink,#161616); color:var(--aiw-ink,#161616); }
.aiw-tile .aiw-tile__ex-o:focus{ outline:none; }
.aiw-tile .aiw-tile__ex-o:focus-visible{ outline:2px solid var(--aiw-olive,#5E6B4E); outline-offset:0; }
.aiw-tile__sr{ position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.aiw-tile .aiw-tile__ex-more{
  margin-left:4px; font-size:12px; line-height:28px; color:var(--aiw-muted,#6E6B66) !important; text-decoration:none !important;
}
@media (prefers-reduced-motion:reduce){
  .aiw-tile .aiw-tile__media > img.aiw-tile__img--ex, .aiw-tile__nophoto, .aiw-tile__sw{ transition:none; }
}
