/*
|--------------------------------------------------------------------------
| Lego Kubik UI Kit
| cards.css
|--------------------------------------------------------------------------
| Карточка характеристик, блок «Где купить»
| и фирменное оформление цитат
|--------------------------------------------------------------------------
*/


/* ==========================================================================
   Общая основа больших карточек
========================================================================== */

.entry.themeform > .lk-card,
.entry.themeform > .lk-buy-card {
    position: relative;
    z-index: 0;

    box-sizing: border-box;
    width: 100%;

    margin: 2.5rem 0;

    background: var(--kubik-surface);

    border: 1px solid var(--kubik-border);
    border-radius: 30px;

    box-shadow:
        0 0 0 1px rgba(14, 63, 126, .04),
        0 1px 1px -.5px rgba(42, 51, 69, .04),
        0 3px 3px -1.5px rgba(42, 51, 70, .04),
        0 6px 6px -3px rgba(42, 51, 70, .04),
        0 12px 12px -6px rgba(14, 63, 126, .04),
        0 24px 24px -12px rgba(14, 63, 126, .04);

    overflow: visible;
}


/* Нижняя плашка в стиле Dashwall */

.entry.themeform > .lk-card::after,
.entry.themeform > .lk-buy-card::after {
    content: "";

    position: absolute;
    z-index: -1;

    left: 40px;
    right: 40px;
    bottom: -8px;

    height: 8px;

    background: #e2e7ef;

    border-radius: 0 0 10px 10px;

    pointer-events: none;
}


/* ==========================================================================
   Карточка характеристик
========================================================================== */

.entry.themeform > .lk-card {
    padding: 1.5rem 1.75rem;
}


/* Заголовки внутри карточки */

.entry.themeform .lk-card h1,
.entry.themeform .lk-card h2,
.entry.themeform .lk-card h3,
.entry.themeform .lk-card h4,
.entry.themeform .lk-card h5,
.entry.themeform .lk-card h6 {
    margin-top: 0;
    margin-bottom: .6rem;

    color: var(--kubik-text);

    line-height: 1.2;
}


/* Заголовок карточки характеристик */

.entry.themeform .lk-card h3 {
    margin: 0 0 .6rem;

    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.03em;
}


/* Подзаголовок */

.entry.themeform .lk-card .lk-subtitle {
    margin: .5rem 0 1.5rem;

    color: var(--kubik-text-light);

    font-size: .95rem;
    font-weight: 500;
    line-height: 1.5;
}


/* Строка характеристики */

.entry.themeform .lk-card .lk-row {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);

    align-items: center;
    gap: 1.5rem;

    min-height: 0;

    margin: 0;
    padding: .8rem 0;

    border-bottom: 1px solid var(--kubik-border);
}

.entry.themeform .lk-card .lk-row:last-child {
    border-bottom: 0;
}


/* Название характеристики */

.entry.themeform .lk-card .lk-title {
    color: var(--kubik-text);

    font-weight: 700;
    line-height: 1.45;
}


/* Значение характеристики */

.entry.themeform .lk-card .lk-value {
    min-width: 0;

    color: var(--kubik-text-secondary);

    line-height: 1.45;

    overflow-wrap: anywhere;
}


/* ==========================================================================
   Блок «Где купить»
========================================================================== */

.entry.themeform > .lk-buy-card {
    padding: 1.5rem 1.75rem 1.6rem 2rem;

    border-left: 6px solid var(--kubik-red);
}


/* Заголовок */

.entry.themeform .lk-buy-card h3 {
    margin: 0 0 .55rem;

    color: var(--kubik-text);

    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.025em;
}


/* Вводный текст */

.entry.themeform .lk-buy-card .lk-buy-intro {
    margin: 0 0 1.25rem;

    color: var(--kubik-text-secondary);

    font-size: .95rem;
    line-height: 1.65;
}


/* Список магазинов */

.entry.themeform .lk-store-list {
    display: grid;
    gap: .65rem;

    margin: 0;
    padding: 0;
}


/* Строка магазина */

.entry.themeform .lk-store-row {
    display: flex;
    align-items: center;
    gap: .8rem;

    box-sizing: border-box;
    width: 100%;
    min-height: 52px;

    margin: 0;
    padding: .75rem 1rem;

    color: var(--kubik-text);

    background: var(--kubik-surface-alt);

    border: 1px solid var(--kubik-border);
    border-radius: var(--kubik-radius-md);

    font-size: 1rem;
    font-weight: 650;
    line-height: 1.35;

    text-decoration: none;

    transition:
        color var(--kubik-transition),
        transform var(--kubik-transition),
        border-color var(--kubik-transition),
        background-color var(--kubik-transition);
}


/* Активные ссылки магазинов */

.entry.themeform a.lk-store-row:hover,
.entry.themeform a.lk-store-row:focus-visible {
    color: var(--kubik-text);

    border-color: var(--kubik-red);

    text-decoration: none;

    transform: translateX(4px);
}

.entry.themeform a.lk-store-row:focus-visible {
    outline: 2px solid var(--kubik-red);
    outline-offset: 3px;
}

/* =========================================================
   Неоновая строка магазина
   Для Lumibricks / Neoncity
   ========================================================= */

.entry.themeform .lk-store-row--neon {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    border-color: rgba(37, 211, 255, .38);

    box-shadow:
        0 0 0 1px rgba(37, 211, 255, .08),
        0 0 14px rgba(37, 211, 255, .10);
}


/* Движущийся неоновый луч */

.entry.themeform .lk-store-row--neon::before {
    content: "";

    position: absolute;
    z-index: -2;

    left: 50%;
    top: 50%;

    width: 160%;
    aspect-ratio: 1;

    background:
        conic-gradient(
            from 0deg,
            transparent 0deg,
            transparent 304deg,
            rgba(42, 217, 255, 0) 310deg,
            rgba(42, 217, 255, .18) 322deg,
            #28dbff 337deg,
            #c7f8ff 346deg,
            #ffffff 350deg,
            #53e5ff 354deg,
            rgba(42, 217, 255, .10) 358deg,
            transparent 360deg
        );

    transform: translate(-50%, -50%) rotate(0deg);

    animation: lk-neon-border-spin 3.2s linear infinite;

    pointer-events: none;
}


/* Внутренний фон строки.
   Оставляет видимым только тонкий неоновый контур */

.entry.themeform .lk-store-row--neon::after {
    content: "";

    position: absolute;
    z-index: -1;

    inset: 2px;

    border-radius: calc(var(--kubik-radius-md) - 2px);

    background: var(--kubik-surface-alt);

    pointer-events: none;
}


/* Контент строки остаётся поверх анимации */

.entry.themeform .lk-store-row--neon > * {
    position: relative;
    z-index: 1;
}


/* Анимация */

@keyframes lk-neon-border-spin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}


/* Hover */

.entry.themeform a.lk-store-row--neon:hover {
    border-color: transparent;

    box-shadow:
        0 0 0 1px rgba(37, 211, 255, .18),
        0 0 16px rgba(37, 211, 255, .18),
        0 0 28px rgba(37, 211, 255, .10);
}


/* Focus */

.entry.themeform a.lk-store-row--neon:focus-visible {
    border-color: transparent;

    outline: 2px solid #28dbff;
    outline-offset: 3px;
}


/* Reduced motion */

@media (prefers-reduced-motion: reduce) {

    .entry.themeform .lk-store-row--neon::before {
        animation: none;

        background: #28dbff;

        opacity: .6;
    }
}

/* =========================================================
   Неоновая строка магазина — вариант 2
   ELECTRIC GLITCH
   ========================================================= */

.entry.themeform .lk-store-row--neon-pulse {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    border-color: rgba(39, 220, 255, .42);

    box-shadow:
        0 0 0 1px rgba(39, 220, 255, .08),
        0 0 12px rgba(39, 220, 255, .10);

    animation:
        lk-electric-frame 4.8s infinite;
}


/* =========================================================
   Электрический разряд по контуру
   ========================================================= */

.entry.themeform .lk-store-row--neon-pulse::before {
    content: "";

    position: absolute;
    z-index: -2;

    left: 50%;
    top: 50%;

    width: 175%;
    aspect-ratio: 1;

    background:
        conic-gradient(
            from 0deg,

            transparent 0deg,
            transparent 250deg,

            rgba(36, 222, 255, 0) 270deg,

            rgba(36, 222, 255, .20) 282deg,

            #20dcff 292deg,

            #ffffff 296deg,

            #62ebff 299deg,

            transparent 304deg,

            transparent 320deg,

            rgba(36, 222, 255, .35) 325deg,

            #ffffff 329deg,

            #22ddff 332deg,

            transparent 337deg,

            transparent 360deg
        );

    filter:
        drop-shadow(0 0 2px #ffffff)
        drop-shadow(0 0 5px rgba(35, 222, 255, .95))
        drop-shadow(0 0 12px rgba(35, 222, 255, .55));

    transform:
        translate(-50%, -50%)
        rotate(0deg);

    animation:
        lk-electric-run 3.4s linear infinite;

    pointer-events: none;
}


/* =========================================================
   Внутренняя поверхность
   ========================================================= */

.entry.themeform .lk-store-row--neon-pulse::after {
    content: "";

    position: absolute;
    z-index: -1;

    inset: 2px;

    border-radius:
        calc(var(--kubik-radius-md) - 2px);

    background:
        var(--kubik-surface-alt);

    pointer-events: none;
}


/* Контент поверх эффектов */

.entry.themeform .lk-store-row--neon-pulse > * {
    position: relative;
    z-index: 1;
}


/* =========================================================
   Движение разряда
   ========================================================= */

@keyframes lk-electric-run {

    0% {
        transform:
            translate(-50%, -50%)
            rotate(0deg);

        opacity: .65;
    }

    18% {
        opacity: .75;
    }

    19% {
        opacity: .15;
    }

    20% {
        opacity: 1;
    }

    21% {
        opacity: .35;
    }

    23% {
        opacity: 1;
    }

    47% {
        opacity: .75;
    }

    48% {
        opacity: 0;
    }

    49% {
        opacity: 1;
    }

    72% {
        opacity: .8;
    }

    73% {
        opacity: .25;
    }

    74% {
        opacity: 1;
    }

    76% {
        opacity: .55;
    }

    78% {
        opacity: 1;
    }

    100% {
        transform:
            translate(-50%, -50%)
            rotate(360deg);

        opacity: .65;
    }
}


/* =========================================================
   Случайные вспышки всей рамки
   ========================================================= */

@keyframes lk-electric-frame {

    0%,
    15%,
    18%,
    42%,
    68%,
    82%,
    100% {
        border-color:
            rgba(39, 220, 255, .35);

        box-shadow:
            0 0 0 1px
            rgba(39, 220, 255, .06),

            0 0 10px
            rgba(39, 220, 255, .08);
    }


    /* Первый короткий разряд */

    16% {
        border-color:
            rgba(185, 247, 255, .95);

        box-shadow:
            0 0 3px
            rgba(255, 255, 255, .85),

            0 0 12px
            rgba(39, 220, 255, .70),

            0 0 28px
            rgba(39, 220, 255, .30);
    }

    17% {
        border-color:
            rgba(39, 220, 255, .12);

        box-shadow: none;
    }


    /* Сильный двойной разряд */

    69% {
        border-color: #d8fbff;

        box-shadow:
            0 0 4px
            rgba(255, 255, 255, .95),

            0 0 15px
            rgba(39, 220, 255, .85),

            0 0 32px
            rgba(39, 220, 255, .38);
    }

    70% {
        border-color:
            rgba(39, 220, 255, .10);

        box-shadow: none;
    }

    71% {
        border-color: #8defff;

        box-shadow:
            0 0 3px
            rgba(255, 255, 255, .80),

            0 0 11px
            rgba(39, 220, 255, .65),

            0 0 24px
            rgba(39, 220, 255, .25);
    }
}


/* =========================================================
   Hover
   ========================================================= */

.entry.themeform a.lk-store-row--neon-pulse:hover {
    border-color:
        rgba(103, 235, 255, .9);

    box-shadow:
        0 0 3px
        rgba(255, 255, 255, .45),

        0 0 15px
        rgba(39, 220, 255, .35),

        0 0 30px
        rgba(39, 220, 255, .15);
}


/* =========================================================
   Focus
   ========================================================= */

.entry.themeform a.lk-store-row--neon-pulse:focus-visible {
    outline: 2px solid #28dbff;
    outline-offset: 3px;
}


/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .entry.themeform .lk-store-row--neon-pulse,
    .entry.themeform .lk-store-row--neon-pulse::before {
        animation: none;
    }

    .entry.themeform .lk-store-row--neon-pulse {
        border-color:
            rgba(39, 220, 255, .55);

        box-shadow:
            0 0 12px
            rgba(39, 220, 255, .16);
    }
}

/* =========================================================
   Неоновая строка магазина — вариант 3
   NEON SCAN
   ========================================================= */

.entry.themeform .lk-store-row--neon-scan {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    border-color: rgba(39, 220, 255, .32);

    box-shadow:
        0 0 0 1px rgba(39, 220, 255, .05),
        0 0 12px rgba(39, 220, 255, .07);
}


/* =========================================================
   Сканирующий луч
   ========================================================= */

.entry.themeform .lk-store-row--neon-scan::before {
    content: "";

    position: absolute;
    z-index: 0;

    top: -20%;
    bottom: -20%;

    left: -35%;

    width: 22%;

    background:
        linear-gradient(
            90deg,

            rgba(39, 220, 255, 0) 0%,

            rgba(39, 220, 255, .05) 20%,

            rgba(39, 220, 255, .18) 38%,

            rgba(107, 235, 255, .48) 46%,

            rgba(232, 253, 255, .92) 50%,

            rgba(107, 235, 255, .48) 54%,

            rgba(39, 220, 255, .18) 62%,

            rgba(39, 220, 255, .05) 80%,

            rgba(39, 220, 255, 0) 100%
        );

    filter:
        blur(.3px)
        drop-shadow(0 0 5px rgba(39, 220, 255, .75))
        drop-shadow(0 0 12px rgba(39, 220, 255, .35));

    transform:
        skewX(-12deg);

    animation:
        lk-neon-scan-run 4s ease-in-out infinite;

    pointer-events: none;
}


/* =========================================================
   Мягкий свет по контуру
   ========================================================= */

.entry.themeform .lk-store-row--neon-scan::after {
    content: "";

    position: absolute;
    z-index: 0;

    inset: 0;

    border-radius: inherit;

    box-shadow:
        inset 0 0 0 1px rgba(39, 220, 255, .14),
        inset 0 0 10px rgba(39, 220, 255, .04);

    pointer-events: none;
}


/* Контент поверх сканера */

.entry.themeform .lk-store-row--neon-scan > * {
    position: relative;
    z-index: 1;
}


/* =========================================================
   Проход сканера
   ========================================================= */

@keyframes lk-neon-scan-run {

    0% {
        left: -35%;
        opacity: 0;
    }

    8% {
        opacity: 1;
    }

    42% {
        opacity: 1;
    }

    52% {
        left: 115%;
        opacity: 0;
    }

    100% {
        left: 115%;
        opacity: 0;
    }
}


/* =========================================================
   Hover
   ========================================================= */

.entry.themeform a.lk-store-row--neon-scan:hover {
    border-color:
        rgba(82, 231, 255, .75);

    box-shadow:
        0 0 0 1px rgba(39, 220, 255, .12),
        0 0 16px rgba(39, 220, 255, .16),
        0 0 28px rgba(39, 220, 255, .08);
}


/* На hover сканер проходит чуть быстрее */

.entry.themeform a.lk-store-row--neon-scan:hover::before {
    animation-duration: 2.4s;
}


/* =========================================================
   Focus
   ========================================================= */

.entry.themeform a.lk-store-row--neon-scan:focus-visible {
    outline: 2px solid #28dbff;
    outline-offset: 3px;
}


/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .entry.themeform .lk-store-row--neon-scan::before {
        animation: none;
        display: none;
    }

    .entry.themeform .lk-store-row--neon-scan {
        border-color:
            rgba(39, 220, 255, .50);

        box-shadow:
            0 0 12px
            rgba(39, 220, 255, .12);
    }
}

/* =========================================================
   Неоновая строка магазина — вариант 4
   POLICE STROBE
   ========================================================= */

.entry.themeform .lk-store-row--police {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    border-color: rgba(60, 180, 255, .35);

    box-shadow:
        0 0 0 1px rgba(60, 180, 255, .06);

    animation:
        lk-police-frame 4.2s linear infinite;
}


/* =========================================================
   Левая / правая световые зоны
   ========================================================= */

.entry.themeform .lk-store-row--police::before {
    content: "";

    position: absolute;
    z-index: 0;

    inset: 0;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,

            rgba(30, 195, 255, 0) 0%,
            rgba(30, 195, 255, .34) 10%,
            rgba(163, 242, 255, .72) 18%,
            rgba(30, 195, 255, .18) 31%,
            rgba(30, 195, 255, 0) 46%,

            rgba(255, 55, 75, 0) 54%,
            rgba(255, 55, 75, .18) 69%,
            rgba(255, 105, 120, .68) 82%,
            rgba(255, 55, 75, .34) 90%,
            rgba(255, 55, 75, 0) 100%
        );

    opacity: 0;

    mix-blend-mode: screen;

    pointer-events: none;

    animation:
        lk-police-light 4.2s linear infinite;
}


/* =========================================================
   Внутреннее свечение по рамке
   ========================================================= */

.entry.themeform .lk-store-row--police::after {
    content: "";

    position: absolute;
    z-index: 0;

    inset: 0;

    border-radius: inherit;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .04);

    pointer-events: none;

    animation:
        lk-police-border 4.2s linear infinite;
}


/* Контент выше световых эффектов */

.entry.themeform .lk-store-row--police > * {
    position: relative;
    z-index: 1;
}


/* =========================================================
   Световые вспышки
   ========================================================= */

@keyframes lk-police-light {

    /* спокойная пауза */

    0%,
    8% {
        opacity: 0;
    }


    /* BLUE FLASH 1 */

    9% {
        opacity: 1;

        filter:
            drop-shadow(-8px 0 10px rgba(30, 195, 255, .85))
            drop-shadow(-14px 0 24px rgba(30, 195, 255, .45));
    }

    12% {
        opacity: .10;
    }


    /* BLUE FLASH 2 */

    14% {
        opacity: 1;

        filter:
            drop-shadow(-8px 0 12px rgba(30, 195, 255, 1))
            drop-shadow(-16px 0 28px rgba(30, 195, 255, .50));
    }

    18% {
        opacity: 0;
    }


    /* RED FLASH 1 */

    23% {
        opacity: 1;

        filter:
            drop-shadow(8px 0 10px rgba(255, 55, 75, .85))
            drop-shadow(14px 0 24px rgba(255, 55, 75, .42));
    }

    26% {
        opacity: .10;
    }


    /* RED FLASH 2 */

    28% {
        opacity: 1;

        filter:
            drop-shadow(8px 0 12px rgba(255, 55, 75, 1))
            drop-shadow(16px 0 28px rgba(255, 55, 75, .48));
    }

    32% {
        opacity: 0;
    }


    /* короткая серия */

    38% {
        opacity: .85;
    }

    40% {
        opacity: 0;
    }

    42% {
        opacity: .95;
    }

    44% {
        opacity: 0;
    }


    /* длинная спокойная пауза */

    45%,
    100% {
        opacity: 0;
    }
}


/* =========================================================
   Цвет рамки синхронно со вспышками
   ========================================================= */

@keyframes lk-police-border {

    0%,
    8%,
    18%,
    22%,
    32%,
    37%,
    45%,
    100% {
        box-shadow:
            inset 0 0 0 1px
            rgba(255, 255, 255, .04);
    }


    /* Синий */

    9%,
    14% {
        box-shadow:
            inset 0 0 0 1px
            rgba(126, 232, 255, .85),

            inset 0 0 12px
            rgba(30, 195, 255, .16),

            0 0 12px
            rgba(30, 195, 255, .48),

            0 0 24px
            rgba(30, 195, 255, .20);
    }


    /* Красный */

    23%,
    28% {
        box-shadow:
            inset 0 0 0 1px
            rgba(255, 128, 140, .85),

            inset 0 0 12px
            rgba(255, 55, 75, .14),

            0 0 12px
            rgba(255, 55, 75, .44),

            0 0 24px
            rgba(255, 55, 75, .18);
    }


    /* Смешанная короткая вспышка */

    38%,
    42% {
        box-shadow:
            -6px 0 14px
            rgba(30, 195, 255, .32),

            6px 0 14px
            rgba(255, 55, 75, .30),

            inset 0 0 0 1px
            rgba(255, 255, 255, .10);
    }
}


/* =========================================================
   Очень лёгкое изменение общего свечения
   ========================================================= */

@keyframes lk-police-frame {

    0%,
    100% {
        border-color:
            rgba(60, 180, 255, .28);
    }

    14% {
        border-color:
            rgba(90, 225, 255, .65);
    }

    28% {
        border-color:
            rgba(255, 82, 98, .58);
    }

    42% {
        border-color:
            rgba(150, 130, 255, .45);
    }
}


/* =========================================================
   Hover
   ========================================================= */

.entry.themeform a.lk-store-row--police:hover {
    border-color:
        rgba(117, 223, 255, .70);

    box-shadow:
        -7px 0 18px rgba(30, 195, 255, .16),
        7px 0 18px rgba(255, 55, 75, .14);
}


/* =========================================================
   Focus
   ========================================================= */

.entry.themeform a.lk-store-row--police:focus-visible {
    outline: 2px solid #49dfff;
    outline-offset: 3px;
}


/* =========================================================
   Reduced motion
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .entry.themeform .lk-store-row--police,
    .entry.themeform .lk-store-row--police::before,
    .entry.themeform .lk-store-row--police::after {
        animation: none;
    }

    .entry.themeform .lk-store-row--police {
        border-color:
            rgba(66, 210, 255, .50);

        box-shadow:
            -5px 0 12px rgba(30, 195, 255, .10),
            5px 0 12px rgba(255, 55, 75, .08);
    }
}


/* Цветные маркеры магазинов */

.entry.themeform .lk-store-dot {
    flex: 0 0 auto;

    width: 14px;
    height: 14px;

    border-radius: 50%;
}

.entry.themeform .lk-store-dot--market {
    background: #ff8a00;
}

.entry.themeform .lk-store-dot--ozon {
    background: #48a7e8;
}

.entry.themeform .lk-store-dot--wildberries {
    background: #9b7bd8;
}

.entry.themeform .lk-store-dot--kubiki {
    background: #ffc74f;
}


/* Название магазина */

.entry.themeform .lk-store-name {
    flex: 1 1 auto;
    min-width: 0;
}


/* Стрелка */

.entry.themeform .lk-store-arrow {
    flex: 0 0 auto;

    color: var(--kubik-text-light);

    font-size: 1.15rem;
    line-height: 1;

    transition: transform var(--kubik-transition);
}

.entry.themeform a.lk-store-row:hover .lk-store-arrow,
.entry.themeform a.lk-store-row:focus-visible .lk-store-arrow {
    transform: translateX(3px);
}


/* Недоступный магазин */

.entry.themeform .lk-store-row--disabled {
    cursor: default;
    opacity: .62;
}

.entry.themeform .lk-store-status {
    color: var(--kubik-text-light);

    font-size: .88rem;
    font-weight: 500;
}


/* Примечание о партнёрских ссылках */

.entry.themeform .lk-buy-card .lk-buy-note {
    margin: 1.1rem 0 0;

    color: var(--kubik-text-light);

    font-size: .83rem;
    line-height: 1.55;
}


/* ==========================================================================
   Фирменный блок цитаты Lego Kubik
========================================================================== */

/*
 * Высокая специфичность нужна, потому что Dashwall подключает
 * собственные стили blockquote после CSS плагина Lego Kubik UI.
 */

body .entry.themeform > blockquote,
body .entry.themeform blockquote.wp-block-quote {
    position: relative;

    box-sizing: border-box;
    width: 100%;

    margin: 2rem 0;
    padding: 1.35rem 1.5rem 1.35rem 3.6rem;

    color: var(--kubik-text);

    background: var(--kubik-surface-alt);

    border: 0;
    border-left: 6px solid #f2c500;
    border-radius: 24px;

    font-style: italic;
    font-weight: 400;
    line-height: 1.65;

    box-shadow: none;

    overflow: hidden;
}


/* Кавычка */

body .entry.themeform > blockquote::before,
body .entry.themeform blockquote.wp-block-quote::before {
    content: "“";

    position: absolute;

    top: .95rem;
    left: 1rem;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    color: var(--kubik-text);

    background: transparent;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;

    opacity: 1;
}


/* Убираем возможный второй декоративный элемент темы */

body .entry.themeform > blockquote::after,
body .entry.themeform blockquote.wp-block-quote::after {
    content: none;
    display: none;
}


/* Текст цитаты */

body .entry.themeform > blockquote p,
body .entry.themeform blockquote.wp-block-quote p {
    margin: 0;
    padding: 0;

    color: inherit;

    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    line-height: inherit;
}


/* Если WordPress не добавил внутренний абзац */

body .entry.themeform > blockquote:not(:has(p)),
body .entry.themeform blockquote.wp-block-quote:not(:has(p)) {
    color: var(--kubik-text);
}


/* ==========================================================================
   Защита от автоматических отступов темы Dashwall
========================================================================== */

.entry.themeform > .lk-card h1,
.entry.themeform > .lk-card h2,
.entry.themeform > .lk-card h3,
.entry.themeform > .lk-card h4,
.entry.themeform > .lk-card h5,
.entry.themeform > .lk-card h6,
.entry.themeform > .lk-buy-card h1,
.entry.themeform > .lk-buy-card h2,
.entry.themeform > .lk-buy-card h3,
.entry.themeform > .lk-buy-card h4,
.entry.themeform > .lk-buy-card h5,
.entry.themeform > .lk-buy-card h6 {
    margin-top: 0;
}

.entry.themeform > .lk-card p,
.entry.themeform > .lk-buy-card p {
    margin-top: 0;
}


/* Пустые абзацы, автоматически добавленные WordPress */

.entry.themeform .lk-card > p:empty,
.entry.themeform .lk-buy-card > p:empty,
.entry.themeform .lk-row > p:empty,
.entry.themeform .lk-store-list > p:empty,
.entry.themeform blockquote > p:empty {
    display: none;

    width: 0;
    height: 0;

    margin: 0;
    padding: 0;
}


/* Если WordPress завернул ссылки магазинов в абзацы */

.entry.themeform .lk-store-list > p {
    display: contents;

    margin: 0;
    padding: 0;
}


/* Лишние переносы строк WordPress */

.entry.themeform .lk-card br,
.entry.themeform .lk-buy-card br,
.entry.themeform .lk-store-list > br,
.entry.themeform .lk-store-row br {
    display: none;
}


/* Защита строк характеристик */

.entry.themeform .lk-card .lk-row,
.entry.themeform .lk-card .lk-row + .lk-row {
    margin-top: 0;
    margin-bottom: 0;
}


/* ==========================================================================
   Тёмная тема Dashwall
========================================================================== */

body.dark .entry.themeform > .lk-card,
body.dark .entry.themeform > .lk-buy-card {
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .035),
        0 1px 2px rgba(0, 0, 0, .18),
        0 6px 12px rgba(0, 0, 0, .18),
        0 18px 38px rgba(0, 0, 0, .28);
}

body.dark .entry.themeform > .lk-card::after,
body.dark .entry.themeform > .lk-buy-card::after {
    background: #20242c;
}


/* Цитата в тёмной теме */

body.dark .entry.themeform > blockquote,
body.dark .entry.themeform blockquote.wp-block-quote {
    color: var(--kubik-text);

    background: var(--kubik-surface-alt);

    border-left-color: #f2c500;
}

body.dark .entry.themeform > blockquote::before,
body.dark .entry.themeform blockquote.wp-block-quote::before {
    color: var(--kubik-text);
}


/* ==========================================================================
   Мобильная версия
========================================================================== */

@media (max-width: 768px) {

    .entry.themeform > .lk-card,
    .entry.themeform > .lk-buy-card {
        margin: 2rem 0;
        border-radius: 24px;
    }


    /* Карточка характеристик */

    .entry.themeform > .lk-card {
        padding: 1.25rem;
    }

    .entry.themeform .lk-card h3 {
        font-size: 1.7rem;
    }

    .entry.themeform .lk-card .lk-subtitle {
        margin-bottom: 1.1rem;
    }

    .entry.themeform .lk-card .lk-row {
        grid-template-columns: 1fr;
        gap: .35rem;

        padding: .75rem 0;
    }


    /* Карточка «Где купить» */

    .entry.themeform > .lk-buy-card {
        padding: 1.25rem 1rem 1.3rem 1.25rem;

        border-left-width: 5px;
    }

    .entry.themeform .lk-buy-card h3 {
        font-size: 1.4rem;
    }

    .entry.themeform .lk-store-row {
        align-items: flex-start;

        min-height: auto;
        padding: .8rem;
    }

    .entry.themeform .lk-store-dot {
        margin-top: .18rem;
    }

    .entry.themeform .lk-store-status {
        display: block;

        margin-top: .2rem;
    }


    /* Фирменная цитата */

    body .entry.themeform > blockquote,
    body .entry.themeform blockquote.wp-block-quote {
        margin: 1.75rem 0;
        padding: 1.15rem 1.1rem 1.15rem 3.1rem;

        border-left-width: 5px;
        border-radius: 20px;

        line-height: 1.6;
    }

    body .entry.themeform > blockquote::before,
    body .entry.themeform blockquote.wp-block-quote::before {
        top: .85rem;
        left: .85rem;

        font-size: 3.2rem;
    }


    /* Нижняя плашка Dashwall */

    .entry.themeform > .lk-card::after,
    .entry.themeform > .lk-buy-card::after {
        left: 28px;
        right: 28px;
    }
}


/* ==========================================================================
   Очень узкие экраны
========================================================================== */

@media (max-width: 420px) {

    .entry.themeform > .lk-card {
        padding: 1.1rem;
    }

    .entry.themeform > .lk-buy-card {
        padding:
            1.1rem
            .85rem
            1.15rem
            1.1rem;
    }

    .entry.themeform .lk-card h3,
    .entry.themeform .lk-buy-card h3 {
        font-size: 1.3rem;
    }

    .entry.themeform .lk-store-row {
        gap: .65rem;

        padding: .75rem;
    }

    .entry.themeform .lk-store-arrow {
        font-size: 1rem;
    }

    body .entry.themeform > blockquote,
    body .entry.themeform blockquote.wp-block-quote {
        padding:
            1rem
            .9rem
            1rem
            2.7rem;

        font-size: .95rem;
    }

    body .entry.themeform > blockquote::before,
    body .entry.themeform blockquote.wp-block-quote::before {
        left: .7rem;

        font-size: 2.8rem;
    }
}