/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Дочерняя тема для сайта Мастер на час на Gutenberg (demo-master.technocap.dev)
Author: Senior WP Developer
Template: blocksy
Version: 1.0.0
*/

/* ==========================================================================
   ЛОКАЛЬНЫЕ ШРИФТЫ INTER (С FALLBACK НА СИСТЕМНЫЕ И ВНЕШНИЕ ШРИФТЫ)
   Мгновенная загрузка с домена без блокировки рендеринга внешними серверами
   ========================================================================== */

/* ---------------- 400 (Regular) ---------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter'), local('Inter Regular'), local('Inter-Regular'),
       url('./assets/fonts/inter-cyrillic-400-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter'), local('Inter Regular'), local('Inter-Regular'),
       url('./assets/fonts/inter-cyrillic-ext-400-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter'), local('Inter Regular'), local('Inter-Regular'),
       url('./assets/fonts/inter-latin-400-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Inter'), local('Inter Regular'), local('Inter-Regular'),
       url('./assets/fonts/inter-latin-ext-400-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------- 500 (Medium) ---------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'),
       url('./assets/fonts/inter-cyrillic-500-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'),
       url('./assets/fonts/inter-cyrillic-ext-500-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'),
       url('./assets/fonts/inter-latin-500-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local('Inter Medium'), local('Inter-Medium'),
       url('./assets/fonts/inter-latin-ext-500-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------- 600 (SemiBold) ---------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'),
       url('./assets/fonts/inter-cyrillic-600-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'),
       url('./assets/fonts/inter-cyrillic-ext-600-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'),
       url('./assets/fonts/inter-latin-600-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Inter SemiBold'), local('Inter-SemiBold'),
       url('./assets/fonts/inter-latin-ext-600-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------- 700 (Bold) ---------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'),
       url('./assets/fonts/inter-cyrillic-700-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'),
       url('./assets/fonts/inter-cyrillic-ext-700-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'),
       url('./assets/fonts/inter-latin-700-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Inter Bold'), local('Inter-Bold'),
       url('./assets/fonts/inter-latin-ext-700-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------------- 800 (ExtraBold) ---------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Inter ExtraBold'), local('Inter-ExtraBold'),
       url('./assets/fonts/inter-cyrillic-800-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Inter ExtraBold'), local('Inter-ExtraBold'),
       url('./assets/fonts/inter-cyrillic-ext-800-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2') format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Inter ExtraBold'), local('Inter-ExtraBold'),
       url('./assets/fonts/inter-latin-800-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local('Inter ExtraBold'), local('Inter-ExtraBold'),
       url('./assets/fonts/inter-latin-ext-800-normal.woff2') format('woff2'),
       url('https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2') format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Глобальный стек шрифтов со swap-переключением */
:root {
  --theme-font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --theme-font-stack-default: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
body, button, input, select, textarea, h1, h2, h3, h4, h5, h6 {
  font-family: var(--theme-font-family) !important;
}

/* GLOBAL VIEWPORT OVERFLOW PREVENTION */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#main-container,
#site-header,
.custom-premium-header,
.header-top-bar,
.header-main-row {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.custom-premium-header .header-top-container,
.custom-premium-header .header-main-container {
    max-width: 1600px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


/* CSS Variables */
:root {
  --color-primary-dark: #0F172A;
  --color-primary-blue: #1E40AF;
  --color-accent-orange: #F97316;
  --color-accent-hover: #EA580C;
  --color-bg-light: #F8FAFC;
  --color-surface-white: #FFFFFF;
  --color-text-main: #334155;
  --color-text-muted: #64748B;
  --radius-card: 16px;
  --shadow-card: 0 10px 25px -5px rgba(15, 23, 42, 0.08);
}

/* ==========================================================================
   HIGH CONTRAST BLOCK EDITOR CANVAS (АДМИНКА GUTENBERG)
   ========================================================================== */
.editor-styles-wrapper {
    background-color: #F8FAFC !important;
    color: #0F172A !important;
}

/* Полное скрытие назойливого окна "Добро пожаловать в редактор" */
.components-modal__screen-overlay:has(.edit-post-welcome-guide),
.edit-post-welcome-guide,
.components-guide {
    display: none !important;
}

.editor-styles-wrapper .editor-post-title__input,
.editor-styles-wrapper .wp-block-post-title,
.editor-post-title__input {
    color: #0F172A !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    font-size: 2.2rem !important;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper p,
.editor-styles-wrapper li {
    opacity: 1 !important;
}

/* Light sections text in editor */
.editor-styles-wrapper .section-advantages,
.editor-styles-wrapper .section-services,
.editor-styles-wrapper .section-pricing,
.editor-styles-wrapper .section-faq {
    background: #FFFFFF !important;
    color: #0F172A !important;
    padding: 40px 20px !important;
    border-radius: 12px !important;
    margin-bottom: 2rem !important;
}

.editor-styles-wrapper .section-h2 {
    color: #0F172A !important;
}

.editor-styles-wrapper .section-tag {
    color: #F97316 !important;
}

/* Explicit card headings color for editor & frontend */
.service-card h3,
.service-card .wp-block-heading,
.adv-card h3,
.adv-card .wp-block-heading,
.pricing-card h3,
.pricing-card .wp-block-heading,
.faq-item h3,
.faq-item .wp-block-heading,
.editor-styles-wrapper .service-card h3,
.editor-styles-wrapper .service-card .wp-block-heading,
.editor-styles-wrapper .adv-card h3,
.editor-styles-wrapper .adv-card .wp-block-heading,
.editor-styles-wrapper .pricing-card h3,
.editor-styles-wrapper .pricing-card .wp-block-heading,
.editor-styles-wrapper .faq-item h3,
.editor-styles-wrapper .faq-item .wp-block-heading {
    color: #0F172A !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}


/* Dark sections text in editor */
.editor-styles-wrapper .hero-section-wrapper,
.editor-styles-wrapper .section-cta-discount {
    background: linear-gradient(rgba(15, 23, 42, 0.92), rgba(15, 23, 42, 0.95)), url('/wp-content/uploads/2026/08/hero-bg.webp') center/cover no-repeat !important;
    color: #FFFFFF !important;
    padding: 60px 20px !important;
    border-radius: 0 !important;
    margin-bottom: 2rem !important;
}

.editor-styles-wrapper .hero-section-wrapper h1,
.editor-styles-wrapper .hero-section-wrapper h2,
.editor-styles-wrapper .hero-section-wrapper h3,
.editor-styles-wrapper .hero-section-wrapper p,
.editor-styles-wrapper .hero-section-wrapper li,
.editor-styles-wrapper .section-cta-discount h2,
.editor-styles-wrapper .section-cta-discount p {
    color: #FFFFFF !important;
}

.editor-styles-wrapper .hero-form-card {
    background: #FFFFFF !important;
    color: #0F172A !important;
    padding: 24px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
}

.editor-styles-wrapper .hero-form-card h3,
.editor-styles-wrapper .hero-form-card p {
    color: #0F172A !important;
}


/* ==========================================================================
   GUTENBERG CONTAINERS & ALIGNMENT FIX (Исправление съезжания влево)
   ========================================================================== */
.entry-content > .wp-block-group.alignfull,
.entry-content > .wp-block-cover.alignfull {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.wp-block-group.is-layout-constrained,
.entry-content > .alignwide {
    max-width: 1600px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(1rem, 3vw, 2.5rem) !important;
    padding-right: clamp(1rem, 3vw, 2.5rem) !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   GLOBAL SECTION TYPOGRAPHY & CADENCE (Master Headings System)
   Unified style, proportions and vertical rhythm across all sections
   ========================================================================== */
.section-tag {
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.8px !important;
    color: #EA580C !important;
    text-transform: uppercase !important;
    margin-bottom: 0.65rem !important;
    display: block !important;
    line-height: 1.2 !important;
}

.section-h2 {
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    line-height: 1.25 !important;
    letter-spacing: -0.5px !important;
    margin-top: 0 !important;
    margin-bottom: 0.85rem !important;
}

/* Sections without subtitle: ensure uniform 2.8rem margin directly to the content/cards */
.section-advantages .section-h2,
.section-services .section-h2,
.section-pricing .section-h2,
.section-faq .section-h2 {
    margin-bottom: 2.8rem !important;
}

.section-sub-desc,
.section-desc {
    font-size: 1.05rem !important;
    color: #64748B !important;
    max-width: 720px !important;
    margin: 0 auto 2.8rem auto !important;
    line-height: 1.6 !important;
}

/* ==========================================================================
   HERO SECTION STYLES (Frontend + Admin Editor)
   ========================================================================== */
.editor-styles-wrapper .hero-section-wrapper,
.hero-section-wrapper {
    background: radial-gradient(circle at 75% 30%, rgba(30, 64, 175, 0.28) 0%, transparent 60%), linear-gradient(180deg, rgba(15, 23, 42, 0.86) 0%, rgba(15, 23, 42, 0.94) 100%), url('/wp-content/uploads/2026/08/hero-bg.webp') center/cover no-repeat !important;
    color: #FFFFFF !important;
    padding: clamp(36px, 5vw, 60px) 20px !important;
    border-radius: 0 !important;
}

.hero-h1-title {
    margin-top: 0 !important;
}

.status-badge {
    display: inline-block;
    background: rgba(30, 58, 138, 0.55);
    border: 1px solid rgba(59, 130, 246, 0.45);
    padding: 7px 18px;
    border-radius: 30px;
    font-size: 0.92rem;
    margin-bottom: 1.5rem;
    color: #93C5FD;
    backdrop-filter: blur(8px);
}

.editor-styles-wrapper .hero-h1-title,
.hero-h1-title {
    font-size: clamp(2.3rem, 4.8vw, 3.4rem) !important;
    font-weight: 800 !important;
    line-height: 1.16 !important;
    color: #FFFFFF !important;
    margin-bottom: 1.25rem !important;
}

.highlight-text-price {
    background: linear-gradient(135deg, #FF9D43 0%, #FF6B00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}

.editor-styles-wrapper .hero-subtitle-text,
.hero-subtitle-text {
    font-size: 1.15rem;
    line-height: 1.6;
    color: #CBD5E1 !important;
    margin-bottom: 1.5rem !important;
}

.hero-trust-bar {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 10px 18px;
    margin-bottom: 1.5rem;
    display: inline-block;
    backdrop-filter: blur(8px);
}

.trust-rating {
    font-size: 0.92rem;
    color: #F8FAFC !important;
    margin-bottom: 0 !important;
}

/* Feature grid items */
.hero-feature-grid {
    margin-bottom: 1.8rem !important;
}

.hero-feature-grid .feature-item {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 10px 16px;
    margin-bottom: 0.65rem !important;
    color: #F1F5F9 !important;
    font-size: 0.96rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.check-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: rgba(34, 197, 94, 0.2);
    border: 1px solid rgba(34, 197, 94, 0.5);
    color: #4ADE80;
    border-radius: 50%;
    font-weight: 800;
    font-size: 0.85rem;
    flex-shrink: 0;
}

/* Hero Column Flex Alignment */
.hero-main-columns {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 2.5rem !important;
}

.hero-main-columns > .hero-left-col {
    flex: 0 0 56% !important;
    max-width: 56% !important;
    width: 56% !important;
}

.hero-main-columns > .hero-right-col {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    width: 42% !important;
}

@media (max-width: 992px) {
    .hero-main-columns {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 2rem !important;
    }
    .hero-main-columns > div,
    .hero-main-columns > .wp-block-column,
    .hero-main-columns > .hero-left-col,
    .hero-main-columns > .hero-right-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
    .hero-form-card.premium-white-card {
        max-width: 540px !important;
        margin: 0 auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Responsive: narrow mobile (≤600px) — allow submit button text wrap */
@media (max-width: 600px) {
    .hero-form-card.premium-white-card .ff-btn-submit,
    .hero-form-card .ff-btn-submit,
    .ff-btn-submit {
        font-size: 0.85rem !important;
        padding: 12px 16px !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        line-height: 1.3 !important;
    }
}

.hero-cta-group {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 1.5rem !important;
}

.btn-accent-large,
.btn-telegram-hero {
    display: inline-block !important;
    margin: 0 !important;
}

.btn-accent-large a {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    padding: 0.95rem 1.7rem !important;
    border-radius: 12px !important;
    font-size: 1.02rem !important;
    box-shadow: 0 10px 25px rgba(249, 115, 22, 0.45) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                background 0.22s ease !important;
    will-change: transform, box-shadow !important;
}

.btn-accent-large a::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    bottom: -6px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
}

.btn-accent-large a:hover {
    transform: translate3d(0, -3px, 0) !important;
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
    box-shadow: 0 14px 28px rgba(234, 88, 12, 0.55) !important;
    color: #FFFFFF !important;
}

.btn-telegram-hero a {
    background: linear-gradient(135deg, #0088CC 0%, #229ED9 100%) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    padding: 0.95rem 1.6rem !important;
    border-radius: 12px !important;
    font-size: 1.02rem !important;
    box-shadow: 0 8px 22px rgba(0, 136, 204, 0.4) !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.btn-telegram-hero a:hover {
    background: linear-gradient(135deg, #0077B5 0%, #1D8FCE 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 136, 204, 0.6) !important;
}

/* ==========================================================================
   PREMIUM WHITE ELEVATED FORM CARD (УЛЬТРА-ПРЕМИУМ ФОРМА)
   ========================================================================== */
.hero-form-card.premium-white-card {
    background: #FFFFFF !important;
    color: #0F172A !important;
    border-radius: 20px !important;
    padding: 1.4rem 1.6rem !important;
    box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
    position: relative;
    box-sizing: border-box !important;
}

.form-header-badge-wrap {
    width: 100% !important;
    margin-bottom: 0.8rem !important;
}

.discount-tag-ribbon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important;
    color: #FFFFFF !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    margin: 0 !important;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.35) !important;
    box-sizing: border-box !important;
    text-align: center !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.form-title-text {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-bottom: 0.25rem !important;
}

.form-sub-text {
    font-size: 0.88rem !important;
    color: #64748B !important;
    margin-bottom: 0.9rem !important;
}

.form-guarantee-text {
    font-size: 0.82rem !important;
    color: #64748B !important;
    text-align: center;
    margin-top: 0.55rem !important;
    margin-bottom: 0 !important;
}

/* Compact Fluent Form spacing inside hero card */
.hero-form-card.premium-white-card .ff-el-group {
    margin-bottom: 10px !important;
}

.hero-form-card.premium-white-card .ff-el-group.ff-el-form-check,
.hero-form-card.premium-white-card .ff-el-tc,
.hero-form-card.premium-white-card .ff_gdpr_field {
    margin-top: 10px !important;
    margin-bottom: 12px !important;
    display: block !important;
    width: 100% !important;
}

.hero-form-card.premium-white-card .ff-el-tc label.ff_tc_label,
.hero-form-card.premium-white-card .ff-el-form-check-label,
.hero-form-card.premium-white-card .ff_checkbox_label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    color: #475569 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Сброс принудительного отступа Fluent Forms на обертке чекбокса span (padding-top: 8px) */
.hero-form-card.premium-white-card .ff-el-tc label.ff_tc_label > span,
.hero-form-card.premium-white-card .ff-el-form-check-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.hero-form-card.premium-white-card .ff-el-tc label.ff_tc_label > div,
.hero-form-card.premium-white-card .ff-el-form-check-label > div,
.hero-form-card.premium-white-card .ff-el-form-check-label > span:last-child {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    color: #475569 !important;
}

/* Премиальный чекбокс Hero-формы: идеальный квадрат 18x18 со скруглением и акцентным цветом */
.hero-form-card.premium-white-card input[type="checkbox"],
.hero-form-card.premium-white-card .ff-el-form-check-input {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    vertical-align: middle !important;
    transform: none !important;
    accent-color: #EA580C !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 5px !important;
    background-color: #FFFFFF !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.hero-form-card.premium-white-card input[type="checkbox"]:hover {
    border-color: #EA580C !important;
    box-shadow: 0 0 0 3px rgba(234, 88, 12, 0.12) !important;
}

.hero-form-card.premium-white-card input[type="checkbox"]:focus-visible {
    outline: 2px solid #EA580C !important;
    outline-offset: 2px !important;
}

/* Состояние ошибки валидации чекбокса */
.hero-form-card.premium-white-card .ff-el-is-error input[type="checkbox"] {
    outline: 2px solid #EF4444 !important;
    outline-offset: 2px !important;
    border-color: #EF4444 !important;
}

/* Ссылки внутри текста согласия */
.hero-form-card.premium-white-card .ff-el-form-check-label a,
.hero-form-card.premium-white-card .ff-el-tc a,
.hero-form-card.premium-white-card .ff_checkbox_label a {
    color: #EA580C !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    transition: color 0.15s ease !important;
}

.hero-form-card.premium-white-card .ff-el-form-check-label a:hover,
.hero-form-card.premium-white-card .ff-el-tc a:hover,
.hero-form-card.premium-white-card .ff_checkbox_label a:hover {
    color: #C2410C !important;
}

/* Стилизация ошибок валидации Hero-формы */
.hero-form-card.premium-white-card .ff-el-is-error input.ff-el-form-control,
.hero-form-card.premium-white-card .ff-el-is-error input[type="text"],
.hero-form-card.premium-white-card .ff-el-is-error input[type="tel"] {
    border-color: #EF4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.hero-form-card.premium-white-card .ff-el-input--content .text-danger,
.hero-form-card.premium-white-card .ff-el-input--content div.error,
.hero-form-card.premium-white-card .ff-el-input--content span.error {
    color: #DC2626 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    line-height: 1.3 !important;
}

.hero-form-card.premium-white-card .ff_submit_btn_wrapper {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* Responsive: medium desktops (993–1280px) — tighten form card */
@media (min-width: 993px) and (max-width: 1280px) {
    .hero-form-card.premium-white-card {
        padding: 1.1rem 1.2rem !important;
    }
    .discount-tag-ribbon {
        font-size: 0.82rem !important;
        padding: 8px 12px !important;
        min-height: 38px !important;
    }
    .form-title-text {
        font-size: 1.15rem !important;
    }
    .form-sub-text {
        font-size: 0.8rem !important;
        margin-bottom: 0.6rem !important;
    }
    .hero-form-card.premium-white-card .ff-el-form-control,
    .hero-form-card.premium-white-card input[type="text"],
    .hero-form-card.premium-white-card input[type="email"],
    .hero-form-card.premium-white-card input[type="tel"],
    .hero-form-card.premium-white-card select {
        padding: 9px 12px !important;
        font-size: 0.88rem !important;
    }
    .hero-form-card.premium-white-card .ff-el-group {
        margin-bottom: 7px !important;
    }
    .hero-form-card.premium-white-card .ff_submit_btn_wrapper button,
    .hero-form-card.premium-white-card button[type="submit"],
    .hero-form-card.premium-white-card .ff-btn-submit {
        font-size: 0.8rem !important;
        padding: 10px 12px !important;
        letter-spacing: 0.2px !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        line-height: 1.3 !important;
    }
    .form-guarantee-text {
        font-size: 0.72rem !important;
        margin-top: 0.4rem !important;
    }
    .form-header-badge-wrap {
        margin-bottom: 0.5rem !important;
    }
    .hero-form-card.premium-white-card .ff-el-input--label label {
        font-size: 0.85rem !important;
    }
}

/* Fluent Forms Inputs styling inside premium white card */
.hero-form-card.premium-white-card .ff-el-form-control,
.hero-form-card.premium-white-card input[type="text"],
.hero-form-card.premium-white-card input[type="email"],
.hero-form-card.premium-white-card input[type="tel"],
.hero-form-card.premium-white-card select {
    background: #F8FAFC !important;
    border: 1px solid #CBD5E1 !important;
    color: #0F172A !important;
    border-radius: 10px !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.hero-form-card.premium-white-card .ff-el-form-control:focus,
.hero-form-card.premium-white-card input:focus,
.hero-form-card.premium-white-card select:focus {
    background-color: #FFFFFF !important;
    border-color: #F97316 !important;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15) !important;
}

/* Custom Select Dropdown Chevron & Popup Styling */
select.ff-el-form-control,
.hero-form-card select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px 16px !important;
    padding-right: 42px !important;
    cursor: pointer !important;
}

select.ff-el-form-control:focus,
.hero-form-card select:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23F97316' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

select.ff-el-form-control option,
.hero-form-card select option {
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
}

.hero-form-card.premium-white-card .ff-el-input--label label,
.hero-form-card.premium-white-card label.ff-el-input--label,
.hero-form-card.premium-white-card .ff-el-input-title {
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    margin-bottom: 0.3rem !important;
}

.hero-form-card.premium-white-card .ff_submit_btn_wrapper button,
.hero-form-card.premium-white-card button[type="submit"],
.hero-form-card.premium-white-card .ff-btn-submit {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1.02rem !important;
    padding: 14px 24px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 22px rgba(249, 115, 22, 0.42) !important;
    width: 100% !important;
    border: none !important;
    margin: 0 !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    position: relative !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                filter 0.22s ease !important;
    will-change: transform, box-shadow !important;
}

/* Расширенная зона взаимодействия снизу, исключающая потерю hover при подъеме */
.hero-form-card.premium-white-card .ff_submit_btn_wrapper button::after,
.hero-form-card.premium-white-card button[type="submit"]::after,
.hero-form-card.premium-white-card .ff-btn-submit::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    bottom: -6px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
}

.hero-form-card.premium-white-card .ff_submit_btn_wrapper button:hover,
.hero-form-card.premium-white-card button[type="submit"]:hover,
.hero-form-card.premium-white-card .ff-btn-submit:hover {
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
    box-shadow: 0 14px 28px rgba(234, 88, 12, 0.55) !important;
    transform: translate3d(0, -3px, 0) !important;
    color: #FFFFFF !important;
}

.hero-form-card.premium-white-card .ff_submit_btn_wrapper button:active,
.hero-form-card.premium-white-card button[type="submit"]:active,
.hero-form-card.premium-white-card .ff-btn-submit:active {
    transform: translate3d(0, 0, 0) scale(0.985) !important;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.45) !important;
    filter: brightness(0.98) !important;
}

.hero-form-card.premium-white-card .ff_submit_btn_wrapper button:focus-visible,
.hero-form-card.premium-white-card button[type="submit"]:focus-visible,
.hero-form-card.premium-white-card .ff-btn-submit:focus-visible {
    outline: 2px solid #3B82F6 !important;
    outline-offset: 3px !important;
    transform: translate3d(0, 0, 0) !important;
}


.btn-hero-primary a:hover {
    background-color: var(--color-accent-hover) !important;
    transform: translateY(-2px);
}

.btn-hero-phone a {
    background: transparent !important;
    border: 2px solid #3B82F6 !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    padding: 0.9rem 1.8rem !important;
    border-radius: 8px !important;
    font-size: 1.05rem !important;
    transition: all 0.2s ease !important;
}

.btn-hero-phone a:hover {
    background: rgba(59, 130, 246, 0.15) !important;
}

/* HERO FORM CARD */
.hero-card-form {
    background: #FFFFFF;
    color: var(--color-text-main);
    border-radius: var(--radius-card);
    padding: 2rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.form-title {
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    color: var(--color-primary-dark) !important;
    margin-bottom: 0.4rem !important;
}

.form-sub {
    font-size: 0.9rem;
    color: var(--color-text-muted);
    margin-bottom: 1.25rem;
}

.form-group {
    margin-bottom: 1rem;
}

.form-control {
    width: 100%;
    padding: 0.8rem 1rem;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s ease;
}

.form-control:focus {
    border-color: var(--color-primary-blue);
    box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.1);
}

.consent-group {
    font-size: 0.8rem;
    color: var(--color-text-muted);
}

.btn-submit-hero {
    width: 100%;
    background: var(--color-accent-orange);
    color: #FFFFFF;
    font-weight: 800;
    font-size: 1.05rem;
    padding: 1rem;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.btn-submit-hero:hover {
    background: var(--color-accent-hover);
}

/* ==========================================================================
   ADVANTAGES CARDS
   ========================================================================== */
.advantages-grid {
    gap: 1.5rem !important;
}

.adv-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-card);
    padding: 2rem;
    transition: all 0.3s ease;
}

.adv-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-card);
    border-color: #CBD5E1;
}

.adv-icon {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.adv-card h3 {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--color-primary-dark) !important;
    margin-bottom: 0.5rem !important;
}

.adv-card p {
    font-size: 0.95rem;
    color: var(--color-text-muted);
    line-height: 1.5;
}

/* ==========================================================================
   SERVICE CARDS
   ========================================================================== */
.services-grid {
    gap: 1.5rem !important;
}

.service-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-card);
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

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

.service-img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.service-body {
    padding: 1.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.service-body h3 {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--color-primary-dark) !important;
    margin-bottom: 0.4rem !important;
}

.service-price {
    display: inline-block;
    background: #EFF6FF;
    color: var(--color-primary-blue);
    font-weight: 800;
    font-size: 1.1rem;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 0.8rem;
    align-self: flex-start;
}

.service-body p {
    font-size: 0.92rem;
    color: var(--color-text-muted);
    line-height: 1.5;
    margin-bottom: 1.25rem;
    flex-grow: 1;
}

.btn-service {
    display: block;
    text-align: center;
    background: var(--color-primary-dark);
    color: #FFFFFF;
    font-weight: 700;
    padding: 0.75rem;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s ease;
}

.btn-service:hover {
    background: var(--color-primary-blue);
    color: #FFFFFF;
}

/* ==========================================================================
   PRICING CARDS
   ========================================================================== */
.pricing-cards-wrapper {
    gap: 1.5rem !important;
}

.pricing-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-card);
    padding: 2.5rem 2rem;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    box-sizing: border-box !important;
    transform: translate3d(0, 0, 0) !important;
    transition: box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.pricing-card:hover {
    transform: translate3d(0, 0, 0) !important;
    border-color: #CBD5E1 !important;
    box-shadow: 0 16px 36px -8px rgba(15, 23, 42, 0.12) !important;
}

.highlight-card {
    border: 2px solid var(--color-accent-orange) !important;
    box-shadow: 0 10px 30px rgba(249, 115, 22, 0.15) !important;
}

.highlight-card:hover {
    border-color: var(--color-accent-orange) !important;
    box-shadow: 0 18px 40px rgba(249, 115, 22, 0.24) !important;
}

.price-badge {
    position: absolute;
    top: -14px;
    right: 20px;
    background: var(--color-accent-orange);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 12px;
    border-radius: 20px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.pricing-card h3 {
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: var(--color-primary-dark) !important;
    margin-bottom: 1rem !important;
}

.price-amount-box {
    margin-bottom: 1.5rem;
}

.price-val {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--color-primary-dark);
}

.price-unit {
    font-size: 1rem;
    color: var(--color-text-muted);
}

.price-features {
    list-style: none !important;
    padding-left: 0 !important;
    margin-bottom: 2rem !important;
    flex-grow: 1 !important;
}

.price-features li {
    font-size: 0.95rem;
    color: var(--color-text-main);
    margin-bottom: 0.6rem;
}

/* Контейнеры кнопок Gutenberg в карточках тарифов: чистая разметка без фонов, теней и внутренних отступов */
.section-pricing .wp-block-buttons,
.pricing-cards-wrapper .wp-block-buttons,
.pricing-card .wp-block-buttons,
.highlight-card .wp-block-buttons {
    width: 100% !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    display: flex !important;
    justify-content: stretch !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
}

.section-pricing .wp-block-button,
.pricing-cards-wrapper .wp-block-button,
.pricing-card .wp-block-button,
.highlight-card .wp-block-button,
div.btn-pricing-cta,
div.btn-pricing-sec,
div.btn-pricing-secondary,
.btn-pricing-cta:not(a),
.btn-pricing-sec:not(a),
.btn-pricing-secondary:not(a) {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Гарантированное отсутствие фонов и сдвигов на обертках кнопок при наведении */
.section-pricing .wp-block-button:hover,
.pricing-cards-wrapper .wp-block-button:hover,
.pricing-card .wp-block-button:hover,
.highlight-card .wp-block-button:hover,
div.btn-pricing-cta:hover,
div.btn-pricing-sec:hover,
div.btn-pricing-secondary:hover,
.btn-pricing-cta:not(a):hover,
.btn-pricing-sec:not(a):hover,
.btn-pricing-secondary:not(a):hover {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Стилизация ТОЛЬКО интерактивного тега <a> ссылки (предотвращает эффект «двойной кнопки» Gutenberg) */
.section-pricing .wp-block-button > a,
.pricing-cards-wrapper .wp-block-button > a,
.pricing-card .wp-block-button > a,
.highlight-card .wp-block-button > a,
.section-pricing .wp-block-button__link,
.pricing-cards-wrapper .wp-block-button__link,
.pricing-card .wp-block-button__link,
.highlight-card .wp-block-button__link,
a.btn-pricing-cta,
a.btn-pricing-sec,
a.btn-pricing-secondary,
.btn-pricing-cta a,
.btn-pricing-sec a,
.btn-pricing-secondary a {
    width: 100% !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    padding: 14px 20px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 8px 22px rgba(249, 115, 22, 0.38) !important;
    border: none !important;
    box-sizing: border-box !important;
    letter-spacing: 0.2px !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    position: relative !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                background 0.22s ease !important;
    will-change: transform, box-shadow !important;
}

/* Защитная зона против дрожания курсора */
.section-pricing .wp-block-button a::after,
.pricing-cards-wrapper .wp-block-button a::after,
.pricing-card .wp-block-button a::after,
.highlight-card .wp-block-button a::after,
a.btn-pricing-cta::after,
a.btn-pricing-sec::after,
a.btn-pricing-secondary::after,
.btn-pricing-cta a::after,
.btn-pricing-sec a::after,
.btn-pricing-secondary a::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    bottom: -6px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 12px !important;
}

/* Индивидуальная тень для кнопки популярного тарифа */
.highlight-card .wp-block-button__link,
.highlight-card .wp-block-button > a,
.pricing-card.highlight-card .wp-block-button__link,
.pricing-card.highlight-card .wp-block-button > a,
.highlight-card a.btn-pricing-cta,
.highlight-card .btn-pricing-cta a {
    box-shadow: 0 10px 25px rgba(249, 115, 22, 0.48) !important;
}

/* Единое благородное наведение: подъем на 3px, сочный градиент без выбеливания */
.section-pricing .wp-block-button > a:hover,
.pricing-cards-wrapper .wp-block-button > a:hover,
.pricing-card .wp-block-button > a:hover,
.highlight-card .wp-block-button > a:hover,
.section-pricing .wp-block-button__link:hover,
.pricing-cards-wrapper .wp-block-button__link:hover,
.pricing-card .wp-block-button__link:hover,
.highlight-card .wp-block-button__link:hover,
a.btn-pricing-cta:hover,
a.btn-pricing-sec:hover,
a.btn-pricing-secondary:hover,
.btn-pricing-cta a:hover,
.btn-pricing-sec a:hover,
.btn-pricing-secondary a:hover {
    transform: translate3d(0, -3px, 0) !important;
    box-shadow: 0 14px 28px rgba(234, 88, 12, 0.55) !important;
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
    color: #FFFFFF !important;
    border-radius: 12px !important;
}

/* Тактильный клик */
.section-pricing .wp-block-button > a:active,
.pricing-cards-wrapper .wp-block-button > a:active,
.pricing-card .wp-block-button > a:active,
.highlight-card .wp-block-button > a:active,
.section-pricing .wp-block-button__link:active,
.pricing-cards-wrapper .wp-block-button__link:active,
.pricing-card .wp-block-button__link:active,
.highlight-card .wp-block-button__link:active,
a.btn-pricing-cta:active,
a.btn-pricing-sec:active,
a.btn-pricing-secondary:active,
.btn-pricing-cta a:active,
.btn-pricing-sec a:active,
.btn-pricing-secondary a:active {
    transform: translate3d(0, 0, 0) scale(0.985) !important;
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4) !important;
}

/* ==========================================================================
   STEPS SECTION
   ========================================================================== */
.steps-grid {
    gap: 1.5rem !important;
}

.step-card {
    background: #FFFFFF;
    border-radius: var(--radius-card);
    padding: 2rem;
    border: 1px solid #E2E8F0;
    position: relative;
}

.step-num {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--color-accent-orange);
    margin-bottom: 0.5rem;
}

.step-card h3 {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: var(--color-primary-dark) !important;
    margin-bottom: 0.5rem !important;
}

.step-card p {
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

/* ==========================================================================
   REVIEWS & STATS
   ========================================================================== */
.reviews-grid {
    gap: 1.5rem !important;
}

.review-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-card);
    padding: 2rem;
}

.review-stars {
    margin-bottom: 1rem;
}

.review-text {
    font-size: 0.95rem;
    color: var(--color-text-main);
    line-height: 1.6;
    margin-bottom: 1.5rem;
    font-style: italic;
}

.review-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.review-city {
    font-size: 0.85rem;
    color: var(--color-text-muted);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}

.stat-box {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: var(--radius-card);
    padding: 1.5rem;
    text-align: center;
}

.stat-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--color-primary-blue);
}

.stat-lbl {
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

/* ==========================================================================
   CTA DISCOUNT BANNER (Секция 9: Оффер со скидкой 10%)
   Ультра-премиальный дизайн: бейдж-чип + микро-иконки в полях + кастомный селект + сияющая белая CTA-кнопка
   ========================================================================== */

/* Внешняя секция: чистый белый фон, создающий простор между блоком цен и темными отзывами */
.section-cta-discount {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    background-image: none !important;
    padding: 85px 20px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.section-cta-discount::before,
.section-cta-discount::after {
    display: none !important;
}

/* Карточка акции со скидкой 10%: ультра-премиальный янтарный контейнер */
.cta-discount-box {
    max-width: 860px !important;
    width: 100% !important;
    margin: 0 auto !important;
    background: linear-gradient(135deg, #FF6B00 0%, #F97316 45%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    border-radius: 28px !important;
    padding: 3.6rem 3rem !important;
    text-align: center !important;
    box-shadow: 0 25px 60px -15px rgba(234, 88, 12, 0.45),
                0 0 0 1px rgba(255, 255, 255, 0.25) inset !important;
    position: relative !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Элегантное внутреннее радиальное свечение */
.cta-discount-box::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: -50% !important;
    left: -20% !important;
    width: 140% !important;
    height: 140% !important;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 65%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    border-radius: inherit !important;
}

.cta-discount-box > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Стилизованный бейдж-чип над заголовком вместо системного эмодзи */
.cta-discount-box h2::before {
    content: "✨ АКЦИЯ ДЛЯ НОВЫХ КЛИЕНТОВ" !important;
    display: table !important;
    margin: 0 auto 16px auto !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
    text-transform: uppercase !important;
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    padding: 6px 18px !important;
    border-radius: 99px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
}

/* Заголовок карточки скидки */
.cta-discount-box h2 {
    font-size: clamp(1.85rem, 3.2vw, 2.45rem) !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin-bottom: 0.85rem !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.15) !important;
}

/* Подзаголовок карточки */
.cta-discount-box p:not(.ff-el-form-check-label):not(.service-price) {
    font-size: 1.08rem !important;
    max-width: 660px !important;
    margin: 0 auto 2.2rem auto !important;
    color: #FFEDD5 !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

/* Контейнер формы Fluent Forms внутри карточки: изолированный высокий z-index */
.cta-discount-box .fluentform,
.cta-discount-box .frm-fluent-form {
    max-width: 700px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 50 !important;
}

/* Группы полей формы: четкое левое выравнивание по единой вертикальной оси */
.cta-discount-box .ff-el-group {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    text-align: left !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 5 !important;
}

.cta-discount-box .ff-el-group.is-select-open,
.cta-discount-box .ff-el-group:focus-within {
    z-index: 500 !important;
}

.cta-discount-box .ff-el-input--content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Лейблы полей формы: четкие, контрастные, белые, выровненные по левому краю */
.cta-discount-box .ff-el-input--label,
.cta-discount-box .ff-el-input--label label,
.cta-discount-box label.ff-el-input--label,
.cta-discount-box .ff-el-input-title {
    display: block !important;
    text-align: left !important;
    color: #FFFFFF !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    margin-bottom: 7px !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

/* Полное скрытие системных красных звёздочек/точек обязательных полей Fluent Forms */
.hero-form-card .ff-el-input--label.ff-el-is-required label:after,
.hero-form-card .ff-el-input--label.ff-el-is-required label:before,
.hero-form-card .ff-el-input--label label:after,
.hero-form-card .ff-el-input--label label:before,
.hero-form-card .ff-el-input--label:after,
.hero-form-card .ff-el-input--label:before,
.hero-form-card .ff-el-input--label span.asterisk,
.cta-discount-box .ff-el-input--label.ff-el-is-required label:after,
.cta-discount-box .ff-el-input--label.ff-el-is-required label:before,
.cta-discount-box .ff-el-input--label label:after,
.cta-discount-box .ff-el-input--label label:before,
.cta-discount-box .ff-el-input--label:after,
.cta-discount-box .ff-el-input--label:before,
.cta-discount-box .ff-el-input--label span.asterisk {
    display: none !important;
    content: "" !important;
    visibility: hidden !important;
    opacity: 0 !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Принудительно скрываем нативный select, если кастомный обертка уже создана */
.cta-discount-box select[data-customized="true"],
.cta-discount-box .custom-select-wrapper + select,
.cta-discount-box .custom-select-wrapper ~ select {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

/* Поля ввода: чисто белые, с мягким внутренним отступом под микро-иконки */
.cta-discount-box input.ff-el-form-control,
.cta-discount-box input[type="text"],
.cta-discount-box input[type="tel"] {
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 12px !important;
    padding: 14px 18px 14px 46px !important;
    min-height: 52px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    outline: none !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.22s ease !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    background-repeat: no-repeat !important;
    background-position: 16px center !important;
    background-size: 18px !important;
}

/* Иконка пользователя для поля Имя */
.cta-discount-box input[type="text"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

/* Иконка телефона для поля Телефон */
.cta-discount-box input[type="tel"] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}

/* Плейсхолдеры: благородный читаемый сланец */
.cta-discount-box .ff-el-form-control::placeholder,
.cta-discount-box input::placeholder {
    color: #94A3B8 !important;
    opacity: 1 !important;
    font-weight: 400 !important;
}

/* Мягкий сияющий фокус без резких синих/темных рамок */
.cta-discount-box input.ff-el-form-control:focus,
.cta-discount-box input:focus {
    background-color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.5), 0 10px 24px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-1px) !important;
}

.cta-discount-box input[type="text"]:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23EA580C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
}

.cta-discount-box input[type="tel"]:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23EA580C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}

/* ── Кастомный выпадающий список Fluent Forms в блоке скидки ── */
.cta-discount-box .custom-select-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    user-select: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    z-index: 10 !important;
    outline: none !important;
}

.cta-discount-box .custom-select-wrapper.open {
    z-index: 9999 !important;
}

.cta-discount-box .custom-select-trigger {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    min-height: 52px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.22s ease !important;
    box-sizing: border-box !important;
    width: 100% !important;
    background-image: none !important;
}

.cta-discount-box .custom-select-trigger-content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.cta-discount-box .custom-select-trigger .custom-select-icon {
    width: 20px !important;
    height: 20px !important;
    color: #EA580C !important;
    flex-shrink: 0 !important;
}

.cta-discount-box .custom-select-trigger:hover,
.cta-discount-box .custom-select-wrapper.open .custom-select-trigger {
    background-color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.5), 0 10px 24px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-1px) !important;
}

.cta-discount-box .custom-select-arrow {
    width: 10px !important;
    height: 10px !important;
    border-right: 2.5px solid #0F172A !important;
    border-bottom: 2.5px solid #0F172A !important;
    transform: rotate(45deg) !important;
    transition: transform 0.25s ease, border-color 0.25s ease !important;
    margin-right: 2px !important;
    flex-shrink: 0 !important;
}

.cta-discount-box .custom-select-wrapper.open .custom-select-arrow {
    transform: rotate(-135deg) !important;
    border-color: #EA580C !important;
}

.cta-discount-box .custom-options-list {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 20px 45px rgba(15, 23, 42, 0.28), 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    z-index: 99999 !important;
    padding: 8px !important;
    margin: 0 !important;
    list-style: none !important;
    text-align: left !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-6px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
}

.cta-discount-box .custom-select-wrapper.open .custom-options-list {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Стилизация скроллбара для выпадающего списка */
.cta-discount-box .custom-options-list::-webkit-scrollbar {
    width: 6px !important;
}
.cta-discount-box .custom-options-list::-webkit-scrollbar-track {
    background: #F1F5F9 !important;
    border-radius: 10px !important;
}
.cta-discount-box .custom-options-list::-webkit-scrollbar-thumb {
    background: #CBD5E1 !important;
    border-radius: 10px !important;
}
.cta-discount-box .custom-options-list::-webkit-scrollbar-thumb:hover {
    background: #EA580C !important;
}

.cta-discount-box .custom-option-item {
    padding: 12px 16px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: #1E293B !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.cta-discount-box .custom-option-item .custom-select-icon {
    width: 18px !important;
    height: 18px !important;
    color: #EA580C !important;
    flex-shrink: 0 !important;
    transition: transform 0.18s ease !important;
}

.cta-discount-box .custom-option-item:hover {
    background: #FFF7ED !important;
    color: #EA580C !important;
    font-weight: 700 !important;
    padding-left: 20px !important;
}

.cta-discount-box .custom-option-item:hover .custom-select-icon {
    transform: scale(1.15) !important;
}

.cta-discount-box .custom-option-item.selected {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

.cta-discount-box .custom-option-item.selected .custom-select-icon {
    color: #FFFFFF !important;
}

/* Фолбек для нативного селекта */
.cta-discount-box select.ff-el-form-control {
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    background-size: 16px !important;
    padding-right: 48px !important;
}

.cta-discount-box select.ff-el-form-control option {
    background: #FFFFFF !important;
    color: #0F172A !important;
    font-weight: 500 !important;
    padding: 10px !important;
}

/* Чекбокс согласия: четко выровнен по центру строки и левому краю формы, идентично Hero-форме */
.cta-discount-box .ff-el-group.ff-el-form-check,
.cta-discount-box .ff-el-tc,
.cta-discount-box .ff_gdpr_field {
    margin-top: 12px !important;
    margin-bottom: 20px !important;
    display: block !important;
    width: 100% !important;
    text-align: left !important;
}

.cta-discount-box .ff-el-tc label.ff_tc_label,
.cta-discount-box .ff-el-form-check-label,
.cta-discount-box .ff_checkbox_label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    color: #FFFFFF !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Сброс принудительного отступа Fluent Forms на обертке чекбокса span (padding-top: 8px) */
.cta-discount-box .ff-el-tc label.ff_tc_label > span,
.cta-discount-box .ff-el-form-check-label > span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.cta-discount-box .ff-el-tc label.ff_tc_label > div,
.cta-discount-box .ff-el-form-check-label > div,
.cta-discount-box .ff-el-form-check-label > span:last-child {
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    color: #FFFFFF !important;
}

/* Премиальный чекбокс CTA-формы: идентичен Hero-форме (18x18px, скругление 5px, центрирование) */
.cta-discount-box input[type="checkbox"],
.cta-discount-box .ff-el-form-check-input {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    top: 0 !important;
    left: 0 !important;
    vertical-align: middle !important;
    transform: none !important;
    accent-color: #0F172A !important;
    border: 1.5px solid #FFFFFF !important;
    border-radius: 5px !important;
    background-color: #FFFFFF !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.cta-discount-box input[type="checkbox"]:hover {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3) !important;
}

.cta-discount-box input[type="checkbox"]:focus-visible {
    outline: 2px solid #FFFFFF !important;
    outline-offset: 2px !important;
}

/* Ссылка на политику конфиденциальности: белоснежная с подчеркиванием */
.cta-discount-box .ff-el-form-check-label a,
.cta-discount-box .ff_checkbox_label a,
.cta-discount-box .ff-el-tc a {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease, opacity 0.2s ease !important;
}

.cta-discount-box .ff-el-form-check-label a:hover,
.cta-discount-box .ff_checkbox_label a:hover,
.cta-discount-box .ff-el-tc a:hover {
    color: #FFEDD5 !important;
    opacity: 0.9 !important;
}

/* Кнопка отправки формы: СИЯЮЩИЙ БЕЛОСНЕЖНЫЙ МАЯК ПРЕМИУМ-КЛАССА */
.cta-discount-box .ff_submit_btn_wrapper {
    margin-top: 14px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.cta-discount-box .ff-btn-submit,
.cta-discount-box .fluentform .ff-btn-submit,
.cta-discount-box button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: 1.08rem !important;
    letter-spacing: 0.6px !important;
    text-transform: uppercase !important;
    padding: 16px 28px !important;
    border-radius: 14px !important;
    border: 2px solid #FFFFFF !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18),
                0 4px 10px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                background-color 0.22s ease,
                color 0.22s ease !important;
    box-sizing: border-box !important;
}

/* Фокус и фокус-видимость: чистый белый фон, сочное свечение и ЗАПРЕТ выцветания */
.cta-discount-box .ff-btn-submit:focus,
.cta-discount-box .fluentform .ff-btn-submit:focus,
.cta-discount-box button[type="submit"]:focus,
.cta-discount-box .ff-btn-submit:focus-visible,
.cta-discount-box .fluentform .ff-btn-submit:focus-visible,
.cta-discount-box button[type="submit"]:focus-visible {
    opacity: 1 !important;
    outline: none !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    border-color: #FFFFFF !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22),
                0 0 0 4px rgba(255, 255, 255, 0.6) !important;
}

.cta-discount-box .ff-btn-submit:hover,
.cta-discount-box .fluentform .ff-btn-submit:hover,
.cta-discount-box button[type="submit"]:hover {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #EA580C !important;
    border-color: #FFFFFF !important;
    opacity: 1 !important;
    transform: translate3d(0, -3px, 0) scale(1.01) !important;
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.22),
                0 0 25px rgba(255, 255, 255, 0.55) !important;
}

.cta-discount-box .ff-btn-submit:active,
.cta-discount-box .fluentform .ff-btn-submit:active,
.cta-discount-box button[type="submit"]:active {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(0.985) !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15) !important;
}

/* Состояния disabled / submit / ff-working / валидация: полный иммунитет к полупрозрачности */
.cta-discount-box .ff-btn-submit:disabled,
.cta-discount-box .fluentform .ff-btn-submit:disabled,
.cta-discount-box .ff-btn-submit[disabled],
.cta-discount-box .ff-btn-submit.disabled,
.cta-discount-box .fluentform .ff-btn.disabled,
.cta-discount-box .fluentform .ff-btn.ff-working {
    opacity: 1 !important;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    border-color: #FFFFFF !important;
    cursor: pointer !important;
}

.cta-discount-box .fluentform .ff-btn.ff-working:after {
    background: #EA580C !important;
    height: 4px !important;
    border-radius: 4px !important;
}

/* Нижняя строка гарантии / 152-ФЗ под кнопкой: изолирована на z-index 1 */
.cta-discount-box .fluentform + p,
.cta-discount-box p:last-child {
    position: relative !important;
    z-index: 1 !important;
    font-size: 0.86rem !important;
    color: rgba(255, 255, 255, 0.92) !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

/* Стилизация ошибок валидации Fluent Forms в карточке акции:
   Группа остаётся полностью чистой и прозрачной, подсвечивается только инпут */
.cta-discount-box .ff-el-group.ff-el-is-error {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: block !important;
}

/* Инпуты при ошибке: деликатная рубиновая рамка и мягкое свечение */
.cta-discount-box .ff-el-is-error input.ff-el-form-control,
.cta-discount-box .ff-el-is-error input[type="text"],
.cta-discount-box .ff-el-is-error input[type="tel"] {
    background-color: #FFFFFF !important;
    border: 2px solid #EF4444 !important;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.22), 0 4px 14px rgba(0, 0, 0, 0.08) !important;
}

/* Чекбокс при ошибке: рубиновый контур */
.cta-discount-box .ff-el-is-error input[type="checkbox"] {
    outline: 2px solid #EF4444 !important;
    outline-offset: 2px !important;
    border-radius: 4px !important;
}

/* Компактный бейдж сообщения об ошибке под полем */
.cta-discount-box .ff-el-input--content .text-danger,
.cta-discount-box .ff-el-input--content div.error,
.cta-discount-box .ff-el-input--content span.error {
    color: #FFFFFF !important;
    background: #DC2626 !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    margin-top: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16) !important;
    letter-spacing: 0.2px !important;
    width: auto !important;
}

.cta-discount-box .ff-el-input--content .text-danger::before,
.cta-discount-box .ff-el-input--content div.error::before,
.cta-discount-box .ff-el-input--content span.error::before {
    content: "⚠️" !important;
    font-size: 0.75rem !important;
    line-height: 1 !important;
}

/* Адаптивность для планшетов и мобильных экранов */
@media (max-width: 768px) {
    .section-cta-discount {
        padding: 50px 16px !important;
    }
    
    .cta-discount-box {
        padding: 2.6rem 1.4rem !important;
        border-radius: 20px !important;
    }
    
    .cta-discount-box h2::before {
        font-size: 0.72rem !important;
        padding: 5px 14px !important;
        letter-spacing: 1px !important;
    }
    
    .cta-discount-box h2 {
        font-size: 1.55rem !important;
    }
    
    .cta-discount-box p:not(.ff-el-form-check-label):not(.service-price) {
        font-size: 0.96rem !important;
        margin-bottom: 1.6rem !important;
    }
    
    .cta-discount-box .ff-btn-submit,
    .cta-discount-box .fluentform .ff-btn-submit,
    .cta-discount-box button[type="submit"] {
        font-size: 0.95rem !important;
        padding: 14px 18px !important;
        min-height: 54px !important;
    }
}

/* ==========================================================================
   BUTTONS & FLUENT FORMS STYLING (Шаг 8.1 Гайда)
   ========================================================================== */
.btn-accent-large, 
.btn-fluent-accent,
.ff-btn-submit,
.fluentform .ff-btn-submit {
    background-color: var(--color-accent-orange) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    padding: 1rem 2rem !important;
    border-radius: 8px !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
    text-decoration: none !important;
    display: inline-block !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    width: 100% !important;
    text-align: center !important;
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.4) !important;
}

.btn-accent-large:hover, 
.btn-fluent-accent:hover,
.ff-btn-submit:hover,
.fluentform .ff-btn-submit:hover {
    background-color: var(--color-accent-hover) !important;
    box-shadow: 0 14px 26px -4px rgba(249, 115, 22, 0.55) !important;
    transform: translate3d(0, -3px, 0) !important;
}

.btn-accent-large:active, 
.btn-fluent-accent:active,
.ff-btn-submit:active,
.fluentform .ff-btn-submit:active {
    transform: translate3d(0, 0, 0) scale(0.985) !important;
}

/* Fluent Forms Container Overrides */
.fluentform {
    max-width: 100% !important;
}

.fluentform .ff-el-form-control {
    border-radius: 8px !important;
    padding: 0.85rem 1rem !important;
    border: 1px solid #CBD5E1 !important;
    font-size: 1rem !important;
    outline: none !important;
}

.fluentform .ff-el-form-control:focus {
    border-color: var(--color-primary-blue) !important;
    box-shadow: 0 0 0 3px rgba(30, 64, 175, 0.15) !important;
}

.fluentform .ff_checkbox_label {
    font-size: 0.85rem !important;
    color: var(--color-text-muted) !important;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* ==========================================================================
   FAQ & CONTACTS
   ========================================================================== */
.faq-list {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
    cursor: pointer;
}

.faq-item summary {
    font-size: 1.1rem;
    color: var(--color-primary-dark);
    outline: none;
}

.faq-item p {
    margin-top: 1rem;
    font-size: 0.95rem;
    color: var(--color-text-main);
    line-height: 1.6;
}

.contact-info-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    font-size: 1.05rem;
    color: var(--color-text-main);
}

.btn-contact-tg, .btn-contact-wa {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 6px;
    color: #FFFFFF !important;
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
}

.btn-contact-tg { background: #0088cc; }
.btn-contact-wa { background: #25D366; }

/* RESPONSIVE LAYOUT BREAKPOINTS */
@media (max-width: 768px) {
    .wp-block-columns {
        flex-direction: column !important;
    }
    .wp-block-column {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 1.5rem;
    }
    .cta-inline-form {
        flex-direction: column;
    }
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   ULTRA-PREMIUM HEADER STYLES (Custom Header)
   ========================================================================== */
.custom-premium-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #FFFFFF;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    width: 100%;
}

.header-top-bar {
    background: #0F172A;
    color: #94A3B8;
    font-size: 0.85rem;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header-top-container {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2.5rem);
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #22C55E;
    border-radius: 50%;
    box-shadow: 0 0 10px #22C55E;
}

.status-text strong {
    color: #FFFFFF;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.top-link {
    color: #CBD5E1;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.top-link:hover {
    color: #F97316;
}

.header-main-row {
    background: #FFFFFF;
    padding: 0.85rem 0;
}

.header-main-container {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2.5rem);
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-logo-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.logo-icon-badge {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px -3px rgba(249, 115, 22, 0.4);
}

.logo-text-group {
    display: flex;
    flex-direction: column;
}

.logo-title {
    font-size: 1.25rem;
    font-weight: 900;
    color: #0F172A;
    letter-spacing: -0.5px;
    line-height: 1.1;
}

.logo-subtitle {
    font-size: 0.75rem;
    color: #64748B;
    font-weight: 500;
}

.header-nav-menu .nav-list {
    display: flex;
    list-style: none;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.header-nav-menu .nav-list a {
    color: #334155;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    position: relative;
    transition: color 0.2s ease;
}

.header-nav-menu .nav-list a::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 0;
    height: 2px;
    background: #1E40AF;
    transition: width 0.2s ease;
}

.header-nav-menu .nav-list a:hover {
    color: #1E40AF;
}

.header-nav-menu .nav-list a:hover::after {
    width: 100%;
}

.header-action-group {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.header-phone-box {
    display: flex;
    flex-direction: column;
    text-align: right;
    text-decoration: none;
}

.phone-number {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0F172A;
    line-height: 1.1;
}

.phone-sub {
    font-size: 0.75rem;
    color: #16A34A;
    font-weight: 600;
}

.header-cta-btn {
    text-decoration: none !important;
}



/* ==========================================================================
   ULTRA-PREMIUM FOOTER STYLES (Custom Footer)
   ========================================================================== */
.custom-premium-footer {
    background: #0F172A;
    color: #94A3B8;
    font-size: 0.95rem;
    line-height: 1.6;
}

.footer-top-row {
    padding: 4rem 0 3rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-container {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    padding: 0 clamp(1rem, 3vw, 2.5rem);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr;
    gap: 3rem;
}

.footer-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1rem;
}

.footer-logo-title {
    font-size: 1.3rem;
    font-weight: 900;
    color: #FFFFFF;
    letter-spacing: -0.5px;
}

.footer-desc {
    color: #94A3B8;
    max-width: 450px;
}

.footer-heading {
    color: #FFFFFF;
    font-size: 1.1rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.footer-links a {
    color: #CBD5E1;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-links a:hover {
    color: #F97316;
}

.footer-phone {
    color: #F97316 !important;
    font-weight: 800;
    font-size: 1.1rem;
    text-decoration: none;
}

.footer-email {
    color: #E2E8F0 !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.96rem;
    transition: color 0.2s ease;
}

.footer-email:hover {
    color: #F97316 !important;
    text-decoration: underline;
}

.footer-bottom-row {
    padding: 1.5rem 0;
    background: #0B0F19;
    font-size: 0.85rem;
    color: #64748B;
}

.bottom-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bottom-container a {
    color: #94A3B8;
    text-decoration: underline;
}

/* ── Developer Badge («Техно КЭП») ── */
.dev-badge-container {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 12px;
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 0.82rem;
    color: #64748B;
}

.dev-badge-text {
    color: #64748B;
    font-weight: 500;
}

.dev-badge-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 8px !important;
    padding: 5px 13px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.dev-badge-icon {
    width: 14px;
    height: 14px;
    stroke: #0F172A;
    transition: stroke 0.2s ease, transform 0.2s ease;
}

.dev-badge-btn:hover {
    transform: translateY(-2px) !important;
    background: #FFFFFF !important;
    color: #EA580C !important;
    border-color: #F97316 !important;
    box-shadow: 0 6px 18px rgba(249, 115, 22, 0.35) !important;
}

.dev-badge-btn:hover .dev-badge-icon {
    stroke: #EA580C;
    transform: scale(1.1);
}

@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .bottom-container {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    .dev-badge-container {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 8px;
    }
}

/* SUCCESS MODAL FOR THE HERO FORM */
body.form-success-modal-open {
    overflow: hidden;
}

.hero-form-card #fluentform_3_success {
    display: none !important;
}

.form-success-modal[hidden] {
    display: none;
}

.form-success-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.18s ease, visibility 0.18s ease;
}

.form-success-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.form-success-modal__dialog {
    position: relative;
    width: min(100%, 28rem);
    padding: 2.25rem 2rem 2rem;
    border: 1px solid rgba(255, 255, 255, 0.75);
    border-radius: 1.25rem;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.35);
    text-align: center;
    transform: translateY(12px) scale(0.98);
    transition: transform 0.18s ease;
}

.form-success-modal.is-open .form-success-modal__dialog {
    transform: translateY(0) scale(1);
}

.form-success-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #64748B;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.form-success-modal__close:hover,
.form-success-modal__close:focus-visible {
    background: #F1F5F9;
    color: #0F172A;
}

.form-success-modal__icon {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 1rem;
    border-radius: 50%;
    background: #DCFCE7;
    color: #16A34A;
    font-size: 2rem;
    font-weight: 800;
}

.form-success-modal__dialog h2 {
    margin: 0 0 0.65rem;
    color: #0F172A;
    font-size: 1.55rem;
    line-height: 1.2;
}

.form-success-modal__message {
    color: #475569;
    font-size: 1rem;
    line-height: 1.55;
}

.form-success-modal__message p {
    margin: 0;
}

.form-success-modal__action {
    width: 100%;
    margin-top: 1.5rem;
    padding: 0.85rem 1.25rem;
    border: 0;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    color: #FFFFFF;
    font-size: 0.98rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(249, 115, 22, 0.28);
}

.form-success-modal__action:hover,
.form-success-modal__action:focus-visible {
    background: #C2410C;
}

.form-success-modal button:focus-visible {
    outline: 3px solid rgba(30, 64, 175, 0.35);
    outline-offset: 3px;
}

@media (max-width: 480px) {
    .form-success-modal {
        padding: 1rem;
    }

    .form-success-modal__dialog {
        padding: 2rem 1.25rem 1.25rem;
        border-radius: 1rem;
    }
}




/* ==========================================================================
   📱 ULTRA-RESPONSIVE HERO BREAKPOINTS (АДАПТИВНОСТЬ ПОД ВСЕ ЭКРАНЫ)
   ========================================================================== */

/* 1. Laptops & Small Desktops (max-width: 1200px) */
@media (max-width: 1200px) {
    .hero-h1-title {
        font-size: 2.3rem !important;
        line-height: 1.25 !important;
    }
    .hero-form-card.premium-white-card {
        padding: 1.8rem 1.5rem !important;
    }
}

/* 2. Tablets & iPads (max-width: 992px) */
@media (max-width: 992px) {
    .hero-main-columns {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 2.5rem !important;
    }
    .hero-h1-title {
        font-size: 2.1rem !important;
        text-align: left;
    }
    .hero-form-card.premium-white-card {
        max-width: 550px !important;
        margin: 0 auto !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* 3. Mobile Smartphones (max-width: 576px) */
@media (max-width: 576px) {
    .hero-section-wrapper {
        padding-top: 2rem !important;
        padding-bottom: 2.5rem !important;
    }
    .status-badge {
        font-size: 0.8rem !important;
        padding: 5px 12px !important;
    }
    .hero-h1-title {
        font-size: 1.65rem !important;
        line-height: 1.25 !important;
        margin-bottom: 1rem !important;
    }
    .hero-trust-bar {
        font-size: 0.82rem !important;
        padding: 8px 14px !important;
    }
    .hero-feature-grid .feature-item {
        font-size: 0.88rem !important;
        padding: 10px 12px !important;
    }
    .hero-buttons-wrapper,
    .hero-main-columns .wp-block-buttons {
        flex-direction: column !important;
        width: 100% !important;
        gap: 0.75rem !important;
    }
    .btn-accent-large,
    .btn-telegram-hero,
    .btn-accent-large a,
    .btn-telegram-hero a {
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
        justify-content: center !important;
    }
    .hero-form-card.premium-white-card {
        padding: 1.5rem 1.15rem !important;
        border-radius: 16px !important;
    }
    .discount-tag-ribbon {
        font-size: 0.75rem !important;
        padding: 5px 12px !important;
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .form-title-text {
        font-size: 1.3rem !important;
    }
}


/* ==========================================================================
   🌐 100% BULLETPROOF FLUID RUBBER HEADER (АБСОЛЮТНАЯ ЗАЩИТА ОТ ВЫЛЕТА КНОПКИ)
   ========================================================================== */

/* Top Announcement Bar */
.custom-premium-header .header-top-bar {
    display: block !important;
    background: #0F172A;
    color: #94A3B8;
    font-size: 0.82rem;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 101;
}

.custom-premium-header .header-top-container {
    max-width: 1600px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 clamp(0.75rem, 2vw, 2.5rem);
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.custom-premium-header .top-bar-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.custom-premium-header .status-dot {
    width: 8px;
    height: 8px;
    background: #22C55E;
    border-radius: 50%;
    box-shadow: 0 0 10px #22C55E;
    display: inline-block;
    flex-shrink: 0;
    animation: pulseGlow 2s infinite ease-in-out;
}

@keyframes pulseGlow {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(0.85); }
}

.custom-premium-header .status-text-full {
    display: inline;
}

.custom-premium-header .status-text-short {
    display: none;
}

.custom-premium-header .work-hours {
    display: inline;
    color: #64748B;
}

.custom-premium-header .top-bar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.custom-premium-header .top-link {
    color: #CBD5E1;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.04);
    transition: all 0.2s ease;
}

.custom-premium-header .top-link:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.12);
}

.custom-premium-header .tg-link:hover {
    color: #38BDF8;
    background: rgba(56, 189, 248, 0.15);
}

.custom-premium-header .wa-link:hover {
    color: #22C55E;
    background: rgba(34, 197, 94, 0.15);
}

/* Main Header Row Base */
.custom-premium-header .header-main-row {
    background: #FFFFFF;
    border-bottom: 1px solid #E2E8F0;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.05);
    position: relative;
    z-index: 100;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.custom-premium-header .header-main-container {
    max-width: 1600px;
    width: 100% !important;
    margin: 0 auto;
    padding: 10px clamp(0.75rem, 2vw, 2.5rem) !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
}

/* Brand Logo */
.custom-premium-header .header-logo-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.custom-premium-header .logo-icon-badge {
    width: 38px;
    height: 38px;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.35);
    flex-shrink: 0 !important;
}

.custom-premium-header .logo-text-group {
    display: flex;
    flex-direction: column;
}

.custom-premium-header .logo-title {
    font-size: 1.08rem;
    font-weight: 900;
    color: #0F172A !important;
    letter-spacing: -0.3px;
    line-height: 1.2;
    white-space: nowrap !important;
}

.custom-premium-header .logo-title-sub {
    font-weight: 700;
    color: #334155;
}

.custom-premium-header .logo-subtitle {
    font-size: 0.7rem;
    color: #64748B;
    font-weight: 500;
    white-space: nowrap !important;
}

/* Navigation Menu */
.custom-premium-header .header-nav-menu {
    display: flex;
    align-items: center;
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

.custom-premium-header .nav-list {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.custom-premium-header .nav-list li {
    margin: 0;
    padding: 0;
}

.custom-premium-header .nav-list a {
    color: #334155 !important;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
    padding: 6px 10px;
    border-radius: 8px;
    transition: all 0.2s ease;
    white-space: nowrap !important;
}

.custom-premium-header .nav-list a:hover {
    color: #EA580C !important;
    background: #FFF7ED !important;
}

.custom-premium-header .nav-list a::after,
.custom-premium-header .nav-list a::before {
    display: none !important;
    content: none !important;
}

/* Action Group */
.custom-premium-header .header-action-group {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-shrink: 0 !important;
}

.custom-premium-header .header-phone-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.custom-premium-header .phone-number {
    font-size: 1.02rem;
    font-weight: 900;
    color: #0F172A !important;
    line-height: 1.2;
    white-space: nowrap !important;
}

.custom-premium-header .phone-sub {
    font-size: 0.68rem;
    color: #16A34A;
    font-weight: 700;
    text-align: right;
    white-space: nowrap !important;
}

/* CTA Button Text Toggle */
.custom-premium-header .cta-text-full {
    display: inline !important;
}
.custom-premium-header .cta-text-short {
    display: none !important;
}

.custom-premium-header .header-cta-btn {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 0.82rem !important;
    padding: 9px 16px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    box-shadow: 0 4px 16px rgba(249, 115, 22, 0.38) !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    position: relative !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                background 0.22s ease !important;
    will-change: transform, box-shadow !important;
}

/* Фиксация SVG иконки телефона: строгая геометрия, никакого смещения по горизонтали */
.custom-premium-header .header-cta-btn svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
    flex-shrink: 0 !important;
    stroke: currentColor !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    pointer-events: none !important;
}

.custom-premium-header .header-cta-btn::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    bottom: -6px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
}

@media (hover: hover) {
    .custom-premium-header .header-cta-btn:hover {
        transform: translate3d(0, -3px, 0) !important;
        box-shadow: 0 8px 24px rgba(234, 88, 12, 0.55) !important;
        background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
        color: #FFFFFF !important;
    }
}

.custom-premium-header .header-cta-btn:active {
    transform: translate3d(0, 0, 0) scale(0.98) !important;
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4) !important;
}

.custom-premium-header .header-cta-btn:focus,
.custom-premium-header .header-cta-btn:focus-visible {
    transform: translate3d(0, 0, 0) !important;
    outline: none !important;
}

/* ==========================================================================
   🎯 PRECISION RESPONSIVE BREAKPOINTS (УСТРАНЕНИЕ ВСЕХ ВЫЛЕТОВ)
   ========================================================================== */

/* 1. Large Laptops / Screens (1300px - 1500px) */
@media (max-width: 1500px) {
    .custom-premium-header .logo-title {
        font-size: 0.96rem;
    }
    .custom-premium-header .logo-subtitle {
        font-size: 0.64rem;
    }
    .custom-premium-header .nav-list {
        gap: 0.35rem;
    }
    .custom-premium-header .nav-list a {
        font-size: 0.8rem;
        padding: 4px 7px;
    }
    .custom-premium-header .phone-number {
        font-size: 0.92rem;
    }
    .custom-premium-header .header-cta-btn {
        font-size: 0.78rem !important;
        padding: 8px 13px !important;
    }
}

/* 2. Medium Laptops / Small Screens (1000px - 1300px) */
@media (max-width: 1300px) {
    .custom-premium-header .logo-title-sub {
        display: none !important;
    }
    .custom-premium-header .header-phone-box {
        display: none !important;
    }
    .custom-premium-header .nav-list {
        gap: 0.25rem !important;
    }
    .custom-premium-header .nav-list a {
        font-size: 0.78rem !important;
        padding: 4px 6px !important;
    }
    .custom-premium-header .header-cta-btn {
        font-size: 0.76rem !important;
        padding: 7px 12px !important;
    }
}

/* 3. Tablets & Mobile Screens (859px and below) */
@media (max-width: 859px) {
    .custom-premium-header .header-top-bar {
        display: block !important;
        padding: 5px 0 !important;
        font-size: 0.76rem !important;
    }
    .custom-premium-header .work-hours {
        display: none !important;
    }
    .custom-premium-header .header-nav-menu {
        display: none !important;
    }
    .custom-premium-header .header-phone-box {
        display: none !important;
    }
    .custom-premium-header .logo-title-sub {
        display: none !important;
    }
    .custom-premium-header .mobile-menu-toggle {
        display: flex !important;
    }
    .custom-premium-header .header-main-container {
        justify-content: space-between !important;
        padding: 8px 12px !important;
    }
    .custom-premium-header .logo-title {
        font-size: 0.95rem !important;
    }
    .custom-premium-header .logo-subtitle {
        font-size: 0.65rem !important;
    }
    .custom-premium-header .header-cta-btn {
        font-size: 0.78rem !important;
        padding: 8px 14px !important;
    }
}

/* 4. Compact Smartphones & Tablets (630px and below): Ultra-Compact Micro-Bar & Compact Button */
@media (max-width: 630px) {
    .custom-premium-header .header-top-bar {
        padding: 4px 0 !important;
        font-size: 0.72rem !important;
    }
    .custom-premium-header .status-text-full {
        display: none !important;
    }
    .custom-premium-header .status-text-short {
        display: inline !important;
        font-size: 0.72rem !important;
        font-weight: 600 !important;
        color: #E2E8F0 !important;
    }
    .custom-premium-header .top-link-label {
        display: none !important;
    }
    .custom-premium-header .top-link {
        padding: 4px 6px !important;
        gap: 0 !important;
    }
    .custom-premium-header .tg-link {
        background: rgba(56, 189, 248, 0.2) !important;
        color: #38BDF8 !important;
    }
    .custom-premium-header .wa-link {
        background: rgba(34, 197, 94, 0.2) !important;
        color: #22C55E !important;
    }

    /* Switch CTA text from long "ВЫЗВАТЬ МАСТЕРА" to compact "ВЫЗВАТЬ" */
    .custom-premium-header .cta-text-full {
        display: none !important;
    }
    .custom-premium-header .cta-text-short {
        display: inline !important;
        font-weight: 800 !important;
        letter-spacing: 0.3px !important;
    }
    .custom-premium-header .header-cta-btn {
        font-size: 0.76rem !important;
        padding: 7px 11px !important;
        border-radius: 8px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        gap: 5px !important;
    }
    .custom-premium-header .mobile-menu-toggle {
        width: 36px !important;
        height: 36px !important;
        border-radius: 8px !important;
        flex-shrink: 0 !important;
    }
    .custom-premium-header .header-action-group {
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
        flex-shrink: 0 !important;
    }
}

/* 5. Small Mobile Smartphones (480px and below) */
@media (max-width: 480px) {
    .custom-premium-header .header-main-container {
        padding: 6px 10px !important;
        gap: 6px !important;
    }
    .custom-premium-header .logo-subtitle {
        display: none !important;
    }
    .custom-premium-header .logo-title {
        font-size: 0.88rem !important;
    }
    .custom-premium-header .logo-icon-badge {
        width: 30px !important;
        height: 30px !important;
        border-radius: 8px !important;
    }
    .custom-premium-header .logo-icon-badge svg {
        width: 15px !important;
        height: 15px !important;
    }
}

/* 6. Ultra-Compact Mobile Phones (360px and below - Samsung Galaxy S8+, iPhone SE) */
@media (max-width: 360px) {
    .custom-premium-header .header-main-container {
        padding: 5px 6px !important;
        gap: 4px !important;
    }
    .custom-premium-header .logo-title {
        font-size: 0.80rem !important;
    }
    .custom-premium-header .logo-icon-badge {
        width: 28px !important;
        height: 28px !important;
        border-radius: 6px !important;
    }
    .custom-premium-header .logo-icon-badge svg {
        width: 14px !important;
        height: 14px !important;
    }
    .custom-premium-header .header-action-group {
        gap: 4px !important;
    }
    .custom-premium-header .mobile-menu-toggle {
        width: 32px !important;
        height: 32px !important;
        border-radius: 6px !important;
    }
    .custom-premium-header .header-cta-btn {
        font-size: 0.72rem !important;
        padding: 6px 8px !important;
        border-radius: 6px !important;
    }
}

/* ==========================================================================
   🛡 UNIVERSAL WP ADMIN BAR BULLETPROOF OFFSET (НАДЕЖНЫЙ ОТСТУП ДЛЯ АДМИНКИ)
   ========================================================================== */
body.admin-bar {
    padding-top: 32px !important;
}

body.admin-bar #site-header.custom-premium-header {
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    z-index: 99999 !important;
}

@media screen and (max-width: 782px) {
    body.admin-bar {
        padding-top: 46px !important;
    }
}

/* ==========================================================================
   📱 MOBILE OFF-CANVAS DRAWER & HAMBURGER STYLES (GOLD STANDARD)
   ========================================================================== */

/* Hamburger Button: Hidden on Desktop (> 860px) */
.mobile-menu-toggle {
    display: none !important;
    background: #F1F5F9;
    border: 1px solid #CBD5E1;
    color: #0F172A;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    box-sizing: border-box;
}

.mobile-menu-toggle:hover {
    background: #E2E8F0;
    border-color: #94A3B8;
    color: #F97316;
}

/* Dark Backdrop Overlay */
.mobile-drawer-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(15, 23, 42, 0.7) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s ease !important;
}

.mobile-drawer-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Off-Canvas Drawer Panel */
.mobile-drawer-panel {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 320px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: #0F172A !important;
    border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.6) !important;
    z-index: 999999 !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
}

.mobile-drawer-panel.active {
    transform: translateX(0) !important;
}

/* Drawer Header */
.drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-bottom: 20px !important;
}

.drawer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.drawer-brand-title {
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    letter-spacing: -0.2px !important;
}

.drawer-close-btn {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #94A3B8 !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.drawer-close-btn:hover {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #EF4444 !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
}

/* Drawer Navigation List with 3D Engraved Dividers */
.drawer-nav {
    flex: 1 !important;
}

.drawer-nav-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.drawer-nav-list li {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.45) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

.drawer-nav-list li a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 10px !important;
    color: #F1F5F9 !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

.drawer-nav-list li a:hover {
    color: #F97316 !important;
    background: rgba(249, 115, 22, 0.1) !important;
    padding-left: 14px !important;
}

.nav-icon {
    font-size: 1.1rem !important;
}

/* Drawer Sticky Bottom Dock */
.drawer-footer {
    margin-top: auto !important;
    padding-top: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-top: none !important;
    box-shadow: none !important;
}

/* Drawer Messengers Row */
.drawer-messengers-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
}

.drawer-msg-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px !important;
    border-radius: 10px !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.drawer-tg-btn {
    background: rgba(56, 189, 248, 0.12) !important;
    border: 1px solid rgba(56, 189, 248, 0.3) !important;
    color: #38BDF8 !important;
}

.drawer-tg-btn:hover {
    background: rgba(56, 189, 248, 0.25) !important;
}

.drawer-wa-btn {
    background: rgba(34, 197, 94, 0.12) !important;
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    color: #22C55E !important;
}

.drawer-wa-btn:hover {
    background: rgba(34, 197, 94, 0.25) !important;
}

.drawer-phone-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: #FFFFFF !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    padding: 11px 14px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 10px !important;
    transition: all 0.2s ease !important;
}

.drawer-phone-link:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

.drawer-cta-btn {
    display: block !important;
    text-align: center !important;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    padding: 13px 18px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(249, 115, 22, 0.45) !important;
    letter-spacing: 0.3px !important;
    transition: all 0.2s ease !important;
}

.drawer-cta-btn:hover {
    box-shadow: 0 6px 26px rgba(249, 115, 22, 0.65) !important;
    transform: translateY(-2px) !important;
}

/* ==========================================================================
   HERO CTA CLUSTER (OPTION 1: ГЛАВНАЯ КНОПКА + 2 МЕССЕНДЖЕРА 50/50)
   ========================================================================== */
.hero-cta-cluster-opt1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 1.6rem !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.hero-primary-btn-wrap {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hero-calc-btn {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%) !important;
    color: #FFFFFF !important;
    font-weight: 800 !important;
    font-size: 1.02rem !important;
    padding: 0 20px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 22px rgba(249, 115, 22, 0.42) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
    position: relative !important;
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    transform-style: preserve-3d !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
                background 0.22s ease !important;
    will-change: transform, box-shadow !important;
}

.hero-calc-btn::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    bottom: -6px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
}

.hero-calc-btn:hover {
    transform: translate3d(0, -3px, 0) !important;
    box-shadow: 0 14px 28px rgba(234, 88, 12, 0.55) !important;
    background: linear-gradient(135deg, #EA580C 0%, #C2410C 100%) !important;
    color: #FFFFFF !important;
}

/* Messengers Row: 2 strictly equal 50/50 columns, same height, same baseline */
.hero-messengers-row {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hero-msg-btn {
    width: 100% !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 14px !important;
    line-height: 1 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.hero-tg-btn {
    background: rgba(14, 165, 233, 0.18) !important;
    border: 1px solid rgba(56, 189, 248, 0.45) !important;
    color: #38BDF8 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(8px) !important;
}

.hero-tg-btn:hover {
    background: rgba(14, 165, 233, 0.35) !important;
    color: #FFFFFF !important;
    border-color: #38BDF8 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(14, 165, 233, 0.4) !important;
}

.hero-wa-btn {
    background: rgba(34, 197, 94, 0.18) !important;
    border: 1px solid rgba(74, 222, 128, 0.45) !important;
    color: #4ADE80 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2) !important;
    backdrop-filter: blur(8px) !important;
}

.hero-wa-btn:hover {
    background: rgba(34, 197, 94, 0.35) !important;
    color: #FFFFFF !important;
    border-color: #4ADE80 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(34, 197, 94, 0.4) !important;
}
/* ==========================================================================
   SMOOTH ANCHOR SCROLLING & STICKY HEADER OFFSET
   ========================================================================== */
html {
    scroll-behavior: smooth !important;
    scroll-padding-top: 90px !important;
}

:target,
[id] {
    scroll-margin-top: 90px !important;
}
/* ==========================================================================
   SECTION: КАК МЫ РАБОТАЕМ (#how-it-works) — ULTRA-PREMIUM LIGHT THEME
   ========================================================================== */
.section-how-it-works {
    background: #F8FAFC !important;
    color: #0F172A !important;
    position: relative;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    scroll-margin-top: 90px !important;
}

.section-how-it-works .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
}

.section-how-it-works .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
}

.section-how-it-works .section-sub-desc {
    color: #64748B !important;
}

.how-steps-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    margin-top: 2.5rem !important;
    align-items: stretch !important;
}

.how-steps-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.step-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    padding: 2.2rem 1.6rem !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease !important;
    box-sizing: border-box !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
}

.step-card:hover {
    transform: translateY(-5px) !important;
    border-color: #F97316 !important;
    box-shadow: 0 16px 32px -4px rgba(249, 115, 22, 0.18) !important;
}

.step-num {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%) !important;
    color: #EA580C !important;
    border: 1px solid #FDBA74 !important;
    font-size: 1.6rem !important;
    font-weight: 900 !important;
    margin-bottom: 1.25rem !important;
    line-height: 1 !important;
    box-shadow: 0 4px 12px rgba(234, 88, 12, 0.12) !important;
    flex-shrink: 0 !important;
}

.step-card h3,
.step-card .step-title {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-bottom: 0.85rem !important;
    line-height: 1.3 !important;
    min-height: 3.2rem !important;
    display: flex !important;
    align-items: flex-start !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
}

.step-card p,
.step-card .step-desc {
    font-size: 0.95rem !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    flex-grow: 1 !important;
}

/* Планшеты (до 1024px включительно): сетка 2 на 2 строго одинаковой высоты */
@media (max-width: 1024px) {
    .how-steps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.25rem !important;
    }
    .step-card {
        padding: 2rem 1.5rem !important;
    }
    .step-card h3,
    .step-card .step-title {
        min-height: auto !important;
    }
}

/* Смартфоны (до 600px): 1 колонка */
@media (max-width: 600px) {
    .how-steps-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .step-card {
        padding: 1.8rem 1.4rem !important;
    }
    .step-card h3,
    .step-card .step-title {
        min-height: auto !important;
    }
}

/* ==========================================================================
   SECTION: ОТЗЫВЫ (#reviews) — ULTRA-PREMIUM LIGHT THEME
   ========================================================================== */
.section-reviews {
    background: #F8FAFC !important;
    color: #0F172A !important;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    scroll-margin-top: 90px !important;
}

.section-reviews .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
}

.section-reviews .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
}

.section-sub-desc {
    font-size: 1.05rem !important;
    color: #64748B !important;
    margin-top: -0.5rem !important;
    margin-bottom: 2.5rem !important;
}

.reviews-grid {
    display: flex !important;
    gap: 1.5rem !important;
}

.review-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 18px !important;
    padding: 2.2rem 1.8rem !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
}

.review-card:hover {
    transform: translateY(-4px) !important;
    border-color: #F97316 !important;
    box-shadow: 0 16px 32px -4px rgba(249, 115, 22, 0.16) !important;
}

.review-stars {
    font-size: 1.15rem;
    margin-bottom: 1rem;
    letter-spacing: 3px;
    filter: drop-shadow(0 1px 2px rgba(234, 179, 8, 0.25));
}

.review-text {
    font-size: 0.95rem !important;
    color: #334155 !important;
    line-height: 1.65 !important;
    font-style: italic;
    margin-bottom: 1.5rem !important;
}

.review-author {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding-top: 1.2rem !important;
    border-top: 1px solid #F1F5F9 !important;
}

.author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    color: #FFFFFF;
    font-weight: 800;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(249, 115, 22, 0.25);
}

.author-info {
    display: flex;
    flex-direction: column;
}

.author-info strong {
    color: #0F172A !important;
    font-size: 0.98rem;
    font-weight: 700;
}

.author-info span {
    color: #64748B !important;
    font-size: 0.82rem;
}

@media (max-width: 992px) {
    .reviews-grid {
        flex-direction: column !important;
    }
}
/* ==========================================================================
   SECTION: О НАС (#about) — ULTRA-PREMIUM LIGHT THEME (ENHANCED TYPOGRAPHY)
   ========================================================================== */
.section-about {
    background: #F8FAFC !important;
    color: #0F172A !important;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

.section-about .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 0.65rem !important;
    text-transform: uppercase !important;
}

.section-about .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 0.85rem !important;
    letter-spacing: -0.5px !important;
}

.section-about .section-sub-desc {
    color: #64748B !important;
    font-size: 1.05rem !important;
    max-width: 720px !important;
    margin: 0 auto 2.8rem auto !important;
    line-height: 1.6 !important;
}

.about-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    margin-top: 1rem !important;
}

.about-stats-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

.about-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    padding: 2.2rem 1.8rem !important;
    height: 100% !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.about-card:hover {
    transform: translateY(-6px) !important;
    border-color: #F97316 !important;
    box-shadow: 0 20px 35px -8px rgba(249, 115, 22, 0.22) !important;
}

.about-icon {
    font-size: 2.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    background: #F1F5F9;
    border-radius: 14px;
    margin-bottom: 1.2rem;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.about-card h3 {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-bottom: 0.85rem !important;
    line-height: 1.3 !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.about-card p {
    font-size: 0.98rem !important;
    color: #475569 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* Планшеты (до 1024px): гармоничная сетка 2 на 2 */
@media (max-width: 1024px) {
    .about-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.25rem !important;
    }
    .about-card {
        padding: 2rem 1.6rem !important;
    }
}

/* Смартфоны (до 600px): 1 колонка */
@media (max-width: 600px) {
    .about-stats-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .about-card {
        padding: 1.8rem 1.4rem !important;
    }
}
/* ==========================================================================
   ELIMINATE GAPS BETWEEN FULL-WIDTH SECTIONS
   ========================================================================== */
.entry-content > *,
.entry-content > .wp-block-group,
.entry-content > .alignfull,
.site-main > .alignfull,
.hero-section-wrapper,
.section-about,
.section-advantages,
.section-how-it-works,
.section-services,
.section-pricing,
.section-reviews,
.section-faq {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.hero-section-wrapper {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.92) 0%, rgba(15, 23, 42, 0.84) 100%), url('/wp-content/uploads/2026/08/hero-bg.webp') center/cover no-repeat !important;
}
/* ==========================================================================
   SECTION: НАШИ ПРЕИМУЩЕСТВА (#advantages)
   ========================================================================== */
.section-advantages {
    background: #FFFFFF !important;
    color: #0F172A !important;
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.section-advantages .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 0.65rem !important;
    text-transform: uppercase !important;
}

.section-advantages .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 2.8rem !important;
    letter-spacing: -0.5px !important;
}

.adv-card {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    padding: 2.4rem 2rem !important;
    height: 100% !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, background-color 0.3s ease !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.adv-card:hover {
    transform: translateY(-6px) !important;
    background: #FFFFFF !important;
    border-color: #F97316 !important;
    box-shadow: 0 20px 35px -8px rgba(249, 115, 22, 0.22) !important;
}

.adv-card h3 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-bottom: 0.85rem !important;
    line-height: 1.3 !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.adv-card p {
    font-size: 0.98rem !important;
    color: #475569 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}
/* ==========================================================================
   SECTION: УСЛУГИ (#services)
   ========================================================================== */
.section-services {
    background: #F8FAFC !important;
    color: #0F172A !important;
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.section-services .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 0.65rem !important;
    text-transform: uppercase !important;
}

.section-services .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 2.8rem !important;
    letter-spacing: -0.5px !important;
}

.service-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.06) !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.service-card:hover {
    transform: translateY(-6px) !important;
    border-color: #F97316 !important;
    box-shadow: 0 20px 35px -8px rgba(249, 115, 22, 0.22) !important;
}

.service-card figure,
.service-card .wp-block-image {
    margin: 0 !important;
    overflow: hidden !important;
    aspect-ratio: 16 / 10;
    width: 100% !important;
    border-top-left-radius: 19px !important;
    border-top-right-radius: 19px !important;
}

.service-card figure img,
.service-card .wp-block-image img,
.service-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
    border-radius: 0 !important;
}

.service-card:hover img {
    transform: scale(1.06) !important;
}

.service-card h3,
.service-card p {
    padding-left: 1.8rem !important;
    padding-right: 1.8rem !important;
}

.service-card h3 {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin-top: 1.4rem !important;
    margin-bottom: 0.6rem !important;
    line-height: 1.3 !important;
}

.service-card p:not(.service-price) {
    font-size: 0.95rem !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 1.4rem !important;
}

.service-card .service-price {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    background: rgba(249, 115, 22, 0.1) !important;
    color: #EA580C !important;
    border: 1px solid rgba(249, 115, 22, 0.25) !important;
    border-radius: 12px !important;
    padding: 8px 18px !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    margin-left: 1.8rem !important;
    margin-bottom: 1.8rem !important;
    letter-spacing: 0.3px !important;
}

/* ==========================================================================
   SECTION: ПРАЙС-ЛИСТ (#prices) — UNIFIED MASTER TYPOGRAPHY
   ========================================================================== */
.section-pricing {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.section-pricing .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 0.65rem !important;
    text-transform: uppercase !important;
}

.section-pricing .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 2.8rem !important;
    letter-spacing: -0.5px !important;
}

/* ==========================================================================
   SECTION: ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ (#faq) — UNIFIED TYPOGRAPHY & CARDS
   ========================================================================== */
.section-faq {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
    background: #FFFFFF !important;
}

.section-faq .section-tag {
    color: #EA580C !important;
    font-weight: 800 !important;
    font-size: 0.85rem !important;
    letter-spacing: 1.8px !important;
    margin-bottom: 0.65rem !important;
    text-transform: uppercase !important;
}

.section-faq .section-h2 {
    color: #0F172A !important;
    font-weight: 800 !important;
    font-size: clamp(1.85rem, 3.2vw, 2.35rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 2.8rem !important;
    letter-spacing: -0.5px !important;
}

.section-faq .faq-item {
    max-width: 820px !important;
    margin: 0 auto 1.2rem auto !important;
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 16px !important;
    padding: 1.5rem 1.8rem !important;
    box-shadow: 0 4px 18px -2px rgba(15, 23, 42, 0.04) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
}

.section-faq .faq-item:hover {
    border-color: #F97316 !important;
    box-shadow: 0 8px 24px -2px rgba(249, 115, 22, 0.12) !important;
    transform: translateY(-2px) !important;
}

.section-faq .faq-item h3,
.section-faq .faq-item .wp-block-heading {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #0F172A !important;
    margin-top: 0 !important;
    margin-bottom: 0.6rem !important;
    line-height: 1.35 !important;
}

.section-faq .faq-item p {
    color: #475569 !important;
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* PREMIUM BACK-TO-TOP BUTTON */
.ct-back-to-top {
    right: clamp(16px, 2vw, 30px) !important;
    bottom: clamp(18px, 2.5vw, 32px) !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #17233F 0%, #0B1329 100%) !important;
    box-shadow: 0 14px 34px rgba(2, 8, 23, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    transform: var(--transform, translate3d(0, 15px, 0)) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease, visibility 0.3s ease, background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.ct-back-to-top::after {
    position: absolute;
    right: 50%;
    bottom: 8px;
    width: 18px;
    height: 3px;
    border-radius: 99px;
    background: #F97316;
    content: '';
    opacity: 0.95;
    transform: translateX(50%);
}

.ct-back-to-top .ct-icon {
    position: relative;
    z-index: 1;
    width: 18px !important;
    height: 18px !important;
    fill: #FFFFFF !important;
    transition: transform 0.3s ease, fill 0.3s ease !important;
}

.ct-back-to-top:hover,
.ct-back-to-top:focus-visible {
    border-color: rgba(249, 115, 22, 0.75) !important;
    background: linear-gradient(145deg, #F97316 0%, #EA580C 100%) !important;
    box-shadow: 0 16px 34px rgba(234, 88, 12, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    transform: translate3d(0, -4px, 0) !important;
}

.ct-back-to-top:hover .ct-icon,
.ct-back-to-top:focus-visible .ct-icon {
    fill: #FFFFFF !important;
    transform: translateY(-2px);
}

.ct-back-to-top:focus-visible {
    outline: 3px solid rgba(249, 115, 22, 0.35) !important;
    outline-offset: 4px;
}

@media (max-width: 600px) {
    .ct-back-to-top {
        right: 14px !important;
        bottom: 16px !important;
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
        min-height: 50px !important;
        border-radius: 14px !important;
    }

    .ct-back-to-top::after {
        bottom: 7px;
        width: 16px;
    }
}

/* ── Custom Select Component for Fluent Forms ── */
.custom-select-wrapper {
    position: relative;
    user-select: none;
    width: 100%;
}
.custom-select-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #0F172A;
    background: #F8FAFC;
    border: 1px solid #CBD5E1;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.25s ease;
}
.custom-select-trigger-content {
    display: flex;
    align-items: center;
    gap: 10px;
}
.custom-select-icon {
    width: 18px;
    height: 18px;
    color: #EA580C;
    flex-shrink: 0;
}
.custom-select-trigger:hover,
.custom-select-wrapper.open .custom-select-trigger {
    border-color: #F97316;
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15);
}
.custom-select-arrow {
    width: 12px;
    height: 12px;
    border-right: 2px solid #64748B;
    border-bottom: 2px solid #64748B;
    transform: rotate(45deg);
    transition: transform 0.25s ease, border-color 0.25s ease;
    margin-right: 4px;
    flex-shrink: 0;
}
.custom-select-wrapper.open .custom-select-arrow {
    transform: rotate(-135deg);
    border-color: #F97316;
}
.custom-options-list {
    position: absolute;
    display: block;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 280px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 12px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.18);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 6px;
    margin: 0;
    list-style: none;
}
.custom-select-wrapper.open .custom-options-list {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
}
.custom-option-item {
    padding: 10px 14px;
    font-size: 0.93rem;
    font-weight: 500;
    color: #334155;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}
.custom-option-item .custom-select-icon {
    width: 18px;
    height: 18px;
    color: #EA580C;
    flex-shrink: 0;
    transition: transform 0.18s ease;
}
.custom-option-item:hover {
    background: #FFF7ED;
    color: #EA580C;
    font-weight: 700;
    padding-left: 18px;
}
.custom-option-item:hover .custom-select-icon {
    transform: scale(1.15);
}
.custom-option-item.selected {
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    color: #FFFFFF !important;
    font-weight: 700;
}
.custom-option-item.selected .custom-select-icon {
    color: #FFFFFF !important;
}

/* ==========================================================================
   PAGE: PRIVACY POLICY (152-ФЗ) — ULTRA-PREMIUM BRAND THEME
   ========================================================================== */

.policy-page-wrapper {
    background-color: #F8FAFC;
    color: #334155;
    font-family: inherit;
    width: 100%;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.policy-container {
    max-width: 1600px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 clamp(1rem, 3vw, 2.5rem) !important;
}

/* ── Hero Banner ── */
.policy-hero-banner {
    background: radial-gradient(circle at 75% 25%, rgba(30, 64, 175, 0.38) 0%, transparent 60%), linear-gradient(180deg, #0B1120 0%, #0F172A 100%) !important;
    color: #FFFFFF !important;
    padding: clamp(36px, 5vw, 64px) 0 48px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.policy-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.88rem;
    color: #94A3B8;
    margin-bottom: 22px;
}

.policy-breadcrumbs .bc-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #93C5FD;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.policy-breadcrumbs .bc-link:hover {
    color: #FFFFFF;
}

.policy-breadcrumbs .bc-sep {
    color: #64748B;
    font-size: 0.95rem;
}

.policy-breadcrumbs .bc-current {
    color: #E2E8F0;
    font-weight: 600;
}

.policy-badge-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}

.policy-legal-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(30, 58, 138, 0.65);
    border: 1px solid rgba(59, 130, 246, 0.5);
    padding: 6px 16px;
    border-radius: 30px;
    font-size: 0.86rem;
    font-weight: 600;
    color: #93C5FD;
    backdrop-filter: blur(8px);
}

.policy-main-title {
    font-size: clamp(2.1rem, 4.2vw, 3.2rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    color: #FFFFFF !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.02em;
}

.highlight-title-accent {
    background: linear-gradient(135deg, #FF9D43 0%, #FF6B00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 900;
}

.policy-main-desc {
    font-size: 1.12rem !important;
    line-height: 1.65 !important;
    color: #CBD5E1 !important;
    max-width: 1200px;
    margin: 0 0 28px 0 !important;
}

.policy-meta-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.meta-tags-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 0.88rem;
    color: #94A3B8;
}

.meta-tag-item {
    display: flex;
    align-items: center;
    gap: 7px;
}

.meta-tag-item .meta-text strong {
    color: #F8FAFC;
}

.action-buttons-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.policy-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    color: #F8FAFC;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 9px 18px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.policy-btn-outline:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.policy-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%);
    border: 1px solid rgba(96, 165, 250, 0.35);
    border-radius: 8px;
    color: #FFFFFF;
    font-size: 0.88rem;
    font-weight: 600;
    padding: 9px 20px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(30, 64, 175, 0.35);
    transition: all 0.2s ease;
}

.policy-btn-back:hover {
    background: linear-gradient(135deg, #2563EB 0%, #1D4ED8 100%);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(30, 64, 175, 0.45);
}

/* ── Main Content Area ── */
.policy-body-section {
    background: #F8FAFC;
    padding: 40px 0 80px 0;
}

/* ── TL;DR Client Card ── */
.policy-tldr-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.05), 0 4px 6px -2px rgba(15, 23, 42, 0.02);
    padding: 30px 36px;
    margin-bottom: 36px;
}

.tldr-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #F1F5F9;
}

.tldr-icon-badge {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(30, 64, 175, 0.25);
}

.tldr-title {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin: 0 0 4px 0 !important;
}

.tldr-subtitle {
    font-size: 0.92rem !important;
    color: #64748B !important;
    margin: 0 !important;
}

.tldr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.tldr-grid-item {
    display: flex;
    gap: 14px;
    background: #F8FAFC;
    padding: 18px;
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.tldr-grid-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.06);
    background: #FFFFFF;
}

.tldr-item-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
    flex-shrink: 0;
}

.check-blue   { background: #DBEAFE; color: #1D4ED8; }
.check-green  { background: #D1FAE5; color: #047857; }
.check-orange { background: #FFEDD5; color: #C2410C; }
.check-purple { background: #EDE9FE; color: #6D28D9; }

.tldr-item-content strong {
    display: block;
    color: #0F172A;
    font-size: 0.95rem;
    margin-bottom: 5px;
    font-weight: 700;
}

.tldr-item-content p {
    font-size: 0.86rem !important;
    color: #475569 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* ── Enable sticky positioning specifically on privacy policy page ── */
body.privacy-policy,
html:has(body.privacy-policy) {
    overflow-x: clip !important;
}

/* ── Layout Grid: Expanded Sidebar (360px) + Fluid Document Column ── */
.policy-layout-grid {
    display: grid;
    grid-template-columns: 360px minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.policy-main-content {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ── Sticky & Scrollable Sidebar: Pinned below header ── */
.policy-sidebar {
    position: -webkit-sticky;
    position: sticky;
    top: 95px;
    align-self: start;
    z-index: 50;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 6px;
    scrollbar-width: thin;
    scrollbar-color: #CBD5E1 transparent;
}

body.admin-bar .policy-sidebar {
    top: 48px;
    max-height: calc(100vh - 65px);
}

@media screen and (max-width: 782px) {
    body.admin-bar .policy-sidebar {
        top: 60px;
        max-height: calc(100vh - 75px);
    }
}

.policy-sidebar::-webkit-scrollbar {
    width: 5px;
}

.policy-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.policy-sidebar::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 10px;
}

.policy-sidebar::-webkit-scrollbar-thumb:hover {
    background: #94A3B8;
}

.toc-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
    margin-bottom: 20px;
}

.toc-header {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 0.98rem;
    color: #0F172A;
    padding-bottom: 14px;
    border-bottom: 1px solid #F1F5F9;
    margin-bottom: 14px;
}

.toc-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.toc-list li {
    margin-bottom: 6px;
}

/* TOC Links: Fixed font-weight, white-space: nowrap to prevent 2nd line wrapping jitter */
.toc-list a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.94rem;
    font-weight: 600; /* FIXED: Does not jump on hover */
    color: #475569;
    text-decoration: none;
    white-space: nowrap; /* PREVENTS JUMPING TO SECOND LINE */
    border: 1px solid transparent;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    box-sizing: border-box;
    width: 100%;
}

.toc-list a:hover {
    background: #EFF6FF;
    color: #1E40AF;
    border-color: #DBEAFE;
}

/* Active Scrollspy state */
.toc-list a.active {
    background: linear-gradient(135deg, #1E40AF 0%, #2563EB 100%) !important;
    color: #FFFFFF !important;
    font-weight: 700;
    border-color: transparent !important;
    box-shadow: 0 4px 14px rgba(30, 64, 175, 0.3);
}

.toc-num {
    font-weight: 700;
    font-size: 0.84rem;
    color: #3B82F6;
    flex-shrink: 0;
    transition: color 0.18s ease;
}

.toc-list a.active .toc-num {
    color: #FFFFFF !important;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 2px 7px;
}

.sidebar-help-card {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
    color: #FFFFFF;
    border-radius: 14px;
    padding: 22px 20px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
}

.help-card-icon {
    font-size: 26px;
    margin-bottom: 8px;
}

.help-card-title {
    font-size: 1rem !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin: 0 0 6px 0 !important;
}

.help-card-desc {
    font-size: 0.84rem !important;
    color: #94A3B8 !important;
    line-height: 1.45 !important;
    margin: 0 0 16px 0 !important;
}

.help-phone-btn {
    display: block;
    background: #F97316;
    color: #FFFFFF !important;
    font-weight: 800;
    font-size: 0.98rem;
    padding: 11px 16px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.35);
    transition: all 0.2s ease;
}

.help-phone-btn:hover {
    background: #EA580C;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(249, 115, 22, 0.45);
}

.help-subtext {
    font-size: 0.78rem;
    color: #94A3B8;
    margin-top: 10px;
}

/* ── Paper Document Card ── */
.policy-paper-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.05);
    padding: 48px 56px;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

.policy-section {
    margin-bottom: 36px;
    scroll-margin-top: 120px;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.admin-bar .policy-section {
    scroll-margin-top: 55px;
}

.section-title-wrap {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.section-badge {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: #1E40AF;
    font-weight: 800;
    font-size: 0.98rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.section-heading {
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    color: #0F172A !important;
    margin: 0 !important;
    letter-spacing: -0.01em;
}

.section-body {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

.section-body p {
    font-size: 1rem !important;
    line-height: 1.75 !important;
    color: #334155 !important;
    margin: 0 0 16px 0 !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

.policy-divider {
    border: 0;
    border-top: 1px solid #F1F5F9;
    margin: 36px 0;
}

.policy-styled-list {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.policy-styled-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 0.98rem;
    line-height: 1.65;
    color: #334155;
}

.policy-styled-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #EFF6FF;
    color: #1E40AF;
    font-size: 11px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.policy-inline-link {
    color: #1E40AF;
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.15s ease;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

.policy-inline-link:hover {
    color: #EA580C;
}

/* ── Callout Boxes ── */
.policy-callout {
    display: flex;
    gap: 14px;
    padding: 18px 22px;
    border-radius: 12px;
    margin: 24px 0;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.callout-info {
    background: #EFF6FF;
    border-left: 4px solid #3B82F6;
    color: #1E3A8A;
}

.callout-shield {
    background: #F0FDF4;
    border-left: 4px solid #10B981;
    color: #064E3B;
}

.callout-icon {
    font-size: 24px;
    flex-shrink: 0;
    line-height: 1;
}

.callout-content {
    font-size: 0.94rem;
    line-height: 1.6;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
}

/* ── Custom Data Table ── */
.policy-table-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 22px 0;
    border-radius: 12px;
    border: 1px solid #E2E8F0;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.02);
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: block !important;
}

.policy-custom-table {
    width: 100% !important;
    min-width: 520px;
    border-collapse: collapse;
    font-size: 0.92rem;
    text-align: left;
}

.policy-custom-table th {
    background: #F8FAFC;
    color: #0F172A;
    font-weight: 700;
    padding: 14px 18px;
    border-bottom: 2px solid #E2E8F0;
}

.policy-custom-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #F1F5F9;
    color: #334155;
    line-height: 1.55;
}

.policy-custom-table tr:last-child td {
    border-bottom: 0;
}

.policy-custom-table tr:hover td {
    background: #F8FAFC;
}

/* ── Requisites Grid ── */
.policy-requisites-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 20px;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.req-card {
    display: flex;
    gap: 14px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 16px 18px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.req-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
    background: #FFFFFF;
}

.req-icon {
    font-size: 22px;
    flex-shrink: 0;
    line-height: 1.2;
}

.req-data {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.req-label {
    font-size: 0.8rem;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}

.req-value {
    font-size: 0.98rem;
    color: #0F172A;
    font-weight: 700;
}

.req-value a {
    color: #1E40AF;
    text-decoration: none;
    transition: color 0.15s ease;
}

.req-value a:hover {
    color: #EA580C;
}

/* ── Bottom CTA Card ── */
.policy-cta-card {
    background: radial-gradient(circle at 85% 25%, rgba(37, 99, 235, 0.35) 0%, transparent 60%), linear-gradient(135deg, #0F172A 0%, #1E3A8A 100%);
    border-radius: 16px;
    padding: 36px 40px;
    margin-top: 48px;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
    box-shadow: 0 12px 28px -5px rgba(15, 23, 42, 0.25);
}

.policy-cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.22);
    border: 1px solid rgba(249, 115, 22, 0.45);
    color: #FDBA74;
    font-size: 0.82rem;
    font-weight: 700;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.policy-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
    max-width: 8px;
    max-height: 8px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #22c55e;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.85);
    flex-shrink: 0;
    box-sizing: border-box;
}

.policy-cta-title {
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    margin: 0 0 8px 0 !important;
}

.policy-cta-desc {
    font-size: 0.95rem !important;
    color: #CBD5E1 !important;
    margin: 0 !important;
    max-width: 560px;
    line-height: 1.55 !important;
}

.policy-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 240px;
}

.policy-cta-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
    color: #FFFFFF !important;
    font-weight: 800;
    font-size: 0.98rem;
    padding: 14px 26px;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(249, 115, 22, 0.4);
    transition: all 0.2s ease;
}

.policy-cta-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.55);
    color: #FFFFFF !important;
}

.policy-cta-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #FFFFFF !important;
    font-weight: 600;
    font-size: 0.92rem;
    padding: 11px 22px;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.policy-cta-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #FFFFFF !important;
}

/* ── Responsive Queries ── */
@media (max-width: 1080px) {
    .policy-layout-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .policy-sidebar {
        display: none !important;
    }

    .policy-paper-card {
        padding: 36px 28px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .policy-cta-card {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
        padding: 30px 24px;
        width: 100% !important;
        max-width: 100% !important;
    }

    .policy-cta-actions {
        min-width: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 640px) {
    .policy-container {
        padding: 0 12px !important;
    }

    .policy-hero-banner {
        padding: 24px 0 28px 0 !important;
    }

    .policy-main-title {
        font-size: 1.55rem !important;
        line-height: 1.25 !important;
    }

    .policy-main-desc {
        font-size: 0.92rem !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
    }

    .policy-paper-card {
        padding: 20px 14px !important;
        border-radius: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .policy-tldr-card {
        padding: 18px 14px !important;
        border-radius: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .tldr-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .policy-requisites-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .action-buttons-group {
        width: 100% !important;
        justify-content: space-between;
    }

    .policy-btn-outline,
    .policy-btn-back {
        flex: 1;
        justify-content: center;
        padding: 9px 8px !important;
        font-size: 0.82rem !important;
    }

    .section-heading {
        font-size: 1.15rem !important;
    }

    .section-badge {
        width: 30px !important;
        height: 30px !important;
        font-size: 0.85rem !important;
    }

    .policy-meta-actions-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px !important;
    }

    .meta-tags-list {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px !important;
    }

    .policy-cta-card {
        padding: 20px 14px !important;
        margin-top: 28px !important;
    }

    .policy-cta-btn-primary,
    .policy-cta-btn-secondary {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 14px !important;
        font-size: 0.92rem !important;
    }
}

/* ── Print Media Optimization (Clean A4 Executive Document) ── */
@media print {
    @page {
        size: A4 portrait;
        margin: 15mm 15mm 15mm 15mm;
    }

    *, *::before, *::after {
        box-sizing: border-box !important;
    }

    html, body {
        background: #FFFFFF !important;
        color: #0F172A !important;
        font-size: 10pt !important;
        line-height: 1.5 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Hide screen-only interactive and layout containers */
    #site-header,
    .custom-premium-header,
    .header-top-bar,
    .custom-premium-footer,
    #contacts,
    .policy-breadcrumbs,
    .policy-sidebar,
    .action-buttons-group,
    .policy-cta-card,
    .policy-tldr-card,
    .mobile-drawer-overlay,
    .mobile-drawer-panel,
    .sidebar-help-card,
    .policy-btn-outline,
    .policy-btn-back {
        display: none !important;
    }

    .policy-hero-banner {
        background: none !important;
        color: #0F172A !important;
        padding: 0 0 14px 0 !important;
        margin-bottom: 20px !important;
        border-bottom: 2px solid #0F172A !important;
    }

    .policy-badge-row {
        margin-bottom: 8px !important;
    }

    .policy-legal-badge {
        background: #F1F5F9 !important;
        border: 1px solid #CBD5E1 !important;
        color: #0F172A !important;
        font-size: 8.5pt !important;
        padding: 3px 10px !important;
        box-shadow: none !important;
    }

    .policy-main-title {
        color: #0F172A !important;
        font-size: 18pt !important;
        font-weight: 800 !important;
        margin: 8px 0 6px 0 !important;
        line-height: 1.25 !important;
    }

    .highlight-title-accent {
        background: none !important;
        -webkit-text-fill-color: #0F172A !important;
        color: #0F172A !important;
    }

    .policy-main-desc {
        color: #334155 !important;
        font-size: 9.5pt !important;
        line-height: 1.45 !important;
        margin-bottom: 12px !important;
        max-width: 100% !important;
    }

    .policy-meta-actions-bar {
        border-top: 1px solid #E2E8F0 !important;
        padding-top: 8px !important;
        margin-top: 8px !important;
    }

    .meta-tags-list {
        font-size: 8.5pt !important;
        color: #475569 !important;
        gap: 16px !important;
    }

    .meta-text strong {
        color: #0F172A !important;
    }

    .policy-page-wrapper,
    .policy-body-section {
        background: #FFFFFF !important;
        padding: 0 !important;
    }

    .policy-container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .policy-layout-grid {
        display: block !important;
        width: 100% !important;
    }

    .policy-main-content {
        width: 100% !important;
    }

    .policy-paper-card {
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* PREVENT HEADINGS AND SECTIONS FROM SPLITTING ACROSS SHEETS */
    .policy-section {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        margin-bottom: 18px !important;
        padding-top: 4px !important;
    }

    .section-title-wrap,
    .section-heading,
    h1, h2, h3 {
        break-after: avoid !important;
        page-break-after: avoid !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .section-title-wrap {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    .section-heading {
        font-size: 11.5pt !important;
        color: #0F172A !important;
        font-weight: 800 !important;
    }

    .section-badge {
        width: 26px !important;
        height: 26px !important;
        font-size: 8.5pt !important;
        background: #F1F5F9 !important;
        border: 1px solid #CBD5E1 !important;
        color: #0F172A !important;
        border-radius: 6px !important;
    }

    .section-body p {
        font-size: 9pt !important;
        line-height: 1.5 !important;
        color: #1E293B !important;
        margin-bottom: 8px !important;
        orphans: 3 !important;
        widows: 3 !important;
    }

    .policy-styled-list li {
        font-size: 9pt !important;
        line-height: 1.45 !important;
        color: #1E293B !important;
        margin-bottom: 5px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .policy-callout {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        border: 1px solid #CBD5E1 !important;
        border-left: 4px solid #3B82F6 !important;
        padding: 8px 12px !important;
        margin: 10px 0 !important;
        font-size: 8.5pt !important;
        background: #F8FAFC !important;
    }

    .policy-table-wrapper {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        border: 1px solid #CBD5E1 !important;
        margin: 10px 0 !important;
        box-shadow: none !important;
    }

    .policy-custom-table th,
    .policy-custom-table td {
        padding: 6px 10px !important;
        font-size: 8pt !important;
        line-height: 1.35 !important;
        border-color: #E2E8F0 !important;
    }

    .policy-requisites-grid {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .req-card {
        padding: 7px 10px !important;
        border: 1px solid #E2E8F0 !important;
        border-radius: 6px !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
        background: #F8FAFC !important;
    }

    .req-value {
        font-size: 8pt !important;
    }

    .policy-divider {
        border-top: 1px solid #E2E8F0 !important;
        margin: 14px 0 !important;
    }
}

