/* Текстовые разделы сайта: Компания, Доставка и оплата, Гарантия, Контакты, Вакансии,
   Скоро в продаже, Последние поступления (17.09.2026, блокнот №11).
   Кнопки, карточки, уведомления, бейджи — из css/ui_kit.css; здесь только раскладка и типографика. */

.gsm-page { box-sizing: border-box; max-width: 920px; padding: 4px 20px 32px; color: var(--gsm-ink, #23282d); font-size: 15px; line-height: 1.6; }
.gsm-page__title { margin: 8px 0 var(--gsm-s-4, 16px); padding: 0; color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-2xl, 26px); font-weight: 700; line-height: 1.25; text-wrap: balance; }
.gsm-page__lead { margin: 0 0 var(--gsm-s-5, 20px); color: var(--gsm-ink-2, #6b7480); font-size: 16px; }
.gsm-page h2 { margin: var(--gsm-s-6, 24px) 0 var(--gsm-s-3, 12px); padding: 0; color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-xl, 20px); font-weight: 700; line-height: 1.3; }
.gsm-page h3 { margin: var(--gsm-s-4, 16px) 0 var(--gsm-s-2, 8px); padding: 0; color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-md, 15px); font-weight: 600; }
.gsm-page .gsm-card > h2:first-child, .gsm-page .gsm-card > h3:first-child { margin-top: 0; }
.gsm-page p { margin: 0 0 var(--gsm-s-3, 12px); }
.gsm-page a:not(.gsm-btn) { color: var(--gsm-blue, #1f6fd1); text-decoration: none; }
.gsm-page a:not(.gsm-btn):hover { text-decoration: underline; }
.gsm-page ul, .gsm-page ol { margin: 0 0 var(--gsm-s-3, 12px); padding-left: 22px; }
.gsm-page li { margin: 0 0 6px; padding: 0; }
.gsm-page li::marker { color: var(--gsm-ink-3, #9aa3ad); }
.gsm-page .gsm-note { display: block; margin: var(--gsm-s-4, 16px) 0; font-size: 14px; }

/* Сетка карточек */
.gsm-page__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--gsm-s-4, 16px); margin: 0 0 var(--gsm-s-4, 16px); }
.gsm-page__grid .gsm-card { padding: var(--gsm-s-4, 16px) var(--gsm-s-5, 20px); }
.gsm-page__stack { display: flex; flex-direction: column; gap: var(--gsm-s-4, 16px); }

/* Пары «название — значение» */
.gsm-page__facts { display: grid; grid-template-columns: minmax(140px, max-content) 1fr; gap: 6px var(--gsm-s-4, 16px); margin: 0; }
.gsm-page__facts dt { color: var(--gsm-ink-2, #6b7480); }
.gsm-page__facts dd { margin: 0; font-variant-numeric: tabular-nums; }

/* Иконка-кружок у заголовка карточки */
.gsm-page__ico { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-bottom: 8px; border-radius: 10px; background: var(--gsm-blue-soft, #eaf2fd); color: var(--gsm-blue, #1f6fd1); }
.gsm-page__ico svg { width: 20px; height: 20px; }
.gsm-page .gsm-page__ico + h2, .gsm-page .gsm-page__ico + h3 { margin-top: 0; }
.gsm-page__ico { display: flex; }

/* Вакансия */
.gsm-page__job-head { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.gsm-page__job-head h2 { margin: 0; font-size: 18px; }
.gsm-page__job-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 var(--gsm-s-5, 20px); }

/* Старые тексты из редактора (другие разделы): гасим шрифты Word и inline-цвета */
.gsm-page font { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
.gsm-page span[style], .gsm-page div[style], .gsm-page p[style] { font-family: inherit !important; font-size: inherit !important; color: inherit !important; line-height: inherit !important; }

/* Скоро в продаже / Последние поступления: заголовок в едином стиле */
.center h1.bhead.gsm-page__title { margin: 8px 20px 16px !important; }

@media (max-width: 760px) {
	.gsm-page { padding: 4px 16px 24px; font-size: 15px; }
	.gsm-page__title { font-size: 22px; }
	.gsm-page__facts { grid-template-columns: 1fr; gap: 0; }
	.gsm-page__facts dd { margin-bottom: 8px; }
}

/* Последние поступления: строка-карточка, товары раскрываются под ней */
.gsm-arrivals { padding: 0 20px 24px; }
.gsm-arrivals .table_body { display: flex !important; flex-direction: column; gap: 8px; padding: 0 !important; border: 0 !important; background: none !important; } /* без общей рамки: карточки поставок сами в рамках */
.gsm-arrival { margin: 0 !important; padding: 0 !important; border: 1px solid var(--gsm-line, #e4e8ec) !important; /* старое правило списков снимало верхнюю рамку у первой */ border-radius: var(--gsm-r-sm, 8px); background: var(--gsm-card, #fff); }
.gsm-arrival__head { display: flex; align-items: center; gap: 12px; padding: 12px 16px; color: var(--gsm-ink, #23282d) !important; text-decoration: none !important; }
.gsm-arrival__head:hover { background: var(--gsm-bg, #f6f7f9); border-radius: var(--gsm-r-sm, 8px); }
.gsm-arrival__name { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; }
/* Бренды внутри поступления — в свёрнутом заголовке (23.09.2026) */
/* Те же чипы, что в каталоге (css/catalog.css .gsm-brand), только не нажимаются.
   Отбор по .gsm-arrival__head: у общего ряда .gsm-brands есть нижний отступ 20 px
   (css/catalog.css подключается следом), из-за него чипы вставали выше названия. */
/* flex-wrap: nowrap обязателен: при сжатии до нуля чипы иначе переносятся в столбик и растягивают шапку */
.gsm-arrival__head .gsm-brands { flex: none; flex-wrap: nowrap; align-self: center; margin: 0 0 0 auto; max-width: 480px; height: 24px; overflow: hidden;
	transition: max-width .42s var(--gsm-ease-wave, ease), opacity .3s var(--gsm-ease-wave, ease); }
/* Раскрытая партия: чипы в заголовке плавно убираются — тот же ряд уже виден внутри (23.09.2026) */
.gsm-arrival.is-open .gsm-arrival__head .gsm-brands { max-width: 0; opacity: 0; }
.gsm-arrival__head .gsm-brand { max-width: 150px; overflow: hidden; }
.gsm-arrival__head .gsm-brand > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.gsm-arrival__chev { flex: none; width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid var(--gsm-ink-3, #9aa3ad); border-bottom: 2px solid var(--gsm-ink-3, #9aa3ad); transform: rotate(45deg); transition: transform .42s var(--gsm-ease-wave, ease); }
.gsm-arrival.is-open .gsm-arrival__chev { transform: rotate(-135deg); }
.gsm-arrival__body { padding: 12px 8px 8px; border-top: 1px solid var(--gsm-line, #e4e8ec); }
.gsm-arrival__body .gsm-brands { margin: 0 8px 12px; }

/* Скоро в продаже (23.09.2026): поставки — карточки .gsm-arrival (<details>), товары — строки каталога gsm_row */
.gsm-incoming { padding: 0 20px 24px; }
.gsm-incoming .gsm-page__title { margin: 8px 0 12px; }
.gsm-incoming .gsm-note { display: block; margin: 0 0 16px; }
.gsm-incoming .gsm-note a { color: var(--gsm-link, #2876a5); }
.gsm-incoming__bar { float: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 12px; }
.gsm-incoming__sort { display: inline-flex; align-items: center; gap: 8px; }
.gsm-incoming__list { display: flex; flex-direction: column; gap: 8px; }
.gsm-incoming details.gsm-arrival > summary { list-style: none; cursor: pointer; }
.gsm-incoming details.gsm-arrival > summary::-webkit-details-marker { display: none; }
.gsm-incoming details.gsm-arrival[open] .gsm-arrival__chev { transform: rotate(-135deg); }
.gsm-incoming details.gsm-arrival[open] > summary { border-radius: var(--gsm-r-sm, 8px) var(--gsm-r-sm, 8px) 0 0; }
.gsm-incoming__date { flex: none; display: flex; flex-direction: column; min-width: 92px; font-size: var(--gsm-fs-md, 15px); font-weight: 700; line-height: 1.2; color: var(--gsm-ink, #23282d); }
.gsm-incoming__date small { font-size: var(--gsm-fs-xs, 12px); font-weight: 400; color: var(--gsm-ink-2, #6b7480); }
.gsm-incoming .gsm-arrival__body { padding: 8px; }
.gsm-incoming .gsm-arrival__body .gsm-list { margin: 0; }
.gsm-incoming__empty { padding: 12px 8px; }
@media (max-width: 760px) {
	.gsm-arrivals, .gsm-incoming { padding-left: 12px; padding-right: 12px; }
	.gsm-arrival__head { flex-wrap: wrap; gap: 6px 10px; }
	.gsm-arrival__brands { flex-wrap: wrap; margin-left: 0; }
	.gsm-incoming__date { min-width: 0; flex-direction: row; gap: 6px; align-items: baseline; width: 100%; }
}

/* ── Подборки и витрины (23.09.2026): templates/showcases.php ───────────── */
.sc-page { padding: 0 20px 24px; }
.sc-banner { margin: 0 0 16px; border-radius: var(--gsm-r-card, 14px); overflow: hidden; }
.sc-banner img { display: block; width: 100%; height: auto; }
.sc-title { margin: 0 0 8px; }
.sc-note { margin: 0 0 16px; color: var(--gsm-ink-2, #6b7480); }
.sc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-top: 16px; }
.sc-card { display: flex; flex-direction: column; border-radius: var(--gsm-r-card, 14px); background: var(--gsm-card, #fff); box-shadow: 0 1px 3px rgba(20,28,38,.08); overflow: hidden; text-decoration: none !important; color: var(--gsm-ink, #23282d) !important; transition: box-shadow .15s, transform .15s; }
.sc-card:hover { box-shadow: 0 6px 20px rgba(20,28,38,.14); transform: translateY(-2px); }
.sc-card.is-off { opacity: .6; }
.sc-card__img { display: block; height: 110px; background: var(--gsm-bg, #f6f7f9); }
.sc-card__img img { width: 100%; height: 100%; object-fit: cover; }
.sc-card__body { display: block; padding: 12px 14px 14px; }
.sc-card__name { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; }
.sc-card__n { display: block; margin-top: 4px; color: var(--gsm-ink-3, #949ba5); font-size: 12px; }
.sc-card__off { display: inline-block; margin-top: 6px; padding: 0 8px; border-radius: 999px; background: var(--gsm-bg, #f6f7f9); color: var(--gsm-ink-2, #6b7480); font-size: 12px; }
/* Крупные карточки — та же сетка каталога, но шире колонка */
.sc-grid--big { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; }
.sc-toolbar { margin: 0 0 14px; }
.gsm-crumbs { margin: 0 0 10px; color: var(--gsm-ink-3, #949ba5); font-size: 13px; }

/* Карточка витрины на главной и в каталоге (23.09.2026) */
.sc-wide { display: flex; align-items: stretch; gap: 0; margin: 20px 0; border-radius: var(--gsm-r-card, 14px); background: var(--gsm-card, #fff); box-shadow: 0 1px 3px rgba(20,28,38,.08); overflow: hidden; text-decoration: none !important; color: var(--gsm-ink, #23282d) !important; transition: box-shadow .15s, transform .15s; }
.sc-wide:hover { box-shadow: 0 8px 24px rgba(20,28,38,.14); transform: translateY(-2px); }
.sc-wide__img { flex: 0 0 46%; max-width: 46%; background: var(--gsm-bg, #f6f7f9); }
.sc-wide__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sc-wide__body { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 18px 20px; }
.sc-wide__name { font-size: 20px; font-weight: 700; line-height: 1.25; }
.sc-wide__note { color: var(--gsm-ink-2, #6b7480); font-size: 14px; line-height: 1.4; }
.sc-wide__go { margin-top: 4px; color: var(--gsm-blue-dark, #2b83b0); font-size: 14px; font-weight: 600; }
.sc-wide--plain .sc-wide__body { padding: 20px; }
.gsm-picks__i--sc { background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0); }
@media (max-width: 700px) { .sc-wide { flex-direction: column; } .sc-wide__img { flex: none; max-width: 100%; height: 140px; } }

/* Сторис витрин в левой колонке (23.09.2026): вертикальная картинка 3:4 под меню каталога */
.gsm-stories { margin: 12px 0; }
.gsm-story { position: relative; display: block; border-radius: var(--gsm-r-card, 14px); overflow: hidden; text-decoration: none !important; box-shadow: 0 1px 3px rgba(20,28,38,.08); }
.gsm-story:hover { box-shadow: 0 8px 22px rgba(20,28,38,.16); }
.gsm-story img { display: block; width: 100%; height: auto; }
.gsm-story__n { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 10px 8px; background: linear-gradient(to top, rgba(12,18,26,.78), rgba(12,18,26,0)); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.25; }

/* Мастер-баннеры раздела каталога (24.09.2026, «Промо» → «В разделах каталога»): листаются, если их несколько */
.gsm-cban { margin: 0 0 16px; border-radius: var(--gsm-r-card, 14px); overflow: hidden; }
.gsm-cban__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gsm-cban__track::-webkit-scrollbar { display: none; }
.gsm-cban__item { flex: 0 0 100%; scroll-snap-align: start; display: block; }
.gsm-cban__item img { display: block; width: 100%; aspect-ratio: 1035 / 200; object-fit: cover; }
/* Шапка страницы промо на телефоне — верх мобайл-баннера 4:5 (24.09.2026) */
@media (max-width: 760px) { .sc-banner--mob img { aspect-ratio: 4 / 5; object-fit: cover; object-position: top; } }

/* ── Посадочная страница промо (24.09.2026): блоки modules/promo_page.php ── */
.pp-block { margin: 0 0 28px; }
.pp-h { margin: 0 0 12px; }
.pp-text .gsm-text { margin: 0 0 10px; max-width: 760px; }
.pp-img img { display: block; width: 100%; height: auto; border-radius: var(--gsm-r-card, 14px); }
.pp-img figcaption, .pp-video figcaption { margin-top: 6px; }
.pp-feats { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.pp-feat .gsm-text { margin: 6px 0 0; }
.pp-steps { margin: 0; padding: 0; list-style: none; counter-reset: pp-step; display: grid; gap: 12px; }
.pp-step { position: relative; padding: 2px 0 0 52px; counter-increment: pp-step; min-height: 38px; }
.pp-step::before { content: counter(pp-step); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-btn, #0f89c6); font-weight: 700; }
.pp-step .gsm-text { margin: 4px 0 0; }
.pp-prices { width: 100%; max-width: 760px; }
.pp-prices__p { text-align: right; white-space: nowrap; font-weight: 700; }
.pp-note { margin: 8px 0 0; }
.pp-faq { display: grid; gap: 8px; max-width: 760px; }
.pp-faq__i { padding: 12px 14px; border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-bg, #f6f7f9); }
.pp-faq__i summary { cursor: pointer; font-weight: 600; }
.pp-faq__i .gsm-text { margin: 8px 0 0; }
.pp-video__f { position: relative; aspect-ratio: 16 / 9; border-radius: var(--gsm-r-card, 14px); overflow: hidden; background: #000; }
.pp-video__f iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pp-lead { max-width: 760px; }
.pp-form { float: none; width: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.pp-form__wide, .pp-form__row, .pp-form__note { grid-column: 1 / -1; }
.pp-form__row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pp-form__res { font-weight: 600; }
.pp-form.is-sent .pp-form__res { color: var(--gsm-green, #17a05f); }
.pp-form__note { margin: 0; font-size: 12px; }
.pp-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.pp-dialog { width: min(560px, calc(100vw - 32px)); padding: 24px; border: 0; border-radius: var(--gsm-r-card, 14px); box-shadow: 0 20px 60px rgba(20,28,38,.3); }
.pp-dialog::backdrop { background: rgba(20,28,38,.45); }
.pp-dialog__x { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--gsm-bg, #f6f7f9); font-size: 20px; cursor: pointer; }
@media (max-width: 760px) { .pp-form { grid-template-columns: 1fr; } }
