/* CL-PC1-L1-ANTS-STAND-4231 (R62.6.16, правки владельца к R62.6.15). Только витрина: шапка, фильтр цены, карточки, окно товара, подвал.
   Оформление заказа, статус и «Мои заказы» (L3) не затрагиваются. Подключён ПОСЛЕДНИМ в <head>.
   Приёмы из skills (подробно в REPORT):
   · impeccable / design-taste-frontend: один акцент (розовый V9), чистая иерархия, без декоративных теней-«карточек для всего»;
   · ui-ux-pro-max: цели ≥44 px, зазор ≥8 px, контраст ≥4.5:1 (тёмный текст #1A1714 на #CF818A = 6:1), aspect-ratio против сдвига, focus-visible, reduced-motion;
   · frontend-design: тип/плотность как у бренда, структурные линии только с смыслом;
   · apple-design: отклик на нажатие сразу (:active scale), плавное, прерываемое движение (transform/opacity), уважение reduced-motion;
   · ui-styling: токены цвета в одном месте, mobile-first, горизонтальная прокрутка вместо переноса. */

:root {
  --sf-ink: #1A1714;
  --sf-pink: #CF818A;        /* основной розовый V9 */
  --sf-pink-hover: #C06F79;
  --sf-pink-soft: #F7E7E8;   /* светлый розовый фон выбранного / вторичных кнопок */
  --sf-pink-sel: #EDCBD0;
  --sf-pink-line: #E1B9BF;
}

/* ── 0. Кнопки витрины: розовые, текст тёмный (6:1), серых нет ── */
body .product-card__buy-btn:not(:disabled),
body .catalog__more-btn,
body .catalog__tab.active,
body .pmodal__cart-btn:not(.pmodal__cart-btn--outline):not(:disabled),
body .quick-order #quickSubmit:not(:disabled),
body #req .rp__btn,
body .rp__btn {
  background: var(--sf-pink) !important; border: 1px solid var(--sf-pink) !important; color: var(--sf-ink) !important;
  border-radius: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
}
@media (hover: hover) and (pointer: fine) {
  body .product-card__buy-btn:not(:disabled):hover, body .catalog__more-btn:hover, body .pmodal__cart-btn:not(.pmodal__cart-btn--outline):not(:disabled):hover,
  body .quick-order #quickSubmit:not(:disabled):hover, body .rp__btn:hover { background: var(--sf-pink-hover) !important; border-color: var(--sf-pink-hover) !important; color: var(--sf-ink) !important; }
}
body .pmodal__cart-btn--outline { background: var(--sf-pink-soft) !important; border: 1px solid var(--sf-pink-line) !important; color: var(--sf-ink) !important; border-radius: 14px !important; min-height: 48px; font-weight: 600; text-transform: none; letter-spacing: 0; }
body .pmodal__cart-btn--outline:hover { background: var(--sf-pink-sel) !important; border-color: var(--sf-pink) !important; }
body .pmodal__cart-btn { min-height: 48px; }
body .quick-order { background: var(--sf-pink-soft); border: 1px solid var(--sf-pink-line); border-radius: 16px; }
body .quick-order #quickSubmit { border-radius: 14px; min-height: 48px; }
body .quick-order #quickSubmit[disabled] { background: var(--sf-pink-sel) !important; border-color: var(--sf-pink-sel) !important; color: #6b4a50 !important; }
body .product-card__buy-btn:active, body .pmodal__cart-btn:active, body .catalog__price-pill:active, body .catalog__tab:active, body .product-card__size:active { transform: scale(.97); transition: transform 90ms ease-out; }
body :is(button, a, summary):focus-visible { outline: 3px solid var(--sf-ink); outline-offset: 2px; }

/* вкладки каталога и «чипы» размера: мягкий розовый вместо серо-бежевого */
body .catalog__tab { background: var(--sf-pink-soft) !important; border: 1px solid var(--sf-pink-line) !important; color: var(--sf-ink) !important; border-radius: 999px !important; padding-left: 22px !important; padding-right: 22px !important; }
body .catalog__tab.active { background: var(--sf-pink) !important; border-color: var(--sf-pink) !important; }
body .product-card__size, body .pmodal__size { background: var(--sf-pink-soft) !important; border: 1px solid var(--sf-pink-line) !important; color: var(--sf-ink) !important; border-radius: 12px !important; text-decoration: none !important; }
body .product-card__size[aria-pressed="true"], body .pmodal__size[aria-pressed="true"], body .pmodal__size.active { background: var(--sf-pink) !important; border-color: var(--sf-pink) !important; color: var(--sf-ink) !important; font-weight: 600; }
body .pmodal__size { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 14px; }
body .pmodal__sizes { gap: 8px; align-items: center; }
/* круглые вторичные кнопки: стрелки, закрыть, «наверх/вниз» */
body .pmodal__arrow, body .pcar-arrow, body .pmodal__close, body .scroll-fab__btn { background: #fff !important; border: 1px solid var(--sf-pink-line) !important; color: var(--sf-ink) !important; border-radius: 50% !important; box-shadow: 0 4px 14px rgba(207, 129, 138, .28) !important; }
body .pmodal__arrow, body .pmodal__close { width: 44px; height: 44px; }
@media (hover: hover) and (pointer: fine) {
  body .pmodal__arrow:hover, body .pcar-arrow:hover, body .pmodal__close:hover, body .scroll-fab__btn:hover { background: var(--sf-pink-soft) !important; border-color: var(--sf-pink) !important; }
}

/* ── 1. Шапка на ПК: на всю ширину, меню слева · логотип по центру · «Контакт», поиск, вход, корзина справа ── */
@media (min-width: 1101px) {
  body .header__inner { max-width: none !important; width: 100%; margin: 0; padding: 0 clamp(32px, 3.4vw, 48px) !important;
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; justify-content: normal; column-gap: 24px; }
  body .header__nav { justify-self: start; gap: clamp(18px, 1.9vw, 30px); flex: none; }
  body .logo { justify-self: center; flex: none; padding: 0; min-width: 0; }
  body .logo__name, body .logo__sub { overflow: visible; text-overflow: clip; }
  body .header__actions { justify-self: end; gap: 6px; flex: none; }
  body .header__contact-link { padding: 8px 14px; margin-right: 6px; min-height: 44px; display: inline-flex; align-items: center; color: var(--sf-ink); }
  body .header__actions .icon-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border-radius: 50%; color: var(--sf-ink); transition: background .2s; }
  body .header__actions .icon-btn:hover { background: var(--sf-pink-soft); }
  body .header__nav a, body .nav-catalog-btn, body .nav-occasions-btn { color: var(--sf-ink); }
}
@media (min-width: 1101px) and (max-width: 1340px) {
  body .logo__name { font-size: 26px; letter-spacing: .12em; }
  body .logo__sub { font-size: 10px; letter-spacing: .14em; }
  body .header__nav a, body .nav-catalog-btn, body .nav-occasions-btn { font-size: 15px; }
}
@media (min-width: 1101px) {
  body .header__nav a, body .nav-catalog-btn, body .nav-occasions-btn { white-space: nowrap; }
}
@media (min-width: 1101px) and (max-width: 1259px) {
  body .header__inner { column-gap: 12px; padding: 0 32px !important; }
  body .header__nav { gap: 14px; }
  body .header__nav a, body .nav-catalog-btn, body .nav-occasions-btn { font-size: 14px; }
  body .logo__name { font-size: 21px; letter-spacing: .08em; }
  body .logo__sub { font-size: 9px; letter-spacing: .06em; }
  body .header__contact-link { padding: 8px 8px; margin-right: 0; font-size: 14px; }
}
/* телефон: иконки шапки не серые */
body .header .icon-btn, body .header .burger span { color: var(--sf-ink); }
body .header .burger span { background: var(--sf-ink); }

/* ── 2. Фильтр цены: мягкие розовые «таблетки», без ползунка ── */
body .pr { display: none !important; }
body .catalog .catalog__price-filter { display: flex !important; justify-content: center; max-width: 100%; margin: 4px auto 18px !important; padding: 0 !important; }
body .catalog .catalog__price-label { display: none; }
body .catalog .catalog__price-pills { display: flex !important; flex-wrap: wrap !important; justify-content: center; gap: 10px !important; width: auto !important; max-width: 100%; overflow: visible; }
body .catalog .catalog__price-pill { flex: 0 0 auto !important; width: auto !important; min-height: 44px; padding: 0 20px !important; border-radius: 999px !important; background: var(--sf-pink-soft) !important;
  border: 1px solid var(--sf-pink-line) !important; color: var(--sf-ink) !important; font-size: 15px !important; line-height: 1.2 !important; font-weight: 500; white-space: nowrap; cursor: pointer; touch-action: manipulation; transition: background .18s, border-color .18s; }
body .catalog .catalog__price-pill.active, body .catalog .catalog__price-pill[aria-pressed="true"] { background: var(--sf-pink) !important; border-color: var(--sf-pink) !important; color: var(--sf-ink) !important; font-weight: 600; }
@media (hover: hover) and (pointer: fine) {
  body .catalog .catalog__price-pill:not([aria-pressed="true"]):hover { background: var(--sf-pink-sel) !important; border-color: var(--sf-pink) !important; }
}
@media (max-width: 767px) {
  /* одна строка, горизонтальная прокрутка за пальцем, полоса прокрутки скрыта */
  body .catalog .catalog__price-filter { display: block !important; margin: 2px calc(50% - 50vw) 14px !important; max-width: none !important; width: 100vw; }
  body .catalog .catalog__price-pills { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important; overflow-y: hidden; gap: 8px !important; padding: 2px 16px 4px;
    scroll-snap-type: x proximity; scroll-padding: 0 16px; -webkit-overflow-scrolling: touch; scrollbar-width: none; overscroll-behavior-x: contain; }
  body .catalog .catalog__price-pills::-webkit-scrollbar { display: none; }
  body .catalog .catalog__price-pill { scroll-snap-align: start; font-size: 14px !important; padding: 0 16px !important; }
}

/* ── 3. Карточки: фото целиком, единое 4:5, верх не режется, одинаковая высота ── */
body .catalog__grid { align-items: stretch; }
body .catalog__grid .product-card { height: 100%; display: flex; flex-direction: column; }
body .product-card__image-wrap { aspect-ratio: 4 / 5 !important; height: auto !important; width: 100%; overflow: hidden; background: var(--sf-pink-soft); border-radius: 16px; position: relative; }
body .product-card__image-wrap .product-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; object-position: 50% 0%; }
body .product-card:hover .product-card__img { transform: none; }
body .pcar-dots { bottom: 10px; padding: 4px 8px; border-radius: 999px; background: rgba(26, 23, 20, .28); }
body .product-card__info { flex: 1 1 auto; }
body .product-card__buy-btn { margin-top: auto !important; }
body .product-card { border: 1px solid var(--sf-pink-line); background: #fff !important; }
body .product-card__shot { color: #5E534C; }

/* ── 4. Окно товара: фото целиком на мягкой розовой подложке в рамке ── */
body .pmodal__inner { border-radius: 24px; background: #fff; }
body .pmodal__gallery { background: var(--sf-pink-soft) !important; padding: 20px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; }
body .pmodal__gallery .pmodal__img { position: relative; width: auto !important; height: auto !important; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; border-radius: 18px; background: var(--sf-pink-soft);
  box-shadow: 0 0 0 1px var(--sf-pink-line), 0 10px 30px rgba(207, 129, 138, .25); }
body .pmodal__dots { bottom: 26px; padding: 4px 8px; border-radius: 999px; background: rgba(26, 23, 20, .28); }
body .pmodal__arrow--prev { left: 28px; } body .pmodal__arrow--next { right: 28px; }
body .pmodal__close { top: 16px; right: 16px; }
@media (max-width: 760px) {
  body .pmodal__inner { border-radius: 24px 24px 0 0; }
  body .pmodal__gallery { aspect-ratio: auto !important; height: clamp(300px, 46dvh, 400px) !important; padding: 14px; }
  body .pmodal__arrow--prev { left: 22px; } body .pmodal__arrow--next { right: 22px; }
  body .pmodal__dots { bottom: 22px; }
}

/* ── 5. Подвал: контейнер ≤1100, аккуратные колонки, юр. ссылки мелко ── */
body .footer { border-radius: 28px 28px 0 0; padding: 40px 24px 24px !important; }
body .footer .footer__top { max-width: 1100px !important; width: 100%; margin: 0 auto !important; padding: 0 0 24px !important;
  display: grid; grid-template-columns: 1.5fr repeat(3, 1fr) 1.3fr; gap: 32px 40px !important; align-items: start; }
body .footer .footer__bottom { max-width: 1100px !important; width: 100%; margin: 0 auto !important; padding: 18px 0 0 !important; border-top: 1px solid rgba(243, 233, 227, .16);
  display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
body .footer .footer__col-title { letter-spacing: .14em; color: var(--sf-pink-sel) !important; }
body .footer .footer__link { display: block; padding: 4px 0 !important; font-size: 14px !important; opacity: .92; transition: color .15s, opacity .15s; }
body .footer .footer__link:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
body .footer .footer__hours { margin-top: 0 !important; }
body .footer .footer__bottom > span:first-child { font-size: 12px; opacity: .8; }
body .footer .footer__requisites { font-size: 12px; opacity: .8; line-height: 1.5; }
body .footer .footer__bottom-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 18px; }
body .footer .footer__bottom-links a { font-size: 12px !important; opacity: .8; padding: 2px 0; text-decoration: underline; text-decoration-color: rgba(243, 233, 227, .35); text-underline-offset: 3px; }
body .footer .footer__bottom-links a:hover { opacity: 1; }
@media (max-width: 1023px) and (min-width: 768px) { body .footer .footer__top { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  body .footer { padding: 32px 16px calc(94px + env(safe-area-inset-bottom)) !important; }
  body .footer .footer__top { grid-template-columns: 1fr 1fr; gap: 20px 16px !important; }
  body .footer .footer__brand { grid-column: 1 / -1; }
  body .footer .footer__col, body .footer .footer__col-body { border: 0; }
  /* цели ≥44 px сохранены (R62.6.14): ссылки колонок остаются 44 px, юр. ссылки — две строки по 44 px через внутренний отступ строки */
  body .footer .footer__link { display: flex !important; align-items: center; min-height: 44px !important; padding: 0 !important; }
  body .footer .footer__bottom-links { gap: 0 2px; }
  body .footer .footer__bottom-links a { display: inline-flex !important; align-items: center; min-height: 36px; padding: 0 5px !important; font-size: 11px !important; }
  body .footer .footer__requisites a { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  body .product-card__buy-btn:active, body .pmodal__cart-btn:active, body .catalog__price-pill:active, body .catalog__tab:active, body .product-card__size:active { transform: none; }
  body .catalog .catalog__price-pill { transition: none; }
}
