/* ==========================================================================
   UNIFIED DESIGN SYSTEM POLISH (SWISS B2B HARMONIZATION)
   ========================================================================== */

/* 1. Р вЂР ВµР в„–Р Т‘Р В¶Р С‘ РЎРѓР ВµР С”РЎвЂ Р С‘Р в„– (Badges & Eyebrows): Р вЂўР Т‘Р С‘Р Р…РЎвЂ№Р в„– РЎРѓРЎвЂљРЎР‚Р С•Р С–Р С‘Р в„– B2B-РЎРѓРЎвЂљР С‘Р В»РЎРЉ */
.sp-workflow__badge,
.sp-services__badge,
.sp-lead-banner__badge,
.sp-compare__badge,
.sp-digital__badge,
.sp-cases__badge,
.swiss-calc-eyebrow,
.sp-contact__badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--accent-emerald-dark) !important;
    background: var(--ds-brand-wash) !important;
    border: 1px solid var(--ds-brand-soft-strong) !important;
    border-radius: 50px !important;
    padding: 5px 13px !important;
    margin-bottom: 14px !important;
    width: fit-content !important;
    box-shadow: var(--ds-shadow-xxs) !important;
    line-height: 1.2 !important;
}

.sp-badge-dot {
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background-color: var(--ds-brand) !important;
    box-shadow: 0 0 0 2px var(--ds-brand-line) !important;
    flex-shrink: 0 !important;
}

/* 2. Р вЂ”Р В°Р С–Р С•Р В»Р С•Р Р†Р С”Р С‘ H2: Р С–Р В°РЎР‚Р СР С•Р Р…Р С‘Р В·Р В°РЎвЂ Р С‘РЎРЏ Р СР В°РЎРѓРЎв‚¬РЎвЂљР В°Р В±Р В°, Р С•РЎвЂљРЎРѓРЎвЂљРЎС“Р С—Р С•Р Р† Р С‘ Р С”Р ВµРЎР‚Р Р…Р С‘Р Р…Р С–Р В° */
.sp-workflow__title,
.sp-services__title,
.sp-compare__title,
.sp-digital__title,
.swiss-calc-title,
.sp-cases__title,
.sp-contact__title {
    font-family: var(--font-display) !important;
    font-size: clamp(28px, 2.5vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    color: var(--ds-ink-900) !important;
    margin: 0 0 12px 0 !important;
}

/* 3. Р СџР С•Р Т‘Р В·Р В°Р С–Р С•Р В»Р С•Р Р†Р С”Р С‘ (Lead descriptions): Р С–Р В°РЎР‚Р СР С•Р Р…Р С‘Р В·Р В°РЎвЂ Р С‘РЎРЏ */
.sp-workflow__desc,
.sp-services__desc,
.sp-compare__desc,
.sp-digital__desc,
.swiss-calc-subtitle,
.sp-cases__desc,
.sp-contact__desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 15.5px !important;
    line-height: 1.58 !important;
    color: #475569 !important;
    max-width: 680px !important;
}

/* 4. Р С™Р Р…Р С•Р С—Р С”Р С‘ Р Т‘Р ВµР в„–РЎРѓРЎвЂљР Р†Р С‘РЎРЏ (Primary CTA): Р ВµР Т‘Р С‘Р Р…РЎвЂ№Р в„– РЎРѓРЎвЂљР В°РЎвЂљРЎС“РЎРѓ Slate-900 (var(--ds-ink-900)) */
.btn-cta-primary,
.sp-workflow__btn,
.sp-lead-banner__btn,
.sp-form-btn-submit,
.btn-tariff-primary {
    background-color: var(--ds-brand) !important;
    border-color: var(--ds-brand) !important;
    color: #FFFFFF !important;
    box-shadow: var(--ds-shadow-soft) !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.btn-cta-primary:hover,
.sp-workflow__btn:hover,
.sp-lead-banner__btn:hover,
.sp-form-btn-submit:hover,
.btn-tariff-primary:hover {
    background-color: var(--ds-brand-deep) !important;
    border-color: var(--ds-brand-deep) !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--ds-shadow-hover) !important;
}

/* 5. Р С™Р В°РЎР‚РЎвЂљР С•РЎвЂЎР С”Р С‘ Bento: Р ВµР Т‘Р С‘Р Р…Р В°РЎРЏ Р С–Р В»РЎС“Р В±Р С‘Р Р…Р В° РЎРѓРЎвЂљР ВµР С”Р В»Р В° Р С‘ РЎРѓР С”РЎР‚РЎС“Р С–Р В»Р ВµР Р…Р С‘РЎРЏ */
.swiss-bento-card,
.sp-billboard-card,
.tariff-glass-card,
.sp-case-card,
.sp-contact__card,
.swiss-calc-controls {
    border-radius: 24px !important;
}

/* 6. Р РЋР ВµР С–Р СР ВµР Р…РЎвЂљР Р…РЎвЂ№Р Вµ Р С”Р Р…Р С•Р С—Р С”Р С‘ РЎвЂљР С‘Р С—Р С•Р Р† Р С•Р В±РЎР‰Р ВµР С”РЎвЂљР С•Р Р† Р Р† Р С”Р В°Р В»РЎРЉР С”РЎС“Р В»РЎРЏРЎвЂљР С•РЎР‚Р Вµ */
.calc-type-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 5px !important;
    background: rgba(241, 245, 249, 0.8) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    border-radius: 16px !important;
}

.calc-type-btn {
    border-radius: 12px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    background: transparent !important;
    color: #475569 !important;
    transition: all 0.2s ease !important;
}

.calc-type-btn.active {
    background: var(--ds-brand) !important;
    color: #FFFFFF !important;
    box-shadow: var(--ds-shadow-soft) !important;
}

/* ==========================================================================
   2026 HERO & FRONT-PAGE COMPONENTS (MIGRATED FROM INLINE STYLES)
   ========================================================================== */




/* 4. Form Notifications & Alerts (Section 09) */
.sp-form-alert {
    padding: 16px 20px !important;
    border-radius: 14px !important;
    margin-bottom: 20px !important;
}

.sp-form-alert--success {
    background: rgba(var(--accent-emerald-rgb), 0.1) !important;
    border: 1px solid rgba(var(--accent-emerald-rgb), 0.3) !important;
}

.sp-form-alert--error {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
}

.sp-form-alert__title {
    display: block !important;
    margin-bottom: 4px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.sp-form-alert--success .sp-form-alert__title {
    color: var(--accent-emerald-dark) !important;
}

.sp-form-alert--error .sp-form-alert__title {
    color: #991b1b !important;
}

.sp-form-alert__desc {
    font-size: 13px !important;
    line-height: 1.5 !important;
    display: block !important;
}

.sp-form-alert--success .sp-form-alert__desc {
    color: #334155 !important;
}

.sp-form-alert--error .sp-form-alert__desc {
    color: #7f1d1d !important;
}

/* 5. Modal Dialogs & Wide Card Variants */
.portal-modal-card--wide {
    max-width: 680px !important;
}

.portal-modal-header {
    margin-bottom: 20px !important;
}

.portal-modal-header .portal-eyebrow {
    margin-bottom: 8px !important;
}

.portal-modal-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--portal-ink, #090E17) !important;
    margin: 0 !important;
}

.portal-modal-subtitle {
    font-size: 13.5px !important;
    color: var(--portal-ink-muted, #64748B) !important;
    margin-top: 4px !important;
    line-height: 1.45 !important;
}

.form-textarea-modal {
    min-height: 85px !important;
}

.form-consent {
    margin-bottom: 16px !important;
}

.form-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 12px !important;
    color: var(--portal-ink-muted, #64748B) !important;
    cursor: pointer !important;
}

.form-consent-checkbox {
    margin-top: 2px !important;
}

.btn-form-submit {
    width: 100% !important;
    justify-content: center !important;
}

/* Reglament Modal Specific Layout */
.reglament-features-list {
    display: grid !important;
    gap: 14px !important;
    font-size: 13.5px !important;
    color: #475569 !important;
    line-height: 1.55 !important;
    margin-bottom: 24px !important;
}

.reglament-feature-card {
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 12px !important;
    padding: 16px !important;
}

.reglament-feature-title {
    color: var(--portal-ink, #090E17) !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.portal-modal-actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.portal-modal-btn-lead {
    flex: 1 !important;
    justify-content: center !important;
    padding: 14px 20px !important;
}

.portal-modal-btn-close {
    padding: 14px 20px !important;
}


/* Perf & accessibility: reduced motion (perf fix 20260916) */
@media (prefers-reduced-motion: reduce) {
	.sp-workflow__img--active,
	.sp-digital__img--active {
		animation: none;
	}
	.sp-workflow__pulse-indicator,
	.sp-digital__pulse,
	.sp-badge-dot,
	.live-dot {
		animation: none;
	}
}

/* DS recolor: иконка-щит в микро-пояснении калькулятора (inline stroke → brand) */
.sp-calc .calc-reassurance-box svg {
	stroke: var(--ds-brand) !important;
}
