/* ==========================================================================
   Base Design Tokens and Core Root Variables (SchoolAttestation)
   ========================================================================== */
:root {
    /* 1. Бренд и акцентные цвета */
    --sa-purple-primary: #614D8F;          /* Основной фирменный фиолетовый */
    --sa-purple-accent:  #7F67B4;          /* Акцентный фиолетовый */
    --sa-purple-dark:    #4D3A75;          /* Темно-фиолетовый для ховеров */
    --sa-purple-bg:      #F2ECFF;          /* Мягкий фиолетовый фон бейджей */
    --sa-purple-soft:    #FAF8FF;          /* Светлый подтон карточек */

    --sa-orange-primary: #F96E33;          /* Основной цвет CTA кнопок */
    --sa-orange-hover:   #E85D22;          /* Ховер кнопок действия */
    --sa-orange-dark:    #D44F18;          /* Активное состояние кнопки */
    --sa-orange-soft:    rgba(249, 110, 51, 0.1);

    --sa-green-success:  #368370;          /* Цвет успехов, преимуществ, галочек */
    --sa-green-soft:     rgba(54, 131, 112, 0.1);
    --sa-red-discount:   #EF4444;          /* Цвет акций, скидок и ошибок */
    --sa-red-soft:       rgba(239, 68, 68, 0.1);

    /* 2. Нейтральные поверхности и текст */
    --sa-text-title:     #1B1C1E;          /* Цвет заголовков H1-H6 */
    --sa-text-body:      #2D3748;          /* Основной цвет наборного текста */
    --sa-text-muted:     #64748B;          /* Второстепенный текст, пояснения */
    --sa-text-subtle:    #94A3B8;          /* Неактивные элементы, плейсхолдеры */
    --sa-text-inverse:   #FFFFFF;          /* Белый текст на темном/цветном фоне */

    --sa-bg-body:        #FFFFFF;          /* Основной фон страницы */
    --sa-bg-surface:     #FFFFFF;          /* Фон контентных карточек */
    --sa-bg-muted:       #F8FAFC;          /* Чередующиеся секции */
    --sa-bg-subtle:      #F1F5F9;          /* Фоновые подложки инпутов */

    --sa-border-subtle:  rgba(0, 0, 0, 0.08); /* Тонкая нейтральная рамка */
    --sa-border-light:   #E2E8F0;          /* Рамка карточек и разделителей */
    --sa-border-purple:  rgba(97, 77, 143, 0.15); /* Фирменная фиолетовая рамка */

    /* 3. Типографика и шрифтовые токены */
    --font-family-title:   'Widock TRIAL', 'Montserrat', sans-serif;
    --font-family-heading: 'Montserrat', 'Inter', -apple-system, sans-serif;
    --font-family-base:    'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-family-alt:     'Montserrat', sans-serif;

    /* Алиасы гарнитур для обратной совместимости */
    --font-title:   var(--font-family-title);
    --font-heading: var(--font-family-heading);
    --font-body:    var(--font-family-base);
    --font-base:    var(--font-family-base);
    --font-main:    var(--font-family-base);

    /* Модульная шкала размеров шрифта */
    --font-size-3xs:  0.625rem;            /* 10px */
    --font-size-2xs:  0.6875rem;           /* 11px */
    --font-size-xs:   0.75rem;             /* 12px */
    --font-size-sm:   0.875rem;            /* 14px */
    --font-size-base: 1rem;                /* 16px */
    --font-size-md:   1.0625rem;           /* 17px */
    --font-size-lg:   1.125rem;            /* 18px */
    --font-size-xl:   1.25rem;             /* 20px */
    --font-size-2xl:  1.5rem;              /* 24px */
    --font-size-3xl:  1.75rem;             /* 28px */
    --font-size-4xl:  2rem;                /* 32px */
    --font-size-body: var(--font-size-md); /* 17px */

    /* Адаптивные флюидные размеры заголовков */
    --font-size-h1:   clamp(1.875rem, 4vw, 3rem);       /* 30px - 48px */
    --font-size-h2:   clamp(1.5rem, 3vw, 2.25rem);      /* 24px - 36px */
    --font-size-h3:   clamp(1.25rem, 2.2vw, 1.625rem);  /* 20px - 26px */
    --font-size-h4:   clamp(1.125rem, 1.8vw, 1.375rem); /* 18px - 22px */
    --font-size-h5:   1.125rem;                         /* 18px */
    --font-size-h6:   1rem;                             /* 16px */

    /* Шкала насыщенности шрифта (Font Weights) */
    --font-weight-regular:   400;
    --font-weight-medium:    500;
    --font-weight-semibold:  600;
    --font-weight-bold:      700;
    --font-weight-extrabold: 800;

    /* Шкала межстрочных интервалов (Line Heights) */
    --line-height-none:     1;
    --line-height-tight:    1.2;
    --line-height-snug:     1.35;
    --line-height-normal:   1.5;
    --line-height-relaxed:  1.65;
    --line-height-loose:    1.8;
    --line-height-heading:  var(--line-height-snug);
    --line-height-body:     var(--line-height-relaxed);

    /* Шкала межбуквенных расстояний (Letter Spacing) */
    --letter-spacing-tight:  -0.02em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide:   0.02em;
    --letter-spacing-wider:  0.05em;

    /* 4. Шкала скруглений (Border Radii) */
    --radius-xs:     4px;                  /* Мелкие плашки, бейджи */
    --radius-sm:     8px;                  /* Кнопки, поля ввода */
    --radius-md:     12px;                 /* Небольшие карточки, превью */
    --radius-lg:     16px;                 /* Модальные окна, средние блоки */
    --radius-xl:     20px;                 /* Основные карточки тарифов/блоков */
    --radius-2xl:    24px;                 /* Крупные промо-баннеры и панели */
    --radius-pill:   50px;                 /* Овальные таблетки и теги */
    --radius-full:   9999px;               /* Полное скругление кнопок */
    --radius-circle: 50%;                  /* Круглые иконки и аватары */

    /* 5. Шкала теней (Elevations & Box Shadows) */
    --sa-shadow-sm:        0 2px 8px rgba(97, 77, 143, 0.06);
    --sa-shadow-card:      0 4px 16px rgba(0, 0, 0, 0.04);
    --sa-shadow-hover:     0 8px 24px rgba(0, 0, 0, 0.08);
    --sa-shadow-purple:    0 8px 24px rgba(97, 77, 143, 0.08);
    --sa-shadow-purple-lg: 0 16px 36px rgba(97, 77, 143, 0.12);
    --sa-shadow-cta:       0 6px 20px rgba(249, 110, 51, 0.35);
    --sa-shadow-cta-hover: 0 8px 26px rgba(249, 110, 51, 0.45);

    /* 6. Сетка и структура макета */
    --container-max-width:     1300px;
    --container-padding:       24px;
    --section-spacing-desktop: 80px;
    --section-spacing-mobile:  48px;
    --section-spacing:         80px;

    /* Шкала отступов */
    --space-1:  4px;
    --space-2:  8px;
    --space-3:  12px;
    --space-4:  16px;
    --space-5:  20px;
    --space-6:  24px;
    --space-8:  32px;
    --space-10: 40px;
    --space-12: 48px;

    /* 7. Анимации и переходы */
    --transition-fast:   0.15s ease;
    --transition-base:   0.25s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-normal: 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-smooth: 0.35s cubic-bezier(0.16, 1, 0.3, 1);

    /* 8. Z-Index слои */
    --z-base:    1;
    --z-sticky:  100;
    --z-header:  1000;
    --z-drawer:  10000;
    --z-modal:   100000;

    /* 9. Дизайн-токены кнопок (Buttons Design System) */
    --btn-radius:              var(--radius-pill, 50px);
    --btn-font-family:         var(--font-heading, inherit);
    --btn-font-weight:         var(--font-weight-semibold, 600);
    --btn-line-height:         1;

    /* Размеры кнопок */
    --btn-padding-sm:          7px 18px;
    --btn-font-size-sm:        0.8125rem;
    --btn-padding-md:          14px 28px;
    --btn-font-size-md:        0.9375rem;
    --btn-padding-lg:          16px 36px;
    --btn-font-size-lg:        1.0625rem;

    /* Единая физика анимации и переходов */
    --btn-transition:          transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                               box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                               background-color 0.2s ease,
                               border-color 0.2s ease,
                               color 0.2s ease;
    --btn-hover-transform:     translateY(-2px);
    --btn-active-transform:    translateY(0) scale(0.98);

    /* Тени кнопок в нормальном состоянии и на hover */
    --btn-primary-bg:          var(--sa-orange-primary, #F96E33);
    --btn-primary-hover-bg:    var(--sa-orange-hover, #FF7F50);
    --btn-primary-color:       var(--sa-text-inverse, #ffffff);
    --btn-shadow-primary:      0 4px 14px rgba(249, 110, 51, 0.35);
    --btn-shadow-primary-hover:0 8px 24px rgba(249, 110, 51, 0.48);

    --btn-secondary-bg:        var(--sa-purple-primary, #614D8F);
    --btn-secondary-hover-bg:  var(--sa-purple-accent, #7F67B4);
    --btn-secondary-color:     var(--sa-text-inverse, #ffffff);
    --btn-shadow-secondary:    0 4px 14px rgba(97, 77, 143, 0.25);
    --btn-shadow-secondary-hover: 0 8px 24px rgba(97, 77, 143, 0.40);

    --btn-white-bg:            #ffffff;
    --btn-white-hover-bg:      #faf8ff;
    --btn-white-color:         var(--sa-purple-primary, #614D8F);
    --btn-shadow-white:        0 2px 8px rgba(0, 0, 0, 0.08);
    --btn-shadow-white-hover:  0 8px 24px rgba(0, 0, 0, 0.16);

    --btn-outline-border:      rgba(97, 77, 143, 0.25);
    --btn-outline-hover-border:var(--sa-purple-primary, #614D8F);
    --btn-outline-color:       var(--sa-purple-primary, #614D8F);
    --btn-outline-hover-bg:    var(--sa-purple-soft, #FAF8FF);

    /* --- Алиасы для 100% обратной совместимости --- */
    --sa-purple:          var(--sa-purple-primary);
    --sa-purple-light:    var(--sa-purple-accent);
    --sa-orange:          var(--sa-orange-primary);
    --sa-bg:              var(--sa-bg-body);
    --sa-bg-soft:         var(--sa-purple-soft);
    --sa-text:            var(--sa-text-body);
    --sa-text-dark:       var(--sa-text-title);
    --sa-text-light:      var(--sa-text-subtle);
    --sa-border:          var(--sa-border-purple);
    --sa-shadow-md:       var(--sa-shadow-purple);
    --sa-shadow-lg:       var(--sa-shadow-purple-lg);
    --sa-shadow-orange:   var(--sa-shadow-cta);

    --color-bg-primary:     var(--sa-bg-body);
    --color-bg-secondary:   var(--sa-purple-soft);
    --color-bg-card:        var(--sa-bg-surface);
    --color-bg-card-hover:  var(--sa-purple-soft);
    --color-bg-input:       var(--sa-bg-surface);
    --color-accent-primary: var(--sa-purple-accent);
    --color-accent-secondary: var(--sa-orange-primary);
    --color-accent-violet:  var(--sa-purple-primary);
    --color-text-primary:   var(--sa-text-body);
    --color-text-secondary: var(--sa-text-muted);
    --color-text-muted:     var(--sa-text-muted);
    --color-border-subtle:  var(--sa-border-purple);
    --color-border-accent:  var(--sa-purple-accent);
}

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

fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

.hidden-fields-container,
fieldset.hidden-fields-container {
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
}

html {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: var(--line-height-body);
    background-color: var(--sa-bg);
    color: var(--sa-text);
    scroll-behavior: smooth;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    background-color: var(--sa-bg);
    background-image: none;
    color: var(--sa-text);
}

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

a {
    color: var(--sa-purple);
    text-decoration: none;
    transition: color var(--transition-fast);
}

p a:not([class]),
.entry-content a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

a:not([class]):hover,
.entry-content a:hover,
a.text-link:hover {
    color: var(--sa-orange);
}

/* ==========================================================================
   Typography Hierarchy & Standards
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-bold);
    color: var(--sa-text-title);
    text-wrap: balance;
}

h1, .h1 {
    font-family: var(--font-title);
    font-size: var(--font-size-h1);
    color: var(--sa-purple-primary);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
}

h2, .h2 {
    font-family: var(--font-heading);
    font-size: var(--font-size-h2);
    color: var(--sa-text-title);
    letter-spacing: var(--letter-spacing-tight);
}

h3, .h3 {
    font-family: var(--font-heading);
    font-size: var(--font-size-h3);
    color: var(--sa-text-title);
}

h4, .h4 {
    font-family: var(--font-heading);
    font-size: var(--font-size-h4);
    color: var(--sa-text-title);
}

h5, .h5 {
    font-family: var(--font-heading);
    font-size: var(--font-size-h5);
    color: var(--sa-text-title);
}

h6, .h6 {
    font-family: var(--font-heading);
    font-size: var(--font-size-h6);
    color: var(--sa-text-title);
}

p {
    color: var(--sa-text-body);
    font-size: var(--font-size-body);
    margin-bottom: 1rem;
    line-height: var(--line-height-body);
}

p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Container & Layout Structure
   ========================================================================== */
.site-container {
    width: 100%;
    max-width: var(--container-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.site-main {
    flex: 1 0 auto;
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   BEM Buttons & Badges (Standardized Button System)
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size-md);
    font-weight: var(--btn-font-weight);
    line-height: var(--btn-line-height);
    padding: var(--btn-padding-md);
    border-radius: var(--btn-radius);
    border: 1px solid transparent;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    user-select: none;
    outline: none;
    transition: var(--btn-transition);
}

.btn:active {
    transform: var(--btn-active-transform);
}

/* Primary (Orange CTA) */
.btn--primary,
.btn-primary {
    background-color: var(--btn-primary-bg);
    border-color: transparent;
    color: var(--btn-primary-color) !important;
    box-shadow: var(--btn-shadow-primary);
}

.btn--primary:hover,
.btn-primary:hover,
.btn--primary:focus-visible,
.btn-primary:focus-visible {
    background-color: var(--btn-primary-hover-bg);
    color: var(--btn-primary-color) !important;
    box-shadow: var(--btn-shadow-primary-hover);
    transform: var(--btn-hover-transform);
}

/* Secondary (Purple Brand) */
.btn--secondary,
.btn-secondary {
    background-color: var(--btn-secondary-bg);
    border-color: var(--btn-secondary-bg);
    color: var(--btn-secondary-color) !important;
    box-shadow: var(--btn-shadow-secondary);
}

.btn--secondary:hover,
.btn-secondary:hover,
.btn--secondary:focus-visible,
.btn-secondary:focus-visible {
    background-color: var(--btn-secondary-hover-bg);
    border-color: var(--btn-secondary-hover-bg);
    color: var(--btn-secondary-color) !important;
    transform: var(--btn-hover-transform);
    box-shadow: var(--btn-shadow-secondary-hover);
}

/* White (Surface on saturated backgrounds) */
.btn--white,
.btn-white {
    background-color: var(--btn-white-bg);
    border-color: transparent;
    color: var(--btn-white-color) !important;
    box-shadow: var(--btn-shadow-white);
}

.btn--white:hover,
.btn-white:hover,
.btn--white:focus-visible,
.btn-white:focus-visible {
    background-color: var(--btn-white-hover-bg);
    color: var(--btn-white-color) !important;
    transform: var(--btn-hover-transform);
    box-shadow: var(--btn-shadow-white-hover);
}

/* Outline */
.btn--outline,
.btn-outline {
    background-color: transparent;
    border-color: var(--btn-outline-border);
    color: var(--btn-outline-color) !important;
}

.btn--outline:hover,
.btn-outline:hover,
.btn--outline:focus-visible,
.btn-outline:focus-visible {
    background-color: var(--btn-outline-hover-bg);
    border-color: var(--btn-outline-hover-border);
    color: var(--btn-outline-color) !important;
    transform: var(--btn-hover-transform);
    box-shadow: var(--sa-shadow-sm);
}

/* Size Modifiers */
.btn--sm,
.btn-sm {
    padding: var(--btn-padding-sm);
    font-size: var(--btn-font-size-sm);
}

.btn--md,
.btn-md {
    padding: var(--btn-padding-md);
    font-size: var(--btn-font-size-md);
}

.btn--lg,
.btn-lg {
    padding: var(--btn-padding-lg);
    font-size: var(--btn-font-size-lg);
}

.btn--full,
.btn-block {
    width: 100%;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: var(--radius-full);
    background-color: rgba(99, 102, 241, 0.12);
    border: 1px solid rgba(99, 102, 241, 0.25);
    color: #a5b4fc;
}

/* ==========================================================================
   WordPress Classic Editor & Core Classes
   ========================================================================== */
.alignnone {
    margin: 1.5em 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 1.5em auto;
}

.alignright {
    float: right;
    margin: 0.5em 0 1.5em 1.5em;
}

.alignleft {
    float: left;
    margin: 0.5em 1.5em 1.5em 0;
}

.alignwide {
    max-width: 100%;
}

.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.wp-caption {
    max-width: 100%;
    margin-bottom: 1.5em;
    text-align: center;
}

.wp-caption-text {
    font-size: 0.875rem;
    color: var(--color-text-muted);
    margin-top: 0.5em;
}

.gallery-caption {
    font-size: 0.875rem;
    color: var(--color-text-muted);
}

.bypostauthor {
    border-left: 3px solid var(--color-accent-primary);
}

.screen-reader-text,
.screen-reader-response,
.wpcf7 .screen-reader-response {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: var(--color-bg-secondary);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #ffffff;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Global Form Validation Error Tip & Input Highlight */
.wpcf7-form-control-wrap {
    display: block;
    position: relative;
    width: 100%;
}

/* Red Highlight on Invalid Required Fields */
.wpcf7-not-valid,
input.wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid,
.wpcf7-form-control.wpcf7-not-valid,
.form-input.wpcf7-not-valid,
.sa-form-input.wpcf7-not-valid {
    border: 1.5px solid #ef4444 !important;
    border-color: #ef4444 !important;
    background-color: #fff8f8 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
    outline: none !important;
}

.wpcf7-not-valid:focus,
input.wpcf7-not-valid:focus,
select.wpcf7-not-valid:focus,
textarea.wpcf7-not-valid:focus {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.25) !important;
}

/* Small, compact error tip - does not deform form */
.wpcf7-not-valid-tip {
    font-size: 0.6875rem !important; /* 11px */
    font-weight: 500 !important;
    color: #ef4444 !important;
    line-height: 1.2 !important;
    margin: 3px 0 0 4px !important;
    display: block !important;
}

/* Contact Form 7 Acceptance Checkbox (Universal) */
.wpcf7-acceptance {
    display: block;
    margin: 10px 0;
}

.wpcf7-acceptance .wpcf7-list-item {
    margin: 0;
    display: block;
}

.wpcf7-form .wpcf7-acceptance label,
.wpcf7-acceptance label {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    cursor: pointer !important;
    margin: 0 !important;
    text-align: left;
    user-select: none;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"],
.wpcf7-acceptance input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin: 2px 0 0 0 !important;
    padding: 0;
    flex-shrink: 0;
    background-color: #f8fafc;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast, 0.2s);
    outline: none;
    position: relative;
    box-sizing: border-box;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:hover,
.wpcf7-acceptance input[type="checkbox"]:hover {
    border-color: var(--sa-purple, #614D8F);
    background-color: #f1f5f9;
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:focus-visible,
.wpcf7-acceptance input[type="checkbox"]:focus-visible {
    border-color: var(--sa-purple, #614D8F);
    box-shadow: 0 0 0 3px rgba(97, 77, 143, 0.15);
}

.wpcf7-form .wpcf7-acceptance input[type="checkbox"]:checked,
.wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: var(--sa-purple, #614D8F);
    border-color: var(--sa-purple, #614D8F);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.5L6.5 11.5L12.5 4.5' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 13px 13px;
    box-shadow: 0 2px 6px rgba(97, 77, 143, 0.25);
}

.wpcf7-acceptance .wpcf7-list-item-label {
    flex: 1;
}

.form-group--consent .wpcf7-not-valid-tip,
.wpcf7-acceptance .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name="acceptance-consent"] .wpcf7-not-valid-tip {
    position: static;
    transform: none;
    margin-top: 6px;
    font-size: 0.75rem;
    color: #ef4444;
    display: block;
    line-height: 1.3;
}
