/* =====================================================
   ÉLECTRICIEN PARIS - STYLES PRINCIPAUX
   Couleurs et design uniques pour électriciens
   ===================================================== */

:root {
    /* Palette électrique unique */
    --electric-blue: #0056b3;
    --electric-yellow: #ffc107;
    --electric-orange: #ff6b35;
    --electric-dark: #1a2332;
    --electric-light: #f0f7ff;

    /* Couleurs principales */
    --primary-color: var(--electric-blue);
    --secondary-color: var(--electric-yellow);
    --accent-color: var(--electric-orange);
    --text-color: #333333;
    --text-light: #666666;
    --bg-light: #f8f9fa;
    --bg-white: #ffffff;

    /* Ombres */
    --shadow-sm: 0 2px 8px rgba(0, 86, 179, 0.1);
    --shadow-md: 0 4px 16px rgba(0, 86, 179, 0.15);
    --shadow-lg: 0 8px 32px rgba(0, 86, 179, 0.2);

    /* Transitions */
    --transition: all 0.3s ease;
}

/* Reset et Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a:hover {
    color: #fff !important;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
    color: var(--text-color);
    background: var(--bg-white);
}

/* Header Électrique */
.site-header {
    background: linear-gradient(135deg, var(--electric-dark) 0%, var(--electric-blue) 100%);
    padding: 15px 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: var(--shadow-md);
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo-section {
    display: flex;
    align-items: center;
    gap: 15px;
}

.logo-icon {
    width: 50px;
    height: 50px;
    background: var(--electric-yellow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: electricPulse 2s infinite;
}

.logo-icon svg {
    width: 30px;
    height: 30px;
    color: var(--electric-dark);
}

@keyframes electricPulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 0 20px 10px rgba(255, 193, 7, 0);
        transform: scale(1.05);
    }
}

.logo-text h2 {
    color: white;
    font-size: 24px;
    font-weight: bold;
}

.logo-text p {
    color: var(--electric-yellow);
    font-size: 14px;
}

.blog-link {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.blog-link:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
    transform: translateY(-2px);
}

/* Hero Section Électrique */
.hero-modern {
    margin-top: 80px;
    background: linear-gradient(135deg, var(--electric-light) 0%, white 100%);
    position: relative;
    overflow: hidden;
}

/* Адаптив для hero-modern */
@media (max-width: 768px) {
    .hero-modern {
        margin-top: 60px;
    }
}

@media (max-width: 480px) {
    .hero-modern {
        margin-top: 50px;
    }
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.hero-emergency-bar {
    background: var(--electric-orange);
    color: white;
    padding: 10px 0;
    font-weight: bold;
}

.emergency-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-around;
}

.emergency-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.emergency-icon {
    font-size: 20px;
    animation: flash 1s infinite;
}

/* По умолчанию скрываем короткий текст */
.emergency-text-short {
    display: none;
}

/* Адаптив для планшетов */
@media (max-width: 768px) {
    .hero-emergency-bar {
        padding: 8px 0;
    }

    .emergency-container {
        padding: 0 10px;
        gap: 10px;
    }

    .emergency-item {
        gap: 5px;
        font-size: 14px;
    }

    .emergency-icon {
        font-size: 16px;
    }

    /* Показываем короткий текст на планшетах */
    .emergency-text {
        display: none;
    }

    .emergency-text-short {
        display: inline;
    }
}

/* Адаптив для мобильных */
@media (max-width: 480px) {
    .hero-emergency-bar {
        padding: 6px 0;
    }

    .emergency-container {
        padding: 0 8px;
        gap: 5px;
    }

    .emergency-item {
        gap: 3px;
        font-size: 12px;
    }

    .emergency-icon {
        font-size: 14px;
    }
}

/* Адаптив для очень маленьких экранов */
@media (max-width: 375px) {
    .emergency-container {
        padding: 0 5px;
    }

    .emergency-item {
        font-size: 11px;
    }

    .emergency-icon {
        font-size: 12px;
    }
}

@keyframes flash {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.hero-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.hero-title {
    font-size: 38px;
    line-height: 1.1;
    margin-bottom: 15px;
    color: var(--electric-dark);
}

.title-highlight {
    color: var(--electric-orange);
    display: block;
    animation: electricGlow 2s ease-in-out infinite;
}

@keyframes electricGlow {

    0%,
    100% {
        text-shadow: 0 0 10px rgba(255, 107, 53, 0.5);
    }

    50% {
        text-shadow: 0 0 20px rgba(255, 107, 53, 0.8);
    }
}

.hero-services-list {
    margin: 20px 0;
}

.hero-services-list .service-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    padding: 6px 10px;
    background: white;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 86, 179, 0.08);
    transition: var(--transition);
    font-size: 14px;
    min-height: 32px;
}

.hero-services-list .service-item span:not(.check-icon) {
    line-height: 1.4;
}

.hero-services-list .service-item:hover {
    transform: translateX(5px);
    box-shadow: 0 2px 6px rgba(0, 86, 179, 0.12);
    background: var(--electric-light);
}

.hero-services-list .check-icon {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    border-radius: 50%;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
    align-self: center;
    line-height: 1;
}

/* Contact Card */
.hero-contact-card {
    background: white;
    border-radius: 20px;
    padding: 40px 20px;
    box-shadow: var(--shadow-lg);
    border: 3px solid var(--electric-yellow);
    position: relative;
}

.hero-contact-card::before {
    content: '⚡';
    position: absolute;
    top: -20px;
    right: 30px;
    font-size: 40px;
    animation: bounce 2s infinite;
}

@keyframes bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.phone-button {
    display: flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-orange));
    color: white;
    padding: 20px;
    border-radius: 15px;
    text-decoration: none;
    margin: 20px 0;
    transition: var(--transition);
}

.phone-button:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-lg);
    background: linear-gradient(135deg, var(--electric-orange), var(--electric-yellow));
}

.phone-number {
    font-size: 24px;
    font-weight: bold;
    color: white;
}

/* Services Grid */
.services-grid-section {
    padding: 80px 0;
    background: var(--bg-light);
}

.services-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-title {
    font-size: 42px;
    text-align: center;
    margin-bottom: 20px;
    color: var(--electric-dark);
    position: relative;
}

.section-title::after {
    content: '⚡';
    position: absolute;
    top: -30px;
    right: 50%;
    transform: translateX(50%);
    font-size: 30px;
    color: var(--electric-yellow);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.service-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    transition: var(--transition);
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, var(--electric-blue), var(--electric-yellow), var(--electric-orange));
    animation: electricLine 3s linear infinite;
}

@keyframes electricLine {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

.service-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: var(--electric-yellow);
}

.service-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-orange));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-icon svg {
    width: 40px;
    height: 40px;
    color: white;
}

.service-price {
    font-size: 24px;
    font-weight: bold;
    color: var(--electric-orange);
    margin: 20px 0;
}

.service-link {
    display: inline-block;
    padding: 10px 30px;
    background: var(--electric-blue);
    color: white;
    border-radius: 25px;
    text-decoration: none;
    transition: var(--transition);
}

.service-link:hover {
    background: var(--electric-orange);
    transform: scale(1.05);
    color: white;
}

/* Service Details - Старые стили (удалить после проверки) */

/* Service Detail Hero - New Design */
.service-detail-hero {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--bg-light) 0%, white 100%);
}

.service-hero-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.service-hero-header {
    text-align: center;
    margin-bottom: 60px;
}

.service-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    background: var(--electric-orange);
    color: white;
    border-radius: 30px;
    font-weight: bold;
    margin-bottom: 20px;
}

.badge-icon {
    font-size: 20px;
}

.service-hero-title {
    font-size: 42px;
    color: var(--electric-dark);
    margin-bottom: 20px;
}

.service-hero-subtitle {
    font-size: 18px;
    color: var(--text-light);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

.service-hero-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

/* Адаптив для планшетов */
@media (max-width: 1024px) {
    .service-hero-content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .service-detail-hero {
        padding: 60px 0;
    }

    .service-hero-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .service-hero-wrapper {
        padding: 0 15px;
    }
}

/* Адаптив для маленьких мобильных */
@media (max-width: 480px) {
    .service-detail-hero {
        padding: 40px 0;
    }

    .service-hero-content {
        gap: 15px;
    }

    .service-hero-title {
        font-size: 32px;
    }
}

.service-hero-main {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.service-expertise-box {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: var(--shadow-md);
    border-left: 5px solid var(--electric-yellow);
}

.service-expertise-box h3 {
    color: var(--electric-dark);
    margin-bottom: 15px;
    font-size: 24px;
}

.service-expertise-box p {
    color: var(--text-light);
    line-height: 1.6;
}

.service-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

/* Адаптив для service-features-grid */
@media (max-width: 1024px) {
    .service-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (max-width: 768px) {
    .service-features-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .service-features-grid {
        gap: 10px;
    }
}

.service-features-grid .feature-card {
    background: white;
    padding: 20px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    border: 2px solid transparent;
}

.service-features-grid .feature-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
    border-color: var(--electric-yellow);
}

.service-features-grid .feature-icon {
    font-size: 32px;
    display: block;
    margin-bottom: 10px;
}

.service-features-grid .feature-card h4 {
    font-size: 14px;
    color: var(--electric-dark);
    line-height: 1.4;
}

.service-process-modern {
    background: white;
    padding: 30px;
    border-radius: 20px;
    box-shadow: var(--shadow-md);
}

.service-process-modern h3 {
    color: var(--electric-dark);
    margin-bottom: 25px;
    font-size: 24px;
}

.process-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Адаптив для process-cards */
@media (max-width: 768px) {
    .process-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .process-cards {
        gap: 10px;
    }

    .process-card {
        padding: 15px;
    }

    .process-number {
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
}

.process-card {
    display: flex;
    gap: 15px;
    padding: 20px;
    background: var(--bg-light);
    border-radius: 12px;
    transition: var(--transition);
}

.process-card:hover {
    background: linear-gradient(135deg, var(--electric-light), white);
    transform: translateX(5px);
}

.process-card-number {
    width: 40px;
    height: 40px;
    background: var(--electric-orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

.process-card-content h4 {
    color: var(--electric-dark);
    margin-bottom: 5px;
    font-size: 16px;
}

.process-card-content p {
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.4;
}

.service-hero-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-image-box {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.service-image-box img {
    width: 100%;
    height: auto;
    display: block;
}

.image-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: var(--electric-orange);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: bold;
}

.service-info-card {
    background: white;
    padding: 25px;
    border-radius: 15px;
    box-shadow: var(--shadow-md);
    border: 2px solid var(--electric-yellow);
}

.service-info-card h3 {
    color: var(--electric-dark);
    margin-bottom: 20px;
    font-size: 20px;
}

.info-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.info-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.info-icon {
    font-size: 20px;
}

.service-cta-box {
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    padding: 30px;
    border-radius: 20px;
    text-align: center;
    color: white;
}

.service-cta-box h3 {
    color: white;
    margin-bottom: 10px;
}

.service-cta-box p {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
}

.cta-phone-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 15px;
    background: var(--electric-orange);
    color: white;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    margin-bottom: 10px;
    transition: var(--transition);
}

.cta-phone-button:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
    transform: translateY(-2px);
}

.cta-form-button {
    display: inline-block;
    width: 100%;
    padding: 15px;
    background: white;
    color: var(--electric-blue);
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.cta-form-button:hover {
    background: var(--electric-light);
    transform: translateY(-2px);
    color: #0a58ca !important;
}

.service-detail-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.service-detail-title {
    font-size: 36px;
    margin-bottom: 20px;
    color: var(--electric-dark);
    border-left: 5px solid var(--electric-yellow);
    padding-left: 20px;
}

/* Pricing Cards */
.pricing-section {
    padding: 80px 0;
    background: linear-gradient(180deg, white 0%, var(--bg-light) 100%);
}

.pricing-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.pricing-card {
    background: white;
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    position: relative;
    transition: var(--transition);
    border: 2px solid var(--bg-light);
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--electric-blue);
}

/* Стили для обычных карточек */
.pricing-card .pricing-header h3 {
    color: var(--electric-dark);
}

.pricing-card .amount {
    color: var(--electric-blue);
}

.pricing-card .currency {
    color: var(--electric-blue);
}

.pricing-card .period {
    color: var(--text-light);
}

.pricing-card .pricing-features li {
    color: var(--text-dark);
}

.pricing-card.featured {
    border-color: var(--electric-yellow);
    transform: scale(1.05);
    background: linear-gradient(135deg, var(--electric-blue) 0%, var(--electric-dark) 100%);
    color: white;
}

.pricing-card.featured h3,
.pricing-card.featured .pricing-features li,
.pricing-card.featured .period {
    color: white;
}

.pricing-card.featured .amount {
    color: var(--electric-yellow);
}

.pricing-card.featured .currency {
    color: var(--electric-yellow);
}

.pricing-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--electric-orange);
    color: white;
    padding: 5px 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 2;
}

.price {
    margin: 20px 0;
}

.amount {
    font-size: 48px;
    font-weight: bold;
    color: var(--electric-blue);
}

.currency {
    font-size: 24px;
    vertical-align: super;
}

/* Reviews Modern Section */
.reviews-modern {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.reviews-modern-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.reviews-modern-header {
    text-align: center;
    margin-bottom: 50px;
}

.reviews-modern-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
}

.reviews-modern-title {
    font-size: 42px;
    color: var(--electric-dark);
    margin: 20px 0;
}

.reviews-modern-subtitle {
    font-size: 18px;
    color: var(--text-light);
}

/* Review Stats Cards */
.reviews-modern-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 40px 0;
}

.review-stat-card {
    background: white;
    padding: 25px;
    border-radius: 15px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    border: 2px solid transparent;
    transition: var(--transition);
}

.review-stat-card:hover {
    border-color: var(--electric-yellow);
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.review-stat-card .stat-icon {
    font-size: 32px;
    margin-bottom: 10px;
}

.review-stat-card .stat-value {
    display: block;
    font-size: 28px;
    font-weight: bold;
    color: var(--electric-blue);
    margin: 10px 0;
}

.review-stat-card .stat-label {
    font-size: 14px;
    color: var(--text-light);
}

/* Review Modern Cards */
.reviews-modern-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 40px 0;
}

.review-modern-card {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    border: 1px solid #e5e7eb;
}

.review-modern-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-xl);
    border-color: var(--electric-yellow);
}

.review-modern-card .review-modern-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.review-modern-avatar {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
}

.review-modern-info {
    flex: 1;
}

.review-modern-name {
    font-size: 16px;
    font-weight: bold;
    color: var(--electric-dark);
    margin-bottom: 4px;
}

.review-modern-service {
    font-size: 13px;
    color: var(--electric-blue);
}

.review-modern-badge-verified {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #10b981;
    color: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.review-modern-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.review-modern-stars {
    color: var(--electric-yellow);
    font-size: 18px;
}

.review-modern-date {
    font-size: 12px;
    color: var(--text-light);
}

.review-modern-comment {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 20px;
    font-size: 15px;
}

.review-modern-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid #f3f4f6;
}

.review-modern-helpful {
    display: flex;
    align-items: center;
    gap: 10px;
}

.helpful-button {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: #f3f4f6;
    border: none;
    border-radius: 8px;
    color: #6b7280;
    font-size: 13px;
    cursor: pointer;
    transition: var(--transition);
}

.helpful-button:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
}

.helpful-count {
    font-size: 13px;
    color: var(--text-light);
}

.review-modern-response {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: var(--electric-blue);
}

/* Review Slider */
.reviews-modern-slider {
    background: white;
    border-radius: 20px;
    padding: 40px;
    margin: 40px 0;
    box-shadow: var(--shadow-md);
}

.reviews-slider-container {
    overflow: hidden;
}

.reviews-slider-track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.review-slider-item {
    text-align: center;
    padding: 20px;
}

.review-slider-quote {
    font-size: 48px;
    color: var(--electric-yellow);
    line-height: 1;
    margin-bottom: 20px;
}

.review-slider-text {
    font-size: 16px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 20px;
    font-style: italic;
}

.review-slider-author {
    margin-top: 20px;
}

.review-slider-author strong {
    display: block;
    color: var(--electric-dark);
    font-size: 16px;
    margin-bottom: 5px;
}

.review-slider-author span {
    display: block;
    color: var(--electric-blue);
    font-size: 14px;
    margin-bottom: 10px;
}

.review-slider-stars {
    color: var(--electric-yellow);
    font-size: 16px;
}

/* Reviews CTA */
.reviews-modern-cta {
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    border-radius: 20px;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 50px;
}

.reviews-cta-content {
    color: white;
}

.reviews-cta-content h3 {
    font-size: 28px;
    margin-bottom: 10px;
}

.reviews-cta-content p {
    font-size: 16px;
    opacity: 0.9;
}

.reviews-cta-buttons {
    display: flex;
    gap: 20px;
}

.reviews-cta-phone,
.reviews-cta-form {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.reviews-cta-phone {
    background: white;
    color: var(--electric-blue);
}

.reviews-cta-phone:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.reviews-cta-form {
    background: var(--electric-yellow);
    color: var(--electric-dark);
}

.reviews-cta-form:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4);
}

/* Responsive for Reviews */
@media (max-width: 1024px) {
    .reviews-modern-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .reviews-modern-grid {
        grid-template-columns: 1fr;
    }

    .reviews-slider-track {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .reviews-modern-title {
        font-size: 32px;
    }

    .reviews-modern-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .review-stat-card {
        padding: 20px;
    }

    .review-stat-card .stat-value {
        font-size: 24px;
    }

    .reviews-modern-cta {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .reviews-cta-buttons {
        flex-direction: column;
        width: 100%;
    }

    .reviews-cta-phone,
    .reviews-cta-form {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .reviews-modern-stats {
        grid-template-columns: 1fr;
    }

    .review-modern-card {
        padding: 20px;
    }

    .review-modern-card .review-modern-header {
        flex-wrap: wrap;
    }

    .review-modern-badge-verified {
        margin-top: 10px;
    }
}

/* Testimonials Section */
.testimonials-section {
    padding: 80px 0;
    background: var(--bg-light);
}

.testimonials-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.review-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.review-header {
    margin-bottom: 20px;
}

.review-name {
    font-size: 18px;
    font-weight: bold;
    color: var(--electric-dark);
    margin-bottom: 5px;
}

.review-service {
    font-size: 14px;
    color: var(--electric-blue);
    font-weight: 500;
}

.review-comment {
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 20px 0;
    font-size: 15px;
}

.review-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid var(--bg-light);
}

.review-rating {
    color: var(--electric-yellow);
    font-size: 18px;
}

.review-date {
    font-size: 13px;
    color: var(--text-light);
}

.testimonials-cta {
    text-align: center;
    margin-top: 40px;
}

.view-all-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 40px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    color: white;
    text-decoration: none;
    border-radius: 25px;
    font-weight: bold;
    transition: var(--transition);
}

.view-all-link:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

/* Reviews Unique Section */
.reviews-unique {
    padding: 100px 0;
    background: linear-gradient(180deg, white 0%, #f0f8ff 50%, white 100%);
    position: relative;
    overflow: hidden;
}

.reviews-unique::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    width: 200%;
    height: 100%;
    background: repeating-linear-gradient(90deg,
            transparent,
            transparent 100px,
            rgba(0, 86, 179, 0.02) 100px,
            rgba(0, 86, 179, 0.02) 200px);
    pointer-events: none;
}

.reviews-unique-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

.reviews-unique-header {
    text-align: center;
    margin-bottom: 60px;
}

.reviews-badge-animated {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--electric-yellow), #ffd700);
    color: var(--electric-dark);
    padding: 10px 25px;
    border-radius: 30px;
    font-weight: bold;
    margin-bottom: 25px;
    animation: float 3s ease-in-out infinite;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.badge-star {
    font-size: 20px;
    animation: rotate 3s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.reviews-unique-title {
    font-size: 48px;
    margin: 20px 0;
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.title-word {
    color: var(--electric-dark);
}

.title-highlight {
    color: var(--electric-blue);
    position: relative;
    font-weight: bold;
}

.title-highlight::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--electric-yellow);
    border-radius: 2px;
}

.reviews-stats-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    margin-top: 30px;
    padding: 25px;
    background: white;
    border-radius: 15px;
    box-shadow: var(--shadow-md);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.stat-item {
    text-align: center;
}

.stat-item .stat-number {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: var(--electric-blue);
    margin-bottom: 5px;
}

.stat-item .stat-text {
    font-size: 14px;
    color: var(--text-light);
}

.stat-separator {
    width: 2px;
    height: 40px;
    background: var(--bg-light);
}

/* Reviews Carousel */
.reviews-carousel-wrapper {
    margin: 60px 0;
}

.reviews-carousel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.review-unique-card {
    background: white;
    border-radius: 20px;
    padding: 35px;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 86, 179, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.review-unique-card:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 60px rgba(0, 86, 179, 0.2);
    border-color: var(--electric-yellow);
}

.review-quote-mark {
    position: absolute;
    top: 20px;
    left: 30px;
    font-size: 80px;
    color: var(--electric-yellow);
    opacity: 0.2;
    font-family: Georgia, serif;
    line-height: 1;
}

.review-unique-content {
    position: relative;
    z-index: 1;
}

.review-unique-text {
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-secondary);
    margin-bottom: 25px;
    font-style: italic;
}

.review-unique-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
}

.author-avatar {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    font-weight: bold;
    flex-shrink: 0;
}

.author-info {
    flex: 1;
}

.author-name {
    font-size: 16px;
    font-weight: bold;
    color: var(--electric-dark);
    margin-bottom: 2px;
}

.author-service {
    font-size: 13px;
    color: var(--electric-blue);
    margin-bottom: 5px;
}

.author-rating {
    color: var(--electric-yellow);
    font-size: 16px;
}

.review-date-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    padding: 5px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500;
}

/* Reviews Bottom Section */
.reviews-bottom-section {
    margin-top: 60px;
}

.trust-badges {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 40px;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 25px;
    background: white;
    border-radius: 50px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.trust-badge:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.trust-badge svg {
    color: var(--electric-yellow);
    width: 24px;
    height: 24px;
}

.trust-badge span {
    font-size: 14px;
    font-weight: 500;
    color: var(--electric-dark);
}

/* Reviews CTA Unique */
.reviews-cta-unique {
    text-align: center;
    padding: 40px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    border-radius: 20px;
    color: white;
}

.cta-text {
    font-size: 18px;
    margin-bottom: 20px;
    opacity: 0.9;
}

.reviews-button-unique {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 35px;
    background: white;
    color: var(--electric-blue);
    text-decoration: none;
    border-radius: 30px;
    font-weight: bold;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(255, 255, 255, 0.3);
}

.reviews-button-unique:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.4);
    color: #0a58ca !important;
}

.reviews-button-unique svg {
    transition: transform 0.3s ease;
}

.reviews-button-unique:hover svg {
    transform: translateX(5px);
}

/* Responsive */
@media (max-width: 1024px) {
    .reviews-carousel {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .reviews-unique-title {
        font-size: 36px;
    }

    .reviews-stats-bar {
        flex-direction: column;
        gap: 20px;
    }

    .stat-separator {
        width: 60px;
        height: 2px;
    }

    .reviews-carousel {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .review-unique-card {
        padding: 25px;
    }

    .trust-badges {
        flex-direction: column;
        gap: 15px;
    }

    .trust-badge {
        width: 100%;
        justify-content: center;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .review-card {
        padding: 20px;
    }
}

@media (max-width: 480px) {
    .reviews-unique-title {
        font-size: 28px;
        gap: 10px;
    }

    .stat-item .stat-number {
        font-size: 24px;
    }

    .review-quote-mark {
        font-size: 60px;
    }

    .reviews-cta-unique {
        padding: 30px 20px;
    }

    .cta-text {
        font-size: 16px;
    }
}

/* FAQ Section Compact */
.faq-section-compact {
    padding: 60px 0;
    background: linear-gradient(to bottom, #f8f9fa, white);
}

.faq-compact-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.faq-compact-header {
    text-align: center;
    margin-bottom: 40px;
}

.faq-title {
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 10px;
}

.faq-subtitle {
    font-size: 18px;
    color: var(--text-light);
}

.faq-compact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.faq-compact-column {
    background: white;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}

.faq-column-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: bold;
    color: var(--electric-blue);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--electric-yellow);
}

.column-icon {
    font-size: 24px;
}

.faq-compact-item {
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-compact-item:hover {
    border-color: var(--electric-yellow);
    box-shadow: 0 2px 8px rgba(0, 86, 179, 0.1);
}

.faq-compact-item[open] {
    background: #fafafa;
}

.faq-compact-question {
    padding: 15px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
    list-style: none;
}

.faq-compact-question::-webkit-details-marker {
    display: none;
}

.faq-compact-question:hover {
    background: var(--electric-light);
    color: var(--electric-blue);
}

.faq-compact-question .chevron {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

details[open] .faq-compact-question .chevron {
    transform: rotate(180deg);
}

.faq-compact-answer {
    padding: 0 15px 15px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-light);
}

.faq-compact-answer p {
    margin: 0;
}

.faq-compact-cta {
    text-align: center;
    padding: 30px;
    background: white;
    border-radius: 15px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
}

.faq-compact-cta .cta-text {
    font-size: 18px;
    color: var(--text-color);
    margin-bottom: 20px;
}

.cta-buttons {
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
}

.faq-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--electric-blue);
    color: white;
    padding: 12px 25px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
}

.faq-phone-btn:hover {
    background: white;
    color: var(--electric-blue) !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 86, 179, 0.3);
}

.faq-devis-btn {
    display: inline-block;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    padding: 12px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.3s ease;
}

.faq-devis-btn:hover {
    background: var(--electric-orange);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 193, 7, 0.3);
}

/* FAQ Compact Responsive */
@media (max-width: 1024px) {
    .faq-compact-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .faq-section-compact {
        padding: 40px 0;
    }

    .faq-title {
        font-size: 28px;
    }

    .faq-subtitle {
        font-size: 16px;
    }

    .faq-compact-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .faq-compact-column {
        padding: 20px;
    }

    .faq-column-title {
        font-size: 16px;
    }

    .faq-compact-question {
        font-size: 13px;
        padding: 12px;
    }

    .faq-compact-answer {
        font-size: 12px;
        padding: 0 12px 12px;
    }

    .cta-buttons {
        flex-direction: column;
        width: 100%;
    }

    .faq-phone-btn,
    .faq-devis-btn {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .faq-title {
        font-size: 24px;
    }

    .faq-subtitle {
        font-size: 14px;
    }

    .faq-compact-cta {
        padding: 20px;
    }

    .faq-compact-cta .cta-text {
        font-size: 16px;
    }
}

/* Old FAQ styles for backward compatibility */
.faq-section {
    padding: 80px 0;
    background: white;
}

.faq-category {
    margin-bottom: 40px;
}

.category-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid var(--electric-yellow);
}

.category-icon {
    font-size: 30px;
}

.faq-item-modern {
    background: var(--bg-light);
    border-radius: 10px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: var(--transition);
}

.faq-item-modern:hover {
    box-shadow: var(--shadow-md);
}

.faq-question-modern {
    padding: 20px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: white;
    transition: var(--transition);
}

.faq-question-modern:hover {
    background: var(--electric-light);
}

.faq-question-modern::after {
    content: '+';
    font-size: 24px;
    color: var(--electric-orange);
    transition: var(--transition);
}

details[open] .faq-question-modern::after {
    transform: rotate(45deg);
}

.faq-answer-modern {
    padding: 20px;
    background: white;
    border-top: 2px solid var(--electric-yellow);
}

/* Footer Button */
.fixed-call-button {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, var(--electric-orange), var(--electric-yellow));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    box-shadow: 0 5px 20px rgba(255, 107, 53, 0.4);
    z-index: 999;
    animation: electricPulse 2s infinite;
    transition: var(--transition);
}

.fixed-call-button:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 30px rgba(255, 107, 53, 0.6);
    color: white;
}

.fixed-call-button svg {
    width: 30px;
    height: 30px;
}

.call-button-text {
    display: none;
}

/* Process Section */
.process-section {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--electric-dark) 0%, var(--electric-blue) 100%);
    position: relative;
    overflow: hidden;
}

.process-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    pointer-events: none;
}

.process-header {
    text-align: center;
    margin-bottom: 60px;
    color: white;
}

.process-header .section-title {
    color: white;
    margin-bottom: 10px;
}

.process-header .section-subtitle {
    color: rgba(255, 255, 255, 0.8);
    font-size: 18px;
}

.process-timeline {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 0;
}

.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    transform: translateX(-50%);
}

.process-item {
    position: relative;
    margin-bottom: 60px;
}

.process-item-left .process-content {
    padding-right: 50%;
    text-align: right;
}

.process-item-right .process-content {
    padding-left: 50%;
    text-align: left;
}

.process-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.process-item-left .process-content {
    flex-direction: row-reverse;
}

.process-icon-wrapper {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 80px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
    z-index: 2;
}

.process-number {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;
    background: var(--electric-orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
}

.process-icon {
    font-size: 36px;
}

.process-text {
    background: rgba(255, 255, 255, 0.1);
    padding: 25px;
    border-radius: 15px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.process-text h3 {
    color: var(--electric-yellow);
    margin-bottom: 10px;
    font-size: 22px;
}

.process-text p {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 10px;
    line-height: 1.6;
}

.process-time {
    display: inline-block;
    padding: 5px 15px;
    background: var(--electric-orange);
    color: white;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
}

.process-cta {
    text-align: center;
    margin-top: 60px;
    padding: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

.process-cta h3 {
    color: white;
    font-size: 28px;
    margin-bottom: 10px;
}

.process-cta p {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 20px;
}

.process-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 40px;
    background: linear-gradient(135deg, var(--electric-yellow), var(--electric-orange));
    color: var(--electric-dark);
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    transition: var(--transition);
}

.process-button:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 30px rgba(255, 193, 7, 0.4);
    color: white;
}

/* Why Us Section */
.why-us-section {
    padding: 80px 0;
    background: linear-gradient(135deg, white 0%, var(--bg-light) 100%);
}

.why-us-header {
    text-align: center;
    margin-bottom: 60px;
}

.why-us-wrapper {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    align-items: start;
}

.why-us-left {
    position: sticky;
    top: 100px;
}

.why-us-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.stat-card {
    background: white;
    padding: 30px;
    border-radius: 15px;
    text-align: center;
    box-shadow: var(--shadow-md);
    border: 2px solid var(--electric-yellow);
    transition: var(--transition);
}

.stat-card:hover {
    transform: translateY(-5px);
    border-color: var(--electric-orange);
}

.stat-number {
    display: block;
    font-size: 36px;
    font-weight: bold;
    color: var(--electric-orange);
    margin-bottom: 10px;
}

.stat-label {
    font-size: 14px;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.why-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.why-feature {
    display: flex;
    gap: 20px;
    padding: 25px;
    background: white;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.why-feature:hover {
    box-shadow: var(--shadow-lg);
    transform: translateX(10px);
}

.feature-icon-box {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--electric-yellow), var(--electric-orange));
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-icon {
    font-size: 28px;
}

.feature-content h3 {
    font-size: 18px;
    color: var(--electric-dark);
    margin-bottom: 8px;
}

.feature-content p {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
}

/* Emergency Section */
.service-detail-emergency {
    background: linear-gradient(135deg, var(--electric-dark) 0%, var(--electric-blue) 100%);
    color: white;
}

.emergency-badge-large {
    width: 100px;
    height: 100px;
    background: var(--electric-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    position: relative;
}

.pulse {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--electric-orange);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.badge-text {
    font-size: 32px;
    font-weight: bold;
    z-index: 1;
}

/* Contact Form */
.contact-section {
    padding: 80px 0;
    background: var(--bg-light);
}

.contact-form {
    max-width: 600px;
    margin: 0 auto;
    background: white;
    padding: 40px;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.form-group {
    margin-bottom: 20px;
}

.form-control {
    width: 100%;
    padding: 15px;
    border: 2px solid var(--bg-light);
    border-radius: 10px;
    font-size: 16px;
    transition: var(--transition);
}

.form-control:focus {
    outline: none;
    border-color: var(--electric-yellow);
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.1);
}

.submit-button {
    width: 100%;
    padding: 15px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-orange));
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: var(--transition);
}

.submit-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.error-message {
    color: var(--electric-orange);
    font-size: 14px;
    margin-top: 5px;
    display: none;
}

.success-message {
    background: #4caf50;
    color: white;
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    margin-top: 20px;
    display: none;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-title {
        font-size: 32px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .pricing-cards {
        grid-template-columns: 1fr;
    }

    .pricing-card.featured {
        transform: scale(1);
    }


    .process-timeline {
        padding: 20px;
    }

    .timeline-line {
        left: 30px;
    }

    .process-item-left .process-content,
    .process-item-right .process-content {
        padding-left: 80px;
        padding-right: 20px;
        text-align: left;
    }

    .process-icon-wrapper {
        left: 30px;
        width: 60px;
        height: 60px;
    }

    .process-icon {
        font-size: 24px;
    }

    .process-text {
        padding: 20px;
    }

    .process-cta {
        padding: 30px 20px;
    }

    .process-button {
        padding: 12px 25px;
        font-size: 16px;
    }

    .why-us-wrapper {
        grid-template-columns: 1fr;
    }

    .why-us-left {
        position: static;
    }

    .why-features {
        grid-template-columns: 1fr;
    }

    .why-us-stats {
        margin-bottom: 40px;
        grid-template-columns: repeat(1, 1fr);
    }

    .badge-text {
        font-size: 20px;
    }

    .header-container {
        padding: 0 10px;
    }

    .logo-section {
        gap: 10px;
    }

    .logo-icon {
        width: 40px;
        height: 40px;
    }

    .logo-icon svg {
        width: 24px;
        height: 24px;
    }

    .logo-text h2 {
        font-size: 18px;
    }

    .logo-text p {
        display: none;
    }

    .blog-link {
        padding: 8px 12px;
    }

    .blog-link span {
        display: none;
    }

    .site-header {
        padding: 10px 0;
    }
}

/* Адаптив хедера для маленьких экранов */
@media (max-width: 480px) {
    .site-header {
        padding: 8px 0;
    }

    .header-container {
        padding: 0 8px;
    }

    .logo-section {
        gap: 8px;
    }

    .logo-icon {
        width: 35px;
        height: 35px;
    }

    .logo-icon svg {
        width: 20px;
        height: 20px;
    }

    .logo-text h2 {
        font-size: 15px;
    }

    .blog-link {
        padding: 6px 8px;
        border-radius: 20px;
    }
}

@media (max-width: 375px) {
    .logo-text h2 {
        font-size: 14px;
        white-space: nowrap;
    }

    .logo-icon {
        width: 30px;
        height: 30px;
    }

    .header-container {
        padding: 0 5px;
    }

    .fixed-call-button {
        width: 60px;
        height: 60px;
        bottom: 20px;
        right: 20px;
    }
}

@media (max-width: 375px) {
    .hero-title {
        font-size: 28px;
    }

    .section-title {
        font-size: 28px;
    }

    .service-card {
        padding: 20px;
    }

    .pricing-card {
        padding: 30px 20px;
    }

    .amount {
        font-size: 36px;
    }

    .contact-form {
        padding: 30px 20px;
    }

    body {
        font-size: 14px;
    }

    .logo-text h2 {
        font-size: 20px;
    }

    .phone-number {
        font-size: 20px;
    }
}

/* ========================================
   SERVICE DETAIL & SERVICE DETAIL DARK
   Nouveau design cohérent avec le site
   Selon directives CLAUDE.md
   ======================================== */

/* Service Detail - Version Claire */
.service-detail {
    padding: 100px 0 80px;
    position: relative;
    overflow: hidden;
}

.service-detail::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -30%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 70%);
    opacity: 0.05;
    animation: float 20s ease-in-out infinite;
    pointer-events: none;
}

/* Service Detail Dark - Version Sombre */
.service-detail-dark {
    padding: 100px 0 80px;
    background: linear-gradient(135deg, var(--electric-dark) 0%, #0a1628 100%);
    color: white;
    position: relative;
    overflow: hidden;
}

.service-detail-dark::before {
    content: '';
    position: absolute;
    top: -40%;
    right: -25%;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 70%);
    opacity: 0.04;
    animation: pulse 15s ease-in-out infinite;
    pointer-events: none;
}

.service-detail-dark::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -20%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, var(--electric-blue) 0%, transparent 70%);
    opacity: 0.06;
    animation: float 18s ease-in-out infinite reverse;
    pointer-events: none;
}

/* Container commun */
.service-detail-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

/* Titre principal */
.service-detail-title {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--electric-dark);
    position: relative;
    padding-bottom: 20px;
    line-height: 1.2;
}

.service-detail-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100px;
    height: 4px;
    background: linear-gradient(90deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    border-radius: 2px;
}

.service-detail-dark .service-detail-title {
    color: white;
}

/* Sous-titre */
.service-detail-subtitle {
    font-size: 22px;
    color: var(--electric-blue);
    margin-bottom: 30px;
    font-weight: 500;
    line-height: 1.6;
}

.service-detail-dark .service-detail-subtitle {
    color: var(--electric-yellow);
}

/* Grille principale */
.service-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin: 40px 0;
}

/* Contenu texte */
.service-detail-content {
    padding: 20px;
}

.service-detail-description {
    margin: 30px 0;
}

.service-detail-description p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 20px;
    color: var(--text-dark);
}

.service-detail-dark .service-detail-description p {
    color: rgba(255, 255, 255, 0.9);
}

/* Image */
.service-detail-image {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 168, 135, 0.15);
    transition: var(--transition);
}

.service-detail-image:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 80px rgba(0, 168, 135, 0.25);
}

.service-detail-image img {
    width: 100%;
    height: auto;
    display: block;
    transition: var(--transition);
}

.service-detail-image:hover img {
    transform: scale(1.05);
}

/* Badge sur image */
.service-detail-badge {
    position: absolute;
    top: 30px;
    right: 30px;
    background: var(--electric-orange);
    color: white;
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 14px;
    animation: pulse 2s infinite;
    z-index: 2;
}

/* Liste de caractéristiques */
.service-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 30px 0;
}

.service-feature {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--bg-light);
    border-radius: 12px;
    transition: var(--transition);
}

.service-detail-dark .service-feature {
    background: rgba(255, 255, 255, 0.05);
}

.service-feature:hover {
    background: linear-gradient(135deg, var(--electric-light) 0%, var(--bg-light) 100%);
    transform: translateX(10px);
}

.service-detail-dark .service-feature:hover {
    background: rgba(255, 255, 255, 0.08);
}

.service-feature-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: white;
    flex-shrink: 0;
}

.service-feature-text {
    font-size: 16px;
    color: var(--text-dark);
    font-weight: 500;
}

.service-detail-dark .service-feature-text {
    color: rgba(255, 255, 255, 0.95);
}

/* Colonnes de services */
.service-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 60px 0;
}

.service-column {
    background: white;
    border: 2px solid var(--electric-light);
    border-radius: 20px;
    padding: 30px;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.service-detail-dark .service-column {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
}

.service-column::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    transform: scaleX(0);
    transition: var(--transition);
}

.service-column:hover::before {
    transform: scaleX(1);
}

.service-column:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 168, 135, 0.15);
}

.service-detail-dark .service-column:hover {
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.service-column h3 {
    color: var(--electric-dark);
    font-size: 24px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.service-detail-dark .service-column h3 {
    color: var(--electric-yellow);
}

.service-column h3::before {
    content: "⚡";
    font-size: 28px;
    color: var(--electric-orange);
}

/* Liste d'éléments dans les colonnes */
.service-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-item {
    padding: 20px;
    background: #f8f9fa;
    border-radius: 12px;
    border-left: 4px solid var(--electric-yellow);
    transition: var(--transition);
    border: 1px solid rgba(0, 86, 179, 0.1);
}

.service-detail-dark .service-item {
    background: rgba(255, 255, 255, 0.03);
}

.service-item:hover {
    background: white;
    transform: translateX(10px);
    box-shadow: 0 10px 30px rgba(0, 168, 135, 0.1);
}

.service-detail-dark .service-item:hover {
    background: rgba(255, 255, 255, 0.06);
}

.service-item h4 {
    color: var(--electric-dark);
    font-size: 18px;
    margin-bottom: 8px;
    font-weight: 600;
}

.service-detail-dark .service-item h4 {
    color: var(--electric-yellow);
}

.service-item p {
    color: var(--text-dark);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.service-detail-dark .service-item p {
    color: rgba(255, 255, 255, 0.7);
}

/* Section CTA */
.service-cta {
    background: linear-gradient(135deg, var(--electric-light) 0%, white 100%);
    border-radius: 20px;
    padding: 50px;
    text-align: center;
    margin: 60px 0;
    border: 2px solid var(--electric-yellow);
    position: relative;
    overflow: hidden;
}

.service-detail-dark .service-cta {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.1) 0%, rgba(255, 152, 0, 0.1) 100%);
}

.service-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 70%);
    opacity: 0.05;
    animation: rotate 20s linear infinite;
}

.service-cta-title {
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 15px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.service-detail-dark .service-cta-title {
    color: white;
}

.service-cta-text {
    font-size: 18px;
    color: var(--text-dark);
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.service-detail-dark .service-cta-text {
    color: rgba(255, 255, 255, 0.9);
}

.service-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

/* Boutons */
.service-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 35px;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    color: white;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    cursor: pointer;
    box-shadow: 0 5px 20px rgba(255, 193, 7, 0.3);
}

.service-btn:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4);
}

.service-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 35px;
    background: transparent;
    color: var(--electric-dark);
    border: 2px solid var(--electric-dark);
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    cursor: pointer;
}

.service-detail-dark .service-btn-outline {
    color: var(--electric-yellow);
    border-color: var(--electric-yellow);
}

.service-btn-outline:hover {
    background: var(--electric-dark);
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(11, 37, 69, 0.2);
}

.service-detail-dark .service-btn-outline:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.3);
}

/* Grille d'avantages */
.service-advantages {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin: 50px 0;
}

.service-advantage {
    background: var(--bg-light);
    border-radius: 15px;
    padding: 25px;
    border: 2px solid transparent;
    transition: var(--transition);
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.service-detail-dark .service-advantage {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
}

.service-advantage:hover {
    border-color: var(--electric-yellow);
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 168, 135, 0.15);
}

.service-detail-dark .service-advantage:hover {
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.service-advantage-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    flex-shrink: 0;
    transition: var(--transition);
}

.service-advantage:hover .service-advantage-icon {
    transform: rotate(360deg);
}

.service-advantage-content h4 {
    color: var(--electric-dark);
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 600;
}

.service-detail-dark .service-advantage-content h4 {
    color: white;
}

.service-advantage-content p {
    color: var(--text-dark);
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.service-detail-dark .service-advantage-content p {
    color: rgba(255, 255, 255, 0.7);
}

/* Statistiques */
.service-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin: 50px 0;
    padding: 40px;
    background: var(--bg-light);
    border-radius: 20px;
}

.service-detail-dark .service-stats {
    background: rgba(255, 255, 255, 0.02);
}

.service-stat {
    text-align: center;
    padding: 20px;
    background: white;
    border-radius: 15px;
    transition: var(--transition);
    border: 2px solid transparent;
}

.service-detail-dark .service-stat {
    background: rgba(255, 255, 255, 0.05);
}

.service-stat:hover {
    border-color: var(--electric-yellow);
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 10px 30px rgba(0, 168, 135, 0.15);
}

.service-detail-dark .service-stat:hover {
    background: rgba(255, 255, 255, 0.08);
}

.service-stat-number {
    font-size: 42px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
}

.service-stat-label {
    color: var(--text-dark);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.service-detail-dark .service-stat-label {
    color: rgba(255, 255, 255, 0.7);
}

/* ========================================
   RESPONSIVE - SERVICE DETAIL
   Obligatoire selon CLAUDE.md
   ======================================== */

/* Tablettes */
@media (max-width: 1024px) {
    .service-detail-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .service-columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .service-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-advantages {
        grid-template-columns: 1fr;
    }
}

/* Mobiles */
@media (max-width: 768px) {

    .service-detail,
    .service-detail-dark {
        padding: 80px 0 60px;
    }

    .service-detail-title {
        font-size: 36px;
    }

    .service-detail-subtitle {
        font-size: 18px;
    }

    .service-features {
        grid-template-columns: 1fr;
    }

    .service-cta {
        padding: 30px 20px;
    }

    .service-cta-title {
        font-size: 28px;
    }

    .service-cta-buttons {
        flex-direction: column;
        align-items: center;
    }

    .service-btn,
    .service-btn-outline {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .service-stats {
        grid-template-columns: 1fr;
        padding: 30px 20px;
    }
}

/* Petits mobiles - OBLIGATOIRE jusqu'à 375px */
@media (max-width: 480px) {

    .service-detail,
    .service-detail-dark {
        padding: 60px 0 40px;
    }

    .service-detail-title {
        font-size: 28px;
    }

    .service-detail-title::after {
        width: 70px;
    }

    .service-detail-subtitle {
        font-size: 16px;
    }

    .service-detail-content {
        padding: 10px;
    }

    .service-column {
        padding: 20px;
        margin: 0 10px;
    }

    .service-column h3 {
        font-size: 20px;
    }

    .service-cta-title {
        font-size: 24px;
    }

    .service-cta-text {
        font-size: 16px;
    }

    .service-btn,
    .service-btn-outline {
        padding: 12px 25px;
        font-size: 15px;
    }

    .service-stat-number {
        font-size: 32px;
    }
}

/* Support iPhone SE (375px) */
@media (max-width: 375px) {
    .service-detail-container {
        padding: 0 15px;
    }

    .service-column {
        margin: 0 5px;
    }

    .service-detail-title {
        font-size: 24px;
    }
}


/* Testimonials */
.testimonials-section {
    padding: 80px 0;
    background: var(--bg-light);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.review-card {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    border-left: 4px solid var(--electric-yellow);
}

.review-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.review-rating {
    color: var(--electric-orange);
    font-size: 20px;
}

/* Animations supplémentaires */
@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Utility Classes */
.text-center {
    text-align: center;
}

.mb-20 {
    margin-bottom: 20px;
}

.mt-20 {
    margin-top: 20px;
}

.p-20 {
    padding: 20px;
}

.hidden {
    display: none;
}

/* Print Styles */
@media print {

    .site-header,
    .fixed-call-button,
    .blog-link {
        display: none;
    }
}


/* Missing Styles - Hero Section Additional Elements */
.hero-main {
    position: relative;
    background: linear-gradient(135deg, var(--electric-light) 0%, white 100%);
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.hero-pattern {
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(45deg,
            transparent,
            transparent 35px,
            rgba(0, 86, 179, 0.03) 35px,
            rgba(0, 86, 179, 0.03) 70px);
}

.hero-left {
    flex: 1;
}

.hero-right {
    flex: 1;
}

.hero-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--electric-orange);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
}

.title-line {
    display: block;
    font-size: 42px;
    line-height: 1.2;
    color: var(--electric-dark);
}

.hero-description {
    font-size: 16px;
    color: var(--text-light);
    margin: 15px 0;
    line-height: 1.5;
}

/* Hero Price Info */
.hero-price-info {
    display: flex;
    gap: 20px;
    margin: 30px 0;
}

.price-box {
    background: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: var(--shadow-md);
    flex: 1;
    text-align: center;
    border: 2px solid var(--electric-yellow);
}

.price-label {
    display: block;
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 5px;
}

.price-value {
    display: block;
    font-size: 36px;
    font-weight: bold;
    color: var(--electric-orange);
    margin: 10px 0;
}

.price-detail {
    display: block;
    font-size: 12px;
    color: var(--text-light);
}

.guarantee-box {
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    padding: 20px;
    border-radius: 12px;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    color: white;
}

.guarantee-icon {
    font-size: 36px;
}

.guarantee-text h4 {
    font-size: 16px;
    margin-bottom: 5px;
}

.guarantee-text p {
    font-size: 14px;
    opacity: 0.9;
}

/* Contact Card Elements */
.contact-header {
    text-align: center;
    margin-bottom: 20px;
}

.availability-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #4caf50;
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
}

.availability-dot {
    width: 10px;
    height: 10px;
    background: white;
    border-radius: 50%;
    animation: blink 1s infinite;
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

.phone-display {
    margin: 20px 0;
}

.phone-icon-wrapper {
    width: 50px;
    height: 50px;
    background: var(--electric-yellow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.phone-icon-wrapper svg {
    width: 24px;
    height: 24px;
    color: var(--electric-dark);
}

.phone-text {
    flex: 1;
}

.phone-label {
    display: block;
    font-size: 14px;
    color: white;
    margin-bottom: 5px;
}

.divider-text {
    text-align: center;
    margin: 20px 0;
    position: relative;
    color: var(--text-light);
}

.divider-text::before,
.divider-text::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background: var(--bg-light);
}

.divider-text::before {
    left: 0;
}

.divider-text::after {
    right: 0;
}

.form-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px;
    background: var(--electric-blue);
    color: white;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.form-button:hover {
    background: var(--electric-dark);
    transform: translateY(-2px);
    color: white;
}

.trust-indicators {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--bg-light);
}

.trust-item {
    text-align: center;
}

.trust-item strong {
    display: block;
    font-size: 18px;
    color: var(--electric-blue);
    margin-bottom: 5px;
}

.trust-item span {
    font-size: 12px;
    color: var(--text-light);
}

/* Section Subtitle */
.section-subtitle {
    text-align: center;
    font-size: 18px;
    color: var(--text-light);
    margin-bottom: 40px;
}


/* Tableau Moderne Section */
.tableau-modern-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, white 50%, #f0f7ff 100%);
    position: relative;
    overflow: hidden;
}

.tableau-modern-section::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 70%);
    opacity: 0.05;
    animation: rotate 30s linear infinite;
}

.tableau-modern-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Hero Section */
.tableau-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}

.tableau-hero-content {
    position: relative;
}

.tableau-badge-premium {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, var(--electric-yellow), var(--electric-orange));
    color: var(--electric-dark);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
    animation: pulse 2s infinite;
}

.tableau-title {
    font-size: 48px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.title-line-1 {
    display: block;
    color: var(--electric-dark);
    font-weight: 300;
}

.title-line-2 {
    display: block;
    background: linear-gradient(90deg, var(--electric-blue) 0%, var(--electric-orange) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: bold;
}

.tableau-subtitle {
    font-size: 20px;
    color: var(--text-light);
    line-height: 1.6;
}

.tableau-hero-visual {
    position: relative;
}

.visual-container {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 86, 179, 0.15);
}

.visual-container img {
    width: 100%;
    height: auto;
    display: block;
}

.visual-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.7) 100%);
}

.price-tag-modern {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background: white;
    padding: 20px 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.price-from {
    font-size: 14px;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.price-value {
    font-size: 36px;
    font-weight: bold;
    color: var(--electric-blue);
    margin: 5px 0;
}

.price-tva {
    font-size: 12px;
    color: var(--text-light);
}

/* Stats Bar */
.tableau-stats-bar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.08);
    margin-bottom: 60px;
}

.stat-item-modern {
    text-align: center;
}

.stat-value {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: var(--electric-blue);
    margin-bottom: 5px;
}

.stat-label {
    display: block;
    font-size: 14px;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.stat-divider {
    width: 1px;
    height: 50px;
    background: linear-gradient(to bottom, transparent, #e0e0e0, transparent);
}

/* Features Grid */
.tableau-features {
    margin-bottom: 60px;
}

.features-title {
    text-align: center;
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 40px;
}

.features-modern-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.feature-card-modern {
    background: white;
    border-radius: 20px;
    padding: 30px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.feature-card-modern:hover {
    border-color: var(--electric-yellow);
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 86, 179, 0.15);
}

.feature-icon-wrapper {
    margin-bottom: 20px;
}

.feature-card-modern h4 {
    font-size: 20px;
    color: var(--electric-dark);
    margin-bottom: 15px;
}

.feature-card-modern p {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 15px;
}

.feature-badge {
    display: inline-block;
    background: var(--electric-light);
    color: var(--electric-blue);
    padding: 5px 15px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

/* Process Timeline Ultra Modern */
.process-ultra-modern {
    padding: 60px 40px;
    background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%);
    border-radius: 30px;
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
}

.process-ultra-modern::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 60%);
    opacity: 0.08;
}

.process-header-new {
    text-align: center;
    margin-bottom: 50px;
}

.process-title-new {
    font-size: 42px;
    color: var(--electric-dark);
    margin-bottom: 10px;
    font-weight: bold;
}

.process-subtitle-new {
    font-size: 18px;
    color: var(--text-light);
    opacity: 0.9;
}

.process-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 50px;
    position: relative;
}

.process-card-new {
    background: white;
    border-radius: 20px;
    padding: 30px;
    position: relative;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 2px solid transparent;
    overflow: hidden;
}

.process-card-new::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.process-card-new:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 60px rgba(0, 86, 179, 0.2);
    border-color: var(--electric-yellow);
}

.process-card-new:hover::before {
    transform: scaleX(1);
}

.card-top {
    position: relative;
    margin-bottom: 25px;
}

.step-icon-circle {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--electric-light) 0%, white 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    color: var(--electric-blue);
}

.step-icon-circle::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--electric-yellow);
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
    z-index: -1;
}

.process-card-new:hover .step-icon-circle::after {
    opacity: 0.2;
    transform: scale(1.2);
}

.step-badge {
    position: absolute;
    top: -5px;
    right: 20px;
    background: var(--electric-orange);
    color: white;
    padding: 5px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: bold;
    animation: pulse 2s infinite;
}

.card-content {
    text-align: center;
}

.step-label {
    display: inline-block;
    background: var(--electric-light);
    color: var(--electric-blue);
    padding: 4px 12px;
    border-radius: 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
    font-weight: bold;
}

.step-title {
    font-size: 22px;
    color: var(--electric-dark);
    margin-bottom: 12px;
    font-weight: bold;
}

.step-description {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.6;
    margin-bottom: 20px;
}

.step-features {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}

.feature-tag {
    display: inline-block;
    background: #f0f7ff;
    color: var(--electric-blue);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    border: 1px solid var(--electric-light);
}

.card-arrow {
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    opacity: 0.5;
    animation: slideRight 2s infinite;
}

.process-card-new:last-child .card-arrow {
    display: none;
}

@keyframes slideRight {

    0%,
    100% {
        transform: translateY(-50%) translateX(0);
    }

    50% {
        transform: translateY(-50%) translateX(5px);
    }
}

/* Timeline Visual */
.process-timeline-visual {
    margin-top: 40px;
    padding: 30px;
    background: white;
    border-radius: 20px;
}

.timeline-track {
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
}

.timeline-track::before {
    content: '';
    position: absolute;
    left: 60px;
    right: 60px;
    height: 4px;
    background: #e0e0e0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 2px;
}

.timeline-progress-bar {
    position: absolute;
    left: 60px;
    width: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--electric-yellow) 0%, var(--electric-blue) 100%);
    top: 50%;
    transform: translateY(-50%);
    border-radius: 2px;
    animation: progressGrow 3s ease-out forwards;
}

@keyframes progressGrow {
    to {
        width: calc(100% - 120px);
    }
}

.timeline-dot {
    width: 40px;
    height: 40px;
    background: white;
    border: 3px solid #e0e0e0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: var(--text-light);
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.timeline-dot[data-step="1"] {
    animation: activateDot 0.5s ease forwards;
}

.timeline-dot[data-step="2"] {
    animation: activateDot 0.5s ease 0.8s forwards;
}

.timeline-dot[data-step="3"] {
    animation: activateDot 0.5s ease 1.6s forwards;
}

.timeline-dot[data-step="4"] {
    animation: activateDot 0.5s ease 2.4s forwards;
}

@keyframes activateDot {
    to {
        background: var(--electric-blue);
        border-color: var(--electric-blue);
        color: white;
        transform: scale(1.1);
    }
}

/* Old Process Timeline Styles (for backward compatibility) */
.tableau-process {
    background: white;
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 60px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.08);
}

.process-title {
    text-align: center;
    font-size: 32px;
    color: var(--electric-dark);
    margin-bottom: 40px;
}

.process-timeline-modern {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 20px 0;
}

.timeline-progress {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg, var(--electric-yellow) 0%, var(--electric-blue) 100%);
    transform: translateY(-50%);
    z-index: 1;
}

.timeline-step-modern {
    position: relative;
    text-align: center;
    flex: 1;
    z-index: 2;
}

.step-number {
    width: 60px;
    height: 60px;
    background: white;
    border: 3px solid var(--electric-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 20px;
    font-weight: bold;
    color: var(--electric-blue);
    position: relative;
}

.step-content h4 {
    font-size: 18px;
    color: var(--electric-dark);
    margin-bottom: 8px;
}

.step-content p {
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 10px;
}

.step-time {
    display: inline-block;
    background: var(--electric-light);
    color: var(--electric-blue);
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: bold;
}

/* ========================================
   MISE AUX NORMES ÉLECTRIQUES - STYLES COMPLETS
   ======================================== */

/* Section principale */
.normes-professional {
    padding: 100px 0 80px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.normes-professional::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.normes-professional::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -15%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(0, 86, 179, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

/* Container */
.normes-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

/* Hero Section avec Grid */
.normes-hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 80px;
}

/* Content Column */
.normes-content {
    padding-right: 20px;
}

/* Badge Normes 2024 */
.normes-badge-top {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #0056b3 0%, #004494 100%);
    color: white;
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(0, 86, 179, 0.3);
}

.badge-year {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 700;
}

/* Titre Principal */
.normes-main-title {
    font-size: 48px;
    line-height: 1.2;
    color: #1a2332;
    margin-bottom: 25px;
    font-weight: 700;
}

.normes-main-title .highlight {
    color: #ff6b35;
    display: block;
    margin-top: 10px;
    font-size: 42px;
}

/* Introduction */
.normes-intro {
    font-size: 18px;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 35px;
}

.normes-intro strong {
    color: #dc3545;
    font-weight: 700;
}

/* Statistiques Grid */
.normes-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.stat-box {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    padding: 20px;
    border-radius: 15px;
    text-align: center;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.stat-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #ffc107 0%, #ff6b35 100%);
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.stat-box:hover::before {
    transform: scaleX(1);
}

.stat-box:hover {
    border-color: #ffc107;
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.stat-number {
    display: block;
    font-size: 36px;
    font-weight: 700;
    color: #0056b3;
    margin-bottom: 5px;
}

.stat-label {
    font-size: 13px;
    color: #6c757d;
    line-height: 1.4;
    font-weight: 500;
}

/* Actions d'urgence */
.emergency-actions {
    text-align: center;
    margin-top: 40px;
}

.btn-emergency {
    display: inline-block;
    background: linear-gradient(135deg, #ff6b35 0%, #ff4444 100%);
    color: white;
    padding: 18px 40px;
    border-radius: 35px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(255, 107, 53, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.btn-emergency::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.btn-emergency:hover::before {
    width: 300px;
    height: 300px;
}

.btn-emergency:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 107, 53, 0.4);
}

.availability {
    margin-top: 15px;
    font-size: 14px;
    color: #6c757d;
    font-style: italic;
}

/* Visual Column avec Image */
.normes-visual {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
    background: white;
}

.normes-visual img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.normes-visual:hover img {
    transform: scale(1.05);
}

.image-overlay {
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    z-index: 2;
}

.overlay-badge {
    background: white;
    padding: 15px 25px;
    border-radius: 15px;
    display: inline-block;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

.overlay-badge span {
    display: block;
    font-weight: 700;
    color: #0056b3;
    font-size: 18px;
}

.overlay-text {
    font-size: 12px;
    color: white;
    margin-top: 5px;
    font-weight: 500;
}

/* ========================================
   CRITICAL SECTION - POURQUOI C'EST CRITIQUE
   ======================================== */

.critical-section {
    background: linear-gradient(135deg, #fff5f5 0%, #ffffff 100%);
    padding: 80px 0;
    margin: 80px 0;
    position: relative;
    overflow: hidden;
}

.critical-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #dc3545 0%, #ff6b35 50%, #ffc107 100%);
    animation: dangerPulse 3s ease-in-out infinite;
}

@keyframes dangerPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.6;
    }
}

.critical-section::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -200px;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(220, 53, 69, 0.05) 0%, transparent 70%);
    border-radius: 50%;
}

.section-title {
    text-align: center;
    font-size: 42px;
    color: #1a2332;
    margin-bottom: 60px;
    font-weight: 700;
    line-height: 1.2;
}

.section-title .text-danger {
    color: #dc3545;
    display: inline-block;
    position: relative;
    font-size: 48px;
    animation: criticalBounce 2s ease-in-out infinite;
}

@keyframes criticalBounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.section-title .text-danger::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #dc3545 0%, #ff6b35 100%);
    animation: underlineFlow 3s ease-in-out infinite;
}

@keyframes underlineFlow {

    0%,
    100% {
        transform: scaleX(1);
    }

    50% {
        transform: scaleX(1.1);
    }
}

.critical-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 60px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.critical-text {
    padding-right: 30px;
}

.lead-text {
    font-size: 20px;
    line-height: 1.8;
    color: #495057;
    margin-bottom: 30px;
    padding-left: 20px;
    border-left: 4px solid #dc3545;
}

.critical-text h4 {
    font-size: 26px;
    color: #1a2332;
    margin: 35px 0 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.critical-text h4::before {
    content: '⚠️';
    font-size: 28px;
    animation: warningBlink 2s ease-in-out infinite;
}

@keyframes warningBlink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.danger-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.danger-list li {
    padding: 18px 0;
    border-bottom: 1px solid rgba(220, 53, 69, 0.1);
    line-height: 1.6;
    color: #495057;
    position: relative;
    padding-left: 35px;
    transition: all 0.3s ease;
}

.danger-list li:hover {
    padding-left: 40px;
    color: #212529;
}

.danger-list li::before {
    content: '⚡';
    position: absolute;
    left: 0;
    top: 18px;
    font-size: 20px;
    color: #ff6b35;
    animation: electricShock 3s ease-in-out infinite;
}

@keyframes electricShock {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(2px);
    }

    75% {
        transform: translateX(-2px);
    }
}

.danger-list strong {
    color: #dc3545;
    font-weight: 600;
}

.warning-box {
    background: linear-gradient(135deg, #dc3545 0%, #ff6b35 100%);
    color: white;
    padding: 30px;
    border-radius: 20px;
    margin: 40px 0;
    box-shadow: 0 10px 30px rgba(220, 53, 69, 0.3);
    position: relative;
    overflow: hidden;
}

.warning-box::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 40%);
    animation: rotate 20s linear infinite;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.warning-box h4 {
    color: white;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.warning-box p {
    margin: 0;
    line-height: 1.6;
    position: relative;
    z-index: 1;
    font-size: 16px;
}

.critical-checklist {
    background: white;
    padding: 35px;
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 100px;
    border: 2px solid #e9ecef;
}

.critical-checklist h4 {
    margin-top: 0;
    color: #1a2332;
    font-size: 22px;
    margin-bottom: 25px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.critical-checklist h4::before {
    content: '📋';
    font-size: 24px;
}

.checklist-grid {
    display: grid;
    gap: 15px;
    margin-bottom: 25px;
}

.check-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.check-item:hover {
    background: #fff3cd;
    border-color: #ffc107;
    transform: translateX(5px);
}

.check-item input[type="checkbox"] {
    width: 22px;
    height: 22px;
    cursor: pointer;
    accent-color: #dc3545;
}

.check-item label {
    cursor: pointer;
    font-size: 15px;
    color: #495057;
    flex: 1;
    margin: 0;
}

.check-item:has(input:checked) {
    background: #d4edda;
    border-color: #28a745;
}

.check-item:has(input:checked) label {
    color: #155724;
    font-weight: 500;
}

.checklist-result {
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border: 2px solid #ffc107;
    padding: 18px;
    border-radius: 12px;
    text-align: center;
    font-weight: 600;
    color: #856404;
    font-size: 15px;
    animation: resultPulse 2s ease-in-out infinite;
}

@keyframes resultPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

/* Responsive pour Critical Section */
@media (max-width: 1024px) {
    .critical-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .critical-text {
        padding-right: 0;
    }

    .critical-checklist {
        position: static;
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .critical-section {
        padding: 60px 0;
        margin: 60px 0;
    }

    .section-title {
        font-size: 32px;
    }

    .section-title .text-danger {
        font-size: 36px;
    }

    .lead-text {
        font-size: 18px;
        padding-left: 15px;
    }

    .critical-text h4 {
        font-size: 22px;
    }

    .danger-list li {
        padding: 15px 0;
        padding-left: 30px;
    }

    .warning-box {
        padding: 25px;
    }

    .warning-box h4 {
        font-size: 20px;
    }

    .critical-checklist {
        padding: 25px;
    }
}

@media (max-width: 480px) {
    .critical-section {
        padding: 40px 0;
        margin: 40px 0;
    }

    .section-title {
        font-size: 26px;
        margin-bottom: 40px;
    }

    .section-title .text-danger {
        font-size: 28px;
        display: block;
        margin-top: 10px;
    }

    .lead-text {
        font-size: 16px;
    }

    .critical-text h4 {
        font-size: 20px;
    }

    .danger-list li {
        font-size: 15px;
    }

    .warning-box {
        padding: 20px;
    }

    .check-item {
        padding: 10px;
    }

    .check-item label {
        font-size: 14px;
    }
}

/* Additional Critical Section Styles */
.normes-critical {
    background: white;
    border-radius: 20px;
    padding: 60px;
    margin-bottom: 60px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.normes-critical h3 {
    font-size: 32px;
    color: #dc3545;
    margin-bottom: 40px;
    text-align: center;
    font-weight: 700;
}

.normes-dangers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
}

.normes-danger-list h4 {
    color: #212529;
    font-size: 22px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.normes-danger-list h4::before {
    content: '⚠️';
    font-size: 24px;
}

.normes-danger-list ul {
    list-style: none;
    padding: 0;
}

.normes-danger-list li {
    padding: 12px 0;
    padding-left: 30px;
    position: relative;
    color: #495057;
    line-height: 1.6;
}

.normes-danger-list li::before {
    content: '⚡';
    position: absolute;
    left: 0;
    color: #ffc107;
    font-size: 18px;
}

.normes-checklist {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    padding: 30px;
    border-radius: 15px;
    border: 2px solid #e9ecef;
}

.normes-checklist h4 {
    color: #212529;
    font-size: 22px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.normes-checklist h4::before {
    content: '✔️';
    font-size: 24px;
}

.checklist-items {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.checklist-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: white;
    border-radius: 10px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.checklist-item:hover {
    background: #fff3cd;
    transform: translateX(10px);
}

.checklist-checkbox {
    width: 24px;
    height: 24px;
    border: 2px solid #ffc107;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.checklist-item:hover .checklist-checkbox {
    background: #ffc107;
}

.checklist-item:hover .checklist-checkbox::after {
    content: '✓';
    color: white;
    font-weight: 700;
}

/* Statistics */
.normes-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 2px solid #e9ecef;
}

.stat-card {
    text-align: center;
}

.stat-number {
    font-size: 36px;
    font-weight: 700;
    color: #dc3545;
    margin-bottom: 10px;
}

.stat-label {
    color: #6c757d;
    font-size: 14px;
}

/* ========================================
   NOTRE SOLUTION COMPLÈTE - SECTION STYLES
   Suivant strictement les règles de CLAUDE.md
   ======================================== */

.solution-section {
    padding: 100px 0 80px;
    background: linear-gradient(135deg, var(--bg-white) 0%, var(--bg-light) 100%);
    position: relative;
    overflow: hidden;
}

/* Décoration de fond avec les couleurs du site */
.solution-section::before {
    content: '';
    position: absolute;
    top: -30%;
    left: -15%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(0, 86, 179, 0.03) 0%, transparent 70%);
    border-radius: 50%;
}

.solution-section::after {
    content: '';
    position: absolute;
    bottom: -20%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.03) 0%, transparent 70%);
    border-radius: 50%;
}

/* Titre principal avec COMPLÈTE en vert */
.solution-section .section-title {
    text-align: center;
    font-size: 48px;
    color: var(--electric-dark);
    margin-bottom: 20px;
    font-weight: 700;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}

.solution-section .section-title .text-success {
    color: #28a745;
    display: inline-block;
    position: relative;
    font-size: 52px;
    font-weight: 800;
}

/* Sous-titre descriptif */
.solution-subtitle {
    text-align: center;
    font-size: 20px;
    color: var(--text-light);
    max-width: 800px;
    margin: 0 auto 60px;
    line-height: 1.6;
}

/* Container pour centrer le contenu */
.solution-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Grille des cartes solutions */
.solution-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-bottom: 60px;
}

/* Carte solution individuelle */
.solution-card {
    background: var(--bg-white);
    border-radius: 20px;
    padding: 35px 30px;
    position: relative;
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    border: 2px solid transparent;
    overflow: visible;
}

/* Numéro de carte */
.card-number {
    position: absolute;
    top: -18px;
    left: 30px;
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, var(--electric-blue) 0%, var(--electric-dark) 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 20px;
    box-shadow: 0 5px 15px rgba(0, 86, 179, 0.3);
    z-index: 2;
}

/* Hover effet sur les cartes */
.solution-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: var(--electric-yellow);
}

.solution-card:hover .card-number {
    animation: numberRotate 0.5s ease;
}

@keyframes numberRotate {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(180deg) scale(1.1);
    }

    100% {
        transform: rotate(360deg) scale(1);
    }
}

/* Titre de la carte */
.solution-card h4 {
    font-size: 24px;
    color: var(--electric-dark);
    margin: 25px 0 15px;
    font-weight: 600;
    padding-top: 10px;
}

/* Description de la carte */
.solution-card p {
    color: var(--text-color);
    line-height: 1.7;
    margin-bottom: 20px;
    font-size: 16px;
}

/* Liste des éléments dans la carte */
.solution-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.solution-card li {
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
    color: var(--text-light);
    font-size: 15px;
    line-height: 1.5;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: var(--transition);
}

.solution-card li:last-child {
    border-bottom: none;
}

/* Icône check pour chaque élément de liste */
.solution-card li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--electric-yellow);
    font-weight: 700;
    font-size: 18px;
}

/* Hover sur les éléments de liste */
.solution-card:hover li {
    padding-left: 35px;
    color: var(--text-color);
}

/* Badge de durée */
.card-duration {
    display: inline-block;
    background: linear-gradient(135deg, var(--electric-light) 0%, #e3f2fd 100%);
    color: var(--electric-blue);
    padding: 8px 18px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
}

/* Barre de progression entre les cartes (optionnel) */
.solution-progress {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 60px 0;
    position: relative;
}

.progress-line {
    position: absolute;
    top: 50%;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg,
            var(--electric-yellow) 0%,
            var(--electric-blue) 50%,
            #28a745 100%);
    transform: translateY(-50%);
    z-index: 0;
}

.progress-step {
    width: 40px;
    height: 40px;
    background: white;
    border: 3px solid var(--electric-yellow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--electric-dark);
    z-index: 1;
    position: relative;
}

/* CTA en bas de section */
.solution-cta {
    text-align: center;
    margin-top: 60px;
    padding: 40px;
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.1) 0%, rgba(0, 86, 179, 0.05) 100%);
    border-radius: 25px;
}

.solution-cta h4 {
    font-size: 28px;
    color: var(--electric-dark);
    margin-bottom: 20px;
    font-weight: 600;
}

.solution-cta p {
    font-size: 18px;
    color: var(--text-color);
    margin-bottom: 30px;
}

.btn-solution {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    color: var(--electric-dark);
    padding: 18px 40px;
    border-radius: 35px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.3);
    transition: var(--transition);
}

.btn-solution:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 193, 7, 0.4);
}

/* ========================================
   RESPONSIVE - SOLUTION SECTION
   Suivant les règles d'adaptation du CLAUDE.md
   ======================================== */

/* Tablettes */
@media (max-width: 1024px) {
    .solution-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .solution-section .section-title {
        font-size: 40px;
    }

    .solution-section .section-title .text-success {
        font-size: 44px;
    }
}

/* Mobiles */
@media (max-width: 768px) {
    .solution-section {
        padding: 80px 0 60px;
    }

    .solution-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .solution-section .section-title {
        font-size: 32px;
    }

    .solution-section .section-title .text-success {
        font-size: 36px;
        display: block;
        margin-top: 10px;
    }

    .solution-subtitle {
        font-size: 18px;
        margin-bottom: 40px;
    }

    .solution-card {
        padding: 30px 25px;
    }

    .solution-card h4 {
        font-size: 22px;
    }

    .solution-cta {
        padding: 30px 20px;
    }

    .btn-solution {
        width: 100%;
        justify-content: center;
        max-width: 300px;
        margin: 0 auto;
    }
}

/* Petits mobiles - OBLIGATOIRE jusqu'à 375px selon CLAUDE.md */
@media (max-width: 480px) {
    .solution-section {
        padding: 60px 0 40px;
    }

    .solution-section .section-title {
        font-size: 26px;
        margin-bottom: 15px;
    }

    .solution-section .section-title .text-success {
        font-size: 28px;
    }

    .solution-subtitle {
        font-size: 16px;
        padding: 0 15px;
    }

    .solution-card {
        padding: 25px 20px;
        margin: 0 10px;
    }

    .card-number {
        width: 40px;
        height: 40px;
        font-size: 18px;
        top: -15px;
        left: 20px;
    }

    .solution-card h4 {
        font-size: 20px;
        margin-top: 20px;
    }

    .solution-card p {
        font-size: 15px;
    }

    .solution-card li {
        font-size: 14px;
        padding: 8px 0;
        padding-left: 25px;
    }

    .card-duration {
        font-size: 13px;
        padding: 6px 15px;
    }

    .solution-cta h4 {
        font-size: 24px;
    }

    .solution-cta p {
        font-size: 16px;
    }

    .btn-solution {
        font-size: 16px;
        padding: 15px 30px;
    }
}

/* Support pour iPhone SE et très petits écrans (375px) */
@media (max-width: 375px) {
    .solution-container {
        padding: 0 15px;
    }

    .solution-card {
        margin: 0 5px;
    }
}

/* ========================================
   INVESTISSEMENT POUR VOTRE SÉCURITÉ - PRICING SECTION
   Suivant strictement CLAUDE.md et le design du site
   ======================================== */

/* Section Pricing Detailed */
.pricing-detailed {
    background: linear-gradient(to bottom, var(--bg-light) 0%, var(--bg-white) 100%);
    padding: 100px 0 80px;
    margin: 0 -20px;
    position: relative;
    overflow: hidden;
}

/* Décoration de fond avec les couleurs électriques */
.pricing-detailed::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.05) 0%, transparent 70%);
    border-radius: 50%;
    animation: floatSlow 20s ease-in-out infinite;
}

@keyframes floatSlow {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg);
    }

    50% {
        transform: translate(-30px, -30px) rotate(180deg);
    }
}

.pricing-detailed::after {
    content: '';
    position: absolute;
    bottom: -15%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(0, 86, 179, 0.03) 0%, transparent 70%);
    border-radius: 50%;
}

/* Titre principal */
.pricing-detailed .section-title {
    text-align: center;
    font-size: 48px;
    color: var(--electric-dark);
    margin-bottom: 30px;
    font-weight: 700;
    line-height: 1.2;
    position: relative;
    z-index: 1;
}

/* Introduction du pricing */
.pricing-intro {
    max-width: 800px;
    margin: 0 auto 60px;
    text-align: center;
    padding: 0 20px;
}

.pricing-intro p {
    font-size: 20px;
    color: var(--text-color);
    line-height: 1.7;
    font-weight: 400;
}

/* Tableau des tarifs */
.pricing-table {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

/* Carte de tarif individuelle */
.pricing-card {
    background: var(--bg-white);
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    position: relative;
    transition: var(--transition);
    border: 2px solid transparent;
}

/* Carte Basic */
.pricing-card.basic {
    border-color: #e9ecef;
}

/* Carte Recommandée (featured) */
.pricing-card.recommended {
    transform: scale(1.05);
    border: 3px solid var(--electric-yellow);
    box-shadow: 0 20px 60px rgba(255, 193, 7, 0.25);
}

/* Carte Premium */
.pricing-card.premium {
    border-color: #e9ecef;
}

/* Badge Recommandé */
.pricing-badge {
    position: absolute;
    top: 24px;
    right: -92px;
    background: linear-gradient(135deg, var(--electric-orange) 0%, #ff4444 100%);
    color: white;
    padding: 5px 45px;
    transform: rotate(45deg);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    z-index: 2;
}


.pricing-card.basic .pricing-header {
    background: #fff;
}



.pricing-header h4 {
    font-size: 26px;
    margin-bottom: 10px;
    font-weight: 700;
}

.pricing-desc {
    font-size: 15px;
    opacity: 0.95;
    line-height: 1.4;
}

/* Body de la carte */
.pricing-body {
    padding: 35px 30px;
}

/* Prix */
.price-tag {
    text-align: center;
    padding: 25px 0;
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 30px;
}

.price-from {
    display: block;
    font-size: 14px;
    color: var(--text-light);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.price-value {
    font-size: 54px;
    font-weight: 800;
    color: var(--electric-blue);
    line-height: 1;
    position: relative;
}

.pricing-card.recommended .price-value {
    color: var(--electric-orange);
}

.pricing-card.premium .price-value {
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.price-tva {
    display: block;
    font-size: 13px;
    color: var(--text-light);
    margin-top: 8px;
    font-style: italic;
}

/* Liste des caractéristiques */
.pricing-features {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.pricing-features li {
    padding: 14px 0;
    padding-left: 35px;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    font-size: 15px;
    color: var(--text-color);
    line-height: 1.5;
    transition: var(--transition);
}

.pricing-features li:last-child {
    border-bottom: none;
}

.pricing-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #28a745;
    font-weight: 700;
    font-size: 20px;
}

/* Hover effet sur les features */
.pricing-card:hover .pricing-features li {
    padding-left: 40px;
}

/* Footer de la carte */
.pricing-footer {
    padding-top: 25px;
    border-top: 2px solid #f0f0f0;
}

.ideal-for {
    color: #28a745;
    font-weight: 600;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
}

.ideal-for::before {
    content: '👍';
    font-size: 18px;
}

.warranty {
    font-size: 14px;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 8px;
    font-style: italic;
}

.warranty::before {
    content: '🛡️';
    font-size: 16px;
}

/* Bouton CTA */
.pricing-card .btn-pricing {
    display: block;
    width: 100%;
    padding: 18px;
    background: linear-gradient(135deg, var(--electric-yellow) 0%, var(--electric-orange) 100%);
    color: var(--electric-dark);
    text-align: center;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    font-size: 17px;
    margin-top: 25px;
    transition: var(--transition);
    box-shadow: 0 5px 20px rgba(255, 193, 7, 0.3);
}

.pricing-card.recommended .btn-pricing {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    box-shadow: 0 5px 20px rgba(40, 167, 69, 0.3);
}

.btn-pricing:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4);
}

/* Hover sur les cartes */
.pricing-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
}

.pricing-card.recommended:hover {
    transform: scale(1.07) translateY(-10px);
    box-shadow: 0 25px 60px rgba(255, 193, 7, 0.3);
}

/* Section info supplémentaire */
.pricing-info {
    max-width: 900px;
    margin: 60px auto 0;
    text-align: center;
    padding: 40px;
    background: linear-gradient(135deg, rgba(0, 86, 179, 0.05) 0%, rgba(255, 193, 7, 0.05) 100%);
    border-radius: 20px;
}

.pricing-info h4 {
    font-size: 24px;
    color: var(--electric-dark);
    margin-bottom: 20px;
    font-weight: 600;
}

.pricing-info p {
    font-size: 16px;
    color: var(--text-color);
    line-height: 1.6;
}

/* ========================================
   RESPONSIVE - PRICING SECTION
   OBLIGATOIRE selon CLAUDE.md
   ======================================== */

/* Tablettes */
@media (max-width: 1024px) {
    .pricing-table {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .pricing-card.recommended {
        transform: scale(1);
    }

    .pricing-detailed .section-title {
        font-size: 40px;
    }
}

/* Mobiles */
@media (max-width: 768px) {
    .pricing-detailed {
        padding: 80px 0 60px;
    }

    .pricing-detailed .section-title {
        font-size: 32px;
    }

    .pricing-intro p {
        font-size: 18px;
    }

    .pricing-header {
        padding: 30px 25px;
    }

    .pricing-header h4 {
        font-size: 24px;
    }

    .price-value {
        font-size: 46px;
    }

    .price-value::before {
        font-size: 28px;
        right: -30px;
    }

    .pricing-body {
        padding: 30px 25px;
    }

    .pricing-features li {
        font-size: 14px;
        padding: 12px 0;
        padding-left: 30px;
    }
}

/* Petits mobiles - OBLIGATOIRE jusqu'à 375px */
@media (max-width: 480px) {
    .pricing-detailed {
        padding: 60px 0 40px;
    }

    .pricing-detailed .section-title {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .pricing-intro {
        margin-bottom: 40px;
    }

    .pricing-intro p {
        font-size: 16px;
        padding: 0 15px;
    }

    .pricing-table {
        padding: 0 15px;
        gap: 40px;
    }

    .pricing-card {
        border-radius: 20px;
    }

    .pricing-header {
        padding: 25px 20px;
    }

    .pricing-header h4 {
        font-size: 22px;
    }

    .pricing-desc {
        font-size: 14px;
    }

    .price-value {
        font-size: 38px;
    }

    .price-value::before {
        font-size: 24px;
        right: -25px;
        top: 3px;
    }

    .pricing-body {
        padding: 25px 20px;
    }

    .pricing-features li {
        padding: 10px 0;
        padding-left: 28px;
    }

    .pricing-features li::before {
        font-size: 18px;
    }

    .btn-pricing {
        padding: 15px;
        font-size: 16px;
    }

    .pricing-info {
        padding: 30px 20px;
        margin: 40px 15px 0;
    }

    .pricing-info h4 {
        font-size: 20px;
    }

    .pricing-info p {
        font-size: 15px;
    }
}

/* Support iPhone SE (375px) */
@media (max-width: 375px) {
    .pricing-table {
        padding: 0 10px;
    }

    .pricing-card {
        margin: 0 5px;
    }

    .price-value {
        font-size: 34px;
    }
}

/* Urgent CTA */
.normes-urgent-cta {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    border-radius: 20px;
    padding: 40px;
    text-align: center;
    color: white;
    position: relative;
    overflow: hidden;
}

.normes-urgent-cta::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 40%);
    transform: translate(-50%, -50%);
    animation: pulse-bg 3s ease-in-out infinite;
}

@keyframes pulse-bg {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        transform: translate(-50%, -50%) scale(1.1);
    }
}

.urgent-title {
    font-size: 36px;
    margin-bottom: 15px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.urgent-subtitle {
    font-size: 20px;
    margin-bottom: 30px;
    opacity: 0.95;
    position: relative;
    z-index: 1;
}

.urgent-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.btn-urgent-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: white;
    color: #dc3545;
    padding: 15px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    transition: all 0.3s ease;
}

.btn-urgent-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 255, 255, 0.3);
}

.btn-urgent-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: white;
    padding: 15px 40px;
    border: 2px solid white;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    transition: all 0.3s ease;
}

.btn-urgent-secondary:hover {
    background: white;
    color: #dc3545;
    transform: translateY(-3px);
}

/* ========================================
   SECTIONS ADDITIONNELLES - MISE AUX NORMES
   ======================================== */

/* Included Section */
.normes-included {
    background: linear-gradient(135deg, #ffffff 0%, #f0f7ff 100%);
    padding: 60px 0;
    margin: 0 -20px 60px;
    position: relative;
}

.included-title {
    text-align: center;
    font-size: 38px;
    color: #1a2332;
    margin-bottom: 50px;
    font-weight: 700;
}

.included-timeline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 40px 0;
    max-width: 1200px;
    margin: 0 auto;
}

.timeline-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 20px;
    background: white;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.timeline-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.timeline-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #f0f7ff 0%, white 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0056b3;
    flex-shrink: 0;
    font-size: 32px;
}

.timeline-content h4 {
    font-size: 20px;
    color: #1a2332;
    margin-bottom: 8px;
    font-weight: 600;
}

.timeline-content p {
    font-size: 14px;
    color: #6c757d;
    margin-bottom: 10px;
    line-height: 1.5;
}

.timeline-badge {
    display: inline-block;
    background: #ffc107;
    color: #1a2332;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.timeline-connector {
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, #ffc107 0%, #0056b3 100%);
    position: relative;
}

.timeline-connector::after {
    content: '→';
    position: absolute;
    right: -10px;
    top: -10px;
    color: #0056b3;
    font-size: 20px;
}

/* Check Section */
.normes-check-section {
    background: white;
    border-radius: 30px;
    padding: 60px;
    margin-bottom: 60px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
}

.check-title {
    text-align: center;
    margin-bottom: 50px;
}

.title-small {
    font-size: 16px;
    color: #ff6b35;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.title-big {
    font-size: 42px;
    color: #1a2332;
    font-weight: 700;
    line-height: 1.2;
}

.check-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.check-card {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 20px;
    padding: 30px;
    position: relative;
    border: 2px solid #e9ecef;
    transition: all 0.3s ease;
}

.check-card:hover {
    border-color: #ffc107;
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.check-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0;
    font-size: 32px;
}

.check-card h4 {
    font-size: 22px;
    color: #1a2332;
    margin-bottom: 15px;
    font-weight: 600;
}

.check-card p {
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 20px;
}

.check-list {
    list-style: none;
    padding: 0;
}

.check-list li {
    padding: 8px 0;
    padding-left: 25px;
    position: relative;
    color: #495057;
    font-size: 14px;
}

.check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #28a745;
    font-weight: 700;
}

/* Benefits Section */
.normes-benefits {
    background: linear-gradient(135deg, #1a2332 0%, #0056b3 100%);
    border-radius: 30px;
    padding: 60px;
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
}

.normes-benefits::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 193, 7, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.benefits-title {
    text-align: center;
    font-size: 38px;
    color: white;
    margin-bottom: 50px;
    font-weight: 700;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    position: relative;
    z-index: 1;
}

.benefit-item {
    text-align: center;
    padding: 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.benefit-item:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-5px);
}

.benefit-icon {
    font-size: 48px;
    margin-bottom: 15px;
    display: block;
}

.benefit-item h4 {
    font-size: 18px;
    color: white;
    margin-bottom: 10px;
    font-weight: 600;
}

.benefit-item p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
}

/* CTA Final Section */
.normes-cta {
    background: linear-gradient(135deg, #ff6b35 0%, #ffc107 100%);
    border-radius: 30px;
    padding: 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
}

.normes-cta::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
    background: white;
    border-radius: 50%;
    opacity: 0.1;
}

.cta-content {
    position: relative;
    z-index: 1;
}

.cta-content h3 {
    font-size: 42px;
    margin-bottom: 15px;
    color: white;
    font-weight: 700;
}

.cta-content p {
    font-size: 20px;
    margin-bottom: 40px;
    color: white;
    opacity: 0.95;
}

.cta-actions {
    display: flex;
    gap: 25px;
    justify-content: center;
    margin-bottom: 25px;
}

.cta-urgent {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #1a2332;
    color: white;
    padding: 18px 40px;
    border-radius: 35px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.cta-urgent:hover {
    background: #0056b3;
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
}

.cta-form {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: white;
    color: #1a2332;
    padding: 18px 40px;
    border-radius: 35px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cta-form:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.urgency-text {
    font-size: 16px;
    color: white;
    font-weight: 600;
    animation: urgencyPulse 2s infinite;
}

@keyframes urgencyPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.8;
        transform: scale(0.98);
    }
}

/* ========================================
   RESPONSIVE DESIGN - MISE AUX NORMES
   ======================================== */

/* Tablettes et petits écrans */
@media (max-width: 1024px) {
    .normes-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .normes-content {
        padding-right: 0;
    }

    .normes-visual {
        max-width: 600px;
        margin: 0 auto;
    }

    .normes-stats {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .solutions-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pricing-card.featured {
        transform: none;
    }

    .normes-dangers-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

/* Mobiles */
@media (max-width: 768px) {
    .normes-professional {
        padding: 80px 0 60px;
    }

    .normes-professional::before,
    .normes-professional::after {
        width: 300px;
        height: 300px;
    }

    .normes-main-title {
        font-size: 36px;
    }

    .normes-main-title .highlight {
        font-size: 32px;
    }

    .normes-intro {
        font-size: 16px;
    }

    .stat-number {
        font-size: 28px;
    }

    .btn-emergency {
        padding: 15px 30px;
        font-size: 16px;
    }

    .normes-critical {
        padding: 40px 20px;
    }

    .solutions-grid {
        grid-template-columns: 1fr;
    }

    .normes-pricing {
        padding: 40px 20px;
    }

    .urgent-buttons {
        flex-direction: column;
        align-items: center;
    }

    .btn-urgent-primary,
    .btn-urgent-secondary {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }
}

/* Petits mobiles */
@media (max-width: 480px) {
    .normes-professional {
        padding: 60px 0 40px;
    }

    .normes-main-title {
        font-size: 28px;
    }

    .normes-main-title .highlight {
        font-size: 24px;
    }

    .normes-badge-top {
        font-size: 12px;
        padding: 6px 15px;
    }

    .stat-box {
        padding: 15px;
    }

    .stat-number {
        font-size: 24px;
    }

    .stat-label {
        font-size: 12px;
    }

    .emergency-actions {
        margin-top: 30px;
    }

    .btn-emergency {
        width: 100%;
        max-width: 280px;
    }

    .overlay-badge {
        padding: 10px 15px;
    }

    .overlay-badge span {
        font-size: 14px;
    }

    .normes-critical h3 {
        font-size: 24px;
    }

    .solution-card {
        padding: 20px;
    }

    .pricing-type {
        font-size: 20px;
    }

    .pricing-price {
        font-size: 28px;
    }

    .urgent-title {
        font-size: 28px;
    }

    .urgent-subtitle {
        font-size: 16px;
    }
}

/* Additional sections responsive */
.included-timeline {
    flex-direction: column;
    gap: 20px;
}

.timeline-connector {
    display: none;
}

.check-grid {
    grid-template-columns: 1fr;
}

.benefits-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.cta-actions {
    flex-direction: column;
}

.cta-urgent,
.cta-form {
    width: 100%;
    justify-content: center;
}
}

@media (max-width: 480px) {
    .title-small {
        font-size: 20px;
    }

    .title-big {
        font-size: 28px;
    }

    .normes-description {
        font-size: 16px;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .normes-cta {
        padding: 30px 20px;
    }
}

/* Comparison Section */
.tableau-comparison {
    margin-bottom: 60px;
}

.comparison-title {
    text-align: center;
    font-size: 32px;
    color: var(--electric-dark);
    margin-bottom: 40px;
}

.comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.comparison-old,
.comparison-new {
    background: white;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.08);
}

.comparison-old {
    border: 2px solid #ff4444;
}

.comparison-new {
    border: 2px solid #44ff44;
}

.old-title {
    color: #ff4444;
    font-size: 24px;
    margin-bottom: 20px;
}

.new-title {
    color: #44ff44;
    font-size: 24px;
    margin-bottom: 20px;
}

.comparison-list {
    list-style: none;
    padding: 0;
}

.comparison-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.comparison-item:last-child {
    border-bottom: none;
}

.comparison-item .icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

.comparison-item.negative .icon {
    background: #ffeeee;
    color: #ff4444;
}

.comparison-item.positive .icon {
    background: #eeffee;
    color: #44ff44;
}

/* CTA Section */
.tableau-cta-section {
    background: linear-gradient(135deg, var(--electric-blue) 0%, var(--electric-dark) 100%);
    border-radius: 20px;
    padding: 60px;
    text-align: center;
    color: white;
    position: relative;
    overflow: hidden;
}

.tableau-cta-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--electric-yellow) 0%, transparent 60%);
    opacity: 0.1;
}

.cta-content-modern h3 {
    font-size: 36px;
    margin-bottom: 15px;
}

.cta-content-modern p {
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 30px;
}

.cta-buttons-modern {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;
}

.cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    transition: all 0.3s ease;
}

.cta-primary:hover {
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4);
}

.cta-secondary {
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: white;
    padding: 15px 30px;
    border: 2px solid white;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    transition: all 0.3s ease;
}

.cta-secondary:hover {
    background: white;
    color: var(--electric-blue) !important;
    transform: translateY(-3px);
}

.trust-indicators-modern {
    display: flex;
    gap: 30px;
    justify-content: center;
}

.trust-indicators-modern .indicator {
    font-size: 14px;
    opacity: 0.8;
}

/* Responsive Process Ultra Modern */
@media (max-width: 1024px) {
    .process-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }

    .card-arrow {
        display: none;
    }

    .process-card-new:nth-child(2) .card-arrow {
        display: block;
        right: 50%;
        top: auto;
        bottom: -25px;
        transform: translateX(50%) rotate(90deg);
    }
}

@media (max-width: 768px) {
    .process-ultra-modern {
        padding: 40px 20px;
    }

    .process-title-new {
        font-size: 32px;
    }

    .process-subtitle-new {
        font-size: 16px;
    }

    .process-cards-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .process-card-new {
        padding: 25px;
    }

    .step-icon-circle {
        width: 60px;
        height: 60px;
    }

    .step-icon-circle svg {
        width: 30px;
        height: 30px;
    }

    .step-title {
        font-size: 18px;
    }

    .step-description {
        font-size: 13px;
    }

    .timeline-track {
        padding: 0 20px;
    }

    .timeline-dot {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .process-title-new {
        font-size: 26px;
    }

    .step-features {
        flex-direction: column;
        align-items: center;
    }

    .feature-tag {
        width: 100%;
        text-align: center;
    }

    .process-timeline-visual {
        padding: 20px 10px;
    }
}

/* Responsive */
@media (max-width: 1024px) {
    .features-modern-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .tableau-hero {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .tableau-title {
        font-size: 36px;
    }

    .tableau-stats-bar {
        flex-wrap: wrap;
        gap: 20px;
    }

    .stat-divider {
        display: none;
    }

    .features-modern-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .process-timeline-modern {
        flex-direction: column;
        gap: 30px;
    }

    .timeline-progress {
        display: none;
    }

    .comparison-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .cta-buttons-modern {
        flex-direction: column;
    }

    .cta-primary,
    .cta-secondary {
        width: 100%;
        justify-content: center;
    }

    .trust-indicators-modern {
        flex-direction: column;
        gap: 10px;
    }

    .tableau-cta-section {
        padding: 40px 20px;
    }
}

@media (max-width: 480px) {
    .tableau-title {
        font-size: 28px;
    }

    .tableau-subtitle {
        font-size: 16px;
    }

    .stat-value {
        font-size: 24px;
    }

    .features-title {
        font-size: 28px;
    }

    .cta-content-modern h3 {
        font-size: 28px;
    }
}

/* Process Timeline */
.service-process {
    margin: 30px 0;
}

.process-timeline {
    position: relative;
    padding-left: 40px;
}

.process-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 20px;
    bottom: 20px;
    width: 2px;
    background: var(--electric-yellow);
}

.timeline-step {
    position: relative;
    margin-bottom: 30px;
}

.step-number {
    position: absolute;
    left: -40px;
    width: 30px;
    height: 30px;
    background: var(--electric-orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.step-content h4 {
    color: var(--electric-dark);
    margin-bottom: 5px;
}

.step-content p {
    color: var(--text-light);
    font-size: 14px;
}

/* CTA Buttons */
.service-cta-group {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}

.btn-primary,
.btn-secondary {
    padding: 15px 30px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition);
}

.btn-primary {
    background: linear-gradient(135deg, var(--electric-orange), var(--electric-yellow));
    color: white;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.btn-secondary {
    background: white;
    color: var(--electric-blue);
    border: 2px solid var(--electric-blue);
}

.btn-secondary:hover {
    background: var(--electric-blue);
    color: white;
}

/* Pricing Section Additional */
.pricing-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.pricing-header {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--bg-light);
}

.pricing-header h3 {
    font-size: 24px;
    margin-bottom: 10px;
    color: var(--electric-dark);
}

.period {
    font-size: 14px;
    color: var(--text-light);
}

.pricing-features {
    list-style: none;
    padding: 20px 0;
}

.pricing-features li {
    padding: 10px 0;
    position: relative;
    padding-left: 25px;
}

.pricing-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #4caf50;
    font-weight: bold;
}

.pricing-cta {
    display: block;
    width: 100%;
    padding: 15px;
    background: var(--electric-blue);
    color: white;
    text-align: center;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.pricing-cta:hover {
    background: var(--electric-orange);
    transform: translateY(-2px);
}

.pricing-card.featured .pricing-cta {
    background: var(--electric-yellow);
    color: var(--electric-dark);
}

.pricing-card.featured .pricing-cta:hover {
    background: var(--electric-orange);
    color: white;
    transform: translateY(-3px);
}

/* Basic карточка */
.pricing-card.basic {
    background: white;
    border: 2px solid #e9ecef;
}

.pricing-card.basic:hover {
    border-color: var(--electric-blue);
}

.pricing-card.basic .pricing-header h3 {
    color: var(--electric-dark);
}

.pricing-card.basic .amount {
    color: var(--electric-blue);
}

.pricing-card.basic .currency {
    color: var(--electric-blue);
}

.pricing-card.basic .pricing-features li {
    color: var(--text-dark);
}

.pricing-card.basic .pricing-cta {
    background: var(--electric-blue);
    color: white;
}

.pricing-card.basic .pricing-cta:hover {
    background: var(--electric-dark);
}

/* Premium карточка */
.pricing-card.premium {
    background: linear-gradient(135deg, var(--electric-dark) 0%, #1a2332 100%);
    border-color: var(--electric-orange);
    color: white;
}

.pricing-card.premium .pricing-header h3 {
    color: var(--electric-yellow);
    font-weight: 700;
}

.pricing-card.premium .amount {
    color: var(--electric-orange);
    font-weight: 700;
}

.pricing-card.premium .currency {
    color: var(--electric-orange);
}

.pricing-card.premium .period {
    color: rgba(255, 255, 255, 0.8);
}

.pricing-card.premium .pricing-features li {
    color: rgba(255, 255, 255, 0.95);
}

.pricing-card.premium .pricing-cta {
    background: var(--electric-orange);
    color: white;
}

.pricing-card.premium .pricing-cta:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
    transform: translateY(-3px);
}

/* Service Detail Grid */
.service-detail-grid {
    display: grid;
    gap: 40px;
}

.service-info-block {
    background: white;
    padding: 40px;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.service-title-large {
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 20px;
    border-left: 5px solid var(--electric-yellow);
    padding-left: 20px;
}

.service-intro {
    margin: 20px 0;
}

.lead-text {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-light);
}

.service-benefits {
    margin: 30px 0;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.benefit-card {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    transition: var(--transition);
}

.benefit-card:hover {
    background: var(--electric-light);
    transform: translateY(-5px);
}

.benefit-icon {
    font-size: 36px;
    display: block;
    margin-bottom: 10px;
}

/* Logo title specific */
.logo-title {
    font-size: 24px;
    font-weight: bold;
    color: white;
    margin: 0;
}

.logo-subtitle {
    font-size: 14px;
    color: var(--electric-yellow);
    margin: 0;
}

/* Header actions */
.header-actions {
    display: flex;
    align-items: center;
}

/* Responsive adjustments for new elements */
@media (max-width: 768px) {
    .hero-price-info {
        flex-direction: column;
    }

    .service-detail-content {
        grid-template-columns: 1fr;
    }

    .service-cta-group {
        flex-direction: column;
    }

    .benefits-grid {
        grid-template-columns: 1fr;
    }

    .trust-indicators {
        flex-direction: column;
        gap: 10px;
    }

    .title-line {
        font-size: 28px;
    }

    .price-value {
        font-size: 28px;
    }

    .service-title-large {
        font-size: 28px;
    }
}

/* Additional Missing Classes */
.service-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.feature-box {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    text-align: center;
    transition: var(--transition);
    border: 2px solid transparent;
}

.feature-box:hover {
    border-color: var(--electric-yellow);
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.feature-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-orange));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

.service-guarantee {
    background: linear-gradient(135deg, var(--electric-dark), var(--electric-blue));
    color: white;
    padding: 40px;
    border-radius: 20px;
    margin: 40px 0;
}

.guarantee-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.guarantee-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.guarantee-item::before {
    content: '✓';
    width: 25px;
    height: 25px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.service-call-block {
    background: var(--electric-orange);
    color: white;
    padding: 40px;
    border-radius: 20px;
    text-align: center;
    margin: 40px 0;
}

.call-content h3 {
    font-size: 28px;
    margin-bottom: 10px;
}

.call-action {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: white;
    color: var(--electric-orange);
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 20px;
    transition: var(--transition);
}

.call-action:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-lg);
}

.emergency-steps {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 30px;
    margin: 40px 0;
}

.emergency-step {
    flex: 1;
    min-width: 200px;
    text-align: center;
}

.step-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
    background: var(--electric-yellow);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    color: var(--electric-dark);
}

.service-detail-special {
    background: linear-gradient(180deg, var(--electric-light) 0%, white 100%);
    padding: 80px 0;
}

.special-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.special-feature {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.feature-number {
    width: 40px;
    height: 40px;
    background: var(--electric-orange);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}

/* Testimonial Slider */
.testimonial-slider {
    padding: 60px 0;
    background: var(--bg-light);
}

.slider-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.testimonial-slide {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 20px;
}

/* Final CTA */
.final-cta {
    background: linear-gradient(135deg, var(--electric-blue), var(--electric-dark));
    color: white;
    padding: 60px 0;
    text-align: center;
}

.cta-content h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

/* Service Sidebar */
.service-sidebar {
    position: sticky;
    top: 100px;
}

.sidebar-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: var(--shadow-lg);
    margin-bottom: 20px;
    border: 2px solid var(--electric-yellow);
}

.sidebar-icon {
    width: 50px;
    height: 50px;
    background: var(--electric-orange);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: white;
    font-size: 24px;
}

.sidebar-content h3 {
    text-align: center;
    margin-bottom: 15px;
    color: var(--electric-dark);
}

.sidebar-list {
    list-style: none;
    padding: 0;
}

.sidebar-item {
    padding: 10px 0;
    border-bottom: 1px solid var(--bg-light);
}

.sidebar-item:last-child {
    border-bottom: none;
}

.sidebar-cta {
    display: block;
    width: 100%;
    padding: 15px;
    background: linear-gradient(135deg, var(--electric-orange), var(--electric-yellow));
    color: white;
    text-align: center;
    border-radius: 10px;
    text-decoration: none;
    font-weight: bold;
    margin-top: 20px;
    transition: var(--transition);
}

.sidebar-cta:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.sidebar-cta:hover .phone {
    color: white;
}

.service-detail-alternate {
    padding: 80px 0;
    background: var(--bg-light);
}

.alternate-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.sidebar-sticky {
    position: sticky;
    top: 100px;
    height: fit-content;
}

/* Review Card Elements */
.review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.review-name {
    font-size: 18px;
    font-weight: bold;
    color: var(--electric-dark);
    margin: 0;
}

.review-service {
    font-size: 14px;
    color: var(--electric-blue);
    font-weight: 500;
}

.review-comment {
    color: var(--text-light);
    line-height: 1.6;
    font-style: italic;
    margin: 15px 0;
}

.review-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--bg-light);
}

.review-date {
    font-size: 12px;
    color: var(--text-light);
}

/* Missing Container Classes */
.services-container,
.process-container,
.testimonials-container,
.pricing-container,
.why-us-container,
.faq-container,
.contact-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Testimonials Grid and Cards */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.review-content {
    padding: 20px;
}

.review__wrp {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.review__wrp h3 {
    font-size: 18px;
    font-weight: bold;
    color: var(--electric-dark);
    margin: 0;
}

.review-meta {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--bg-light);
}

.testimonials-cta {
    text-align: center;
    margin-top: 40px;
}

.view-all-link {
    display: inline-block;
    padding: 12px 30px;
    background: var(--electric-blue);
    color: white;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.view-all-link:hover {
    background: var(--electric-orange);
    transform: translateY(-2px);
}

/* Service Detail Additional Classes */
.service-visual-block {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.service-visual-block img {
    width: 100%;
    height: auto;
    display: block;
}

.price-overlay {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: white;
    padding: 15px 25px;
    border-radius: 15px;
    box-shadow: var(--shadow-md);
}

.price-amount {
    font-size: 28px;
    font-weight: bold;
    color: var(--electric-orange);
}

.service-process-horizontal {
    margin: 40px 0;
    padding: 40px;
    background: var(--bg-light);
    border-radius: 20px;
}

.steps-horizontal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.step-horizontal {
    flex: 1;
    text-align: center;
    padding: 20px;
}

.step-horizontal h4 {
    margin: 10px 0;
    color: var(--electric-dark);
}

.step-arrow {
    font-size: 24px;
    color: var(--electric-yellow);
    margin: 0 10px;
}

.service-advantages-modern {
    background: white;
    padding: 40px;
    border-radius: 20px;
    margin: 40px 0;
    box-shadow: var(--shadow-sm);
}

.advantages-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 20px;
}

.advantage-column h4 {
    color: var(--electric-dark);
    margin-bottom: 15px;
    font-size: 18px;
}

.advantage-column ul {
    list-style: none;
    padding: 0;
}

.advantage-column li {
    padding: 8px 0;
    color: var(--text-light);
}

.service-action-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding: 30px;
    background: var(--bg-light);
    border-radius: 20px;
}

.action-button-primary {
    padding: 15px 40px;
    background: linear-gradient(135deg, var(--electric-orange), var(--electric-yellow));
    color: white;
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    transition: var(--transition);
}

.action-button-primary:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-lg);
}

.service-badges {
    display: flex;
    gap: 15px;
}

.badge {
    padding: 8px 16px;
    background: white;
    border: 2px solid var(--electric-blue);
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    color: var(--electric-blue);
}

/* Service Compact Styles */
.service-split-view {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.split-content {
    padding: 20px;
}

.service-header-compact {
    margin-bottom: 30px;
}

.service-title-compact {
    font-size: 32px;
    color: var(--electric-dark);
    margin-bottom: 10px;
}

.service-subtitle {
    font-size: 18px;
    color: var(--text-light);
    margin-bottom: 20px;
}

.service-intro-text {
    margin-bottom: 30px;
}

.service-intro-text p {
    margin-bottom: 15px;
    line-height: 1.6;
}

.service-grid-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 30px 0;
}

.grid-feature {
    text-align: center;
    padding: 15px;
    background: white;
    border-radius: 10px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.grid-feature:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md);
}

.grid-feature img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
}

/* Адаптив для grid-feature */
@media (max-width: 768px) {
    .grid-feature {
        padding: 20px;
    }

    .grid-feature img {
        aspect-ratio: 16/9;
        max-height: 200px;
    }
}

@media (max-width: 480px) {
    .grid-feature img {
        aspect-ratio: 3/2;
        max-height: 180px;
    }

    .grid-feature h4 {
        font-size: 14px;
    }
}

.grid-feature h4 {
    font-size: 16px;
    margin: 10px 0;
    color: var(--electric-dark);
}

.price-tag {
    display: inline-block;
    padding: 5px 15px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    border-radius: 15px;
    font-weight: bold;
    font-size: 14px;
}

.service-info-compact {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 30px;
}

.info-block {
    background: var(--bg-light);
    padding: 25px;
    border-radius: 15px;
}

.info-block h3 {
    color: var(--electric-dark);
    margin-bottom: 15px;
    font-size: 20px;
}

.info-block ul,
.info-block ol {
    padding-left: 0;
    margin: 0;
}

.info-block li {
    margin-bottom: 10px;
    line-height: 1.6;
}

.split-sidebar {
    padding: 20px;
}

.time-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: var(--electric-yellow);
    border-radius: 10px;
    margin: 15px 0;
}

.time-icon {
    font-size: 24px;
}

.protected-brands {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

.protected-brands li {
    padding: 8px 0;
    border-bottom: 1px solid var(--bg-light);
}

.security-note {
    padding: 10px;
    background: #4caf50;
    color: white;
    border-radius: 8px;
    text-align: center;
    font-weight: bold;
    margin-top: 15px;
}

/* Service Center Styles */
.service-center-header {
    text-align: center;
    margin-bottom: 40px;
}

.service-title-center {
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 20px;
}

.service-subtitle-center {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-light);
    max-width: 800px;
    margin: 0 auto;
}

.service-features-showcase {
    text-align: center;
    margin: 40px 0;
}

.showcase-image {
    max-width: 100%;
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
}

.service-specs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.spec-card {
    background: white;
    padding: 30px;
    border-radius: 15px;
    box-shadow: var(--shadow-sm);
}

.spec-card h3 {
    color: var(--electric-dark);
    margin-bottom: 20px;
}

.spec-list {
    list-style: none;
    padding: 0;
}

.spec-list li {
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
}

.spec-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--electric-yellow);
    font-weight: bold;
    font-size: 20px;
}

.process-ordered {
    list-style: none;
    padding: 0;
    counter-reset: step-counter;
}

.process-ordered li {
    padding: 10px 0;
    padding-left: 40px;
    position: relative;
    counter-increment: step-counter;
}

.process-ordered li::before {
    content: counter(step-counter) ".";
    position: absolute;
    left: 0;
    color: var(--electric-orange);
    font-weight: bold;
    font-size: 18px;
}

.options-list {
    margin-top: 20px;
}

.option-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: var(--bg-light);
    border-radius: 10px;
    margin-bottom: 10px;
}

.option-badge {
    padding: 5px 15px;
    background: var(--electric-blue);
    color: white;
    border-radius: 15px;
    font-size: 14px;
    font-weight: bold;
}

.service-bottom-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding: 30px;
    background: linear-gradient(135deg, var(--electric-dark), var(--electric-blue));
    border-radius: 20px;
}

.cta-info {
    color: white;
}

.cta-price {
    display: block;
    font-size: 32px;
    font-weight: bold;
    color: var(--electric-yellow);
}

.cta-text {
    font-size: 14px;
    opacity: 0.9;
}

.cta-button-large {
    padding: 15px 40px;
    background: white;
    color: var(--electric-blue);
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    transition: var(--transition);
}

.cta-button-large:hover {
    background: var(--electric-yellow);
    color: var(--electric-dark);
    transform: scale(1.05);
}

/* Service Dark Styles */
.service-hero-dark {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 40px;
}

/* Адаптив для service-hero-dark */
@media (max-width: 1024px) {
    .service-hero-dark {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .service-hero-dark {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 30px;
    }
}

@media (max-width: 480px) {
    .service-hero-dark {
        gap: 15px;
        margin-bottom: 20px;
    }
}

.hero-content-dark {
    padding: 20px;
}

.service-title-white {
    font-size: 36px;
    color: white;
    margin-bottom: 20px;
}

.service-lead-white {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
}

.hero-image-dark {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-lg);
}

.hero-image-dark img {
    width: 100%;
    height: auto;
    display: block;
}

.service-columns-dark {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px;
}

.column-dark {
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.column-dark h3 {
    color: var(--electric-yellow);
    margin-bottom: 20px;
}

.services-list-dark {
    margin-top: 20px;
}

.service-item-dark {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.item-icon {
    font-size: 24px;
    color: var(--electric-yellow);
}

.service-item-dark h4 {
    color: white;
    margin-bottom: 5px;
}

.service-item-dark p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.advantages-dark {
    list-style: none;
    padding: 0;
}

.advantages-dark li {
    padding: 10px 0;
    padding-left: 30px;
    position: relative;
    color: rgba(255, 255, 255, 0.9);
}

.advantages-dark li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--electric-yellow);
    font-weight: bold;
}

.process-vertical {
    margin-top: 20px;
}

.process-step-dark {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
}

.step-num {
    width: 30px;
    height: 30px;
    background: var(--electric-yellow);
    color: var(--electric-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.process-step-dark p {
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

.service-cta-dark {
    text-align: center;
    margin-top: 40px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
}

.price-range-dark {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    color: white;
    font-size: 18px;
}

.separator {
    color: var(--electric-yellow);
}

/* Emergency Section Styles */
.emergency-header {
    text-align: center;
    margin-bottom: 40px;
}

.emergency-title {
    font-size: 36px;
    color: white;
    margin: 20px 0;
}

.emergency-subtitle {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.9);
}

.emergency-services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
    margin: 40px 0;
}

.emergency-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    padding: 30px;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.urgency-icon {
    font-size: 32px;
}

.card-header h3 {
    color: white;
    margin: 0;
}

.urgency-list {
    list-style: none;
    padding: 0;
}

.urgency-list li {
    padding: 10px 0;
    color: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.time-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.time-item {
    text-align: center;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.time-item strong {
    display: block;
    font-size: 24px;
    color: var(--electric-yellow);
    margin-bottom: 5px;
}

.time-item span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.pricing-time {
    margin-top: 20px;
}

.price-slot {
    display: flex;
    justify-content: space-between;
    padding: 12px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    margin-bottom: 10px;
}

.slot-time {
    color: rgba(255, 255, 255, 0.9);
}

.slot-price {
    color: var(--electric-yellow);
    font-weight: bold;
}

.emergency-process {
    margin: 40px 0;
    padding: 40px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 20px;
}

.emergency-process h3 {
    color: white;
    text-align: center;
    margin-bottom: 30px;
}

.process-emergency-steps {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.emergency-step {
    flex: 1;
    text-align: center;
}

.step-icon-emergency {
    font-size: 48px;
    margin-bottom: 15px;
    display: block;
}

.emergency-step h4 {
    color: var(--electric-yellow);
    margin: 10px 0;
}

.emergency-step p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
}

.arrow-emergency {
    font-size: 24px;
    color: var(--electric-yellow);
    margin: 0 10px;
}

.emergency-advantages {
    margin-top: 40px;
}

.emergency-advantages h3 {
    color: white;
    text-align: center;
    margin-bottom: 30px;
}

.advantages-emergency-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.advantage-emergency {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
}

.check-emergency {
    color: var(--electric-yellow);
    font-size: 20px;
    font-weight: bold;
}

.advantage-emergency span:last-child {
    color: rgba(255, 255, 255, 0.9);
}

.emergency-cta-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    padding: 30px;
    background: var(--electric-orange);
    border-radius: 20px;
}

.cta-emergency-content h3 {
    color: white;
    margin-bottom: 5px;
}

.cta-emergency-content p {
    color: rgba(255, 255, 255, 0.9);
}

.emergency-button-large {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 30px;
    background: white;
    color: var(--electric-orange);
    border-radius: 30px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.emergency-button-large:hover {
    transform: scale(1.05);
    box-shadow: var(--shadow-lg);
    color: #ff6b35 !important;
    /* Оранжевый цвет текста при наведении */
}

.button-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.label {
    font-size: 14px;
    opacity: 0.8;
}

.number {
    font-size: 20px;
    font-weight: bold;
}

/* FAQ Section Additional */
.faq-header {
    text-align: center;
    margin-bottom: 40px;
}

.faq-main-title {
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 10px;
}

.faq-subtitle {
    font-size: 18px;
    color: var(--text-light);
}

.faq-categories {
    max-width: 900px;
    margin: 0 auto;
}

.faq-bottom-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 60px;
    padding: 40px;
    background: linear-gradient(135deg, var(--electric-light), white);
    border-radius: 20px;
}

.cta-content h3 {
    color: var(--electric-dark);
    margin-bottom: 5px;
}

.cta-content p {
    color: var(--text-light);
}

.cta-actions {
    display: flex;
    gap: 20px;
}

.faq-call-button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 25px;
    background: var(--electric-orange);
    color: white;
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.faq-call-button:hover {
    background: var(--electric-dark);
    transform: translateY(-2px);
}

.faq-form-button {
    padding: 12px 25px;
    background: white;
    color: var(--electric-blue);
    border: 2px solid var(--electric-blue);
    border-radius: 25px;
    text-decoration: none;
    font-weight: bold;
    transition: var(--transition);
}

.faq-form-button:hover {
    background: var(--electric-blue);
    color: white;
}

/* Contact Form Section */
.contact-section {
    padding: 80px 0;
    background: var(--bg-light);
}

.contact-container h2 {
    text-align: center;
    font-size: 36px;
    color: var(--electric-dark);
    margin-bottom: 10px;
}

.contact-container p {
    text-align: center;
    color: var(--text-light);
    margin-bottom: 40px;
}

.form-group {
    margin-bottom: 20px;
}

.form-control {
    width: 100%;
    padding: 15px;
    border: 2px solid var(--bg-light);
    border-radius: 10px;
    font-size: 16px;
    transition: var(--transition);
}

.form-control:focus {
    outline: none;
    border-color: var(--electric-yellow);
    box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.1);
}

textarea.form-control {
    resize: vertical;
    min-height: 120px;
}

.form-submit-wrapper {
    text-align: center;
    margin-top: 30px;
}

.call-button-text {
    display: none;
}

@media (min-width: 768px) {
    .call-button-text {
        display: inline;
        margin-left: 8px;
    }
}

/* Additional Responsive Styles */
@media (max-width: 768px) {
    .service-feature-grid {
        grid-template-columns: 1fr;
    }

    .guarantee-items {
        grid-template-columns: 1fr;
    }

    .emergency-steps {
        flex-direction: column;
    }

    .special-features {
        grid-template-columns: 1fr;
    }

    .cta-buttons {
        flex-direction: column;
        width: 100%;
        padding: 0 20px;
    }

    .alternate-content {
        grid-template-columns: 1fr;
    }

    .service-sidebar {
        position: static;
    }

    .sidebar-sticky {
        position: static;
    }

    .steps-horizontal {
        flex-direction: column;
    }

    .step-arrow {
        transform: rotate(90deg);
        margin: 10px 0;
    }

    .advantages-columns {
        grid-template-columns: 1fr;
    }

    .service-action-bar {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .service-split-view {
        grid-template-columns: 1fr;
    }

    .service-grid-features {
        grid-template-columns: 1fr;
    }

    .service-info-compact {
        grid-template-columns: 1fr;
    }

    .service-columns-dark {
        grid-template-columns: 1fr;
    }

    .service-hero-dark {
        grid-template-columns: 1fr;
    }

    .process-emergency-steps {
        flex-direction: column;
    }

    .arrow-emergency {
        transform: rotate(90deg);
        margin: 10px 0;
    }

    .emergency-cta-bottom {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .faq-bottom-cta {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .service-bottom-cta {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .emergency-text {
        display: none;
    }

    .emergency-text-short {
        display: inline;
    }
}