/* ==========================================================================
   Fond de page blanc
   Le gris venait de deux sources : un <style> inline qui pose
   « body { background: #f5f5f5 } » et une regle WooCommerce qui pose
   « #f8f8f8 » sur les pages boutique. Les deux sont neutralisees ici.
   ========================================================================== */

html,
body,
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.single-product,
body.archive,
body.tax-product_cat {
    background-color: #FFFFFF !important;
}

/* Les sections qui portent une grille de cartes produit restent blanches
   meme si une couleur de page revenait un jour. Sans « !important » : une
   couleur choisie a la main dans Elementor garde la priorite. */
.e-con:has(ul.products),
.elementor-section:has(ul.products) {
    background-color: #FFFFFF;
}

/* Les fonds des blocs catalogue étaient définis directement par Elementor. */
body.tax-product_cat .elementor .rdlc-bloc:not(.rdlc-sombre),
body.tax-product_cat .elementor .rdlc-encadre,
body.tax-product_cat .elementor .e-con:has(ul.products) {
    background-color: #fff !important;
}

/* Page d'entrée des pièces : familles, catalogue, puis aide à la compatibilité. */
.elementor-1534 .rdl-parts-hero {
    min-height: 480px !important;
    padding: 180px max(32px, calc((100vw - 1300px) / 2)) 52px !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
}
.elementor-1534 .rdl-parts-hero > .e-con {width: min(920px, 100%) !important;}
.elementor-1534 .rdl-parts-hero::before {background: linear-gradient(90deg,rgba(14,18,54,.92),rgba(14,18,54,.6)) !important;opacity: 1!important;}
.elementor-1534 .rdl-parts-hero h1 {font-size: clamp(32px, 3.2vw, 48px);line-height: 1.12;max-width: 850px;margin: 0 0 16px;font-style: normal;}
.elementor-1534 .rdl-parts-hero p {font-size: 18px;line-height: 1.6;max-width: 790px;margin: 0;}
.elementor-1534 .rdl-parts-catalog {padding: 56px 32px 32px !important;gap: 28px;}
.elementor-1534 .rdl-parts-catalog > .e-con-inner {gap: 28px;}
.rdl-parts-intro h2,.rdl-parts-help h2 {font-size: clamp(27px, 2.6vw, 38px);line-height: 1.18;color: #111234;margin: 10px 0 16px;font-weight: 600;font-style: normal;}
.rdl-parts-intro p,.rdl-parts-help p {font-size: 17px;line-height: 1.65;color: #62677c;margin: 0 0 20px;}
.rdl-parts-intro .rdl-parts-eyebrow,.rdl-parts-help .rdl-parts-eyebrow {font-family: 'DIN Condensed light',sans-serif;color: #1c00ff;letter-spacing: .1em;font-size: 20px;margin: 0;}
.rdl-parts-families {display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 18px;margin: 26px 0 8px;}
.rdl-parts-families a {position: relative;display: flex;flex-direction: column;gap: 9px;padding: 23px 48px 23px 22px;border: 1px solid #dedfe7;border-left: 4px solid #1c00ff;color: #111234;background: #fff;text-decoration: none;transition: border-color .2s,background .2s;}
.rdl-parts-families strong {font-size: 20px;line-height: 1.3;font-weight: 600;}
.rdl-parts-families span {font-size: 15px;line-height: 1.5;color: #62677c;}
.rdl-parts-families .rdl-parts-arrow {position: absolute;right: 18px;top: 22px;color: #1c00ff;font-size: 25px;}
.rdl-parts-families a:hover {border-color: #1c00ff;background: #fafaff;}
.rdl-parts-families a:focus-visible,.rdl-parts-contact:focus-visible {outline: 3px solid #1c00ff;outline-offset: 4px;}
.elementor-1534 .rdl-parts-help-section {padding: 36px 32px 80px !important;}
.rdl-parts-help {border-top: 1px solid #dedfe7;padding-top: 40px;}
.rdl-parts-help ol {display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 28px;list-style: none;counter-reset: compatibility;padding: 0;margin: 28px 0;}
.rdl-parts-help li {counter-increment: compatibility;border-left: 3px solid #ceff00;padding-left: 20px;}
.rdl-parts-help li::before {content: '0' counter(compatibility);display: block;font-family: 'DIN Condensed light',sans-serif;font-size: 32px;color: #1c00ff;margin-bottom: 8px;}
.rdl-parts-help li strong {display: block;font-size: 20px;color: #111234;line-height: 1.3;margin-bottom: 8px;}
.rdl-parts-help li span {font-size: 16px;line-height: 1.6;color: #62677c;}
.rdl-parts-contact {display: inline-flex;align-items: center;padding: 16px 24px;background: #1c00ff;color: #fff!important;text-decoration: none;font-size: 17px;font-weight: 600;}
.rdl-parts-help .rdl-parts-caution {font-size: 14px;margin: 22px 0 0;max-width: 850px;}
@media(max-width:767px){
 .elementor-1534 .rdl-parts-hero {min-height: 0!important;padding: 170px 22px 38px!important;}
 .elementor-1534 .rdl-parts-hero h1 {font-size: 32px!important;}
 .elementor-1534 .rdl-parts-hero p {font-size: 16px!important;}
 .elementor-1534 .rdl-parts-catalog {padding: 34px 20px 16px!important;}
 .rdl-parts-families {grid-template-columns: 1fr;gap: 12px;}
 .rdl-parts-families a {padding: 18px 44px 18px 18px;}
 .rdl-parts-families strong {font-size: 18px;}
 .elementor-1534 .rdl-parts-help-section {padding: 26px 20px 52px!important;}
 .rdl-parts-help ol {grid-template-columns: 1fr;gap: 24px;}
 .rdl-parts-contact {font-size: 16px;}
}
@media(prefers-reduced-motion:reduce){.rdl-parts-families a{transition:none;}}
.rdl-parts-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
.rdl-parts-links a{display:flex;align-items:center;justify-content:center;text-align:center;padding:17px 24px;background:#ceff00;color:#111234;font-weight:600;text-decoration:none;line-height:1.35;}
.rdl-parts-links a:hover{background:#111234;color:#ceff00;}
.rdl-parts-links a:focus-visible{outline:3px solid #1c00ff;outline-offset:3px;}
@media(max-width:767px){.rdl-parts-links{display:grid;grid-template-columns:1fr;}.rdl-parts-links a{padding:15px 18px;}}
