/* ==================================================================
   VS-PRESENTATION-CSS : универсальный скин карточки товара Vescent
   Применяется ТОЛЬКО к детальной карточке ST300 (.vs-pdp).
   Не содержит данных конкретного товара. Работает для любого товара.
   ================================================================== */

.vs-pdp{ font-family:var(--vs-sans); color:var(--vs-ink); }

/* ---- Двухколоночная desktop-композиция ---- */
.vs-pdp .t-container{ max-width:1400px; margin:0 auto; padding:34px 60px 40px; }
.vs-pdp .t-container > div{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,0.88fr); gap:56px; align-items:start; }
.vs-pdp .t-store__prod-popup__slider,
.vs-pdp .t-store__prod-popup__info{ width:auto!important; max-width:none!important; float:none!important; margin:0!important; padding:0!important; }

/* ---- Sticky product-info на desktop ---- */
.vs-pdp .t-store__prod-popup__info{ position:sticky; top:24px; align-self:start; }

/* ---- Галерея ---- */
.vs-pdp .t-slds__main{ background:#F5F1EB; }
.vs-pdp .t-slds__bgimg{ padding-bottom:133.33%!important; }
.vs-pdp .t-slds__thumbsbullet{ width:84px!important; height:84px!important; margin:0 10px 0 0!important; border:1px solid transparent!important; background:#F5F1EB; }
.vs-pdp .t-slds__thumbsbullet.t-slds__bullet_active{ border-color:var(--vs-ink)!important; }
.vs-pdp .t-slds__thumbsbullet-border{ display:none!important; }
.vs-pdp .t-slds__arrow{ width:44px!important; height:44px!important; background:var(--vs-bg)!important; border:1px solid var(--vs-line)!important; opacity:1!important; }
.vs-pdp .t-slds__arrow:hover{ border-color:var(--vs-ink)!important; }

/* ---- Типографика правой колонки ---- */
.vs-pdp .vs-eyebrow{ font-size:11px; letter-spacing:.4em; text-transform:uppercase; color:var(--vs-dim); margin-bottom:14px; }
.vs-pdp .js-store-prod-name{ font-family:var(--vs-serif)!important; font-weight:400!important; font-size:clamp(30px,3.4vw,44px)!important; line-height:1.1!important; letter-spacing:-.005em!important; color:var(--vs-ink)!important; margin:0!important; }
.vs-pdp .t-store__prod-popup__sku{ display:none!important; }
.vs-pdp .t-store__prod-popup__price-wrapper{ margin-top:16px!important; }
.vs-pdp .t-store__prod-popup__price,
.vs-pdp .t-store__prod-popup__price-value,
.vs-pdp .t-store__prod-popup__price-currency{ font-family:var(--vs-serif)!important; font-size:22px!important; letter-spacing:.01em!important; color:var(--vs-ink)!important; }

/* ---- Опции: скрываем нативный select, показываем кастомный UI ---- */
.vs-pdp .js-product-edition-option{ margin-top:32px; padding-top:26px; border-top:1px solid var(--vs-line); }
.vs-pdp .js-product-edition-option-name{ font-size:11px!important; letter-spacing:.24em!important; text-transform:uppercase!important; color:var(--vs-ink)!important; margin-bottom:16px!important; }
.vs-pdp select.js-product-edition-option-variants{ position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; border:0!important; opacity:0!important; pointer-events:none!important; }

/* size-buttons */
.vs-sizes{ display:flex; flex-wrap:wrap; gap:8px; }
.vs-size{ font-family:var(--vs-sans); font-size:11px; letter-spacing:.18em; text-transform:uppercase; padding:11px 14px; min-width:56px; border:1px solid var(--vs-line); background:transparent; color:var(--vs-ink); cursor:pointer; line-height:1; transition:all var(--vs-dur) var(--vs-ease); }
.vs-size:hover{ border-color:var(--vs-ink); }
.vs-size[aria-pressed="true"]{ border-color:var(--vs-ink); background:var(--vs-ink); color:#fff; }
.vs-size[disabled]{ color:var(--vs-dim); opacity:.45; cursor:default; text-decoration:line-through; }
.vs-size[disabled]:hover{ border-color:var(--vs-line); }

/* color (только отображение текущего) */
.vs-color{ display:inline-flex; gap:12px; align-items:center; }
.vs-color-dot{ width:26px; height:26px; border-radius:50%; border:1px solid var(--vs-line); box-shadow:0 0 0 1px var(--vs-bg),0 0 0 2px var(--vs-ink); }
.vs-color-name{ font-size:12px; color:var(--vs-dim); }

/* ---- CTA (нативная кнопка ST300, перекрашенная под мокап) ---- */
.vs-pdp .t-store__prod-popup__btn-wrapper{ margin-top:28px!important; }
.vs-pdp .t-store__prod-popup__btn{ width:100%!important; background:var(--vs-ink)!important; color:#fff!important; border:1px solid var(--vs-ink)!important; border-radius:0!important; padding:16px 18px!important; font-family:var(--vs-sans)!important; font-size:10.5px!important; letter-spacing:.24em!important; text-transform:uppercase!important; transition:all var(--vs-dur) var(--vs-ease)!important; }
.vs-pdp .t-store__prod-popup__btn:hover{ background:transparent!important; color:var(--vs-ink)!important; }
.vs-pdp .js-store-prod-popup-buy-btn-txt{ color:inherit!important; font:inherit!important; letter-spacing:inherit!important; }

/* ---- Ссылки (Таблица размеров) ---- */
.vs-links{ display:flex; gap:16px; align-items:center; margin-top:16px; font-family:var(--vs-sans); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.vs-links a{ color:var(--vs-dim); text-decoration:none; transition:color var(--vs-dur) var(--vs-ease); }
.vs-links a:hover{ color:var(--vs-ink); }

/* ---- Описание ---- */
.vs-pdp .js-store-prod-text{ font-family:var(--vs-serif)!important; font-size:16px!important; line-height:1.75!important; color:var(--vs-ink)!important; margin-top:32px!important; padding-top:26px!important; border-top:1px solid var(--vs-line)!important; }

/* ---- Mobile fixed buy bar ---- */
.vs-buybar{ position:fixed; left:0; right:0; bottom:0; z-index:9999; display:none; gap:12px; align-items:center; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); background:var(--vs-bg); border-top:1px solid var(--vs-line); }
.vs-bb-price{ font-family:var(--vs-serif); font-size:17px; white-space:nowrap; }
.vs-bb-btn{ flex:1 1 0%; background:var(--vs-ink); color:#fff; border:1px solid var(--vs-ink); padding:15px 14px; font-family:var(--vs-sans); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }

/* ---- Адаптивность ---- */
@media(max-width:960px){
  .vs-pdp .t-container{ padding:26px 30px 36px; }
  .vs-pdp .t-container > div{ grid-template-columns:1fr; gap:34px; }
  .vs-pdp .t-store__prod-popup__info{ position:static; top:auto; }
}
@media(max-width:720px){
  .vs-pdp .t-container{ padding:18px 18px 90px; }
  .vs-buybar{ display:flex; }
  .vs-size{ min-width:50px; padding:10px 12px; }
}

/* VS-FIX-SELECT-HIDE v2: убираем нативную стрелку (appearance:none) и уводим select за экран; change-события работают */
.vs-pdp select.js-product-edition-option-variants{ position:absolute!important; left:-99999px!important; top:0!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; opacity:0!important; pointer-events:none!important; border:0!important; -webkit-appearance:none!important; -moz-appearance:none!important; appearance:none!important; background:none!important; }


/* VS-FIX-CHEVRON: hide Tilda native dropdown triangle */
.vs-pdp .t-product__option-variants::after,
.vs-pdp .t-product__option-variants::before{
  display:none !important;
  content:none !important;
  border:0 !important;
}


/* ---- VESCENT: стиль сообщений об ошибке в формах ---- */
.t-form__errorbox-wrapper,
.t-form__errorbox-middle,
.t-form__errorbox-text,
.t-form__errorbox-item,
.t-input-error,
.js-rule-error{
  font-family:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  letter-spacing:.02em;
}
.t-form__errorbox-wrapper{
  background-color:#1A1614 !important;
  color:#FFFFFF !important;
  border-radius:0 !important;
}
.t-form__errorbox-item,
.t-form__errorbox-text{ color:#FFFFFF !important; }
.t-input-error{ color:#1A1614 !important; }
.t-input.t-input_has-error,
.t-input_has-error{ border-color:#1A1614 !important; }


/* ---- VESCENT: шрифт каталога и меню ---- */
.t-store, .t-store *,
.t-store__card__title, .t-store__card__price, .t-store__card__price-currency,
.t-store__card__sold-out, .t-store__filter__item-title, .t-store__filter__opts,
.t-store__parts-switcher, .t-store__load-more-btn, .t-btnflex__text,
.t-store__prod-popup__title, .t-store__prod-popup__price,
.t-store__prod-popup__btn-text, .t-store__prod-popup__opt-title,
.t706, .t706 *, .t-store__relevants__title{
  font-family:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}
.t-store__card__title{
  font-weight:400 !important;
  font-size:15px !important;
  letter-spacing:.02em !important;
  line-height:1.45 !important;
}
.t-store__card__price,
.t-store__card__price-currency{
  font-weight:400 !important;
  font-size:14px !important;
}
.t-store__filter__item-title{ letter-spacing:.04em !important; }

/* кнопка «Меню» в шапке — в общем стиле мелких подписей сайта */
.vs-mbtn-label{
  font-size:12px !important;
  letter-spacing:.26em !important;
  font-weight:400 !important;
}


/* ============================================================
   VS-FIX-MOBILE : правки мобильной вёрстки (25.08.2026)
   ============================================================ */

/* PDP: колонка раздувалась под ширину ленты миниатюр,
   из-за этого главное фото уезжало за край экрана */
@media (max-width: 900px){
  body .pdp{ grid-template-columns: minmax(0,1fr); }
  body .pdp > *{ min-width: 0; }
}

/* Главная: вторая строка заголовка не помещалась в экран */
@media (max-width: 720px){
  body .vs-hero-title{ font-size: clamp(19px, 5.9vw, 38px); }
}


/* ============================================================
   VS-FIX-CART : корзина (26.08.2026)
   1. Иконки «−», «+» и «удалить» Тильда отдаёт через
      optim.tildacdn.com, а он возвращает на эти SVG пустой
      ответ 204 — картинки битые. Рисуем значки сами.
   2. «1 undefined» — у товаров не заполнена единица измерения.
      Строку с ценой за единицу прячем; если единицы когда-нибудь
      проставят, эти два правила можно удалить.
   ============================================================ */

body .t706__product-del img,
body .t706__product-plus img,
body .t706__product-minus img{ display:none !important; }

body .t706__product-del,
body .t706__product-plus,
body .t706__product-minus{
  background-repeat:no-repeat; background-position:center; background-size:contain;
  cursor:pointer; opacity:.75; transition:opacity .25s;
}
body .t706__product-del:hover,
body .t706__product-plus:hover,
body .t706__product-minus:hover{ opacity:1; }

body .t706__product-plus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg stroke='%231A1614' stroke-width='1'%3E%3Cpath d='M8 2.5v11M2.5 8h11'/%3E%3C/g%3E%3C/svg%3E");
}
body .t706__product-minus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg stroke='%231A1614' stroke-width='1'%3E%3Cpath d='M2.5 8h11'/%3E%3C/g%3E%3C/svg%3E");
}
body .t706__product-del{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg stroke='%231A1614' stroke-width='1'%3E%3Cpath d='M5.5 5.5l9 9M14.5 5.5l-9 9'/%3E%3C/g%3E%3C/svg%3E");
}

body .t706__product-portion,
body .t706__product-title__portion{ display:none !important; }


/* ============================================================
   VS-FIX-CONSENT : ссылка «обработку персональных данных»
   в чекбоксе согласия — в цвет сайта, а не дефолтный
    оранжевый Тильды (26.08.2026)
   ============================================================ */
body .t-checkbox__control a{
  color:var(--vs-ink,#1A1614) !important;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:.5px;
}
body .t-checkbox__control a:hover{ opacity:.7; }


/* ============================================================
   VESCENT: италик для заголовка «Избранное» и разделов каталога
   (26.08.2026)
   ============================================================ */
body .vsf-title{
  font-style:italic !important;
}

body .t-store .t-store__parts-switch-btn,
body .t-store .t-store__parts-switch-btn .t-store__parts-item-title{
  font-family:'Fraunces',Georgia,serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-variation-settings:"opsz" 60;
  letter-spacing:.16em !important;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   VESCENT: фильтр «Коллекция» — тот же курсив, что у разделов каталога
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
body .t-store .t-store__filter__title,
body .t-store .t-store__filter__item-title{
  font-family:'Fraunces',Georgia,serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  font-variation-settings:"opsz" 60;
  font-size:11px !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   VESCENT: скидка и итог в корзине — сразу под списком товаров,
   а не под формой. Дублирующая строка «Сумма» скрывается только
   тогда, когда есть блок со скидкой и итогом.
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.t706__cartwin-content .t706__orderform .t-form__inputsbox{
  display:flex;
  flex-direction:column;
}
.t706__cartwin-content .t706__orderform .t-form__inputsbox > .t706__cartwin-totalamount-wrap{
  order:-1;
  margin:0 0 28px;
}
.t706__cartwin-content:has(.t706__cartwin-totalamount-wrap) .t706__cartwin-bottom .t706__cartwin-prodamount-wrap{
  display:none !important;
}

/* v2 */
