/* ═══════════════════════════════════════════════════════════
   main.css — dezprofises.ru
   All styles reference CSS variables from variables.css
═══════════════════════════════════════════════════════════ */

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

html { font-size: var(--font-size-base); scroll-behavior: smooth; }

body {
    font-family: var(--font-main);
    color: var(--color-text);
    background: var(--color-bg);
    line-height: var(--line-height-base);
    -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-dark); }
ul { list-style: none; }

/* ── Container ───────────────────────────────────────────── */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: var(--container-pad);
}

/* ── Sections ────────────────────────────────────────────── */
.section-pad    { padding: var(--space-2xl) 0; }
.section-alt    { background: var(--color-bg-section); }
.section-title  { font-size: clamp(24px, 3vw, 36px); font-weight: 700; text-align: center; margin-bottom: var(--space-xl); }
.section-subtitle { text-align: center; color: var(--color-text-muted); margin-top: calc(-1 * var(--space-lg)); margin-bottom: var(--space-xl); }

/* ── Buttons ─────────────────────────────────────────────── */
.btn-primary, .btn-secondary, .btn-accent, .btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    padding: 14px 28px; border-radius: var(--radius-md);
    font-size: 16px; font-weight: 600; cursor: pointer;
    transition: all var(--transition); border: 2px solid transparent;
    text-decoration: none; white-space: nowrap;
}
.btn-primary  { background: var(--color-primary);  color: #fff; }
.btn-primary:hover  { background: var(--color-primary-dark); color: #fff; }
.btn-secondary { background: #fff; color: var(--color-primary); border-color: var(--color-primary); }
.btn-secondary:hover { background: var(--color-primary); color: #fff; }
.btn-accent   { background: var(--color-accent);   color: #fff; }
.btn-accent:hover   { background: var(--color-accent-dark); color: #fff; }
.btn-outline  { background: transparent; color: #fff; border-color: #fff; }
.btn-outline:hover  { background: #fff; color: var(--color-primary); }
.btn-large    { padding: 18px 36px; font-size: 18px; }

/* ── Header ──────────────────────────────────────────────── */
.site-header {
    position: sticky; top: 0; z-index: 100;
    background: #fff; box-shadow: var(--shadow-sm);
    padding: 12px 0;
}
.site-header__inner {
    display: flex; align-items: center; gap: var(--space-lg);
}
.site-header__logo-text {
    font-size: 22px; font-weight: 800; color: var(--color-primary);
}
.site-header__contacts { margin-left: auto; text-align: right; }
.site-header__phone    { font-size: 18px; font-weight: 700; color: var(--color-text); display: block; }
.site-header__phone:hover { color: var(--color-primary); }
.site-header__workhours { font-size: 12px; color: var(--color-text-muted); }
.site-header__cta      { margin-left: var(--space-md); }
.site-header__burger   { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.site-header__burger span { display: block; width: 24px; height: 2px; background: var(--color-text); border-radius: 2px; transition: var(--transition); }

/* ── Hero ────────────────────────────────────────────────── */
.hero {
    background: linear-gradient(135deg, #0F2B6E 0%, var(--color-primary) 100%);
    padding: var(--space-3xl) 0;
    color: #fff;
    position: relative;
    overflow: hidden;
}

/* Decorative background circles */
.hero::before {
    content: ''; position: absolute;
    width: 600px; height: 600px; border-radius: 50%;
    background: rgba(255,255,255,.04);
    top: -200px; right: -100px; pointer-events: none;
}
.hero::after {
    content: ''; position: absolute;
    width: 300px; height: 300px; border-radius: 50%;
    background: rgba(255,255,255,.04);
    bottom: -120px; left: -60px; pointer-events: none;
}

/* Colour variants */
.hero--red  { background: linear-gradient(135deg, #7f1d1d 0%, #c0392b 100%); }
.hero--green { background: linear-gradient(135deg, #14532d 0%, #16a34a 100%); }
.hero--dark  { background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%); }
.hero--blue  { background: linear-gradient(135deg, #0F2B6E 0%, var(--color-primary) 100%); }

.hero__inner {
    display: grid; grid-template-columns: 1fr 400px; gap: var(--space-2xl);
    align-items: start; position: relative; z-index: 1;
}

/* Badge */
.hero__badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35);
    color: #fff; padding: 5px 16px; border-radius: var(--radius-full);
    font-size: 14px; font-weight: 600; margin-bottom: var(--space-md);
    backdrop-filter: blur(4px);
}

/* H1 */
.hero__h1 {
    font-size: clamp(26px, 3.8vw, 46px); font-weight: 800; line-height: 1.18;
    margin-bottom: var(--space-md); letter-spacing: -.02em;
}

.hero__subtitle { font-size: 17px; opacity: .88; margin-bottom: var(--space-lg); line-height: 1.55; }

/* Feature list */
.hero__features {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px 16px; margin-bottom: var(--space-lg);
}
.hero__features li {
    font-size: 14px; opacity: .9;
    display: flex; align-items: center; gap: 6px;
}

/* CTA buttons */
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-md); margin-bottom: var(--space-sm); }
.hero__phone-hint { font-size: 13px; opacity: .65; margin-bottom: var(--space-lg); }
.hero__phone-hint a { color: #fff; text-decoration: underline; }

/* Trust stats row */
.hero__stats {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 0; border-top: 1px solid rgba(255,255,255,.2);
    padding-top: var(--space-lg); margin-top: var(--space-sm);
}
.hero__stat { text-align: center; padding: 0 8px; border-right: 1px solid rgba(255,255,255,.15); }
.hero__stat:last-child { border-right: none; }
.hero__stat-num {
    display: block; font-size: clamp(20px, 2.5vw, 28px); font-weight: 800;
    color: #fff; line-height: 1.1; margin-bottom: 3px;
}
.hero--red   .hero__stat-num  { color: #fde68a; }
.hero--green .hero__stat-num  { color: #bbf7d0; }
.hero__stat-label { display: block; font-size: 11px; opacity: .7; line-height: 1.3; }

/* Urgency strip */
.hero__urgency {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    margin-top: var(--space-lg);
    background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
    border-radius: var(--radius-md); padding: 10px 16px;
    font-size: 14px;
}
.hero__urgency-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: #4ade80; flex-shrink: 0;
    box-shadow: 0 0 0 3px rgba(74,222,128,.3);
    animation: blink 1.5s ease-in-out infinite;
}
@keyframes blink {
    0%,100% { opacity: 1; }
    50%      { opacity: .4; }
}
.hero__urgency-timer { color: #fde68a; font-size: 16px; }

/* Form column */
.hero__form-wrap {
    background: #fff; border-radius: var(--radius-lg); padding: var(--space-xl);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    position: relative; z-index: 1;
}
.hero__form-title {
    font-size: 20px; font-weight: 800; color: var(--color-text);
    margin-bottom: 4px; line-height: 1.3;
}
.hero__form-sub {
    font-size: 13px; color: var(--color-text-muted);
    margin-bottom: var(--space-lg);
}
.hero__form-trust {
    margin-top: var(--space-md); display: flex; flex-direction: column; gap: 4px;
}
.hero__form-trust li { font-size: 12px; color: var(--color-text-muted); }

/* ── Advantages ──────────────────────────────────────────── */
.advantages__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); }
.advantages__card {
    background: var(--color-bg-card); border-radius: var(--radius-lg);
    padding: var(--space-xl) var(--space-lg); text-align: center;
    box-shadow: var(--shadow-sm); transition: var(--transition);
}
.advantages__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.advantages__icon  { font-size: 40px; margin-bottom: var(--space-md); }
.advantages__title { font-size: 17px; font-weight: 700; margin-bottom: var(--space-sm); }
.advantages__text  { font-size: 14px; color: var(--color-text-muted); }

/* ── Stages ──────────────────────────────────────────────── */
.stages__grid  { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg); }
.stages__item  { text-align: center; }
.stages__num {
    width: 52px; height: 52px; border-radius: 50%; background: var(--color-primary);
    color: #fff; font-size: 22px; font-weight: 800;
    display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-md);
}
.stages__title { font-size: 16px; font-weight: 700; margin-bottom: var(--space-sm); }
.stages__text  { font-size: 14px; color: var(--color-text-muted); }

/* ── Prices ──────────────────────────────────────────────── */
.prices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.prices__card {
    border: 2px solid var(--color-border); border-radius: var(--radius-lg);
    padding: var(--space-xl); text-align: center; position: relative;
    transition: var(--transition);
}
.prices__card:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); }
.prices__card--featured { border-color: var(--color-primary); }
.prices__badge {
    position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
    background: var(--color-accent); color: #fff; padding: 4px 16px;
    border-radius: var(--radius-full); font-size: 13px; font-weight: 600; white-space: nowrap;
}
.prices__type  { font-size: 15px; color: var(--color-text-muted); margin-bottom: var(--space-sm); }
.prices__price { font-size: 32px; font-weight: 800; color: var(--color-primary); margin-bottom: var(--space-lg); }
.prices__list  { margin-bottom: var(--space-xl); }
.prices__list li { padding: 6px 0; border-bottom: 1px solid var(--color-border); font-size: 14px; }
.prices__list li:last-child { border-bottom: none; }

/* ── Urgent ──────────────────────────────────────────────── */
.urgent {
    background: var(--color-accent);
    padding: var(--space-xl) 0;
    color: #fff;
}
.urgent__inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-lg); }
.urgent__title { font-size: clamp(22px, 3vw, 32px); font-weight: 800; margin-bottom: 8px; }
.urgent__sub   { font-size: 16px; opacity: .9; }
.urgent__cta   { display: flex; gap: var(--space-md); flex-wrap: wrap; }

/* ── Reviews ─────────────────────────────────────────────── */
.reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.reviews__card {
    background: #fff; border-radius: var(--radius-lg); padding: var(--space-xl);
    box-shadow: var(--shadow-sm);
}
.reviews__stars { color: #F59E0B; font-size: 20px; margin-bottom: var(--space-sm); }
.reviews__text  { font-size: 15px; color: var(--color-text-muted); margin-bottom: var(--space-md); font-style: italic; }
.reviews__author { font-size: 14px; font-weight: 600; }

/* ── Guarantees ──────────────────────────────────────────── */
.guarantees__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.guarantees__item { text-align: center; }
.guarantees__icon  { font-size: 48px; margin-bottom: var(--space-md); }
.guarantees__title { font-size: 18px; font-weight: 700; margin-bottom: var(--space-sm); }
.guarantees__text  { font-size: 14px; color: var(--color-text-muted); }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq__list { max-width: 800px; margin: 0 auto; }
.faq__item { border-bottom: 1px solid var(--color-border); }
.faq__question {
    width: 100%; display: flex; justify-content: space-between; align-items: center;
    padding: var(--space-lg) 0; background: none; border: none; cursor: pointer;
    font-size: 16px; font-weight: 600; text-align: left; gap: var(--space-md);
    color: var(--color-text);
}
.faq__question:hover { color: var(--color-primary); }
.faq__icon { font-size: 22px; font-weight: 400; flex-shrink: 0; color: var(--color-primary); }
.faq__answer { padding: 0 0 var(--space-lg); color: var(--color-text-muted); }

/* ── Forms ───────────────────────────────────────────────── */
.dezpro-form { width: 100%; }
.dezpro-form__title { font-size: 20px; font-weight: 700; margin-bottom: var(--space-lg); color: var(--color-text); }
.dezpro-form__row   { margin-bottom: var(--space-md); }
.dezpro-form__row--two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.dezpro-form__row--inline { display: flex; gap: var(--space-md); }
.dezpro-form__input {
    width: 100%; padding: 14px 16px; border: 2px solid var(--color-border);
    border-radius: var(--radius-md); font-size: 16px; font-family: var(--font-main);
    transition: border-color var(--transition); outline: none;
}
.dezpro-form__input:focus { border-color: var(--color-primary); }
.dezpro-form__error { display: block; color: var(--color-error); font-size: 13px; margin-top: 4px; }
.dezpro-form__btn   { margin-top: var(--space-sm); }
.dezpro-form__privacy { font-size: 13px; color: var(--color-text-muted); margin-bottom: var(--space-md); }
.dezpro-form__privacy a { color: var(--color-primary); }
.dezpro-form__status { padding: 12px 16px; border-radius: var(--radius-md); font-size: 15px; }
.dezpro-form__status--success { background: #ECFDF5; color: var(--color-success); }
.dezpro-form__status--error   { background: #FEF2F2; color: var(--color-error); }

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

/* ── Services grid (homepage) ────────────────────────────── */
.services-grid__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-md); }
.services-grid__card {
    background: #fff; border: 2px solid var(--color-border);
    border-radius: var(--radius-md); padding: var(--space-lg) var(--space-md);
    transition: all var(--transition); display: block;
}
.services-grid__card:hover {
    border-color: var(--color-primary); transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}
.services-grid__name  { font-size: 15px; font-weight: 700; margin-bottom: 6px; color: var(--color-text); }
.services-grid__price { font-size: 14px; color: var(--color-primary); font-weight: 600; }
.services-grid__guarantee { font-size: 12px; color: var(--color-text-muted); margin-top: 4px; }

/* ── Related services ────────────────────────────────────── */
.dezpro-related__title { font-size: 24px; font-weight: 700; margin-bottom: var(--space-lg); }
.dezpro-related__grid  { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-md); }
.dezpro-related__item  {
    display: block; background: #fff; border: 2px solid var(--color-border);
    border-radius: var(--radius-md); padding: var(--space-lg);
    transition: all var(--transition);
}
.dezpro-related__item:hover { border-color: var(--color-primary); box-shadow: var(--shadow-sm); }
.dezpro-related__name  { display: block; font-weight: 600; color: var(--color-text); margin-bottom: 6px; }
.dezpro-related__price { display: block; color: var(--color-primary); font-size: 14px; font-weight: 600; }

/* ── Trust stats ─────────────────────────────────────────── */
.trust-stats {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-lg);
    background: linear-gradient(135deg, #0F2B6E 0%, var(--color-primary) 100%);
    border-radius: var(--radius-xl); padding: var(--space-xl);
    margin-bottom: var(--space-2xl); text-align: center;
}
.trust-stats__num {
    display: block; font-size: 36px; font-weight: 800; color: #fff;
    line-height: 1.1; margin-bottom: 6px;
}
.trust-stats__label { display: block; font-size: 13px; color: rgba(255,255,255,.8); line-height: 1.4; }

/* ── Floating CTA (desktop) ──────────────────────────────── */
.floating-cta {
    display: none;
    position: fixed; right: 24px; bottom: 80px; z-index: 190;
    flex-direction: column; gap: 10px;
}
.floating-cta__btn {
    display: flex; align-items: center; gap: 8px;
    padding: 14px 20px; border-radius: var(--radius-full);
    font-weight: 700; font-size: 14px; white-space: nowrap;
    box-shadow: 0 4px 20px rgba(0,0,0,.20);
    transition: transform .2s, box-shadow .2s;
}
.floating-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.25); }
.floating-cta__call { background: var(--color-primary); color: #fff; }
.floating-cta__wa   { background: #25D366; color: #fff; }

/* ── Breadcrumbs ─────────────────────────────────────────── */
.breadcrumbs { padding: 12px 0; border-bottom: 1px solid var(--color-border); background: var(--color-bg-section); }
.breadcrumbs__list { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.breadcrumbs__list li::after { content: '›'; margin-left: 8px; color: var(--color-text-muted); }
.breadcrumbs__list li:last-child::after { content: ''; }
.breadcrumbs__list a { color: var(--color-text-muted); font-size: 14px; }
.breadcrumbs__list a:hover { color: var(--color-primary); }
.breadcrumbs__item--current { font-size: 14px; color: var(--color-text); }

/* ── Sticky buttons ──────────────────────────────────────── */
.sticky-buttons {
    display: none;
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
    background: #fff; box-shadow: 0 -2px 12px rgba(0,0,0,.12);
    padding: 10px var(--space-md); gap: var(--space-sm);
}
.sticky-buttons__call, .sticky-buttons__wa {
    flex: 1; padding: 14px; text-align: center; border-radius: var(--radius-md);
    font-weight: 700; font-size: 15px;
}
.sticky-buttons__call { background: var(--color-primary); color: #fff; }
.sticky-buttons__wa   { background: #25D366; color: #fff; }

/* ── Map ─────────────────────────────────────────────────── */
.map-wrap iframe { width: 100%; height: 400px; border: none; border-radius: var(--radius-lg); }

/* ── Footer ──────────────────────────────────────────────── */
.site-footer { background: var(--color-bg-dark); color: #fff; padding: var(--space-2xl) 0 var(--space-lg); }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-2xl); margin-bottom: var(--space-xl); }
.site-footer__logo { font-size: 22px; font-weight: 800; color: var(--color-primary); margin-bottom: var(--space-sm); }
.site-footer__tagline { font-size: 14px; color: rgba(255,255,255,.6); }
.site-footer__heading { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.5); margin-bottom: var(--space-md); }
.site-footer__links li, .site-footer__contacts li { margin-bottom: 8px; }
.site-footer__links a, .site-footer__contacts a { font-size: 14px; color: rgba(255,255,255,.8); }
.site-footer__links a:hover, .site-footer__contacts a:hover { color: #fff; }
.site-footer__hours { font-size: 13px; color: rgba(255,255,255,.5); margin-top: var(--space-sm); }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding-top: var(--space-lg); display: flex; justify-content: space-between; align-items: center; }
.site-footer__bottom p { font-size: 13px; color: rgba(255,255,255,.4); }
.site-footer__privacy  { font-size: 13px; color: rgba(255,255,255,.4); }
.site-footer__privacy:hover { color: rgba(255,255,255,.7); }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */

@media (min-width: 769px) {
    .floating-cta       { display: flex; }
    .trust-stats        { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1024px) {
    .advantages__grid   { grid-template-columns: repeat(2, 1fr); }
    .stages__grid       { grid-template-columns: repeat(2, 1fr); }
    .services-grid__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    .hero__inner        { grid-template-columns: 1fr; }
    .hero__form-wrap    { display: none; }  /* form lives in sticky bar on mobile */
    .hero__stats        { grid-template-columns: repeat(2, 1fr); gap: var(--space-md) 0; }
    .hero__stat         { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); padding: 8px 0; }
    .hero__stat:nth-child(odd)  { border-right: 1px solid rgba(255,255,255,.15); }
    .hero__stat:nth-last-child(-n+2) { border-bottom: none; }
    .hero__features     { grid-template-columns: 1fr; }
    .hero__urgency      { font-size: 13px; }
    .prices__grid       { grid-template-columns: 1fr; }
    .reviews__grid      { grid-template-columns: 1fr; }
    .guarantees__grid   { grid-template-columns: 1fr; }
    .dezpro-related__grid { grid-template-columns: repeat(2, 1fr); }
    .services-grid__grid  { grid-template-columns: repeat(2, 1fr); }
    .site-footer__grid  { grid-template-columns: 1fr; gap: var(--space-xl); }
    .site-header__cta   { display: none; }
    .sticky-buttons     { display: flex; }
    .dezpro-form__row--two { grid-template-columns: 1fr; }
    .dezpro-form__row--inline { flex-direction: column; }
    .urgent__inner      { flex-direction: column; text-align: center; }
    .urgent__cta        { justify-content: center; }
    .trust-stats        { grid-template-columns: repeat(2, 1fr); }
    .trust-stats__num   { font-size: 28px; }
}

@media (max-width: 480px) {
    .advantages__grid     { grid-template-columns: 1fr; }
    .stages__grid         { grid-template-columns: 1fr; }
    .dezpro-related__grid { grid-template-columns: 1fr; }
    .services-grid__grid  { grid-template-columns: repeat(2, 1fr); }
    .hero__cta            { flex-direction: column; }
    .site-footer__bottom  { flex-direction: column; gap: var(--space-sm); text-align: center; }
}

/* ── Variations block [dezpro_variations] ────────────────── */
.dezpro-variations {
    margin: var(--space-2xl) 0;
}

.dezpro-variations__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}

.dezpro-variations__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.dezpro-variations__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px 12px;
    background: #fff;
    border: 2px solid #E5E7EB;
    border-radius: 12px;
    text-decoration: none;
    color: var(--color-text);
    transition: border-color .2s, box-shadow .2s, transform .15s;
    cursor: pointer;
}

.dezpro-variations__card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 16px rgba(26,86,219,.12);
    transform: translateY(-2px);
    color: var(--color-text);
}

.dezpro-variations__card.is-active {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
    box-shadow: 0 4px 16px rgba(26,86,219,.15);
    pointer-events: none;
}

.dezpro-variations__card--srochno.is-active   { background: linear-gradient(135deg, #FEF2F2 0%, #FEE2E2 100%); border-color: var(--color-accent); }
.dezpro-variations__card--nedorogo.is-active,
.dezpro-variations__card--cena.is-active      { background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%); border-color: #16A34A; }

.dezpro-variations__icon {
    font-size: 28px;
    margin-bottom: 6px;
    line-height: 1;
}

.dezpro-variations__label {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.2;
}

.dezpro-variations__desc {
    font-size: 12px;
    color: #6B7280;
    line-height: 1.3;
}

/* ── Popular queries block [dezpro_popular] ──────────────── */
.dezpro-popular {
    margin: var(--space-2xl) 0;
}

.dezpro-popular__title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text);
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}

.dezpro-popular__list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dezpro-popular__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 20px;
    font-size: 14px;
    color: var(--color-text);
    text-decoration: none;
    transition: background .2s, border-color .2s, color .2s;
    white-space: nowrap;
}

.dezpro-popular__link:hover {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.dezpro-popular__link:hover .dezpro-popular__arrow {
    color: #fff;
}

.dezpro-popular__arrow {
    color: var(--color-primary);
    font-size: 12px;
    transition: color .2s;
}

/* ── Responsive: variations + popular ───────────────────── */
@media (max-width: 768px) {
    .dezpro-variations__grid { grid-template-columns: repeat(3, 1fr); }
    .dezpro-popular__list    { gap: 8px; }
    .dezpro-popular__link    { font-size: 13px; padding: 7px 13px; }
}

@media (max-width: 480px) {
    .dezpro-variations__grid { grid-template-columns: repeat(2, 1fr); }
    .dezpro-variations__card { padding: 12px 8px; }
    .dezpro-variations__icon { font-size: 22px; }
    .dezpro-popular__link    { white-space: normal; }
}
