/*
Theme Name: ARCTELECOM
Template: Divi
*/
     /* Caractéristiques techniques - Version améliorée mobile */

.tech-spec-item { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    border-bottom: 1px solid #e0e0e026; 
    padding: 20px 0px 5px 0px; 
    font-family: 'DIN REGULAR';
} 

.tech-spec-label { 
    font-size: 15px; 
    color: #5a5a5a; 
    font-weight: 400; 
    line-height: 1.4; 
    font-family: 'DIN REGULAR'; 
    margin-left: 0;
    padding-left: 0;
    flex: 1;
} 

.tech-spec-value { 
    font-family: 'DIN REGULAR'; 
    font-size: 15px; 
    color: #175280; 
    font-weight: 700; 
    text-align: right; 
    margin-left: 24px;
    flex-shrink: 0;
} 

.tech-specs-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    border-radius: 8px; 
}  

.tech-specs-list { 
    display: flex; 
    flex-direction: column; 
    gap: 0; 
} 

.tech-spec-row { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    padding: 18px 0 8px 0; 
    border-bottom: 1px solid #f0f0f0; 
    margin-left: 0;
} 

.tech-spec-row:last-child { 
    border-bottom: none; 
} 

/* Version responsive pour mobile */
@media (max-width: 768px) { 
    .tech-specs-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    
    .tech-spec-item {
        padding: 16px 10px 8px 10px;
        flex-wrap: nowrap;
    }
    
    .tech-spec-label { 
        font-size: 14px;
        padding-right: 10px;
        word-break: break-word;
    } 
    
    .tech-spec-value { 
        font-size: 14px;
        margin-left: 15px;
        white-space: nowrap;
    } 
    
    .tech-spec-row { 
        padding: 14px 10px 6px 10px; 
    } 
} 

@media (max-width: 480px) {
    .tech-spec-item {
        padding: 14px 5px 6px 5px;
    }
    
    .tech-spec-label {
        font-size: 13px;
    }
    
    .tech-spec-value {
        font-size: 13px;
        margin-left: 10px;
    }
}
        /* Style pour les listes Inclus dans l'offre et Idéal pour */

        .telecompro-included,
        .telecompro-ideal-for {
            width: 100%;
        }

        .included-grid,
        .ideal-for-grid {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-top: 0;
        }

        .included-item,
        .ideal-for-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 0;
            background: transparent;
            border: none;
            border-radius: 0;
            font-size: 15px;
            line-height: 1.5;
            position: relative;
            padding-left: 32px;
        }

        .included-item {
            color: #175280;
        }

        .ideal-for-item {
            color: #ffffffff;
        }

        /* Icône de check avant chaque item */
        .included-item::before,
        .ideal-for-item::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            background-color: #10b981;
            border-radius: 50%;
            flex-shrink: 0;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
            background-size: 12px 12px;
            background-position: center;
            background-repeat: no-repeat;
        }

        /* Variante pour Inclus dans l'offre avec icône bleue */
        .telecompro-included .included-item::before {
            background-color: #175280;
        }

        /* Variante pour Idéal pour avec icône orange */
        .telecompro-ideal-for .ideal-for-item::before {
            background-color: #ffba4a;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .included-item,
            .ideal-for-item {
                font-size: 14px;
                padding-left: 28px;
            }
            
            .included-item::before,
            .ideal-for-item::before {
                width: 18px;
                height: 18px;
                background-size: 11px 11px;
            }
            
            .included-grid,
            .ideal-for-grid {
                gap: 10px;
            }
        }
        /* Style pour les étapes de souscription */
        /* Style pour Comment souscrire */

        /* Style pour Comment souscrire */

        .telecompro-subscribe-steps {
            width: 100%;
            padding: 40px 20px;
        }

        .subscribe-steps-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px;
            max-width: 1200px;
            margin-left: auto;
            margin-right: auto;
            counter-reset: step-counter;
        }

        .subscribe-step-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            position: relative;
            counter-increment: step-counter;
        }

        /* Centrer les éléments quand il y en a moins de 3 */
        .subscribe-steps-grid:has(.subscribe-step-item:nth-child(1):last-child) {
            grid-template-columns: 1fr;
            justify-items: center;
        }

        .subscribe-steps-grid:has(.subscribe-step-item:nth-child(2):last-child) {
            grid-template-columns: repeat(2, 1fr);
            justify-items: center;
        }

        /* Centrer le 4ème élément quand il est seul sur sa ligne */
        .subscribe-steps-grid:has(.subscribe-step-item:nth-child(4):last-child) .subscribe-step-item:nth-child(4) {
            grid-column: 2 / 3;
        }

        /* Numéro circulaire */
        .subscribe-step-item::before {
            content: counter(step-counter);
            width: 60px;
            height: 60px;
            background-color: #0b5394;
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            font-weight: bold;
            margin-bottom: 20px;
            flex-shrink: 0;
        }

        /* Alternance de couleurs : bleu, orange, bleu, orange... */
        .subscribe-step-item:nth-child(odd)::before {
            background-color: #175280;
        }

        .subscribe-step-item:nth-child(even)::before {
            background-color: #ffba4a;
        }

        .subscribe-step-title {
            font-size: 16px;
            font-weight: 600;
            color: #1a3a52;
            margin-bottom: 12px;
            line-height: 1.4;
        }

        .subscribe-step-description {
            font-size: 14px;
            color: #5a5a5a;
            line-height: 1.6;
            max-width: 280px;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .subscribe-steps-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 30px;
            }
            
            /* Annuler le centrage du 4ème sur tablette */
            .subscribe-steps-grid:has(.subscribe-step-item:nth-child(4):last-child) .subscribe-step-item:nth-child(4) {
                grid-column: auto;
            }
        }

        @media (max-width: 768px) {
            .subscribe-steps-grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            
            .subscribe-step-item::before {
                width: 50px;
                height: 50px;
                font-size: 20px;
                margin-bottom: 16px;
            }
            
            .subscribe-step-title {
                font-size: 15px;
            }
            
            .subscribe-step-description {
                font-size: 13px;
            }
            
            .telecompro-subscribe-steps {
                padding: 30px 15px;
            }
        }

        /* Grid des produits */
        .telecompro-products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            margin: 40px 0;
            max-width: 1400px;
            margin-left: auto;
            margin-right: auto;
            padding: 0 20px;
        }

        /* Carte produit */
        .telecompro-product-card {
            background: #ffffff;
            border-radius: 12px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            position: relative;
            height: 100%;
        }

        .telecompro-product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
        }

        /* Carte featured (mise en avant) */
        .telecompro-product-card.featured {
            background: linear-gradient(135deg, #1a5a7d 0%, #0b5394 100%);
            color: white;
        }

        .telecompro-product-card.featured .product-title {
            color: white;
        }

        .telecompro-product-card.featured .product-price-value {
            color: #ffba4a;
        }

        .telecompro-product-card.featured .product-features-item {
            color: white;
        }

        .telecompro-product-card.featured .product-btn {
            background-color: #ffba4a;
            color: #1a3a52;
        }

        .telecompro-product-card.featured .product-btn:hover {
            background-color: #ff9f1a;
        }

        /* En-tête */
        .product-card-header {
            padding: 30px 25px 20px;
            /* text-align: center; */
        }

        .product-title {
            font-size: 20px;
            font-weight: 600;
            color: #1a3a52;
            /* margin: 0 0 0px 0; */
            font-family: 'DIN REGULAR', Arial, sans-serif;
            min-height: 50px;
            display: flex;
            /* align-items: center; */
            /* justify-content: center; */
        }

        .product-price-container {
            /* margin: Opx 0; */
            color:#ff7a3d;
        }

        .product-price-value {
            font-size: 28px;
            font-weight: 700;
            color: #ff7a3d;
            font-family: 'DIN REGULAR', Arial, sans-serif;
            line-height: 1.2;
        }

        /* Corps */
        .product-card-body {
            padding: 20px 25px;
            flex-grow: 1;
        }

        .product-features-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .product-features-item {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            font-size: 15px;
            color: #333;
            line-height: 1.5;
            position: relative;
            padding-left: 32px;
        }

        .product-features-item::before {
            content: '';
            position: absolute;
            left: 0;
            top: 3px;
            width: 20px;
            height: 20px;
            background-color: #175280;
            border-radius: 50%;
            flex-shrink: 0;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
            background-size: 12px 12px;
            background-position: center;
            background-repeat: no-repeat;
        }

        .telecompro-product-card.featured .product-features-item::before {
            background-color: #ffba4a;
        }

        /* Pied */
        .product-card-footer {
            padding: 20px 25px 30px;
        }

        .product-btn {
            display: block;
            width: 100%;
            padding: 14px 20px;
            background-color: #175280;
            color: white;
            text-align: center;
            text-decoration: none;
            border-radius: 6px;
            font-size: 16px;
            font-weight: 600;
            transition: background-color 0.3s ease;
            border: none;
            cursor: pointer;
            font-family: 'DIN REGULAR', Arial, sans-serif;
        }

        .product-btn:hover {
            background-color: #0b5394;
            color: white;
        }

        /* Badge promo */
        .product-badge {
            position: absolute;
            top: 20px;
            right: 20px;
            background-color: #ff4444;
            color: white;
            padding: 6px 12px;
            border-radius: 4px;
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            z-index: 10;
        }

        /* Message vide */
        .telecompro-no-products {
            text-align: center;
            padding: 60px 20px;
            background: #f8f9fa;
            border-radius: 8px;
            margin: 40px 0;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .telecompro-products-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 25px;
            }
        }

        @media (max-width: 768px) {
            .telecompro-products-grid {
                grid-template-columns: 1fr;
                gap: 20px;
                margin: 20px 0;
                padding: 0 15px;
            }

            .product-card-header {
                padding: 25px 20px 15px;
            }

            .product-title {
                font-size: 18px;
                min-height: auto;
            }

            .product-price-value {
                font-size: 24px;
            }

            .product-card-body {
                padding: 15px 20px;
            }

            .product-features-item {
                font-size: 14px;
                padding-left: 28px;
            }

            .product-features-item::before {
                width: 18px;
                height: 18px;
                background-size: 11px 11px;
            }
        }



