/* =================================================================
   EDUCOJEUX - FEUILLE DE STYLE UNIQUE (MASTER V56 - INTÉGRALE)
   Thème : GeneratePress Child
   Mise à jour : V56 - COMPILATION TOTALE + CHECKOUT GRID V2
   ================================================================= */

/* =========================================
   1. BASES & TYPOGRAPHIE
   ========================================= */
body {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: #1E1E1E;
    background-color: #f0f4f8;
    overflow-x: hidden; /* SÉCURITÉ ANTI-DÉBORDEMENT */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: #000091;
    letter-spacing: 0.3px;
}

img { image-rendering: auto; }

/* Masquer les titres par défaut WP */
h1.entry-title, .woocommerce-products-header__title.page-title { display: none; }
.ej-hero-title { display: block !important; }

/* =========================================
   2. HEADER & NAVIGATION
   ========================================= */
.site-header {
    background: #ffffff;
    border-bottom: 1px solid #E5E7EB;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.site-branding img { max-height: 60px; width: auto; }
.main-navigation { background: #ffffff; }

/* Structure Flex du Menu */
.main-navigation .main-nav ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

/* Liens Menu */
.main-navigation .main-nav ul li a {
    padding: 0 20px;
    line-height: 60px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    color: #1E1E1E !important;
    transition: color 0.2s;
    white-space: nowrap;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current"] > a {
    color: #000091 !important;
    box-shadow: inset 0 -2px 0 0 #000091;
}

/* Sous-menus (Correctif V46) */
.main-navigation .main-nav ul ul {
    background-color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border-top: 2px solid #000091;
    width: 260px;
    display: block !important;
}
.main-navigation .main-nav ul ul li {
    display: block; width: 100%; float: none;
}
.main-navigation ul ul li a {
    padding: 12px 20px;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    line-height: normal;
}

/* Bouton Spécial Menu */
.main-navigation .main-nav ul li.nav-button a {
    background-color: #000091;
    color: #ffffff !important;
    border-radius: 50px;
    padding: 10px 25px !important;
    margin-left: 20px;
    line-height: 1.2;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: none;
    white-space: nowrap;
}
.main-navigation .main-nav ul li.nav-button a:hover {
    background-color: #e1002a;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* =========================================
   3. SECTIONS & LAYOUT (HERO V2)
   ========================================= */
body .grid-container {
    max-width: 1380px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
}

/* HERO V2 : Design Dégradé */
.ej-section-hero.ej-hero-v2 {
    background: radial-gradient(circle at top left, #ffffff, #f0f4f8);
    padding: 80px 20px;
    overflow: visible; 
}
.ej-section-hero:not(.ej-hero-v2) { background-color: #f0f4f8; padding: 80px 20px; }

/* Force 2 colonnes PC */
@media (min-width: 1001px) {
    .ej-hero-v2 .wp-block-columns {
        display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important;
    }
    .ej-hero-v2 .wp-block-column {
        flex-basis: 50% !important; max-width: 50% !important;
    }
}

.ej-hero-title { font-size: 3rem; font-weight: 700; line-height: 1.1; color: #000091; margin-bottom: 25px; }
.ej-hero-text { font-size: 1.2rem; line-height: 1.6; margin-bottom: 35px; color: #444; }

/* Image 3D Hero */
.ej-hero-image-wrapper {
    position: relative; border-radius: 16px; overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 145, 0.12);
    transform: perspective(1000px) rotateY(-3deg) translateY(0);
    transition: all 0.5s ease-out; border: 5px solid #ffffff; background: #fff; max-width: 100%;
}
.ej-hero-image-wrapper:hover {
    transform: perspective(1000px) rotateY(0deg) translateY(-10px);
    box-shadow: 0 30px 60px rgba(0, 0, 145, 0.2);
}
.ej-hero-image-wrapper img { display: block; width: 100%; height: auto; }

/* Boutons Hero */
.ej-hero-v2 .wp-block-buttons { display: flex; gap: 20px !important; flex-wrap: wrap; }

.ej-section-features { background-color: #ffffff; padding: 60px 20px; }
.separate-containers .inside-article {
    background: #ffffff; border: 1px solid #E5E7EB; border-radius: 12px; padding: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

/* =========================================
   4. COMPOSANTS (CARTES, BOITES)
   ========================================= */
.ej-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; }
@media (min-width: 1024px) { .ej-features-grid { grid-template-columns: repeat(3, 1fr); } }

.ej-card-wrapper, .ej-feature-card {
    position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
    background-color: #ffffff; padding: 30px; border-radius: 16px; border: 1px solid #eee;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: all 0.3s ease; height: 100%;
}
.ej-card-wrapper:hover, .ej-feature-card:hover { transform: translateY(-5px); border-color: #000091; box-shadow: 0 10px 25px rgba(0,0,145,0.1); }

.ej-cat-icon { font-size: 48px; margin-bottom: 20px; line-height: 1; }
.ej-card-title { margin: 0 0 15px 0; color: #000091; font-family: 'Poppins', sans-serif; font-size: 1.2rem; font-weight: 700; text-transform: uppercase; }

.fctva-badge {
    display: inline-block; background: #E8EDFF; color: #000091;
    border: 1px solid #000091; border-radius: 999px; padding: 6px 16px; font-weight: 600; font-size: 13px;
}

ul.ej-check-list, ul.ej-card-list { list-style: none !important; padding: 0; margin: 0; text-align: left; width: 100%; }
ul.ej-check-list li, ul.ej-card-list li { position: relative; padding-left: 28px; margin-bottom: 12px; color: #374151; font-size: 0.95rem; line-height: 1.4; }
ul.ej-check-list li::before, ul.ej-card-list li::before {
    content: '✔'; position: absolute; left: 0; top: 0; color: #e1002a; font-weight: 800; font-size: 14px;
}
ul.ej-card-list li strong { color: #000091; }

/* =========================================
   5. BOUTONS GLOBAUX
   ========================================= */
button, .button, input[type="submit"], .wp-element-button {
    background: #000091; color: #ffffff !important; border: none; border-radius: 6px;
    font-weight: 700; padding: 12px 24px; text-transform: uppercase; font-size: 0.9rem;
    letter-spacing: 0.5px; transition: all 0.2s ease-in-out;
}
button:hover, .button:hover, input[type="submit"]:hover {
    background: #e1002a; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important; border: 2px solid #000091 !important; color: #000091 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: #000091 !important; color: #ffffff !important;
}

.is-style-agec-green .wp-block-button__link {
    background-color: #2E7D32 !important; color: #fff !important; 
}

/* =========================================
   6. WOOCOMMERCE : CATALOGUE
   ========================================= */
.woocommerce-products-header { background-color: #f0f4f8; padding: 40px 20px; text-align: center; border-radius: 16px; margin-bottom: 40px; }

/* Produit */
.woocommerce ul.products li.product {
    background: #fff; border: none !important; border-radius: 12px; padding: 15px;
    text-align: center; transition: all 0.3s ease; box-shadow: none !important;
    font-size: 1rem !important; overflow: visible; display: flex; flex-direction: column; justify-content: space-between;
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,145,0.08) !important; }

/* Image */
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; position: relative; width: 100%; margin-bottom: 15px; border-radius: 8px; overflow: hidden; }
.woocommerce ul.products li.product img { position: relative !important; display: block !important; width: 100% !important; aspect-ratio: 1 / 1; object-fit: contain !important; margin: 0 !important; padding: 10px !important; background: #ffffff; transition: opacity 0.3s ease-in-out; }
.woocommerce ul.products li.product img.secondary-image { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; aspect-ratio: 1 / 1; object-fit: contain !important; opacity: 0; z-index: 2; background: #ffffff; }
.woocommerce ul.products li.product:hover img.secondary-image { opacity: 1; }
.woocommerce ul.products li.product:hover img:not(.secondary-image) { opacity: 0; }

.woocommerce ul.products li.product .woocommerce-loop-product__title { 
    color: #111827; font-family: 'Poppins', sans-serif; font-size: 0.95rem !important;
    line-height: 1.4; font-weight: 500; padding: 0 5px; margin-bottom: 10px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; min-height: 2.8em; 
}

/* Prix */
.woocommerce ul.products li.product .ej-price-block, .woocommerce ul.products li.product .price { display: block; margin-bottom: 15px; background: transparent !important; border: none !important; padding: 0 !important; text-align: center; min-height: 50px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.woocommerce ul.products li.product .ej-price-block .ej-price-public, .woocommerce ul.products li.product .price del { display: flex !important; flex-direction: row !important; align-items: center; justify-content: center; gap: 6px; text-decoration: none !important; }
.woocommerce ul.products li.product .ej-price-block .ej-price-pro, .woocommerce ul.products li.product .price ins, .woocommerce ul.products li.product .price .amount { display: flex !important; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px; color: #2E7D32 !important; font-weight: 800 !important; font-size: 1.25rem !important; text-decoration: none !important; line-height: 1.2 !important; }
.woocommerce ul.products li.product .price ins::before { content: none !important; }
.ej-pro-badge, .woocommerce ul.products li.product .price ins span.badge-pro { display: inline-block; background-color: #E8F5E9; color: #2E7D32; font-size: 0.75rem; font-weight: 800; padding: 3px 8px; border-radius: 4px; vertical-align: middle; margin-right: 5px; }

/* Boutons Ghost */
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button, .woocommerce ul.products li.product .add-request-quote-button {
    background-color: #ffffff !important; color: #000091 !important; border: 2px solid #000091 !important; font-family: 'Inter', sans-serif; font-size: 0.8rem !important; padding: 10px 15px !important; border-radius: 6px !important; font-weight: 700; text-transform: uppercase; text-decoration: none !important; display: block !important; width: 100% !important; margin-top: auto; line-height: normal !important; transition: all 0.2s ease;
}
.woocommerce ul.products li.product .button:hover, .woocommerce ul.products li.product .add_to_cart_button:hover, .woocommerce ul.products li.product .add-request-quote-button:hover { background-color: #000091 !important; color: #ffffff !important; transform: none; }

/* =========================================
   7. SECTION "CONFIANCE"
   ========================================= */
.ej-category-intro { background-color: #fff; padding: 40px; border-radius: 16px; margin-bottom: 50px; border: 1px solid #eee; box-shadow: 0 4px 15px rgba(0,0,0,0.02); }
.ej-intro-title { text-align: center; font-size: 2rem; color: #000091; margin-bottom: 15px; font-weight: 700; }
.ej-intro-subtitle { text-align: center; max-width: 800px; margin: 0 auto 30px auto; font-size: 1.05rem; color: #555; }
.ej-category-intro .ej-trust-quote-box { width: fit-content; max-width: 800px; margin: 0 auto 40px auto; text-align: center; }

.ej-why-us-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 30px; }
.ej-why-us-item { background: #f9fafb; padding: 25px; border-radius: 12px; border: 1px solid #eee; transition: transform 0.3s ease; }
.ej-why-us-item:hover { transform: translateY(-5px); border-color: #000091; }
.ej-why-header { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; border-bottom: 2px solid #E5E7EB; padding-bottom: 15px; }
.ej-why-icon { font-size: 24px; color: #000091; }
.ej-why-title { margin: 0; font-size: 1.1rem; color: #000091; font-weight: 700; text-transform: uppercase; }

/* =========================================
   8. WOOCOMMERCE : FICHE PRODUIT
   ========================================= */
@media (min-width: 769px) {
    .woocommerce-product-gallery { float: left !important; width: 48% !important; margin-right: 4% !important; margin-bottom: 0 !important; clear: none !important; }
    .summary.entry-summary { float: right !important; width: 48% !important; clear: none !important; }
}

.single-product h1.product_title { display: block !important; font-size: 2.2rem !important; color: #000091; margin-bottom: 20px; line-height: 1.2; }
.woocommerce-product-details__short-description { font-size: 1.1rem !important; line-height: 1.6 !important; color: #444; }
.single-product .ej-price-block { margin-bottom: 25px; padding: 15px; background-color: #f4f7fb; border-radius: 12px; border-left: 5px solid #e1002a; }
.single-product .ej-price-public { text-align: left; font-size: 1rem; margin-bottom: 10px; color: #666; }
.single-product .ej-price-pro { justify-content: flex-start; }
.single-product .ej-price-pro ins { font-size: 2rem !important; }
.single-product .ej-pro-badge { font-size: 0.9rem; padding: 4px 10px; transform: translateY(-5px); }

ul.ej-quick-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 15px; padding: 0 !important; margin-bottom: 25px !important; list-style: none !important; margin-left: 0 !important; }
ul.ej-quick-specs li { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background-color: #fff; padding: 20px 15px; border-radius: 12px; border: 1px solid #eee; }
ul.ej-quick-specs li .ej-icon { font-size: 2.2rem; margin-bottom: 12px; line-height: 1; }
.ej-spec-text .label { font-size: 0.75rem; text-transform: uppercase; color: #999; font-weight: 700; display: block; }
.ej-spec-text .value { font-size: 1rem; font-weight: 800; color: #000091; }
.product_meta { display: none !important; }

/* Galerie Bas */
.woocommerce-product-gallery .flex-viewport { width: 100% !important; aspect-ratio: 1 / 1 !important; border: 1px solid #e5e7eb; border-radius: 12px; background: #ffffff; padding: 0 !important; position: relative; overflow: hidden; margin-bottom: 15px !important; height: auto !important; }
.woocommerce-product-gallery .woocommerce-product-gallery__image img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; margin: 0 auto !important; display: block; }
.woocommerce-product-gallery .flex-control-thumbs { width: 100% !important; display: flex !important; flex-wrap: wrap !important; gap: 10px !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 80px !important; height: 80px !important; flex: 0 0 80px !important; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; padding: 3px; background: #fff; cursor: pointer; float: none !important; margin: 0 !important; }
.woocommerce-product-gallery .flex-control-thumbs li img { width: 100%; height: 100%; object-fit: contain; opacity: 0.6; display: block; }
.woocommerce-product-gallery .flex-control-thumbs li:hover { border-color: #000091; }
.woocommerce-product-gallery .flex-control-thumbs li:hover img, .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; }
.woocommerce-product-gallery__trigger { display: none !important; }

/* =========================================
   10. FOOTER & RESPONSIVE
   ========================================= */
.site-footer, .footer-widgets { background-color: #000091 !important; color: #ffffff !important; }
.site-footer { border-top: 1px solid #E5E7EB; padding-top: 50px; padding-bottom: 20px; font-size: 0.95rem; }
.site-footer p, .site-footer li, .site-footer span, .site-footer a { color: #ffffff !important; }
.site-footer a:hover { color: #e1002a !important; }
.site-footer .widget_media_image img { max-width: 180px !important; background: #fff; padding: 10px; border-radius: 8px; }
@media (min-width: 769px) {
    .footer-widgets .footer-widget-1 { width: 40%; padding-right: 50px; }
    .footer-widgets .footer-widget-2, .footer-widgets .footer-widget-3 { width: 30%; }
}
.site-info { background-color: #000091 !important; color: #ffffff !important; padding: 20px; border-top: 1px solid rgba(255,255,255,0.1); }

/* =========================================
   10.B - WOOCOMMERCE BLOCKS (PATCH GUTENBERG V51)
   >>> SÉCURITÉ : Gère les anciens blocs si jamais ils reviennent <<<
   ========================================= */
.wp-block-woocommerce-cart, 
.wp-block-woocommerce-checkout,
.woocommerce-cart .entry-content, 
.woocommerce-checkout .entry-content {
    width: 100% !important;
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px; 
    padding-right: 15px;
    box-sizing: border-box;
}
.wc-block-cart-items, 
.wc-block-components-sidebar,
.wc-block-cart__content,
.wc-block-checkout__content {
    max-width: 100% !important;
}
@media (min-width: 1000px) {
    .wc-block-cart__content, .wc-block-checkout__content { display: flex; gap: 40px; }
    .wc-block-cart__main, .wc-block-checkout__main { flex: 1 1 auto; }
    .wc-block-cart__sidebar, .wc-block-checkout__sidebar { flex: 0 0 400px; max-width: 400px; }
}

/* =========================================
   10.C - WOOCOMMERCE LAYOUTS (CLASSIQUE GRID V55)
   >>> LA SECTION MAGIQUE POUR LE CHECKOUT B2B <<<
   ========================================= */

/* 1. LARGEUR UNIFIÉE */
.woocommerce-cart .grid-container, 
.woocommerce-checkout .grid-container {
    width: 95% !important; 
    max-width: 1380px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 10px;
    padding-right: 10px;
}

/* 2. LAYOUT CHECKOUT (PC : GRID 2 COLONNES) */
@media (min-width: 1024px) {
    .woocommerce-checkout form.checkout { 
        display: grid !important;
        grid-template-columns: 60% 38% !important; /* 60% Gauche / 38% Droite */
        gap: 2% !important;
        align-items: start !important;
    }

    /* COLONNE GAUCHE (Adresses) */
    .woocommerce-checkout #customer_details { 
        width: 100% !important; /* Prend toute sa case de grille */
        float: none !important;
        margin: 0 !important;
        max-width: 100% !important;
    }
    .woocommerce-checkout #customer_details .col-1, 
    .woocommerce-checkout #customer_details .col-2 {
        width: 100% !important; float: none !important; max-width: 100% !important;
    }

    /* COLONNE DROITE (Recap) */
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #order_review_heading {
        width: 100% !important; /* Prend toute sa case de grille */
        float: none !important;
        clear: none !important;
        max-width: 100% !important;
    }
}

/* 3. STYLE & INVERSION (PAIEMENT EN HAUT) */
#order_review { 
    background-color: #f9fafb !important; 
    padding: 30px !important; 
    border-radius: 12px !important; 
    border: 1px solid #E5E7EB !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
    height: fit-content !important;
    
    /* Active Flexbox vertical pour l'inversion */
    display: flex !important;
    flex-direction: column !important;
}

/* Le Bloc Paiement (Bouton) passe en PREMIER */
#payment {
    order: -1 !important;
    margin-bottom: 25px !important;
    padding-bottom: 25px !important;
    border-bottom: 2px dashed #d1d5db !important;
    background: transparent !important;
}

/* Le Tableau des produits passe en SECOND */
.woocommerce-checkout-review-order-table {
    order: 10 !important;
    font-size: 0.9rem !important;
    color: #666 !important;
    border: none !important;
}

/* 4. DESIGN DU BOUTON "COMMANDER" */
#place_order {
    background-color: #000091 !important; /* Bleu Educojeux */
    color: #ffffff !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 15px 30px !important;
    width: 100% !important;
    font-size: 1rem !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
    display: block !important;
}
#place_order:hover {
    background-color: #e1002a !important; /* Rouge au survol */
    transform: translateY(-2px) !important;
}

/* 5. NETTOYAGE */
#order_review_heading { display: none !important; }

/* 6. LAYOUT PANIER (Classique) */
.woocommerce-cart .woocommerce { display: flex !important; flex-wrap: wrap !important; gap: 40px; justify-content: space-between; }
.woocommerce-cart .woocommerce-cart-form { flex: 1 1 600px; width: 100%; }
.woocommerce-cart .cart-collaterals { flex: 0 1 400px; width: 100%; max-width: 400px; margin-left: auto; background-color: #f9fafb; padding: 30px; border-radius: 16px; border: 1px solid #eee; height: fit-content; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background-color: #000091 !important; border-radius: 6px !important; padding: 18px 30px !important; font-size: 1rem !important; font-weight: 700 !important; text-transform: uppercase; width: 100%; text-align: center; display: block; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background-color: #e1002a !important; }

/* 7. SUPPORT COMPTE CLIENT */
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; gap: 40px; max-width: 1200px; margin: 0 auto; }
.woocommerce-MyAccount-navigation { flex: 1 0 250px; background-color: #f9fafb; border-radius: 16px; padding: 30px; border: 1px solid #eee; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 20px; border-radius: 8px; color: #444; font-weight: 600; text-decoration: none; }
.woocommerce-MyAccount-navigation li.is-active a { background-color: #000091; color: white; }
.woocommerce-MyAccount-content { flex: 3 1 600px; background-color: #fff; padding: 40px; border-radius: 16px; border: 1px solid #eee; }

/* 8. RESPONSIVE HEADER LAPTOP */
@media (max-width: 1450px) and (min-width: 1001px) {
    .site-header .inside-header { display: flex; flex-direction: row; align-items: center; justify-content: space-between; }
    .site-branding { flex-shrink: 0; margin-right: 20px; }
    .site-branding img { max-height: 50px; }
    .main-navigation { width: auto; flex-grow: 1; margin-left: 0; }
    .main-navigation .main-nav ul { justify-content: flex-end; }
    .main-navigation .main-nav ul li a { padding: 0 10px; font-size: 14px; }
    .main-navigation .main-nav ul li.nav-button a { margin-left: 10px; padding: 8px 15px !important; font-size: 13px; }
}

/* 9. MOBILE (Tablette et Phone) */
@media (max-width: 1023px) {
    .woocommerce-checkout form.checkout { display: block !important; } /* Retour en bloc */
    .woocommerce-checkout #customer_details, 
    .woocommerce-checkout #order_review { width: 100% !important; margin-bottom: 30px !important; }
    
    .woocommerce-account .woocommerce, .woocommerce-cart .woocommerce { flex-direction: column; }
    .woocommerce-cart .cart-collaterals { margin-left: 0; max-width: 100%; }
    
    .site-logo img { max-width: 150px; }
    button.menu-toggle { color: #000091 !important; font-weight: 700; }
    .main-navigation.toggled .main-nav > ul { background-color: #ffffff !important; padding-top: 10px; padding-bottom: 20px; display: block !important; }
    .main-navigation.toggled .main-nav li a { color: #1E1E1E !important; border-bottom: 1px solid #f0f0f0; }
    .main-navigation .main-nav ul li.nav-button a { background: transparent; color: #000091 !important; padding: 15px 20px !important; margin: 0; border-radius: 0; text-align: left; }
    
    .ej-section-hero.ej-hero-v2 { padding: 40px 20px; }
    .ej-hero-image-wrapper { transform: none; max-width: 500px; margin: 20px auto 0 auto; }
    .ej-features-grid, .ej-why-us-grid { grid-template-columns: 1fr; }
    
    /* GESTION COLONNES WP */
    .wp-block-columns { flex-direction: column !important; display: block !important; }
    .wp-block-column { flex-basis: 100% !important; margin-bottom: 40px !important; width: 100% !important; }
}
.woocommerce span.onsale { display: none !important; }

/* =========================================
   11. FORCE OVERRIDES (PRIX & BOUTONS)
   ========================================= */
.price del, .woocommerce ul.products li.product .price del { color: #9CA3AF !important; font-weight: 400 !important; text-decoration: none !important; }
.price del *, .woocommerce ul.products li.product .price del * { text-decoration: line-through !important; }

/* Bouton Fiche Produit */
.single-product button.single_add_to_cart_button.button.alt, .single-product a.add_to_cart_button.button.alt, .yith-ywraq-add-to-quote .add-request-quote-button.button {
    background-color: #000091 !important; color: #ffffff !important; border-radius: 6px !important; font-weight: 700 !important; text-transform: uppercase; height: 50px !important; line-height: 50px !important; padding: 0 35px !important; border: none !important; margin-left: 20px !important; display: inline-block !important; width: auto !important;
}
.single-product button.single_add_to_cart_button.button.alt:hover, .yith-ywraq-add-to-quote .add-request-quote-button.button:hover { background-color: #2E7D32 !important; transform: translateY(-2px); }

.single-product form.cart div.quantity, .single-product .yith-ywraq-add-to-quote .quantity { display: inline-block !important; margin: 0 !important; vertical-align: middle !important; }
.single-product .quantity input.qty { height: 50px !important; width: 60px !important; border-radius: 6px !important; border: 2px solid #E5E7EB !important; color: #000091 !important; font-weight: 700 !important; font-size: 1.1rem !important; text-align: center !important; }
.single-product form.cart, .single-product .yith-ywraq-add-to-quote { margin-top: 40px !important; display: flex !important; align-items: center !important; flex-wrap: wrap !important; }

/* =========================================
   12. BLOC TÉLÉCHARGEMENT (NOTICE)
   ========================================= */
.ej-product-documents { margin-top: 25px; padding-top: 20px; border-top: 1px solid #E5E7EB; }
.ej-download-btn { display: flex; align-items: center; background-color: #fff; border: 1px solid #E5E7EB; border-radius: 8px; padding: 12px 15px; text-decoration: none !important; transition: all 0.2s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.03); max-width: 100%; }
.ej-download-btn:hover { border-color: #000091; background-color: #F4F7FB; transform: translateY(-2px); }
.ej-btn-icon { font-size: 24px; margin-right: 15px; line-height: 1; }
.ej-btn-text { display: flex; flex-direction: column; flex-grow: 1; }
.ej-btn-text .label { font-family: 'Poppins', sans-serif; color: #000091; font-weight: 700; font-size: 0.9rem; text-transform: uppercase; }
.ej-btn-text .filename { color: #6B7280; font-size: 0.75rem; margin-top: 2px; }
.ej-btn-arrow { color: #000091; font-weight: 800; font-size: 1.2rem; }

/* =========================================
   13. ESPACE PRO (MON COMPTE) - NOUVEAU DESIGN
   ========================================= */

/* Layout Global Compte */
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; gap: 40px; max-width: 1380px; margin: 0 auto; padding: 0 10px; }

/* Menu Latéral */
.woocommerce-MyAccount-navigation { flex: 0 0 280px; background-color: #ffffff; border-radius: 16px; padding: 0; border: 1px solid #E5E7EB; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.03); height: fit-content; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid #f0f4f8; }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 18px 25px; color: #4B5563; text-decoration: none; font-weight: 600; font-size: 0.95rem; transition: all 0.2s; }
.woocommerce-MyAccount-navigation li a:hover { background-color: #f9fafb; color: #000091; padding-left: 30px; }
.woocommerce-MyAccount-navigation li.is-active a { background-color: #000091; color: #ffffff; }

/* Contenu Droite */
.woocommerce-MyAccount-content { flex: 1; background-color: #ffffff; padding: 40px; border-radius: 16px; border: 1px solid #E5E7EB; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.woocommerce-MyAccount-content > p:first-child { display: none; } /* Cache le bonjour par défaut */

/* Dashboard Cards (Tuiles) */
.educo-dashboard-welcome h3 { margin-top: 0; color: #000091; font-size: 1.8rem; }
.educo-dashboard-welcome p { color: #666; margin-bottom: 30px; font-size: 1.1rem; }
.educo-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; }

.educo-dash-card { display: flex; align-items: center; background: #f9fafb; border: 1px solid #E5E7EB; border-radius: 12px; padding: 25px; text-decoration: none !important; transition: all 0.3s ease; position: relative; overflow: hidden; }
.educo-dash-card:hover { transform: translateY(-5px); border-color: #000091; box-shadow: 0 10px 25px rgba(0,0,145,0.08); }

.educo-dash-card .dash-icon { font-size: 28px; margin-right: 20px; background: #fff; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.educo-dash-card h4 { margin: 0 0 5px 0; color: #000091; font-size: 1.1rem; font-weight: 700; }
.educo-dash-card p { margin: 0; font-size: 0.9rem; color: #666; line-height: 1.4; }

.card-blue { border-left: 5px solid #000091; }
.card-contact { background-color: #e8f0fe; border-color: #000091; }

/* Statuts de commande (Badges couleurs) */
.order-status { display: inline-block; padding: 5px 12px; border-radius: 20px; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; }
.status-completed { background-color: #e8f5e9; color: #2e7d32; } /* Vert */
.status-processing { background-color: #e3f2fd; color: #1565c0; } /* Bleu */
.status-on-hold { background-color: #fff3e0; color: #ef6c00; } /* Orange */
.status-cancelled { background-color: #ffebee; color: #c62828; } /* Rouge */

/* Responsive Mon Compte */
@media (max-width: 999px) {
    .woocommerce-account .woocommerce { flex-direction: column; }
    .woocommerce-MyAccount-navigation { width: 100%; margin-bottom: 30px; }
    .educo-dashboard-grid { grid-template-columns: 1fr; }
}