/* ==========================================================================
   RIDÉAL — DESCRIPTION DE LA FICHE PRODUIT
   Ajouté le 07/08/2026.

   Le champ « Description » des produits porte le contenu rédactionnel : une
   suite de H2 et de paragraphes, c'est lui que Rank Math analyse. Il sortait
   sans aucun traitement, en pleine largeur du conteneur (1140 px hors marges),
   soit une centaine de caractères par ligne.

   On lui applique le système typographique du modèle d'article, à l'identique :
   mêmes jetons, même échelle, même rythme vertical, même filet au-dessus des
   H2. Un lecteur qui passe du blog à une fiche produit doit reconnaître la
   même main.

   Les jetons sont redéclarés ici plutôt qu'empruntés à rideal-article.css :
   cette feuille-là n'est chargée que sur les articles.
   ========================================================================== */

/* Le sélecteur est volontairement lourd. Elementor pose sur ses conteneurs
   .e-con.e-con > .e-con-inner > .elementor-widget { max-width: 100% }
   — le .e-con doublé est délibéré, il monte la spécificité à 0,4,0. Un
   sélecteur à deux classes se fait battre et la colonne reste à 1140 px.
   body + quatre classes donne 0,4,1 : on passe devant sans !important, et
   sans dépendre de la structure des conteneurs, seulement des classes que le
   widget porte lui-même. */
body.single-product .elementor-element.elementor-widget.elementor-widget-woocommerce-product-content {
    --rdlp-titre: #0E1236;
    --rdlp-corps: #6B6F8A;
    --rdlp-accent: #1C00FF;
    --rdlp-clair: #F5F5F7;
    --rdlp-filet: #E5E7EB;
    --rdlp-din: 'DIN Condensed light', 'DIN Condensed', 'Arial Narrow', 'Liberation Sans Narrow', sans-serif;
    --rdlp-sans: 'Akzidenz-Grotesk Next', 'Helvetica Neue', Helvetica, Arial, sans-serif;

    /* 46rem : à 20 px de corps, environ 61 caractères par ligne. Même mesure
       que la colonne d'article. Centré sous le titre de section, lui-même
       centré, mais le texte reste aligné à gauche : on lit à gauche. */
    max-width: 46rem;
    margin-inline: auto;
    text-align: left;
    font: 400 1.25rem/1.5 var(--rdlp-sans);
    color: var(--rdlp-corps);
}

/* ==========================================================================
   TITRES — Akzidenz, hiérarchie 32 / 24, comme dans l'article
   Le titre de section « Description du produit » reste à 55 px : ces H2-ci
   sont un cran en dessous, ce qui est la hiérarchie voulue.
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content h2 {
    font: 700 2rem/1.1 var(--rdlp-sans);
    color: var(--rdlp-titre);
    border-top: 1px solid var(--rdlp-filet);
    padding-top: 1.75rem;
    margin: 3rem 0 1.25rem;
    text-align: left;
}

/* Le premier H2 suit immédiatement le titre de section : ni filet ni respiration
   supplémentaire, sinon on empile deux séparations. */
.single-product .elementor-widget-woocommerce-product-content h2:first-child {
    border-top: 0;
    padding-top: 0;
    margin-top: 0;
}

.single-product .elementor-widget-woocommerce-product-content h3 {
    font: 600 1.5rem/1.15 var(--rdlp-sans);
    color: var(--rdlp-titre);
    margin: 2.5rem 0 0.875rem;
    text-align: left;
}

.single-product .elementor-widget-woocommerce-product-content h4 {
    font: 600 1.25rem/1.2 var(--rdlp-sans);
    color: var(--rdlp-titre);
    margin: 2rem 0 0.75rem;
    text-align: left;
}

/* ==========================================================================
   TEXTE COURANT
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content p {
    margin: 0 0 1.5rem;
    color: var(--rdlp-corps);
}

.single-product .elementor-widget-woocommerce-product-content p:last-child {
    margin-bottom: 0;
}

/* Le gras porte les chiffres et les termes techniques : il passe en couleur de
   titre, sinon il se noie dans le gris du corps. */
.single-product .elementor-widget-woocommerce-product-content strong,
.single-product .elementor-widget-woocommerce-product-content b {
    font-weight: 700;
    color: var(--rdlp-titre);
}

.single-product .elementor-widget-woocommerce-product-content a {
    color: var(--rdlp-accent);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.single-product .elementor-widget-woocommerce-product-content a:hover {
    text-decoration: none;
}

/* ==========================================================================
   LISTES
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content :is(ul, ol) {
    margin: 0 0 1.5rem 1.25rem;
    padding: 0;
}

.single-product .elementor-widget-woocommerce-product-content li {
    font: 400 1.125rem/1.5 var(--rdlp-sans);
    color: var(--rdlp-titre);
    margin-bottom: 0.625rem;
}

/* ==========================================================================
   TABLEAUX — repris à l'identique du modèle d'article
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 0 1.5rem;
    border: 1px solid var(--rdlp-filet);
}

.single-product .elementor-widget-woocommerce-product-content thead tr {
    background: var(--rdlp-clair);
}

.single-product .elementor-widget-woocommerce-product-content th {
    text-align: left;
    padding: 0.875rem 1rem;
    font: 600 0.6875rem/1.2 var(--rdlp-sans);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--rdlp-corps);
    border-bottom: 1px solid var(--rdlp-filet);
}

.single-product .elementor-widget-woocommerce-product-content td {
    padding: 0.8125rem 1rem;
    font: 400 1rem/1.5 var(--rdlp-sans);
    color: var(--rdlp-titre);
    border-bottom: 1px solid var(--rdlp-filet);
}

.single-product .elementor-widget-woocommerce-product-content td:first-child {
    font-weight: 600;
}

.single-product .elementor-widget-woocommerce-product-content tr:last-child td {
    border-bottom: 0;
}

/* ==========================================================================
   IMAGES INSÉRÉES DANS LA DESCRIPTION
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.5rem;
}

/* ==========================================================================
   CITATION — un encart pour une garantie, un délai, un chiffre clé
   ========================================================================== */

.single-product .elementor-widget-woocommerce-product-content blockquote {
    background: var(--rdlp-clair);
    border-left: 2px solid var(--rdlp-accent);
    padding: 1.25rem 1.5rem;
    margin: 0 0 1.5rem;
    font: 400 1.25rem/1.5 var(--rdlp-sans);
    color: var(--rdlp-titre);
}

.single-product .elementor-widget-woocommerce-product-content blockquote p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   MOBILE
   Le conteneur perd ses marges latérales de 8 % : on redonne de l'air, et on
   descend l'échelle des titres pour qu'un H2 tienne sur deux lignes.
   ========================================================================== */

@media (max-width: 767px) {
    body.single-product .elementor-element.elementor-widget.elementor-widget-woocommerce-product-content {
        font-size: 1.0625rem;
        padding-inline: 1.25rem;
    }

    .single-product .elementor-widget-woocommerce-product-content h2 {
        font-size: 1.5rem;
        padding-top: 1.25rem;
        margin: 2.25rem 0 1rem;
    }

    .single-product .elementor-widget-woocommerce-product-content h3 {
        font-size: 1.1875rem;
        margin: 1.75rem 0 0.75rem;
    }

    .single-product .elementor-widget-woocommerce-product-content li {
        font-size: 1rem;
    }

    .single-product .elementor-widget-woocommerce-product-content :is(th, td) {
        padding: 0.75rem 0.875rem;
    }
}
