@charset "UTF-8";
/* ==============================================
   DTFPrime — Main Stylesheet
   Дизайн-система: CSS-переменные, reset, компоненты
   Этап 4.5: дизайн-волна — гибрид (светлая база +
   тёмные акценты), брендинг DTFPrime, палитра лого
   Этап 4.6: визуальный язык «CMYK Bold» — шрифты
   Manrope/Unbounded (self-host), текст-лого CMYK,
   халтоновый hero, лейблы секций, чёрные кнопки
   ============================================== */

/* --- Дизайн-токены (CSS-переменные) --- */
:root {
        /* Бренд-палитра из лого (CMYK) */
        --c-cyan: #00A0E3;
        --c-magenta: #E5097F;
        --c-yellow: #FFED00;
        --c-black: #0A0A0A;
        --c-dark: #151515;
        --c-white: #FFFFFF;

        /* Светлая база (гибрид: контент/магазин) */
        --c-bg: #F5F7FA;
        --c-text: #1A1A1A;
        --c-gray: #666666;
        --c-border: #E0E0E0;
        --c-accent: var(--c-cyan);

        /* Производные */
        --c-cyan-dark: #0077A8;
        --c-cyan-hover: #0087C1;
        --c-cyan-tint: rgba(0, 160, 227, 0.08);
        --c-cyan-soft: rgba(0, 160, 227, 0.12);
        --c-error: #E53935;

        /* Служебные серые (этап 4.6) */
        --c-divider: #E5E5E5;
        --c-hero-subtitle: #B5B5B5;
        --c-hero-badge: #9A9A9A;
        --c-footer-heading: #8A8A8A;
        --c-footer-link: #CFCFCF;

        /* Статусные цвета DTF-заказов (фронт; админ дублирует hex в class-orders.php) */
        --st-awaiting: var(--c-yellow);
        --st-paid: #2E7D32;
        --st-printing: var(--c-accent);
        --st-ready: #00C853;
        --st-shipped: #1565C0;
        --st-awaiting-art: #E65100;
        --st-neutral: #646970;
        --st-warning: #F0B849;
        --st-done: #1E6A34;

        /* Типографика (этап 4.6: self-host Manrope + Unbounded) */
        --font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                Roboto, 'Helvetica Neue', Arial, sans-serif;
        --font-display: 'Unbounded', 'Manrope', -apple-system, BlinkMacSystemFont,
                'Segoe UI', Roboto, Arial, sans-serif;
        --font-size-base: 16px;
        --line-height-base: 1.5;

        /* Контейнер */
        --container-max: 1200px;
        --container-padding: 20px;

        /* Скругления */
        --radius-sm: 4px;
        --radius-md: 8px;
        --radius-lg: 12px;
        --radius-xl: 16px;
        --radius-btn: 10px;

        /* Тени */
        --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.08);
        --shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.12);
        --shadow-lift: 0 12px 32px rgba(0, 0, 0, 0.10);
        --shadow-header: 0 2px 12px rgba(0, 0, 0, 0.06);

        /* Переходы */
        --transition-fast: 150ms ease;
        --transition-base: 250ms ease;

        /* Неоновое свечение (тёмные блоки) */
        --glow-cyan: 0 0 12px rgba(0, 160, 227, 0.5);
        --glow-magenta: 0 0 12px rgba(229, 9, 127, 0.5);
}

/* --- Reset --- */
*,
*::before,
*::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
}

html {
        font-size: var(--font-size-base);
        line-height: var(--line-height-base);
        -webkit-text-size-adjust: 100%;
        scroll-behavior: smooth;
}

body {
        font-family: var(--font-body);
        color: var(--c-text);
        background-color: var(--c-white);
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
}

/* Светлая база для контента и магазина (принцип гибрида) */
body.woocommerce,
body.woocommerce-page,
body.single,
body.archive,
body.blog,
body.search {
        background-color: var(--c-bg);
}

img,
video,
svg {
        display: block;
        max-width: 100%;
        height: auto;
}

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

a:hover {
        text-decoration: underline;
}

ul,
ol {
        list-style: none;
}

button {
        font: inherit;
        cursor: pointer;
        border: none;
        background: none;
}

input,
textarea,
select {
        font: inherit;
}

/* --- Focus-visible (доступность) --- */
:focus-visible {
        outline: 2px solid var(--c-accent);
        outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
        outline: 2px solid var(--c-accent);
        outline-offset: 2px;
}

/* --- Утилиты --- */
.screen-reader-text {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        word-wrap: normal !important;
}

.container {
        max-width: var(--container-max);
        margin-left: auto;
        margin-right: auto;
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
}

.section {
        padding: 64px 0 80px 0;
}

/* Секция-подложка на светлой базе */
.section--gray {
        background-color: var(--c-bg);
}

.section__title {
        font-family: var(--font-display);
        font-size: 2.5rem;
        font-weight: 800;
        line-height: 1.15;
        text-align: center;
        margin-bottom: 48px;
        color: var(--c-black);
}

/* Волна 5: надзаголовки-лейблы секций (этап 4.6) удалены по просьбе владельца;
   вместе с ними уменьшены верхние паддинги секций — заголовки поднялись выше. */

/* ==============================================
   Кнопки (единый стиль: primary/accent — циан,
   secondary — с рамкой, dark — для жёлтого CTA)
   ============================================== */

.btn {
        display: inline-block;
        padding: 14px 32px;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.4;
        text-align: center;
        text-decoration: none;
        border: 2px solid transparent;
        border-radius: var(--radius-sm);
        cursor: pointer;
        transition: background-color var(--transition-fast),
                color var(--transition-fast),
                border-color var(--transition-fast),
                box-shadow var(--transition-fast);
}

.btn:hover {
        text-decoration: none;
}

/* Primary = фирменный циан */
.btn--primary {
        background-color: var(--c-accent);
        color: var(--c-white);
}

.btn--primary:hover {
        background-color: var(--c-cyan-dark);
}

.btn--accent {
        background-color: var(--c-accent);
        color: var(--c-white);
}

.btn--accent:hover {
        background-color: var(--c-cyan-dark);
        color: var(--c-white);
}

.btn--white {
        background-color: var(--c-white);
        color: var(--c-dark);
        border-color: var(--c-white);
}

.btn--white:hover {
        background-color: transparent;
        color: var(--c-white);
        border-color: var(--c-white);
}

/* Ghost — прозрачная с белой рамкой (secondary в hero, этап 4.6) */
.btn--ghost {
        background-color: transparent;
        color: var(--c-white);
        border-color: rgba(255, 255, 255, 0.7);
}

.btn--ghost:hover {
        background-color: rgba(255, 255, 255, 0.12);
        color: var(--c-white);
        border-color: var(--c-white);
}

/* Dark — кнопка на жёлтом CTA-блоке */
.btn--dark {
        background-color: var(--c-black);
        color: var(--c-white);
}

.btn--dark:hover {
        background-color: var(--c-dark);
}

/* Secondary — с рамкой, циановый акцент */
.btn--outline {
        background-color: transparent;
        color: var(--c-accent);
        border-color: var(--c-accent);
}

.btn--outline:hover {
        background-color: var(--c-accent);
        color: var(--c-white);
        border-color: var(--c-accent);
}

.btn--sm {
        padding: 8px 18px;
        font-size: 0.875rem;
}

/* ==============================================
   Промо-полоска (тёмная + жёлтый текст бренда)
   ============================================== */

.promo-bar {
        background-color: var(--c-black);
        color: var(--c-yellow);
        padding: 10px 0;
        text-align: center;
        font-size: 0.9375rem;
        font-weight: 600;
}

.promo-bar__text {
        margin: 0;
}

/* ==============================================
   Шапка
   Белая база; на главной — прозрачная над hero
   с переходом в белую при скролле (.is-scrolled)
   ============================================== */

.site-header {
        background-color: var(--c-white);
        border-bottom: 1px solid var(--c-border);
        position: sticky;
        top: 0;
        z-index: 100;
        transition: background-color var(--transition-base),
                border-color var(--transition-base),
                box-shadow var(--transition-base);
}

.site-header.is-scrolled {
        box-shadow: var(--shadow-header);
}

/* Волна 2 (жалоба владельца на чекаут): у залогиненного админ-бар —
   fixed сверху (32px, на мобиле 46px) с z-index:99999. Sticky-шапка с
   top:0 заезжала ПОД него — лого/меню «обрезались», тёмная полоса с
   пунктами выглядела как контент, просвечивающий за шапкой. Прилипаем
   строго НИЖЕ бара (высоту задаёт сам WP). */
.admin-bar .site-header {
        top: var(--wp-admin--admin-bar--height, 32px);
}

/* Все не-главные страницы: плотная непрозрачная шапка — контент под
   sticky-колонку не просвечивает (прозрачность остаётся только на .home) */
body:not(.home) .site-header {
        background-color: var(--c-white);
        border-bottom-color: var(--c-border);
        isolation: isolate;
}

.site-header.is-scrolled .site-header__inner {
        height: 58px;
}

.site-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 70px;
        gap: 20px;
        transition: height var(--transition-base);
}

/* Текстовая версия лого CMYK (этап 4.6) */
.site-header__logo {
        display: flex;
        align-items: baseline;
        gap: 14px;
        min-width: 0;
}

.site-header__logo-text {
        font-family: var(--font-display);
        font-size: 24px;
        font-weight: 800;
        line-height: 1;
        letter-spacing: 0.5px;
        white-space: nowrap;
        text-decoration: none;
}

.site-header__logo-text:hover {
        text-decoration: none;
        opacity: 0.9;
}

.logo-cmyk--d { color: var(--c-cyan); }
.logo-cmyk--t { color: var(--c-magenta); }
.logo-cmyk--f { color: var(--c-yellow); }
.logo-cmyk--prime { color: var(--c-black); }

/* Главная: прозрачная шапка над тёмным hero */
.home .site-header:not(.is-scrolled) {
        background-color: transparent;
        border-bottom-color: transparent;
        box-shadow: none;
}

.home .site-header:not(.is-scrolled) .logo-cmyk--prime {
        color: var(--c-white);
}

.home .site-header:not(.is-scrolled) .nav-menu a {
        color: var(--c-white);
}

.home .site-header:not(.is-scrolled) .site-header__phone,
.home .site-header:not(.is-scrolled) .site-header__icon {
        color: var(--c-white);
}

.home .site-header:not(.is-scrolled) .burger:not(.is-active) .burger__line {
        background-color: var(--c-white);
}

.home .site-header:not(.is-scrolled) .site-header__logo-text:hover,
.home .site-header:not(.is-scrolled) .nav-menu a:hover,
.home .site-header:not(.is-scrolled) .nav-menu a.current-menu-item,
.home .site-header:not(.is-scrolled) .site-header__icon:hover {
        color: var(--c-accent);
}

.site-header__nav {
        flex: 1;
}

/* Шапка мобильной панели (лого + крестик) — показывается только <768px (этап 4.7) */
.site-header__nav-head {
        display: none;
}

.nav-menu {
        display: flex;
        align-items: center;
        gap: 28px;
}

.nav-menu a {
        font-size: 0.9375rem;
        font-weight: 500;
        color: var(--c-text);
        padding: 8px 0;
        transition: color var(--transition-fast);
        position: relative;
}

/* Hover — циановое подчёркивание */
.nav-menu a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background-color: var(--c-accent);
        transition: width var(--transition-base);
}

.nav-menu a:hover::after,
.nav-menu a.current-menu-item::after {
        width: 100%;
}

.nav-menu a:hover,
.nav-menu a.current-menu-item {
        color: var(--c-accent);
        text-decoration: none;
}

.site-header__actions {
        display: flex;
        align-items: center;
        gap: 16px;
}

.site-header__phone {
        font-size: 0.875rem;
        font-weight: 600;
        white-space: nowrap;
}

.site-header__icon {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--c-dark);
        transition: color var(--transition-fast);
}

.site-header__icon:hover {
        color: var(--c-accent);
        text-decoration: none;
}

.cart-count {
        position: absolute;
        top: -6px;
        right: -8px;
        background-color: var(--c-magenta);
        color: var(--c-white);
        font-size: 0.6875rem;
        font-weight: 700;
        min-width: 18px;
        height: 18px;
        line-height: 18px;
        text-align: center;
        border-radius: 50%;
}

/* Бургер-меню (скрыт на десктопе) */
.burger {
        display: none;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 28px;
        height: 28px;
}

.burger__line {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--c-dark);
        border-radius: 2px;
        transition: transform var(--transition-base),
                opacity var(--transition-base),
                background-color var(--transition-base);
}

.burger.is-active .burger__line:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
}

.burger.is-active .burger__line:nth-child(2) {
        opacity: 0;
}

.burger.is-active .burger__line:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
}

/* ==============================================
   Hero (тёмный, CMYK-подсветка в углах)
   Только главная: заезжает под прозрачную шапку
   ============================================== */

.hero {
        position: relative;
        background-color: var(--c-black);
        background-size: cover;
        background-position: center;
        color: var(--c-white);
        padding: 170px 0 100px;
        min-height: 450px;
        display: flex;
        align-items: center;
        overflow: hidden;
        margin-top: -70px;
}

/* Халтоновый CMYK-паттерн: три слоя точек + виньетка (этап 4.6) */
.hero__pattern {
        position: absolute;
        inset: 0;
        pointer-events: none;
}

.hero__dots {
        position: absolute;
        inset: 0;
}

/* Циановая решётка точек — левый верх */
.hero__dots--cyan {
        background-image: radial-gradient(circle, rgba(0, 160, 227, 0.20) 1.5px, transparent 1.6px);
        background-size: 18px 18px;
        -webkit-mask-image: radial-gradient(circle at 6% 10%, var(--c-black) 0%, transparent 55%);
        mask-image: radial-gradient(circle at 6% 10%, var(--c-black) 0%, transparent 55%);
}

/* Магентовая решётка — правый низ (смещение шага 9px против муара) */
.hero__dots--magenta {
        background-image: radial-gradient(circle, rgba(229, 9, 127, 0.18) 1.5px, transparent 1.6px);
        background-size: 18px 18px;
        background-position: 9px 9px;
        -webkit-mask-image: radial-gradient(circle at 94% 94%, var(--c-black) 0%, transparent 55%);
        mask-image: radial-gradient(circle at 94% 94%, var(--c-black) 0%, transparent 55%);
}

/* Жёлтая — редкая (шаг 36px), центр; слегка мерцает (пульс opacity) */
.hero__dots--yellow {
        background-image: radial-gradient(circle, rgba(255, 237, 0, 0.20) 1.5px, transparent 1.6px);
        background-size: 36px 36px;
        background-position: 18px 6px;
        -webkit-mask-image: radial-gradient(circle at 50% 46%, var(--c-black) 0%, transparent 42%);
        mask-image: radial-gradient(circle at 50% 46%, var(--c-black) 0%, transparent 42%);
        animation: dtfprime-yellow-pulse 4.5s ease-in-out infinite alternate;
}

@keyframes dtfprime-yellow-pulse {
        from { opacity: 0.55; }
        to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
        .hero__dots--yellow {
                animation: none;
        }
}

/* Лёгкое затемнение к краям */
.hero__vignette {
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse at center, transparent 52%, rgba(0, 0, 0, 0.4) 100%);
}

.hero__inner {
        position: relative;
        z-index: 1;
        max-width: 760px;
}

.hero__title {
        font-family: var(--font-display);
        font-size: 4rem;
        font-weight: 800;
        line-height: 1.12;
        margin-bottom: 20px;
        color: var(--c-white);
}

/* Первое слово H1 — градиент cyan → magenta */
.hero__title-accent {
        color: var(--c-cyan);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
        .hero__title-accent {
                background-image: linear-gradient(92deg, var(--c-cyan) 10%, var(--c-magenta) 90%);
                -webkit-background-clip: text;
                background-clip: text;
                -webkit-text-fill-color: transparent;
                color: transparent;
        }
}

.hero__subtitle {
        font-size: 1.125rem;
        line-height: 1.6;
        margin-bottom: 36px;
        max-width: 520px;
        color: var(--c-hero-subtitle);
}

/* Кнопки hero: primary cyan + secondary ghost (этап 4.6) */
.hero .btn {
        padding: 16px 32px;
        border-radius: var(--radius-lg);
        font-weight: 700;
        transition: background-color var(--transition-fast),
                border-color var(--transition-fast),
                color var(--transition-fast),
                transform var(--transition-fast);
}

.hero .btn:hover {
        transform: translateY(-2px);
}

.hero .btn--primary:hover {
        background-color: var(--c-cyan-hover);
        border-color: var(--c-cyan-hover);
}

.hero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        margin-bottom: 28px;
}

/* Строка бейджей под кнопками */
.hero__badges {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
}

.hero__badges li {
        display: inline-flex;
        align-items: center;
        font-size: 0.875rem;
        color: var(--c-hero-badge);
}

.hero__badges li + li::before {
        content: '';
        display: inline-block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background-color: var(--c-cyan);
        margin: 0 14px;
}

/* ==============================================
   Услуги (карточки-ссылки, иконки в цветных кругах
   CMYK: cyan / magenta / yellow)
   ============================================== */

.services__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
}

.services__card {
        position: relative;
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-top: 4px solid var(--c-cyan);
        border-radius: var(--radius-lg);
        padding: 36px 28px;
        text-align: center;
        transition: transform var(--transition-base),
                box-shadow var(--transition-base);
        text-decoration: none;
        display: block;
}

/* Верхняя цветная полоса 4px: cyan / magenta / yellow по очереди */
.services__card:nth-child(2) {
        border-top-color: var(--c-magenta);
}

.services__card:nth-child(3) {
        border-top-color: var(--c-yellow);
}

.services__card:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow-lift);
        text-decoration: none;
}

.services__card-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 76px;
        height: 76px;
        border-radius: 50%;
        margin-bottom: 20px;
}

/* Каждой карточке — свой цвет круга (cyan/magenta/yellow) */
.services__card:nth-child(1) .services__card-icon {
        background-color: rgba(0, 160, 227, 0.12);
        color: var(--c-cyan);
}

.services__card:nth-child(2) .services__card-icon {
        background-color: rgba(229, 9, 127, 0.1);
        color: var(--c-magenta);
}

.services__card:nth-child(3) .services__card-icon {
        background-color: rgba(255, 237, 0, 0.22);
        color: var(--c-dark);
}

.services__card-title {
        font-family: var(--font-display);
        font-size: 1.25rem;
        font-weight: 800;
        margin-bottom: 12px;
        color: var(--c-black);
}

.services__card-text {
        font-size: 0.9375rem;
        color: var(--c-gray);
        line-height: 1.6;
        margin-bottom: 16px;
}

.services__card-link {
        font-size: 0.875rem;
        font-weight: 700;
        color: var(--c-accent);
        transition: color var(--transition-fast);
}

.services__card-link::after {
        content: ' →';
}

.services__card:hover .services__card-link {
        color: var(--c-cyan-dark);
}

/* ==============================================
   Секция калькулятора (светлая база)
   ============================================== */

.calc-cta {
        background: var(--c-bg);
        padding: 64px 0 80px 0;
}

.calc-cta__inner {
        max-width: 100%;
}

.calc-cta__title {
        font-family: var(--font-display);
        font-size: 2rem;
        font-weight: 800;
        color: var(--c-black);
        margin-bottom: 12px;
        text-align: center;
}

.calc-cta__text {
        font-size: 1.0625rem;
        color: var(--c-gray);
        line-height: 1.6;
        margin-bottom: 32px;
        text-align: center;
}

/* ==============================================
   Как это работает (цифры в цветных кругах
   cyan → magenta → yellow → cyan)
   ============================================== */

.steps__grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
        position: relative;
}

.steps__item {
        text-align: center;
        padding: 0 20px;
        position: relative;
}

.steps__number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background-color: var(--c-cyan);
        color: var(--c-white);
        font-size: 1.375rem;
        font-weight: 800;
        margin-bottom: 20px;
        position: relative;
        z-index: 2;
}

.steps__item:nth-child(2) .steps__number {
        background-color: var(--c-magenta);
}

.steps__item:nth-child(3) .steps__number {
        background-color: var(--c-yellow);
        color: var(--c-black);
}

.steps__item:nth-child(4) .steps__number {
        background-color: var(--c-cyan);
}

.steps__connector {
        position: absolute;
        top: 26px;
        left: calc(50% + 26px);
        width: calc(100% - 52px);
        height: 2px;
        background-color: var(--c-accent);
        opacity: 0.3;
        z-index: 1;
}

.steps__item--last .steps__connector {
        display: none;
}

.steps__title {
        font-size: 1.0625rem;
        font-weight: 700;
        margin-bottom: 8px;
        color: var(--c-text);
}

.steps__text {
        font-size: 0.875rem;
        color: var(--c-gray);
        line-height: 1.6;
}

/* Сноска к шагам («Как это работает»): срок зависит от загрузки производства */
.steps__note {
        margin-top: 24px;
        text-align: center;
        font-size: 0.8125rem;
        color: var(--c-gray);
}

/* ==============================================
   Галерея работ (светлая сетка, подписи серые)
   ============================================== */

.gallery__grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
}

.gallery__item {}

.gallery__placeholder {
        aspect-ratio: 1 / 1;
        background-color: var(--c-bg);
        border: 1px dashed var(--c-border);
        border-radius: var(--radius-md);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--c-gray);
        font-size: 0.8125rem;
        font-weight: 500;
}

/* Волна 6: фото работ — прямые URL на /wp-content/uploads/portfolio-N.jpg
   (файлы заливает владелец; пока файла нет — остаётся серая заглушка,
   фон просто не отрисовывается). Смена плейсхолдеров «Работа #00N» на
   нейтральные подписи (дублируют dtfprime_homepage_content → gallery.images). */
.gallery__item .gallery__placeholder {
        position: relative;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
}

.gallery__item .gallery__placeholder span {
        display: none;
}

.gallery__item .gallery__placeholder::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 6px 10px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: var(--c-white);
        background-color: rgba(10, 10, 10, 0.55);
        border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.gallery__item:nth-child(1) .gallery__placeholder {
        background-image: url('/wp-content/uploads/portfolio-1.jpg');
}

.gallery__item:nth-child(1) .gallery__placeholder::after {
        content: 'DTF-трансферы';
}

.gallery__item:nth-child(2) .gallery__placeholder {
        background-image: url('/wp-content/uploads/portfolio-2.jpg');
}

.gallery__item:nth-child(2) .gallery__placeholder::after {
        content: 'Рулонная печать';
}

.gallery__item:nth-child(3) .gallery__placeholder {
        background-image: url('/wp-content/uploads/portfolio-3.jpg');
}

.gallery__item:nth-child(3) .gallery__placeholder::after {
        content: 'Нанесение на текстиль';
}

.gallery__item:nth-child(4) .gallery__placeholder {
        background-image: url('/wp-content/uploads/portfolio-4.jpg');
}

.gallery__item:nth-child(4) .gallery__placeholder::after {
        content: 'Печать на одежде';
}

.gallery__note {
        text-align: center;
        font-size: 0.875rem;
        color: var(--c-gray);
        margin-top: 20px;
}

/* ==============================================
   Отзывы (светлые карточки, звёзды жёлтые)
   ============================================== */

.reviews__grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
}

.reviews__card {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        padding: 28px 24px;
}

.reviews__stars {
        display: flex;
        gap: 2px;
        margin-bottom: 16px;
}

/* Звёзды — бренд-жёлтый (перекрывает fill в разметке) */
.reviews__stars svg {
        fill: var(--c-yellow);
}

.reviews__text {
        font-size: 0.9375rem;
        color: var(--c-gray);
        line-height: 1.7;
        margin-bottom: 16px;
        font-style: italic;
}

.reviews__name {
        font-size: 0.9375rem;
        font-weight: 700;
        color: var(--c-text);
}

/* ==============================================
   Частые вопросы (FAQ) — аккордеон на нативных
   <details>/<summary>, без JS (волна 7)
   ============================================== */

.faq__list {
        display: grid;
        gap: 12px;
        max-width: 800px;
        margin: 0 auto;
}

.faq__item {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
}

.faq__question {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 20px 24px;
        font-size: 1rem;
        font-weight: 700;
        color: var(--c-text);
        cursor: pointer;
        list-style: none;
        transition: color var(--transition-base);
}

/* Скрываем штатный маркер disclosure-виджета */
.faq__question::-webkit-details-marker {
        display: none;
}

/* Иконка-переключатель: «+» закрыт, «−» открыт */
.faq__question::after {
        content: '+';
        flex-shrink: 0;
        font-size: 1.5rem;
        font-weight: 800;
        line-height: 1;
        color: var(--c-accent);
}

.faq__question:hover {
        color: var(--c-accent);
}

.faq__item[open] .faq__question {
        color: var(--c-accent);
}

.faq__item[open] .faq__question::after {
        content: '\2212';
}

.faq__answer {
        padding: 0 24px 20px;
        font-size: 0.9375rem;
        line-height: 1.7;
        color: var(--c-gray);
}

.faq__answer p {
        margin: 0;
}

@media (max-width: 600px) {
        .faq__question {
                padding: 16px 18px;
        }

        .faq__answer {
                padding: 0 18px 16px;
        }
}

/* ==============================================
   CTA Бесплатный образец (жёлтый блок,
   чёрный текст, кнопка чёрная)
   ============================================== */

.sample-cta {
        background-color: var(--c-yellow);
        padding: 80px 0;
}

.sample-cta__inner {
        text-align: center;
        max-width: 600px;
        margin: 0 auto;
}

.sample-cta__title {
        font-family: var(--font-display);
        font-size: 2rem;
        font-weight: 800;
        color: var(--c-black);
        margin-bottom: 12px;
}

/* Лейбл над H2 — на жёлтом блоке чёрный для контраста */
.sample-cta__title::before {
        content: 'БЕСПЛАТНЫЙ ОБРАЗЕЦ';
        display: block;
        font-family: var(--font-body);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--c-black);
        margin-bottom: 12px;
}

.sample-cta__text {
        font-size: 1.0625rem;
        color: var(--c-dark);
        line-height: 1.6;
        margin-bottom: 28px;
}

/* ==============================================
   Карточки записей (блог)
   ============================================== */

.posts-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
        margin-top: 0;
}

.post-card {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
        overflow: hidden;
        transition: box-shadow var(--transition-base),
                transform var(--transition-base);
}

.post-card:hover {
        box-shadow: var(--shadow-hover);
        transform: translateY(-3px);
}

.post-card__thumbnail a {
        display: block;
}

.post-card__thumbnail img {
        width: 100%;
        height: 200px;
        object-fit: cover;
}

.post-card__placeholder {
        aspect-ratio: 16 / 9;
        background-color: var(--c-border);
}

.post-card__body {
        padding: 20px;
}

.post-card__meta {
        font-size: 0.8125rem;
        color: var(--c-gray);
        margin-bottom: 8px;
}

.post-card__title {
        font-size: 1.125rem;
        font-weight: 700;
        margin-bottom: 8px;
        line-height: 1.3;
}

.post-card__title a {
        color: var(--c-text);
}

.post-card__title a:hover {
        color: var(--c-accent);
        text-decoration: none;
}

.post-card__excerpt {
        font-size: 0.9375rem;
        line-height: 1.6;
        color: var(--c-gray);
        margin-bottom: 12px;
}

.post-card__link {
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--c-accent);
        transition: color var(--transition-fast);
}

.post-card__link:hover {
        color: var(--c-cyan-dark);
        text-decoration: none;
}

/* ==============================================
   Внутренние страницы (entry-wrapper)
   ============================================== */

.entry-wrapper {
        padding: 48px 20px;
}

.entry-wrapper .entry-header {
        margin-bottom: 32px;
}

.entry-wrapper .entry-title {
        font-family: var(--font-display);
        font-size: 2.25rem;
        font-weight: 800;
        line-height: 1.2;
        margin-bottom: 16px;
        color: var(--c-black);
}

.entry-wrapper .entry-content {
        max-width: 720px;
        margin: 0 auto;
        font-size: 1.0625rem;
        line-height: 1.75;
        color: var(--c-text);
}

.page--fullwidth .entry-content {
        max-width: none;
}

#calculator {
        scroll-margin-top: 80px;
}

.entry-wrapper .entry-content h2 {
        font-size: 1.5rem;
        font-weight: 700;
        margin-top: 40px;
        margin-bottom: 16px;
}

.entry-wrapper .entry-content h3 {
        font-size: 1.25rem;
        font-weight: 700;
        margin-top: 32px;
        margin-bottom: 12px;
}

.entry-wrapper .entry-content p {
        margin-bottom: 20px;
}

.entry-wrapper .entry-content ul,
.entry-wrapper .entry-content ol {
        margin-bottom: 20px;
        padding-left: 24px;
}

.entry-wrapper .entry-content ul {
        list-style: disc;
}

.entry-wrapper .entry-content ol {
        list-style: decimal;
}

.entry-wrapper .entry-content li {
        margin-bottom: 8px;
}

/* Ссылки в тексте — циан, hover — темнее */
.entry-wrapper .entry-content a {
        color: var(--c-accent);
        text-decoration: underline;
        transition: color var(--transition-fast);
}

.entry-wrapper .entry-content a:hover {
        color: var(--c-cyan-dark);
}

.entry-wrapper .entry-content img {
        border-radius: var(--radius-md);
        margin: 24px 0;
}

.entry-wrapper .entry-meta {
        text-align: center;
        font-size: 0.875rem;
        color: var(--c-gray);
        margin-bottom: 32px;
}

.entry-wrapper .entry-thumbnail {
        margin-bottom: 32px;
}

.entry-wrapper .entry-thumbnail img {
        width: 100%;
        max-height: 400px;
        object-fit: cover;
        border-radius: var(--radius-lg);
}

/* Навигация записей */
.post-navigation {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        margin-top: 48px;
        padding-top: 24px;
        border-top: 1px solid var(--c-border);
}

.post-navigation .nav-subtitle {
        display: block;
        font-size: 0.8125rem;
        color: var(--c-gray);
        margin-bottom: 4px;
}

.post-navigation .nav-title {
        font-size: 1rem;
        font-weight: 600;
        color: var(--c-text);
}

.post-navigation a {
        text-decoration: none;
}

.post-navigation a:hover .nav-title {
        color: var(--c-accent);
}

/* Page links */
.page-links {
        margin-top: 32px;
}

/* ==============================================
   Архив
   ============================================== */

.archive-header {
        margin-bottom: 40px;
}

.archive-title {
        font-family: var(--font-display);
        font-size: 2.25rem;
        font-weight: 800;
        color: var(--c-black);
}

.archive-description {
        font-size: 1.0625rem;
        color: var(--c-gray);
        margin-top: 12px;
        max-width: 720px;
}

/* ==============================================
   WooCommerce — светлая база магазина
   ============================================== */

.woocommerce-wrapper {
        padding: 40px 20px;
}

.woocommerce-wrapper h1,
.woocommerce-wrapper h2 {
        font-weight: 800;
}

/* Хлебные крошки */
.woocommerce .woocommerce-breadcrumb {
        color: var(--c-gray);
        font-size: 0.875rem;
        margin-bottom: 24px;
}

.woocommerce .woocommerce-breadcrumb a {
        color: var(--c-gray);
        transition: color var(--transition-fast);
}

.woocommerce .woocommerce-breadcrumb a:hover {
        color: var(--c-accent);
}

/* Заголовок архива категории */
.woocommerce-products-header__title {
        font-family: var(--font-display);
        font-size: 2rem;
        font-weight: 800;
        color: var(--c-black);
        margin-bottom: 24px;
}

/* --- Каталог: карточки товаров (белые, hover подъём) --- */
.woocommerce ul.products {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;
        margin: 0 0 32px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
        display: none;
}

.woocommerce ul.products li.product {
        float: none;
        width: auto;
        margin: 0;
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        padding: 18px 18px 22px;
        text-align: left;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        transition: transform var(--transition-base),
                border-color var(--transition-base),
                box-shadow var(--transition-base);
}

.woocommerce ul.products li.product:hover {
        transform: translateY(-4px);
        border-color: var(--c-accent);
        box-shadow: var(--shadow-hover);
}

/* Фото-зона 4:5, hover-зум (обёртку .dtfprime-media добавляет main.js).
   Волна 4 — ЕДИНАЯ рамка у ВСЕХ карточек товара: фиксированный
   aspect-ratio 4:5, картинка ВПИСЫВАЕТСЯ (contain, не cover-обрезка),
   белая подложка скрывает letterbox (фото товаров на белом фоне).
   Правило на самой img — no-JS fallback; при активной обёртке
   .dtfprime-media её height:100% перекрывает aspect-ratio img. */
.woocommerce ul.products li.product a img {
        margin-bottom: 0;
        aspect-ratio: 4 / 5;
        object-fit: contain;
        width: 100%;
        background-color: var(--c-white);
        border-radius: var(--radius-md);
}

.dtfprime-media {
        aspect-ratio: 4 / 5;
        overflow: hidden;
        border-radius: var(--radius-md);
        margin-bottom: 14px;
        background-color: var(--c-white);
}

.dtfprime-media img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transition: transform 0.3s ease;
}

.woocommerce ul.products li.product:hover .dtfprime-media img {
        transform: scale(1.06);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
        color: var(--c-text);
        font-size: 1rem;
        font-weight: 600;
        padding: 0;
        margin-bottom: 8px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
        color: var(--c-accent);
}

/* Цена — циан 18px 800 */
.woocommerce ul.products li.product .price {
        color: var(--c-accent);
        font-size: 1.125rem;
        font-weight: 800;
        margin-bottom: 12px;
}

.woocommerce ul.products li.product .price del {
        color: var(--c-gray);
        font-weight: 400;
}

.woocommerce ul.products li.product .button {
        margin-top: auto;
        width: 100%;
        text-align: center;
        border-radius: var(--radius-btn);
}

/* Бейдж первой категории товара на карточке каталога */
.dtfprime-cat-badge {
        display: inline-block;
        margin-bottom: 8px;
        padding: 2px 8px;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.5;
        color: var(--c-accent);
        background-color: var(--c-cyan-soft);
        border-radius: 4px;
}

/* Бейдж распродажи */
.woocommerce span.onsale {
        background-color: var(--c-magenta);
        color: var(--c-white);
        font-weight: 700;
        border-radius: var(--radius-sm);
        min-height: auto;
        min-width: auto;
        padding: 4px 12px;
        line-height: 1.4;
        top: 12px;
        left: 12px;
        z-index: 5;
}

/* --- Карточка товара: галерея в белой карточке, панель покупки --- */
.woocommerce div.product div.images {
        margin-bottom: 32px;
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-xl);
        padding: 16px;
}

/* Миниатюры 72px, активная — циановая рамка */
.woocommerce div.product div.images .flex-control-thumbs {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
        float: none;
        width: auto;
        list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
        width: 72px;
        height: 72px;
        object-fit: cover;
        border-radius: var(--radius-md);
        border: 2px solid transparent;
        cursor: pointer;
        transition: border-color var(--transition-fast),
                opacity var(--transition-fast);
}

.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover {
        border-color: var(--c-cyan);
        opacity: 1;
}

.woocommerce div.product div.summary {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-xl);
        padding: 24px;
        margin-bottom: 32px;
}

.woocommerce div.product .product_title {
        font-family: var(--font-display);
        font-size: 1.75rem;
        font-weight: 800;
        color: var(--c-black);
        line-height: 1.2;
}

/* Цена крупно (32px), циан */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
        color: var(--c-accent);
        font-size: 2rem;
        font-weight: 800;
}

.woocommerce div.product p.price del {
        color: var(--c-gray);
        font-size: 0.6em;
        font-weight: 400;
}

.woocommerce div.product p.price ins {
        text-decoration: none;
}

.woocommerce div.product div.summary > .woocommerce-product-details__short-description {
        color: var(--c-gray);
        font-size: 0.9375rem;
}

.woocommerce div.product form.cart {
        margin-top: 20px;
}

/* «В корзину» — циановая 700 на всю ширину панели, hover тёмный циан
   (волна 6: чёрные CTA в магазине переведены на фирменный циан) */
.woocommerce div.product form.cart .single_add_to_cart_button {
        width: 100%;
        padding: 14px 32px;
        font-size: 1rem;
        font-weight: 700;
        background-color: var(--c-accent);
        color: var(--c-white);
        border: 2px solid var(--c-accent);
        border-radius: var(--radius-btn);
        transition: background-color var(--transition-fast),
                border-color var(--transition-fast);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
        background-color: var(--c-cyan-dark);
        border-color: var(--c-cyan-dark);
}

.woocommerce div.product form.cart button.single_add_to_cart_button:disabled {
        background-color: var(--c-border);
        border-color: var(--c-border);
        color: var(--c-gray);
        cursor: not-allowed;
}

/* Чипы размеров (этап 4.6): select скрыт, чипы синхронизированы с Woo */
.variations select.dtfprime-chips-source {
        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;
        white-space: nowrap !important;
        border: 0 !important;
}

.dtfprime-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: 10px 0 4px;
}

.dtfprime-chip {
        padding: 8px 16px;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--c-text);
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
        transition: background-color var(--transition-fast),
                color var(--transition-fast),
                border-color var(--transition-fast),
                opacity var(--transition-fast);
}

.dtfprime-chip:hover:not(.is-active):not(.is-disabled) {
        border-color: var(--c-accent);
}

/* Выбранный размер — циан с белым текстом (волна 6, был чёрный) */
.dtfprime-chip.is-active {
        background-color: var(--c-accent);
        border-color: var(--c-accent);
        color: var(--c-white);
}

.dtfprime-chip.is-disabled {
        color: var(--c-hero-subtitle);
        text-decoration: line-through;
        opacity: 0.55;
        cursor: not-allowed;
}

.woocommerce div.product .product_meta {
        font-size: 0.875rem;
        color: var(--c-gray);
        padding-top: 16px;
        border-top: 1px solid var(--c-border);
}

.woocommerce div.product .product_meta a {
        color: var(--c-accent);
}

.woocommerce div.product .product_meta a:hover {
        color: var(--c-cyan-dark);
}

/* Табы описания товара */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
        background-color: transparent;
        border-color: var(--c-border);
        border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
        background-color: var(--c-white);
        border-bottom-color: var(--c-white);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
        color: var(--c-gray);
        font-weight: 600;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
        color: var(--c-text);
}

.woocommerce div.product .woocommerce-tabs .panel {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: 0 var(--radius-lg) var(--radius-lg);
        padding: 24px;
}

/* Связанные товары */
.woocommerce .related.products,
.woocommerce .upsells.products {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        padding: 28px;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
        font-size: 1.375rem;
        font-weight: 700;
        color: var(--c-text);
}

/* --- Кнопки Woo → циановые 700, hover тёмный циан
       (этап 4.6: каталог/корзина/чекаут; волна 6: чёрный → фирменный циан —
       кнопки карточек каталога и блока «Новинки магазина» в пустой корзине) --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
        background-color: var(--c-accent);
        color: var(--c-white);
        border: 2px solid var(--c-accent);
        border-radius: var(--radius-btn);
        font-weight: 700;
        padding: 12px 28px;
        transition: background-color var(--transition-fast),
                color var(--transition-fast),
                border-color var(--transition-fast);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
        background-color: var(--c-cyan-dark);
        color: var(--c-white);
        border-color: var(--c-cyan-dark);
}

/* Disabled-кнопки Woo */
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt:disabled {
        background-color: var(--c-border);
        border-color: var(--c-border);
        color: var(--c-gray);
}

/* --- Сообщения Woo (store notices) — стиль темы (переработано в 4.9-Ф):
       без дефолтной рамки Woo сверху, тинт-фон, левый акцент-бордер,
       своя круглая иконка вместо Woo-иконки из шрифта WooCommerce --- */
.woocommerce-message,
.woocommerce-info {
        border: 0;
        border-left: 4px solid var(--c-accent);
        border-radius: var(--radius-md);
        background-color: var(--c-cyan-tint);
        color: var(--c-text);
        padding: 14px 18px 14px 48px;
        position: relative;
        overflow: hidden;
}

.woocommerce-error {
        border: 0;
        border-left: 4px solid var(--c-magenta);
        border-radius: var(--radius-md);
        background-color: rgba(229, 9, 127, 0.06);
        color: var(--c-text);
        padding: 14px 18px 14px 48px;
        position: relative;
        overflow: hidden;
}

/* Своя иконка (круг с ✓ / !) вместо дефолтной Woo-галочки (\e015) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
        content: '✓';
        font-family: var(--font-body);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        font-size: 12px;
        font-weight: 800;
        line-height: 1;
        position: absolute;
        top: 15px;
        left: 16px;
        color: var(--c-accent);
        background-color: var(--c-cyan-soft);
}

.woocommerce-error::before {
        content: '!';
        color: var(--c-magenta);
        background-color: rgba(229, 9, 127, 0.12);
}

/* --- Пагинация Woo --- */
.woocommerce nav.woocommerce-pagination ul {
        display: flex;
        justify-content: center;
        gap: 8px;
        border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
        border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        height: 40px;
        padding: 0 8px;
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        font-size: 0.9375rem;
        color: var(--c-text);
        background-color: var(--c-white);
        transition: background-color var(--transition-fast),
                border-color var(--transition-fast);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
        background-color: var(--c-dark);
        color: var(--c-white);
        border-color: var(--c-dark);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
        background-color: var(--c-bg);
        border-color: var(--c-accent);
}

/* --- Корзина: таблица на белой карточке --- */
.woocommerce table.shop_table {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        border-collapse: separate;
        border-spacing: 0;
}

.woocommerce table.shop_table th {
        font-weight: 700;
        color: var(--c-text);
}

.woocommerce table.shop_table td {
        border-top: 1px solid var(--c-divider);
}

.woocommerce table.shop_table img {
        width: 64px;
        border-radius: var(--radius-md);
}

.woocommerce table.shop_table .product-name .variation,
.woocommerce table.shop_table dd.variation {
        color: var(--c-gray);
        font-size: 0.8125rem;
}

.woocommerce table.shop_table .product-name dd.variation p {
        margin: 0 0 2px;
}

/* Плашка «Ожидаем макет» — жёлтый бейдж (глобально: корзина, чекаут, карточка товара) */
.dtfprime-awaiting-art {
        display: inline-block;
        background-color: rgba(255, 237, 0, 0.18);
        color: var(--c-dark);
        border: 1px solid var(--c-yellow);
        border-radius: 6px;
        padding: 2px 10px;
        font-size: 0.8125rem;
        font-weight: 600;
}

/* Количество */
.woocommerce .quantity .qty {
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        padding: 6px 8px;
}

/* Итого */
.cart-collaterals .cart_totals {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        padding: 24px;
        width: 100% !important;
        float: none;
}

.cart-collaterals .cart_totals h2 {
        font-weight: 800;
        color: var(--c-text);
}

.cart-collaterals .cart_totals table {
        border: none;
}

/* Плашка «Ожидаем макет» рендерится из product.css (.dtfprime-awaiting-art) */

/* --- Чекаут: аккуратные поля, циановый focus --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
        padding: 10px 14px;
        background-color: var(--c-white);
        color: var(--c-text);
        transition: border-color var(--transition-fast),
                box-shadow var(--transition-fast);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form .form-row input.input-text:focus,
.woocommerce-page form .form-row textarea:focus,
.woocommerce-page form .form-row select:focus {
        outline: none;
        border-color: var(--c-accent);
        box-shadow: 0 0 0 2px rgba(0, 160, 227, 0.15);
}

.woocommerce form .form-row label {
        color: var(--c-text);
        font-weight: 600;
}

.woocommerce form .form-row .required {
        color: var(--c-magenta);
}

/* Select2 (страна/область) */
.select2-container--default .select2-selection--single {
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
        height: 42px;
        background-color: var(--c-white);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 40px;
        color: var(--c-text);
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 40px;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
        border-color: var(--c-accent);
        box-shadow: 0 0 0 2px rgba(0, 160, 227, 0.15);
}

.select2-dropdown {
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
}

/* Способы оплаты — карточки, выбранный — циановая рамка */
.woocommerce-checkout #payment {
        background-color: var(--c-white);
        border-radius: var(--radius-lg);
}

.woocommerce-checkout #payment ul.payment_methods {
        border-bottom: 1px solid var(--c-border);
}

.woocommerce-checkout #payment ul.payment_methods li {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-md);
        margin-bottom: 10px;
        padding: 14px 16px;
        list-style: none;
        transition: border-color var(--transition-fast),
                box-shadow var(--transition-fast);
}

.woocommerce-checkout #payment ul.payment_methods li:has(input[name="payment_method"]:checked) {
        border-color: var(--c-accent);
        box-shadow: 0 0 0 1px var(--c-accent);
}

.woocommerce-checkout #payment ul.payment_methods li label {
        font-weight: 600;
        color: var(--c-text);
}

.woocommerce-checkout #payment div.payment_box {
        background-color: var(--c-bg);
        border-radius: var(--radius-md);
        color: var(--c-gray);
}

.woocommerce-checkout #payment div.payment_box::before {
        border-bottom-color: var(--c-bg);
}

.woocommerce-checkout #payment .place-order {
        border-top: none;
}

/* Order review таблица на чекауте */
.woocommerce-checkout-review-order-table {
        background-color: var(--c-white);
}

/* --- Thank you (order received) --- */
.woocommerce-order-received .woocommerce-thankyou-order-received {
        color: var(--c-text);
}

.woocommerce-order-overview.woocommerce-thankyou-order-details {
        background-color: var(--c-white);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-lg);
        padding: 24px 28px;
        margin-bottom: 32px;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li {
        border-bottom: 1px dashed var(--c-border);
        font-size: 0.9375rem;
        color: var(--c-gray);
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
        color: var(--c-text);
}

/* Номер заказа крупно */
.woocommerce-order-overview__order strong {
        font-size: 1.375rem;
        font-weight: 800;
}

/* --- Бейджи DTF-статусов (синхронно с админ-колонкой заказов; токены --st-*) --- */
.dtfprime-thankyou-status {
        margin-bottom: 20px;
}

mark.dtfprime-badge {
        display: inline-block;
        padding: 3px 10px;
        border-radius: var(--radius-sm);
        font-weight: 600;
        font-size: 12px;
        color: var(--c-white);
        background-color: var(--st-neutral);
}

mark.dtfprime-badge--dtf-awaiting {
        background-color: var(--st-awaiting);
        color: var(--c-black);
}

mark.dtfprime-badge--dtf-paid { background-color: var(--st-paid); }

mark.dtfprime-badge--dtf-printing { background-color: var(--st-printing); }

mark.dtfprime-badge--dtf-ready { background-color: var(--st-ready); }

mark.dtfprime-badge--dtf-shipped { background-color: var(--st-shipped); }

mark.dtfprime-badge--dtf-awaiting-art { background-color: var(--st-awaiting-art); }

mark.dtfprime-badge--pending,
mark.dtfprime-badge--cancelled,
mark.dtfprime-badge--failed,
mark.dtfprime-badge--on-hold {
        background-color: var(--st-warning);
        color: var(--c-black);
}

mark.dtfprime-badge--completed { background-color: var(--st-done); }

mark.dtfprime-badge--processing,
mark.dtfprime-badge--refunded { background-color: var(--st-neutral); }

/* --- Форма поиска Woo --- */
.woocommerce-product-search {
        display: flex;
        gap: 8px;
}

.woocommerce-product-search input[type="search"] {
        padding: 10px 16px;
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        flex: 1;
        background-color: var(--c-white);
}

.woocommerce-product-search input[type="search"]:focus {
        outline: 2px solid var(--c-accent);
        border-color: transparent;
}

/* --- Виджеты Woo (фильтры в сайдбарах) --- */
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
        background-color: var(--c-accent);
}

.woocommerce .widget_layered_nav_filters ul li a {
        border-color: var(--c-border);
}

/* ==============================================
   Футер (тёмный, 3 колонки, лого в первой)
   ============================================== */

.site-footer {
        background-color: var(--c-black);
        margin-top: auto;
        color: rgba(255, 255, 255, 0.8);
        padding-top: 48px;
}

.site-footer__inner {
        display: grid;
        grid-template-columns: 1.1fr 0.9fr 1.1fr 1.3fr;
        gap: 32px;
}

/* Лого-плашка dtfprime-logo.svg — ширина 160px (этап 4.6) */
.site-footer__logo {
        margin-bottom: 16px;
}

.site-footer__logo .custom-logo-link {
        display: inline-flex;
}

.site-footer__logo .custom-logo {
        width: 160px;
        height: auto;
}

.site-footer__logo a:hover {
        text-decoration: none;
        opacity: 0.85;
}

.site-footer__brand {
        color: var(--c-white);
        font-size: 1.5rem;
        font-weight: 800;
        margin-bottom: 16px;
}

/* Соцсети под лого-плашкой (этап 4.7) */
.site-footer__social {
        display: flex;
        gap: 12px;
}

.site-footer__social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        color: var(--c-footer-link);
        transition: color var(--transition-fast), border-color var(--transition-fast);
}

.site-footer__social a:hover {
        color: var(--c-accent);
        border-color: var(--c-accent);
}

/* Быстрая связь: Telegram-кнопка + WhatsApp/Viber (этап 4.7, задача 6.3) */
.site-footer__quick {
        margin-top: 20px;
}

.site-footer__quick-label {
        display: block;
        color: var(--c-footer-heading);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: 10px;
}

.site-footer__tg-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 14px;
        border-radius: 8px;
        background-color: var(--c-accent);
        color: var(--c-white);
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
        transition: background-color var(--transition-fast);
}

.site-footer__tg-btn:hover {
        background-color: var(--c-cyan-hover);
        color: var(--c-white);
        text-decoration: none;
}

.site-footer__quick-icons {
        display: flex;
        gap: 10px;
        margin-top: 12px;
}

.site-footer__quick-icons a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        color: var(--c-footer-link);
        transition: color var(--transition-fast), border-color var(--transition-fast);
}

.site-footer__quick-icons a:hover {
        color: var(--c-accent);
        border-color: var(--c-accent);
}

/* Реквизиты (этап 4.7, задача 6.1) */
.site-footer__req {
        list-style: none;
        margin: 0;
        padding: 0;
}

.site-footer__req li {
        color: var(--c-footer-link);
        font-size: 0.8125rem;
        line-height: 1.55;
        margin-bottom: 8px;
}

.site-footer__req .site-footer__req-name {
        color: var(--c-white);
        font-weight: 700;
        letter-spacing: 0.3px;
}

.site-footer__heading {
        color: var(--c-footer-heading);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin-bottom: 16px;
}

.footer-menu li {
        margin-bottom: 8px;
}

.footer-menu a,
.site-footer__contacts a {
        color: var(--c-footer-link);
        font-size: 0.875rem;
        transition: color var(--transition-fast);
}

.footer-menu a:hover,
.site-footer__contacts a:hover {
        color: var(--c-accent);
        text-decoration: none;
}

.site-footer__contacts li,
.site-footer__requisites li {
        color: var(--c-footer-link);
        font-size: 0.875rem;
        margin-bottom: 6px;
}

/* Нижняя полоса — цвет --c-dark с © год */
.site-footer__bottom {
        margin-top: 40px;
        background-color: var(--c-dark);
        padding: 16px 0;
}

.site-footer__copyright {
        text-align: center;
        font-size: 0.8125rem;
}

/* ==============================================
   Поп-ап
   ============================================== */

.popup-overlay {
        position: fixed;
        inset: 0;
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: visibility 0s var(--transition-base);
}

.popup-overlay[hidden] {
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s, opacity var(--transition-base);
}

.popup-overlay[hidden] .popup-box {
        transform: translateY(20px);
        opacity: 0;
}

.popup-overlay__backdrop {
        position: absolute;
        inset: 0;
        background-color: rgba(0, 0, 0, 0.6);
}

.popup-box {
        position: relative;
        background-color: var(--c-white);
        border-radius: var(--radius-lg);
        padding: 36px 32px;
        max-width: 440px;
        width: 90%;
        z-index: 1;
        transition: transform var(--transition-base),
                opacity var(--transition-base);
}

.popup-box__close {
        position: absolute;
        top: 12px;
        right: 12px;
        color: var(--c-gray);
        padding: 4px;
        transition: color var(--transition-fast);
}

.popup-box__close:hover {
        color: var(--c-text);
}

.popup-box__title {
        font-size: 1.5rem;
        font-weight: 700;
        margin-bottom: 12px;
}

.popup-box__text {
        font-size: 0.9375rem;
        color: var(--c-gray);
        line-height: 1.6;
        margin-bottom: 24px;
}

.popup-box__btn {
        display: block;
        width: 100%;
        text-align: center;
}

/* ==============================================
   Cookie-баннер
   ============================================== */

.cookie-banner {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: var(--c-white);
        box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.1);
        z-index: 900;
        padding: 16px 0;
        transition: visibility 0s, opacity var(--transition-base), transform var(--transition-base);
}

.cookie-banner[hidden] {
        visibility: hidden;
        opacity: 0;
        transform: translateY(100%);
}

.cookie-banner__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
}

.cookie-banner__text {
        font-size: 0.875rem;
        color: var(--c-gray);
        margin: 0;
}

.cookie-banner__link {
        color: var(--c-accent);
        text-decoration: underline;
}

.cookie-banner__link:hover {
        color: var(--c-cyan-dark);
}

.cookie-banner__actions {
        display: flex;
        gap: 8px;
        flex-shrink: 0;
}

/* ==============================================
   404
   ============================================== */

.error-404__header {
        text-align: center;
        padding: 80px 0;
}

.error-404__title {
        font-family: var(--font-display);
        font-size: 3rem;
        font-weight: 800;
        margin-bottom: 16px;
        color: var(--c-black);
}

.error-404__text {
        font-size: 1.125rem;
        color: var(--c-gray);
        margin-bottom: 32px;
}

/* ==============================================
   Форма поиска
   ============================================== */

.search-form {
        display: flex;
        gap: 8px;
        max-width: 480px;
        margin: 0 auto;
}

.search-form__input {
        flex: 1;
        padding: 10px 16px;
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        font-size: 0.9375rem;
        background-color: var(--c-white);
}

.search-form__input:focus {
        outline: 2px solid var(--c-accent);
        border-color: transparent;
}

.search-form__btn {
        padding: 10px 20px;
        background-color: var(--c-accent);
        color: var(--c-white);
        border-radius: var(--radius-sm);
        font-size: 0.9375rem;
        font-weight: 600;
        transition: background-color var(--transition-fast);
}

.search-form__btn:hover {
        background-color: var(--c-cyan-dark);
}

/* ==============================================
   Пагинация
   ============================================== */

.nav-links {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 40px;
}

.nav-links .page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 40px;
        height: 40px;
        padding: 0 8px;
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        font-size: 0.9375rem;
        background-color: var(--c-white);
        transition: background-color var(--transition-fast),
                border-color var(--transition-fast);
}

.nav-links .page-numbers.current {
        background-color: var(--c-dark);
        color: var(--c-white);
        border-color: var(--c-dark);
}

.nav-links .page-numbers:hover:not(.current) {
        background-color: var(--c-bg);
        border-color: var(--c-accent);
}

/* ==============================================
   Адаптив — mobile-first (360px → 1200px)
   ============================================== */

@media (max-width: 1024px) {
        /* Услуги — 2 колонки на планшетах */
        .services__grid {
                grid-template-columns: repeat(2, 1fr);
        }

        /* Каталог — 3 колонки */
        .woocommerce ul.products {
                grid-template-columns: repeat(3, 1fr);
        }

        /* Шаги — 2 колонки */
        .steps__grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 32px;
        }

        .steps__connector {
                display: none;
        }

        /* Галерея — 3 колонки */
        .gallery__grid {
                grid-template-columns: repeat(3, 1fr);
        }

        /* Отзывы — 2 колонки */
        .reviews__grid {
                grid-template-columns: repeat(2, 1fr);
        }

        /* Блог — 2 колонки */
        .posts-grid {
                grid-template-columns: repeat(2, 1fr);
        }

        /* Футер — 2 колонки */
        .site-footer__inner {
                grid-template-columns: repeat(2, 1fr);
        }
}

@media (max-width: 768px) {
        .burger {
                display: flex;
        }

        /* Мобильная панель меню: тёмная, слайд слева (этап 4.7) */
        .site-header__nav {
                position: fixed;
                top: 0;
                left: 0;
                width: min(320px, 86vw);
                height: 100vh;
                height: 100dvh;
                background-color: var(--c-black);
                display: flex;
                flex-direction: column;
                align-items: stretch;
                justify-content: flex-start;
                padding: 20px 24px 32px;
                overflow-y: auto;
                transform: translateX(-105%);
                visibility: hidden;
                transition: transform 0.25s ease, visibility 0.25s;
                z-index: 200;
        }

        .site-header__nav.is-open {
                transform: translateX(0);
                visibility: visible;
        }

        .site-header__nav-head {
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-bottom: 28px;
        }

        .site-header__nav-logo {
                font-family: var(--font-display);
                font-size: 20px;
                font-weight: 800;
                line-height: 1;
                letter-spacing: 0.5px;
        }

        .site-header__nav-logo .logo-cmyk--prime {
                color: var(--c-white);
        }

        .site-header__nav-close {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 36px;
                height: 36px;
                padding: 0;
                background: none;
                border: 1px solid rgba(255, 255, 255, 0.25);
                border-radius: 50%;
                color: var(--c-white);
                cursor: pointer;
                transition: color var(--transition-fast), border-color var(--transition-fast);
        }

        .site-header__nav-close:hover {
                color: var(--c-accent);
                border-color: var(--c-accent);
        }

        .nav-menu {
                flex-direction: column;
                align-items: flex-start;
                gap: 18px;
        }

        .nav-menu a {
                font-size: 18px;
                font-weight: 600;
                color: var(--c-white);
        }

        .nav-menu a:hover,
        .nav-menu a.current-menu-item {
                color: var(--c-accent);
        }

        .nav-menu a::after {
                display: none;
        }

        /* Оверлей под панелью (шапка с бургером остаётся кликабельной) */
        .site-header__overlay {
                position: fixed;
                inset: 0;
                background-color: rgba(0, 0, 0, 0.5);
                z-index: 90;
        }

        .site-header__overlay[hidden] {
                display: none;
        }

        .site-header__phone {
                display: none;
        }

        /* Промо-полоска: текст по центру, чуть крупнее */
        .promo-bar {
                font-size: 1rem;
                padding: 10px 0;
        }

        /* Hero: компенсация прозрачной шапки (70px) */
        .hero {
                margin-top: -70px;
                padding: 118px 0 48px;
                min-height: auto;
        }

        .hero__title {
                font-size: 34px;
        }

        .hero__subtitle {
                font-size: 1rem;
        }

        /* Секции */
        .section {
                padding: 40px 0 48px 0;
        }

        .section__title {
                font-size: 26px;
                margin-bottom: 28px;
        }

        /* Услуги — 1 колонка */
        .services__grid {
                grid-template-columns: 1fr;
        }

        /* Каталог — 2 колонки */
        .woocommerce ul.products {
                grid-template-columns: repeat(2, 1fr);
                gap: 16px;
        }

        /* CTA секции */
        .calc-cta {
                padding: 40px 0 48px 0;
        }

        .sample-cta {
                padding: 48px 0;
        }

        .calc-cta__title {
                font-size: 1.5rem;
        }

        .sample-cta__title {
                font-size: 1.5rem;
        }

        /* Шаги — 2 колонки */
        .steps__grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
        }

        /* Галерея — 2 колонки */
        .gallery__grid {
                grid-template-columns: repeat(2, 1fr);
        }

        /* Отзывы — 1 колонка */
        .reviews__grid {
                grid-template-columns: 1fr;
        }

        /* Блог — 1 колонка */
        .posts-grid {
                grid-template-columns: 1fr;
        }

        /* Карточка товара: панель покупки во всю ширину */
        .woocommerce div.product div.summary {
                padding: 20px;
        }

        /* Корзина/чекаут: таблицы и карточки на узких */
        .woocommerce table.shop_table td,
        .woocommerce table.shop_table th {
                padding: 10px 12px;
        }

        /* Внутренние страницы */
        .entry-wrapper .entry-title {
                font-size: 1.75rem;
        }

        /* Футер — 1 колонка */
        .site-footer__inner {
                grid-template-columns: 1fr;
                gap: 24px;
        }

        /* Cookie-баннер — вертикально */
        .cookie-banner__inner {
                flex-direction: column;
                text-align: center;
        }

        .cookie-banner__actions {
                width: 100%;
        }

        .cookie-banner__actions .btn {
                width: 100%;
        }

        /* Поп-ап — мобильный: снизу во всю ширину */
        .popup-overlay {
                align-items: flex-end;
        }

        .popup-box {
                border-radius: var(--radius-lg) var(--radius-lg) 0 0;
                max-width: 100%;
                width: 100%;
        }

        /* Навигация записей — вертикально */
        .post-navigation {
                flex-direction: column;
        }
}

@media (max-width: 480px) {
        :root {
                --container-padding: 16px;
        }

        .site-header__inner {
                height: 60px;
        }

        /* Hero: компенсация шапки 60px; заголовок 34px по ТЗ (этап 4.6) */
        .hero {
                margin-top: -60px;
                padding: 108px 0 48px;
        }

        /* Каталог — 1 колонка на самых узких */
        .woocommerce ul.products {
                grid-template-columns: 1fr;
        }

        /* Шаги — 1 колонка */
        .steps__grid {
                grid-template-columns: 1fr;
        }

        /* Кнопки — полная ширина */
        .popup-box {
                padding: 28px 20px;
        }

        /* Футер */
        .site-footer__inner {
                grid-template-columns: 1fr;
        }
}

/* Этап 4.8: подпись под кнопкой CTA образца (только для гостей) */
.sample-cta__note {
	margin-top: 12px;
	font-size: 0.8125rem;
	color: var(--c-dark);
	opacity: 0.85;
}

/* ==============================================================
   Этап 4.9: блочная корзина в стиле CMYK Bold
   Страница /cart/ (блок woocommerce/cart). Палитра — только
   токены :root; целевые классы — штатные Woo Blocks.
   ============================================================== */

/* Пустая корзина: заголовок фирменным шрифтом */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title {
	font-family: var(--font-display);
	font-size: 1.5rem;
	color: var(--c-black);
}

/* Заполненная корзина: колонки позиций и итогов — белые карточки */
.wp-block-woocommerce-filled-cart-block .wc-block-cart__main,
.wp-block-woocommerce-filled-cart-block .wc-block-cart__sidebar {
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: 20px;
}

/* Позиции: строки на карточке, штатную рамку таблицы убираем */
.wp-block-woocommerce-cart .wc-block-cart-items {
	border: none;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
	border-bottom: 1px solid var(--c-divider);
}

.wp-block-woocommerce-cart .wc-block-cart-item__product {
	font-weight: 700;
	color: var(--c-text);
}

.wp-block-woocommerce-cart .wc-block-cart-item__image img {
	border-radius: var(--radius-md);
}

.wp-block-woocommerce-cart .wc-block-cart-item__prices {
	color: var(--c-gray);
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	color: var(--c-error);
	text-decoration: none;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--c-text);
}

/* Счётчик количества в позиции */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
	color: var(--c-text);
}

/* Кнопки блоков корзины: фирменный циан (волна 2 — единый стиль с
   primary-кнопками главной .btn--accent; «Перейти к оформлению» наследует) */
.wp-block-woocommerce-cart .wc-block-components-button {
	background-color: var(--c-accent);
	color: var(--c-white);
	border: none;
	border-radius: var(--radius-btn);
	font-weight: 700;
	transition: background-color var(--transition-fast),
		border-color var(--transition-fast);
}

.wp-block-woocommerce-cart .wc-block-components-button:hover {
	background-color: var(--c-cyan-dark);
	color: var(--c-white);
}

.wp-block-woocommerce-cart .wc-block-components-button[aria-disabled='true'],
.wp-block-woocommerce-cart .wc-block-components-button:disabled {
	background-color: var(--c-border);
	color: var(--c-gray);
	cursor: not-allowed;
}

/* Кнопка «Перейти к оформлению» */
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
	width: 100%;
	padding: 14px 20px;
	font-size: 1rem;
}

/* Поля форм (купон и т.п.) */
.wp-block-woocommerce-cart .wc-block-components-text-input input {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
}

.wp-block-woocommerce-cart .wc-block-components-text-input input:focus {
	border-color: var(--c-accent);
	box-shadow: none;
	outline: none;
}

/* Чекбоксы (скидка/доставка) */
.wp-block-woocommerce-cart .wc-block-components-checkbox__input {
	accent-color: var(--c-accent);
}

/* Итоги: подписи серые, итог — жирный чёрный с брендовой линией */
.wp-block-woocommerce-cart .wc-block-components-totals-item {
	color: var(--c-gray);
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--c-black);
}

.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--c-black);
}

/* ==============================================================
   Этап 4.9-О: чекаут в стиле CMYK Bold + полировка корзины
   /checkout/ (блок woocommerce/checkout) и до-стилизация /cart/.
   Палитра — только токены :root; селекторы — только штатные
   Woo Blocks (сверены по минификатам blocks/checkout.js и
   wc-cart-checkout-base-frontend.js). Тело страницы несёт
   классы .woocommerce-checkout / .woocommerce-cart.
   ============================================================== */

/* --- География (Этап 4.9-О, задача A): только Беларусь ---
   Страна и «Область / район» скрыты кодом (фильтры
   woocommerce_countries_allowed_countries / woocommerce_get_country_locale
   в class-checkout.php); эти правила — страховка, если блок
   всё же отрендерит селект при единственной стране. */
.woocommerce-checkout .wc-block-components-country-input {
	display: none;
}

.woocommerce-checkout .wc-block-components-state-input {
	display: none;
}

/* --- Двухколоночная сетка чекаута: белые карточки --- */
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: 20px;
}

/* Заголовки секций (аккордеон-панели полей) — фирменный шрифт */
.wp-block-woocommerce-checkout .wc-block-components-panel__button {
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--c-black);
}

/* --- Поля ввода и селекты (высота как в 4.7 — 42px) --- */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-select-input,
.wp-block-woocommerce-checkout .wc-block-components-select .wc-block-components-select-input {
	min-height: 42px;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-sm);
	background-color: var(--c-white);
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-select-input:focus,
.wp-block-woocommerce-checkout .wc-block-components-select-input.is-active {
	border-color: var(--c-accent);
	box-shadow: none;
	outline: none;
}

/* Чекбоксы (в т.ч. «создать аккаунт», доставка=оплата) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input {
	accent-color: var(--c-accent);
}

/* --- Радио доставки/оплаты — карточки; выбранный — циановая рамка ---
   ВАЖНО (волна 2): штатно Woo даёт __option padding-left:48px, а инпут
   кладёт absolute left:16px — симметричный паддинг темы сажал текст
   ПОД кружок («●ата картой»). Слева — жёстко 48px. Аккордеон-обёртке
   (радио способов оплаты) свой отступ не нужен: внутренняя __option
   держит 48px сама. */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-md);
	background-color: var(--c-white);
	position: relative;
	padding: 14px 16px 14px 48px;
	margin-bottom: 10px;
	transition: border-color var(--transition-fast);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-md);
	background-color: var(--c-white);
	padding: 14px 16px;
	margin-bottom: 10px;
	transition: border-color var(--transition-fast);
}

/* Подстраховка на всех Woo-страницах (корзина/чекаут): текст радио
   никогда не начинается левее кружка-контрола */
.woo-wide .wc-block-components-radio-control__option {
	padding-left: 48px;
}

/* Чекбоксы («создать аккаунт», «примечание к заказу», доставка=оплата):
   контрол слева, подпись справа, без наезда при любом шрифте */
.wp-block-woocommerce-checkout .wc-block-components-checkbox label,
.wp-block-woocommerce-cart .wc-block-components-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input,
.wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input {
	position: static;
	flex: 0 0 auto;
	margin: 0;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label,
.wp-block-woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__label {
	min-width: 0;
	line-height: 20px;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked),
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) {
	border-color: var(--c-cyan);
}

/* Карточки способов доставки (опция способа, не метода оплаты) */
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option {
	border: 1px solid var(--c-border);
	border-radius: var(--radius-md);
	background-color: var(--c-white);
	transition: border-color var(--transition-fast);
}

.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option--selected {
	border-color: var(--c-cyan);
}

/* Кнопки чекаута — фирменный циан (волна 2: как .btn--accent на главной;
   было чёрным — владелец просил единый циан для primary-кнопок) */
.wp-block-woocommerce-checkout .wc-block-components-button {
	background-color: var(--c-accent);
	color: var(--c-white);
	border: none;
	border-radius: var(--radius-btn);
	font-weight: 700;
	transition: background-color var(--transition-fast);
}

.wp-block-woocommerce-checkout .wc-block-components-button:hover {
	background-color: var(--c-cyan-dark);
	color: var(--c-white);
}

/* Кнопка подтверждения заказа — та же циановая, на всю ширину сайдбара */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
	padding: 14px 20px;
	width: 100%;
	font-size: 1rem;
}

.wp-block-woocommerce-checkout .wc-block-components-button[aria-disabled='true'],
.wp-block-woocommerce-checkout .wc-block-components-button:disabled {
	background-color: var(--c-border);
	color: var(--c-gray);
	cursor: not-allowed;
}

/* «Вернуться в корзину» — вторичная (рамка, циановый hover) */
.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	color: var(--c-text);
	text-decoration: none;
	border: 1px solid var(--c-border);
	border-radius: var(--radius-btn);
	padding: 10px 18px;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
	color: var(--c-accent);
	border-color: var(--c-accent);
}

/* --- «Детали заказа»: итоги в стиле корзины (задача B-d) --- */
.wp-block-woocommerce-checkout .wc-block-components-totals-item {
	color: var(--c-gray);
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item {
	border-top: 2px solid var(--c-black);
}

.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--c-black);
}

/* Мета позиций в «Детали заказа» — вторичный серый */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description,
.wp-block-woocommerce-checkout .wc-block-components-product-details,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata {
	color: var(--c-gray);
	font-size: 0.875rem;
}

/* --- Полировка корзины (задача C) --- */

/* Название-ссылка позиции: чёрный жирный без underline, hover — циан */
.wp-block-woocommerce-cart a.wc-block-cart-item__product {
	color: var(--c-black);
	font-weight: 700;
	text-decoration: none;
}

.wp-block-woocommerce-cart a.wc-block-cart-item__product:hover {
	color: var(--c-accent);
}

/* Мета позиции («Позиция», «Макет», «Размер») — вторичный серый */
.wp-block-woocommerce-cart .wc-block-components-product-details,
.wp-block-woocommerce-cart .wc-block-components-product-details__name,
.wp-block-woocommerce-cart .wc-block-components-product-details__value,
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
	color: var(--c-gray);
	font-size: 0.875rem;
}

/* Счётчик количества и удаление — hover в циан */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover {
	color: var(--c-accent);
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--c-accent);
}

/* «Добавить купоны» — текстовая кнопка в стиле темы (не чёрная) */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button--open,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button--open {
	background-color: transparent;
	color: var(--c-accent);
	padding: 4px 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button--open:hover,
.wp-block-woocommerce-checkout .wc-block-components-totals-coupon__button--open:hover {
	background-color: transparent;
	color: var(--c-cyan-hover);
}

/* --- Единый жёлтый awaiting-art чип (корзина + чекаут) ---
   Метка приходит из item_data с HTML-дисплеем (class-product.php,
   span.dtfprime-awaiting-art); блоки рендерят его как есть. */
.dtfprime-awaiting-art {
	display: inline-block;
	background-color: var(--c-yellow);
	color: var(--c-black);
	font-weight: 700;
	font-size: 0.8125rem;
	line-height: 1.4;
	padding: 2px 10px;
	border-radius: 999px;
}


/* ============================================================
   Этап 5-Ю — Юрлица на чекауте (Additional Checkout Fields)
   Поля регистрирует dtfprime-core (location contact):
   dtfprime/customer_type, dtfprime/legal_name, dtfprime/unp.
   ============================================================ */

/* Скрытые поля юрлица (переключает checkout.js по типу плательщика).
   display:none — без «пустых» рамок; появление — короткое затухание
   ниже (без сдвига шапки/сайдбара). */
.dtfprime-checkout-hidden {
	display: none !important;
}

/* Появление полей юрлица: мягкое затухание без CLS-скачка layout */
@keyframes dtfprime-legal-reveal {
	from { opacity: 0; }
	to { opacity: 1; }
}

.wp-block-woocommerce-checkout .dtfprime-checkout-hidden + *,
.wp-block-woocommerce-checkout [data-dtfprime-field]:not(.dtfprime-checkout-hidden) {
	animation: dtfprime-legal-reveal 0.2s ease-out;
}

/* Тип плательщика + поля юрлица наследуют стили полей 4.9-О
   (те же компоненты wc-block-components-text-input / select-input,
   42px, focus --c-accent) — отдельная перекраска не требуется. */

/* Штатное поле «Компания» блокового чекаута не используется —
   реквизиты собирают поля 5-Ю (страховка на случай, если
   woocommerce_checkout_company_field рендерит company в адресной форме). */
.wp-block-woocommerce-checkout .wc-block-components-address-form__company,
.wp-block-woocommerce-checkout input[id="billing_company"],
.wp-block-woocommerce-checkout .wc-block-components-text-input:has(input[id="billing_company"]) {
	display: none;
}


/* ==============================================================
   Этап 4.9-Ф — фиксы витрины Woo (жалобы владельца на ширину,
   шрифты, кнопки, радиусы, уведомления, «Детали заказа», ЛК)
   ==============================================================
   Диагноз:
   1) /cart/, /checkout/, /my-account/ рендерятся шаблоном page.php
      в .container.entry-wrapper → .entry-content { max-width: 720px }
      зажимал блоки Woo; блоки чекаута управляются CONTAINER QUERIES
      (порог 700px на .wp-block-woocommerce-checkout) — в узкой
      колбе ломалась раскладка «Деталей заказа».
   2) Ссылки внутри блоков красил тинт из .entry-wrapper .entry-content a
      (циановое подчёркивание на чёрной кнопке «Перейти к оформлению»).
   Решение: fluid-обёртка .woo-wide (page.php) + прицельные правила
   ниже. Палитра — только токены :root; классы — штатные Woo.
   ============================================================== */

/* --- 1. Широкая обёртка Woo-страниц (fluid, отступы 24–48px) --- */
.woo-wide {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 24px;
	font-family: var(--font-body);
}

/* Сброс статейного ограничения entry-content на Woo-страницах */
.woo-wide .entry-content {
	max-width: none;
}

.woo-wide .entry-header {
	margin-bottom: 28px;
}

/* Заголовок страницы — фирменный шрифт (как entry-title, но слева) */
.woo-wide .entry-title {
	font-family: var(--font-display);
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.2;
	color: var(--c-black);
}

@media (min-width: 1200px) {
	.woo-wide {
		padding-left: 48px;
		padding-right: 48px;
	}
}

@media (max-width: 768px) {
	.woo-wide {
		padding: 24px 16px;
	}

	.woo-wide .entry-title {
		font-size: 1.5rem;
	}
}

/* Шрифты: на всякий случай протаскиваем Manrope в компоненты Woo Blocks
   (базовые стили блоков местами рвут наследование) и в формы аккаунта */
.woo-wide .wc-block-components-button,
.woo-wide .wc-block-components-panel__button,
.woo-wide .wc-block-components-text-input input,
.woo-wide .wc-block-components-select-input,
.woo-wide .wc-blocks-components-select__select,
.woo-wide .wc-block-components-radio-control__option,
.woo-wide .wc-block-components-checkbox__label,
.woo-wide .wc-block-components-totals-item,
.woo-wide .wc-block-components-order-summary-item,
.woo-wide .wc-block-components-product-details,
.woo-wide .wc-block-components-quantity-selector,
.woo-wide .wc-block-components-notice-banner,
.woo-wide table.shop_table,
.woo-wide .woocommerce form .form-row input,
.woo-wide .woocommerce form .form-row select,
.woo-wide .woocommerce form .form-row textarea,
.woo-wide nav.woocommerce-MyAccount-navigation,
.woo-wide .woocommerce-MyAccount-content {
	font-family: var(--font-body);
}

/* CTA-кнопки блоков: без underline (раньше красил .entry-content a) */
.woo-wide .wc-block-cart__submit-button,
.woo-wide .wc-block-components-checkout-place-order-button {
	text-decoration: none;
}

/* --- 2. «Детали заказа» чекаута: строки «миниатюра + текст» ---
   Штатно .wc-block-components-order-summary-item — flex-строка с
   word-break:break-word; в сжатой колбе текст сжимался до ~1 колонки
   (перенос по буквам), жёлтый бейдж сворачивался в столбик. */
.woo-wide .wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: 14px;
	align-items: start;
	width: 100%;
}

.woo-wide .wc-block-components-order-summary-item__image {
	grid-column: 1;
	width: 48px;
	margin: 4px 0 0;
	padding: 0;
}

.woo-wide .wc-block-components-order-summary-item__image img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: var(--radius-md);
}

.woo-wide .wc-block-components-order-summary-item__description {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	min-width: 0;
	max-width: 100%;
	padding: 4px 0 12px;
	word-break: normal;
	overflow-wrap: break-word;
}

/* Цена позиции — во второй колонке сетки (иначе авто-плейсмент уводит
   её в колонку миниатюры) */
.woo-wide .wc-block-components-order-summary-item__total-price {
	grid-column: 2;
	margin-left: 0;
	padding-top: 0;
	text-align: left;
}

.woo-wide .wc-block-components-order-summary-item .wc-block-components-product-name {
	max-width: 100%;
	overflow-wrap: break-word;
}

/* Жёлтый чип «Ожидаем макет по email»: одна строка, нормальные паддинги */
.woo-wide .dtfprime-awaiting-art {
	display: inline-block;
	white-space: nowrap;
	max-width: 100%;
	padding: 2px 10px;
	border-radius: 999px;
}

/* Корзина: защита названия позиции от сжатия (грид-колонки штатные) */
.woo-wide .wc-block-cart-items__row .wc-block-cart-item__product {
	min-width: 0;
	overflow-wrap: break-word;
}

/* --- 3. Баннеры-уведомления Woo Blocks (внутри корзины/чекаута) ---
   радиус и цвета в токены; структуру (иконка-svg, крестик) не трогаем */
.wc-block-components-notice-banner {
	border-radius: var(--radius-md);
}

.wc-block-components-notice-banner.is-info {
	background-color: var(--c-cyan-tint);
	border-color: var(--c-accent);
}

.wc-block-components-notice-banner.is-info > svg {
	background-color: var(--c-accent);
}

.wc-block-components-notice-banner.is-error {
	background-color: rgba(229, 9, 127, 0.06);
	border-color: var(--c-magenta);
}

.wc-block-components-notice-banner.is-error > svg {
	background-color: var(--c-magenta);
}

.wc-block-components-notice-banner.is-warning {
	background-color: rgba(240, 184, 73, 0.14);
	border-color: var(--st-warning);
}

.wc-block-components-notice-banner.is-warning > svg {
	background-color: var(--st-warning);
}

.wc-block-components-notice-banner.is-success {
	background-color: rgba(46, 125, 50, 0.09);
	border-color: var(--st-paid);
}

.wc-block-components-notice-banner.is-success > svg {
	background-color: var(--st-paid);
}

/* --- 4. Личный кабинет (/my-account/*) — CMYK Bold --- */

/* Навигация аккаунта: вертикальные карточки-табы вместо синих ссылок.
   Двухколоночная сетка только для залогиненных (гость видит одну
   форму логина — без пустой колонки).
   Волна 2: селектор больше не привязан к .woo-wide — грид вешаем на
   .entry-content > .woocommerce (структура page.php: article >
   .entry-content > div.woocommerce при ЛЮБОЙ обёртке), иначе смена
   обёртки страницы снова ломает раскладку «табы + контент».
   Волна 3: порог 783px (по конвенции WP-админбара ≤782px — столбиком). */
@media (min-width: 783px) {
	body.logged-in.woocommerce-account .woo-wide .woocommerce,
	body.logged-in.woocommerce-account .entry-content > .woocommerce {
		display: grid;
		grid-template-columns: 264px minmax(0, 1fr);
		gap: 24px;
		align-items: start;
	}
}

/* Волна 3 — ГЛАВНЫЙ ФИКС ЛК: штатный woocommerce.css несёт clearfix
   .woocommerce-account .woocommerce::before/::after { content:" ";
   display:table } — в гриде псевдоэлементы становятся ПЕРВЫМИ
   грид-элементами и занимают ячейки r1c1/r1c2, из-за чего табы
   уходили в узкую колонку, а контент — вниз под ними (селектор
   грида при этом применялся, но раскладка «съедалась»).
   content: none убирает оба псевдо-бокса из потока на всех ширинах. */
body.logged-in.woocommerce-account .woo-wide .woocommerce::before,
body.logged-in.woocommerce-account .woo-wide .woocommerce::after,
body.logged-in.woocommerce-account .entry-content > .woocommerce::before,
body.logged-in.woocommerce-account .entry-content > .woocommerce::after {
	content: none;
	display: none;
}

/* Штатный woocommerce-layout.css несёт
   .woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:30%}
   и ...-content{float:right;width:68%} — спец-вес (0,2,0) перебивал прежний
   сброс, и колонки сжимались (у контента 68% от его же grid-области).
   Гасим прицельно с весом выше штатного: делит колонки только грид. */
body.woocommerce-account nav.woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
}

nav.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
}

nav.woocommerce-MyAccount-navigation li {
	margin-bottom: 8px;
	list-style: none;
}

nav.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-md);
	color: var(--c-text);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--transition-fast),
		color var(--transition-fast),
		background-color var(--transition-fast);
}

nav.woocommerce-MyAccount-navigation li a:hover {
	border-color: var(--c-accent);
	color: var(--c-accent);
	text-decoration: none;
}

nav.woocommerce-MyAccount-navigation li.is-active a {
	border-color: var(--c-accent);
	background-color: var(--c-cyan-tint);
	color: var(--c-accent);
}

/* Контент аккаунта: отмена штатного float, карточки-блоки */
.woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.woocommerce-MyAccount-content h2 {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--c-black);
	margin-bottom: 16px;
}

.woocommerce-MyAccount-content p a:not(.button) {
	color: var(--c-accent);
	text-decoration: none;
}

.woocommerce-MyAccount-content p a:not(.button):hover {
	color: var(--c-cyan-dark);
	text-decoration: underline;
}

/* Чекбоксы аккаунта («запомнить меня» и т.п.) */
.woocommerce-MyAccount-content input[type="checkbox"],
.woocommerce-MyAccount-content input[type="radio"] {
	accent-color: var(--c-accent);
}

/* Форма логина гостя: белая карточка по центру (волна 2: без грид
   колонок гостю карточка была прижата влево) */
.woocommerce-account form.woocommerce-form-login {
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: 24px;
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-account .woocommerce-form-login__submit {
	width: 100%;
	margin-top: 8px;
}

.woocommerce-account .woocommerce-form-login__rememberme {
	font-size: 0.875rem;
	color: var(--c-gray);
}

/* Адреса (edit-address) и их колонки — карточки без штатного float */
.woocommerce-MyAccount-content .woocommerce-Address {
	background-color: var(--c-white);
	border: 1px solid var(--c-border);
	border-radius: var(--radius-lg);
	padding: 20px;
	margin-bottom: 16px;
}

.woocommerce-MyAccount-content .woocommerce-Address header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

/* Волна 4: заголовок h2/h3 внутри flex-шапки — без штатного
   margin-bottom (иначе кнопка «Изменить» уезжает вниз) */
.woocommerce-MyAccount-content .woocommerce-Address header h2,
.woocommerce-MyAccount-content .woocommerce-Address header h3 {
	margin: 0;
}

.woocommerce-MyAccount-content .woocommerce-Address h3 {
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 800;
	color: var(--c-black);
	margin: 0;
}

.woocommerce-MyAccount-content .woocommerce-Address address {
	font-style: normal;
	color: var(--c-text);
}

.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2 {
	float: none;
	width: auto;
}

/* Таблицы аккаунта (заказы/загрузки) и деталей заказа — шапка на тинте */
.woo-wide table.woocommerce-MyAccount-orders thead th,
.woo-wide table.woocommerce-MyAccount-downloads thead th,
.woo-wide table.woocommerce-table--order-details thead th {
	background-color: var(--c-bg);
	color: var(--c-gray);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 12px 16px;
}

.woo-wide table.woocommerce-MyAccount-orders td,
.woo-wide table.woocommerce-MyAccount-downloads td,
.woo-wide table.woocommerce-table--order-details td {
	padding: 14px 16px;
}

/* Кнопки-действия в строке заказа — компактные (конвенция btn--sm).
   Волна 4: реальный класс ячейки в Woo 11 — __cell-order-actions
   (одинарное тире); прежний селектор с --order-actions НЕ матчился
   (мёртвое правило), поэтому «Оплатить/Посмотреть/Накладная» шли
   вплотную. Даём кнопкам зазор margin-ом + компактный вид. */
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell--order-actions .button {
	display: inline-block;
	margin: 2px 8px 2px 0;
	padding: 8px 14px;
	font-size: 0.8125rem;
}

.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions .button:last-child,
.woocommerce-MyAccount-orders .woocommerce-orders-table__cell--order-actions .button:last-child {
	margin-right: 0;
}

/* Любые кнопки подряд в контенте ЛК (view-order, формы адресов) — зазор */
.woocommerce-account .woocommerce-MyAccount-content .button + .button {
	margin-left: 8px;
}

/* --- 5. Спасибо-страница и прочее наследуют .woo-wide автоматически
   (page.php), стили .woocommerce-order-received* из 4.6 остаются в силе. */

/* ==============================================================
   Этап 4.9-Ф, волна 3 — ВСЕ штатные Woo-кнопки фронта циановые
   ==============================================================
   Жалоба владельца: «везде кнопки синие» — классические шаблоны
   (order-pay/order-received, ЛК, нотисы) красит штатный
   woocommerce.css (wc-primary), волна 2 покрыла только блоки
   корзины/чекаута. Цель: единый стиль с .btn--accent и блоками —
   фон --c-accent, текст белый, hover --c-cyan-dark.
   Спец-вес: зеркалим список селекторов woo.css с префиксом
   .woo-wide/.woocommerce-account (+1-2 класса) — каскад всегда наш.
   НЕ красим: админку, wp-login.php (другой контекст стилей),
   «В корзину»/«Добавить в корзину» (осознанный чёрный CTA карточки
   и товара, см. блоки выше), «Выйти» в ЛК (вторичное действие —
   карточка навигации с циановым hover уже отстроена).
   ============================================================== */
.woo-wide .woocommerce #respond input#submit,
.woo-wide .woocommerce a.button,
.woo-wide .woocommerce button.button,
.woo-wide .woocommerce input.button,
.woo-wide .woocommerce #respond input#submit.alt,
.woo-wide .woocommerce a.button.alt,
.woo-wide .woocommerce button.button.alt,
.woo-wide .woocommerce input.button.alt,
.woo-wide #payment #place_order,
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.woocommerce-account .woocommerce-MyAccount-content input.button {
	background-color: var(--c-accent);
	color: var(--c-white);
	border: none;
	border-radius: var(--radius-btn);
	font-weight: 700;
	text-decoration: none;
	transition: background-color var(--transition-fast),
		color var(--transition-fast);
}

.woo-wide .woocommerce #respond input#submit:hover,
.woo-wide .woocommerce a.button:hover,
.woo-wide .woocommerce button.button:hover,
.woo-wide .woocommerce input.button:hover,
.woo-wide .woocommerce #respond input#submit.alt:hover,
.woo-wide .woocommerce a.button.alt:hover,
.woo-wide .woocommerce button.button.alt:hover,
.woo-wide .woocommerce input.button.alt:hover,
.woo-wide #payment #place_order:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.woocommerce-account .woocommerce-MyAccount-content input.button:hover {
	background-color: var(--c-cyan-dark);
	color: var(--c-white);
	text-decoration: none;
}

/* Disabled (в т.ч. паттерн woo.css «:disabled[disabled]» и .disabled) */
.woo-wide .woocommerce #respond input#submit.disabled,
.woo-wide .woocommerce #respond input#submit:disabled,
.woo-wide .woocommerce #respond input#submit:disabled[disabled],
.woo-wide .woocommerce a.button.disabled,
.woo-wide .woocommerce a.button:disabled,
.woo-wide .woocommerce a.button:disabled[disabled],
.woo-wide .woocommerce button.button.disabled,
.woo-wide .woocommerce button.button:disabled,
.woo-wide .woocommerce button.button:disabled[disabled],
.woo-wide .woocommerce input.button.disabled,
.woo-wide .woocommerce input.button:disabled,
.woo-wide .woocommerce input.button:disabled[disabled],
.woo-wide #payment #place_order:disabled,
.woocommerce-account .woocommerce-MyAccount-content a.button.disabled,
.woocommerce-account .woocommerce-MyAccount-content a.button:disabled,
.woocommerce-account .woocommerce-MyAccount-content button.button.disabled,
.woocommerce-account .woocommerce-MyAccount-content button.button:disabled,
.woocommerce-account .woocommerce-MyAccount-content input.button.disabled,
.woocommerce-account .woocommerce-MyAccount-content input.button:disabled {
	background-color: var(--c-border);
	color: var(--c-gray);
	cursor: not-allowed;
}

/* ==============================================================
   Этап 4.9-Ф, волна 4 — карточки-рамки 4:5 везде, зазоры кнопок ЛК,
   «Изменить адрес» как кнопка, комментарии в блоге выключены
   ==============================================================
   Жалобы владельца (скриншоты /cart/ и ЛК): у кепки в «Новинках»
   карточка выше худи/свитшота (у блока wc-block-grid не было
   фикс-рамки — стили 4.6 красили только классический луп
   ul.products); кнопки в таблице заказов шли вплотную; «Изменить
   Платёжный адрес/Адрес доставки» — текст-ссылка вместо кнопки.
   Комментарии блога отключены программно (inc/theme-setup.php +
   single.php), CSS их не касается.
   ============================================================== */

/* «Новинки магазина» и любые wc-block-grid-сетки товаров — та же
   единая рамка 4:5, contain, белая подложка (у товара фото на белом
   фоне). Карточка — flex-колонка: кнопка прижата к низу, карточки
   в строке не «разъезжаются» из-за разной высоты заголовков. */
.wc-block-grid .wc-block-grid__product {
	display: flex;
	flex-direction: column;
}

.wc-block-grid .wc-block-grid__product-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--radius-md);
	background-color: var(--c-white);
	margin-bottom: 14px;
}

.wc-block-grid .wc-block-grid__product-image a {
	display: block;
	height: 100%;
}

.wc-block-grid .wc-block-grid__product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin: 0;
	border-radius: 0;
	transition: transform 0.3s ease;
}

.wc-block-grid .wc-block-grid__product-add-to-cart {
	margin-top: auto;
}

/* Волна 6 (дозадача): кнопка «Выберите параметры / В корзину» в
   wc-block-grid («Новинки магазина» в пустой корзине) — это
   wp-block-button__link, а не классический .button (чёрный дефолт
   Woo-блоков) → фирменный циан, как .woocommerce a.button выше. */
.wc-block-grid .wc-block-grid__product .wp-block-button__link {
	background-color: var(--c-accent);
	color: var(--c-white);
	border-radius: var(--radius-btn);
	text-decoration: none;
	transition: background-color var(--transition-fast),
		color var(--transition-fast);
}

.wc-block-grid .wc-block-grid__product .wp-block-button__link:hover {
	background-color: var(--c-cyan-dark);
	color: var(--c-white);
}

/* «Изменить Платёжный адрес / Адрес доставки» (штатные ссылки a.edit
   в шапке карточки адреса) — стилизованы как циановые primary-кнопки,
   как остальные кнопки ЛК (волна 3): фон --c-accent, hover
   --c-cyan-dark, белая карточка адреса — подложка. */
.woocommerce-MyAccount-content .woocommerce-Address a.edit,
.woocommerce-MyAccount-content a.edit {
	display: inline-block;
	padding: 8px 16px;
	background-color: var(--c-accent);
	color: var(--c-white);
	border-radius: var(--radius-btn);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--transition-fast),
		color var(--transition-fast);
}

.woocommerce-MyAccount-content .woocommerce-Address a.edit:hover,
.woocommerce-MyAccount-content a.edit:hover {
	background-color: var(--c-cyan-dark);
	color: var(--c-white);
	text-decoration: none;
}
