.t-name_xl{font-weight:500!important}
.t-name_md{font-weight:500!important}
@media(min-width:1440px){
.t-container_fluid {width: 1440px!important}
}
@media screen and (min-width:981px){
.t-store__prod-snippet__container {padding-top: 120px!important}
}
@media screen and (max-width:640px){
.t-container_fluid {padding-top: 20px!important;}
}



/* ============================================================
   ONAIL — общие стили сайта
   Вставляется в Tilda: Настройки сайта → Ещё → HTML-код внутрь 
   обёрнутым в  ... </style>
   ------------------------------------------------------------
   Все значения сняты из Figma «Редизайн сайта ONAIL».
   Префикс o- у всех классов, чтобы не конфликтовать со стилями Tilda.
   ============================================================ */

:root {
  /* ---------- Цвета ---------- */
  --o-red:        #D90C18;  /* бренд, логотип */
  --o-ink:        #504D4D;  /* основной текст, тёмные кнопки */
  --o-ink-2:      #808080;  /* названия товаров, плейсхолдеры */
  --o-ink-3:      #9D9D9D;  /* текст в подвале */
  --o-ink-4:      #A4A4A4;  /* подписи, бордеры кнопок-контактов */
  --o-ink-5:      #C2C2C2;  /* юридические сноски */

  --o-line:       #EAEAEA;  /* бордер попапа */
  --o-line-2:     #A3A3A3;  /* бордер чекбокса */

  --o-bg:         #F8F8F8;  /* фон страницы и шапки */
  --o-surface:    #FFFFFF;  /* карточки, поля ввода */
  --o-dark:       #363636;  /* фон подвала */

  /* ---------- Типографика ---------- */
  --o-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;

  --o-fs-10: 10px;   --o-lh-10: 14px;   /* юр. сноски */
  --o-fs-12: 12px;   --o-lh-12: 14.5px; /* пилюли, кнопки-контакты */
  --o-fs-13: 13px;   --o-lh-13: 15.7px; /* пункты меню */
  --o-fs-14: 14px;   --o-lh-14: 17.4px; /* названия товаров, ссылки подвала */
  --o-fs-16: 16px;   --o-lh-16: 22.4px; /* основной текст */
  --o-fs-17: 17px;   --o-lh-17: 20.3px; /* заголовки колонок подвала */
  --o-fs-18: 18px;   --o-lh-18: 21.8px; /* цена */
  --o-fs-23: 23px;   --o-lh-23: 32.2px; /* заголовок страницы */
  --o-fs-26: 26px;   --o-lh-26: 31.7px; /* логотип */

  /* ---------- Радиусы ---------- */
  --o-r-card:  15px;  /* карточка товара, textarea, попап */
  --o-r-btn:   30px;  /* кнопка «+» на карточке */
  --o-r-pill:  36px;  /* пилюли фильтра, кнопки, инпуты */
  --o-r-round: 100px; /* поля ввода в форме */

  /* ---------- Тени ---------- */
  --o-shadow: 0 5px 5px rgba(0, 0, 0, .25);

  /* ---------- Сетка ---------- */
  --o-container: 1288px;   /* контент-контейнер веба */
  --o-gap: 22px;           /* зазор в сетке каталога */
  --o-header-h: 70px;      /* высота шапки на вебе */

  /* ---------- Анимация ---------- */
  --o-ease: cubic-bezier(.4, 0, .2, 1);
  --o-dur: .25s;
}

/* ============================================================
   Сброс и база
   ============================================================ */

.o *,
.o *::before,
.o *::after { box-sizing: border-box; }

.o {
  font-family: var(--o-font);
  font-size: var(--o-fs-16);
  line-height: var(--o-lh-16);
  color: var(--o-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.o img,
.o svg { display: block; max-width: 100%; }

.o a { color: inherit; text-decoration: none; }

.o button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

.o ul,
.o ol { margin: 0; padding: 0; list-style: none; }

.o p { margin: 0; }

/* Скрыть визуально, оставить для скринридеров */
.o-sr {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ============================================================
   Контейнер
   Ширина контента 1288, боковые поля 76 на 1440.
   Ниже — резиновый с уменьшающимися полями.
   ============================================================ */

.o-container {
  width: 100%;
  max-width: calc(var(--o-container) + 32px);
  margin-inline: auto;
  padding-inline: 16px;
}

@media (min-width: 480px) {
  .o-container {
    max-width: calc(var(--o-container) + 48px);
    padding-inline: 24px;
  }
}

@media (min-width: 960px) {
  .o-container {
    max-width: calc(var(--o-container) + 80px);
    padding-inline: 40px;
  }
}

@media (min-width: 1440px) {
  .o-container {
    max-width: calc(var(--o-container) + 152px);
    padding-inline: 76px;
  }
}

/* ============================================================
   Показ / скрытие по брейкпойнтам
   моб  ≤ 479
   планшет  480 – 959
   веб  ≥ 960
   ============================================================ */

.o-only-web,
.o-only-tablet { display: none; }

@media (min-width: 480px) {
  .o-only-mob { display: none; }
  .o-only-tablet { display: block; }
}

@media (min-width: 960px) {
  .o-only-tablet { display: none; }
  .o-only-web { display: block; }
}

/* ============================================================
   Типографика
   ============================================================ */

.o-h1 {
  margin: 0;
  font-size: var(--o-fs-23);
  line-height: var(--o-lh-23);
  font-weight: 400;
  text-transform: uppercase;
  color: var(--o-ink);
}

.o-caption {
  font-size: var(--o-fs-14);
  line-height: var(--o-lh-14);
  color: var(--o-ink-4);
}

.o-note {
  font-size: var(--o-fs-10);
  line-height: var(--o-lh-10);
  color: var(--o-ink-5);
}

/* ============================================================
   Кнопки
   ============================================================ */

/* Тёмная кнопка-таблетка: «Отправить», «Перейти к оформлению» */
.o-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 53px;
  padding: 0 32px;
  border-radius: var(--o-r-pill);
  background: var(--o-ink);
  color: #fff;
  font-size: var(--o-fs-14);
  line-height: var(--o-lh-14);
  font-weight: 600;
  text-transform: uppercase;
  transition: opacity var(--o-dur) var(--o-ease);
}

.o-btn:hover { opacity: .85; }

/* Кнопка-контакт: MAX / ТЕЛЕГРАМ / WHATSAPP — с бордером и стрелкой */
.o-btn-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 53px;
  padding: 0 20px;
  border: 1px solid var(--o-ink-4);
  border-radius: var(--o-r-pill);
  color: var(--o-ink);
  font-size: var(--o-fs-12);
  line-height: var(--o-lh-12);
  font-weight: 600;
  text-transform: uppercase;
  transition: border-color var(--o-dur) var(--o-ease),
              background-color var(--o-dur) var(--o-ease);
}

.o-btn-contact:hover {
  border-color: var(--o-ink);
  background: rgba(0, 0, 0, .02);
}

/* Пилюля фильтра каталога */
.o-pill {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 22px;
  border-radius: var(--o-r-pill);
  background: var(--o-surface);
  color: var(--o-ink);
  font-size: var(--o-fs-12);
  line-height: var(--o-lh-12);
  white-space: nowrap;
  transition: background-color var(--o-dur) var(--o-ease),
              color var(--o-dur) var(--o-ease);
}

.o-pill:hover { background: #EFEFEF; }

.o-pill.is-active {
  background: var(--o-ink);
  color: #fff;
}

/* ============================================================
   Поля формы
   ============================================================ */

.o-input,
.o-textarea {
  width: 100%;
  padding: 16px 21px;
  border: 0;
  background: var(--o-surface);
  color: var(--o-ink);
  font-family: var(--o-font);
  font-size: var(--o-fs-14);
  line-height: 19.6px;
  outline: none;
  transition: box-shadow var(--o-dur) var(--o-ease);
}

.o-input {
  height: 53px;
  border-radius: var(--o-r-round);
}

.o-textarea {
  min-height: 90px;
  border-radius: var(--o-r-card);
  resize: vertical;
}

.o-input::placeholder,
.o-textarea::placeholder { color: #807F7F; }

.o-input:focus,
.o-textarea:focus { box-shadow: 0 0 0 1px var(--o-ink-4); }

.o-input.is-error,
.o-textarea.is-error { box-shadow: 0 0 0 1px var(--o-red); }

/* Чекбокс согласия */
.o-check {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 12px;
  align-items: start;
  cursor: pointer;
}

.o-check input { position: absolute; opacity: 0; pointer-events: none; }

.o-check__box {
  width: 16px;
  height: 16px;
  margin-top: 3px;
  border: 1px solid var(--o-line-2);
  background: transparent;
  transition: background-color var(--o-dur) var(--o-ease),
              border-color var(--o-dur) var(--o-ease);
}

.o-check input:checked + .o-check__box {
  border-color: var(--o-ink);
  background: var(--o-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l2.5 2.5L9 1' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 8px no-repeat;
}

.o-check input:focus-visible + .o-check__box { outline: 2px solid var(--o-ink-4); outline-offset: 2px; }

.o-check__text {
  font-size: var(--o-fs-10);
  line-height: var(--o-lh-10);
  color: var(--o-ink-5);
}

.o-check__text a { text-decoration: underline; }

/* ============================================================
   Карточка товара (каталог)
   Веб: 305×398, радиус 15, зазор 22, 4 колонки
   ============================================================ */

.o-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--o-gap);
}

@media (min-width: 480px) { .o-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 960px) { .o-grid { grid-template-columns: repeat(4, 1fr); } }

.o-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: var(--o-r-card);
  background: var(--o-surface);
  transition: box-shadow var(--o-dur) var(--o-ease),
              transform var(--o-dur) var(--o-ease);
}

.o-card:hover { box-shadow: var(--o-shadow); }

.o-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 78px 35px 36px;
}

.o-card__media img {
  width: 100%;
  height: auto;
  object-fit: contain;
  transition: transform var(--o-dur) var(--o-ease);
}

.o-card:hover .o-card__media img { transform: scale(1.04); }

.o-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 23px 23px;
  margin-top: auto;
}

.o-card__title {
  font-size: var(--o-fs-14);
  line-height: var(--o-lh-14);
  color: var(--o-ink-2);
}

.o-card__price {
  font-size: var(--o-fs-18);
  line-height: var(--o-lh-18);
  color: var(--o-ink);
}

/* Кнопка «+» → при наведении раскрывается в «+ 🛒» */
.o-card__add {
  position: absolute;
  top: 15px;
  right: 15px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: 34px;
  height: 34px;
  padding: 0 7px;
  border-radius: var(--o-r-btn);
  background: transparent;
  overflow: hidden;
  transition: width var(--o-dur) var(--o-ease),
              background-color var(--o-dur) var(--o-ease);
}

.o-card:hover .o-card__add,
.o-card__add:focus-visible {
  width: 70px;
  background: var(--o-ink);
}

.o-card__add svg { width: 20px; height: 20px; flex: none; }
.o-card__add svg path,
.o-card__add svg line { stroke: var(--o-ink); transition: stroke var(--o-dur) var(--o-ease); }

.o-card:hover .o-card__add svg path,
.o-card:hover .o-card__add svg line { stroke: #fff; }

/* Иконка корзины видна только в раскрытом состоянии */
.o-card__add .o-icon-cart { opacity: 0; transition: opacity var(--o-dur) var(--o-ease); }
.o-card:hover .o-card__add .o-icon-cart { opacity: 1; }

/* ============================================================
   Утилиты прокрутки (горизонтальные скроллы)
   ============================================================ */

.o-hscroll {
  display: flex;
  gap: var(--o-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.o-hscroll::-webkit-scrollbar { display: none; }
.o-hscroll > * { scroll-snap-align: start; flex: none; }

/* ============================================================
   Уважение к настройкам доступности
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .o *,
  .o *::before,
  .o *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
</style>
