/*
Theme Name:     LC Blank Test Child
Theme URI:      https://luckywall.net
Description:    Дочерняя тема для LC Blank Test. Все правки и кастомизации живут здесь, родительская тема остаётся неизменной.
Author:         LuckyWall (поддержка)
Author URI:     https://luckywall.net
Template:       lc-blank-test
Version:        0.1.3
Text Domain:    lc-blank-test-child
*/

/* ─── Hero: мобильная версия ───────────────────────────────────────────────
 * Парент задаёт .hero-bg height:430px и .hero__text { margin-top:110px; color:#1a1a1a }
 * — текст «Готовое решение...» выпадал на белый фон под видео.
 * Заказчица попросила увеличить высоту видео и перенести текст внутрь, над кнопкой.
 * HTML-порядок переставлен в pages/main-page.php (text → mobile-кнопка).
 *
 * Высоту фиксируем на самой .hero (не на .hero-bg) — иначе hero-bg (absolute)
 * вылезал за пределы hero и margin-bottom считался от низа hero, а не видео.
 * Контент центрируется по вертикали через flex; padding-top — зона безопасности
 * от фиксированной шапки.
 */
@media only screen and (max-width: 480px) {
    .hero {
        height: 580px;
        padding: 80px 0 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-bottom: 20px;
    }

    .hero-bg {
        height: 100%;
    }

    .hero__text {
        margin-top: 0;
        /* Перебиваем inline style="margin-bottom:-25px" на <p>: на мобиле
         * текст идёт перед кнопкой, отрицательный отступ её бы прижимал. */
        margin-bottom: 0 !important;
        color: #ffffff;
        text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
    }
}

/* ─── Закругление углов карточек подкатегорий ──────────────────────────────
 * Правка от клиента: .catalog-block (Дерево/Металл/Камень/Ткань/Однотонные
 * и аналогичные карточки на других категориях) — закруглить углы как у
 * остального сайта. Border-radius наследует от карточек преимуществ — 14px.
 */
.catalog-block,
.journal-block {
    border-radius: 14px;
}
/* ——— Портфолио: 2 фото в ряд на телефоне ——— */
@media (max-width: 767px) {
    .montage-gallery {
        display: grid;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px;
    }
    .montage-gallery .item-montage-gallery {
        display: block;
        width: 100%;
        margin: 0;
    }
    .montage-gallery .item-montage-gallery img {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: 3 / 4;
        object-fit: cover;
    }
}
/* ——— Артикул под свотчем фактуры ——— */
.cart-texture__label:not([data-size-slot]){
  display:flex !important;
  flex-direction:column;
  align-items:center;
  gap:4px;
  margin:0;
}
.cart-texture__label:not([data-size-slot]) input{
  display:none !important;
}
.cart-texture__label:not([data-size-slot]) .texture-code{
  display:block;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  height:auto !important;
  font-size:13px;
  line-height:1;
  color:#8a8a8a;
  text-align:center;
}
.cart-texture__label:not([data-size-slot]) input:checked ~ .texture-code{
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  background:none !important;
}

/* FAQ: при вставке ответа нумерованным списком (<ol><li>) текст наследовал
   белый цвет и становился невидимым на белом фоне. Абзацы FAQ у родителя
   чёрные (.faq-block__content color:#000), но <li>/<ol>/<ul> не покрыты —
   принудительно возвращаем тёмный. Добавлено 2026-07-29. */
.faq-block__content li,
.faq-block__content ol,
.faq-block__content ul {
  color:#000000 !important;
}

/* Капча SmartCaptcha в Safari.
 *
 * Родитель держит на body zoom:0.8 (style.css родителя, десктоп ≥981px —
 * на мобиле custom-css.css возвращает zoom:1). Safari/WebKit прокидывает этот
 * zoom внутрь cross-origin iframe: виджет капчи, у которого CSS-ширина 300px,
 * получает внутренний вьюпорт 240px — верстается «узким» вариантом (подпись
 * переносится на две строки, высота контента 140px), а высоту iframe
 * SmartCaptcha ставит уже с учётом zoom — 112px. Нижние ~28px срезаются,
 * вместе с ними надпись «Yandex SmartCaptcha» и кнопка «?».
 * Chrome/Firefox zoom внутрь iframe не прокидывают, поэтому баг только в Safari.
 *
 * Лечим причину, а не симптом: возвращаем контейнеру капчи масштаб 1
 * (0.8 × 1.25), тогда вьюпорт iframe совпадает с его реальной шириной
 * и SmartCaptcha считает высоту правильно. Ширину фиксируем на 302px —
 * это штатный размер виджета, при нём подпись встаёт в одну строку.
 * @supports (-webkit-hyphens) — только WebKit/Safari, остальные браузеры
 * остаются как были. Добавлено 2026-08-19. */
@supports (-webkit-hyphens: none) {
  @media screen and (min-width: 981px) {
    .smart-captcha-wrap,
    .checkout-form__field > .smart-captcha {
      zoom: 1.25;
    }

    .smart-captcha-wrap > .smart-captcha,
    .checkout-form__field > .smart-captcha {
      width: 302px;
      min-width: 302px;
    }
  }
}

/* ─── Мега-меню «Каталог»: одна панель, 4 колонки (19.09.2026) ─────────────
 * Разметка меню не меняется (header.php, ul.nav-menu > li.has-child > ul.submenu).
 * Вместо двухуровневой выпадашки — тёмная панель под «Каталогом», в ней колонка
 * на каждый раздел: заголовок раздела золотым моношрифтом, под ним серии.
 * Второй hover не нужен — вложенные ul.submenu показаны всегда. Только десктоп.
 */
@media (min-width: 1024px) {
  nav.header-nav ul.nav-menu > li.has-child { position: relative; }

  nav.header-nav ul.nav-menu > li.has-child > ul.submenu {
    display: none;
    position: absolute !important;
    left: -24px; top: 100%;
    margin: 0; padding: 28px 32px 30px !important;
    min-width: 820px;
    box-sizing: border-box;
    background: rgba(10,10,10,.96) !important;
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(0,0,0,.35) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 36px;
    z-index: 1000;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
  }
  nav.header-nav ul.nav-menu > li.has-child:hover > ul.submenu,
  nav.header-nav ul.nav-menu > li.has-child:focus-within > ul.submenu { display: grid !important; }

  nav.header-nav ul.nav-menu > li.has-child .open-sub { display: none !important; }

  nav.header-nav ul.nav-menu > li.has-child > ul.submenu > li {
    position: static !important;
    display: block !important;
    margin: 0 !important; padding: 0 !important;
    white-space: nowrap;
  }
  nav.header-nav ul.nav-menu > li.has-child > ul.submenu > li > a {
    display: block !important;
    margin: 0 0 14px !important; padding: 0 0 12px !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    font-family: 'JetBrains Mono', ui-monospace, Menlo, monospace !important;
    font-size: 11px !important; font-weight: 500 !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    color: #cbb282 !important;
    background: none !important;
  }
  nav.header-nav ul.nav-menu > li.has-child > ul.submenu > li > a:hover { color: #fff !important; }

  nav.header-nav ul.nav-menu > li.has-child ul.submenu ul.submenu {
    display: block !important;
    position: static !important;
    margin: 0 !important; padding: 0 !important;
    min-width: 0 !important; width: auto !important;
    background: none !important; border: none !important; box-shadow: none !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
  }
  nav.header-nav ul.nav-menu > li.has-child ul.submenu ul.submenu li {
    display: block !important; margin: 0 !important; padding: 0 !important;
  }
  nav.header-nav ul.nav-menu > li.has-child ul.submenu ul.submenu a {
    display: block !important;
    padding: 6px 0 !important; margin: 0 !important;
    font-family: 'Space Grotesk', -apple-system, 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 15px !important; font-weight: 400 !important;
    letter-spacing: 0 !important; text-transform: none !important;
    line-height: 1.3 !important;
    color: rgba(255,255,255,.82) !important;
    background: none !important;
    white-space: normal;
    transition: color .15s;
  }
  nav.header-nav ul.nav-menu > li.has-child ul.submenu ul.submenu a:hover { color: #cbb282 !important; }
}