/* ════════════════════════════════════════════════════════════════════
   Bloc : acf/descriptif-de-la-salle
   ────────────────────────────────────────────────────────────────────
   Grille 2 colonnes (desktop) → 1 colonne (mobile).
   Sections vides absentes du DOM → zéro espace blanc.
   Typo : Agrandir Grand Bold (titres) + Agrandir Tight Bold (contenu).

   ⚠ SPÉCIFICITÉ IRONCLAD :
   Le thème Kadence parent et certains blocs imposent des règles h2
   avec spécificité élevée et parfois !important. Pour gagner sur
   tous les cas, on utilise :
   - sélecteurs à 2 classes minimum (.ccbla-room-desc .ccbla-room-desc__X)
   - !important sur font-size, font-family, line-height, color
   ════════════════════════════════════════════════════════════════════ */

.ccbla-room-desc {
    display:               grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap:            28px;  /* Figma Frame 710 */
    row-gap:               60px;  /* écart vertical entre rangées (image 3) */
    margin:                0;
    padding:               0;
    color:                 #000;
    list-style:            none;
}

@media (max-width: 640px) {
    .ccbla-room-desc {
        grid-template-columns: 1fr;
        row-gap:               32px;
        column-gap:            0;
    }
}

/* Une seule section remplie → 1 colonne alignée à gauche (lisibilité 60ch) */
.ccbla-room-desc[data-count="1"] {
    grid-template-columns: 1fr;
    max-width:             60ch;
    margin-inline-start:   0;
    margin-inline-end:     auto;
}

/* Section: titre + contenu empilés verticalement */

.ccbla-room-desc .ccbla-room-desc__section {
    display:        flex;
    flex-direction: column;
    gap:            20px;  /* Figma Frame 370 : gap h2 → contenu */
    margin:         0;
    padding:        0;
    break-inside:   avoid;
    list-style:     none;
}

/* Titre — Agrandir Grand Bold, 20px (Figma) Spécificité 2 classes + !important pour gagner sur Kadence h2 */

.ccbla-room-desc .ccbla-room-desc__title {
    margin:          0 !important;
    padding:         0 !important;
    /* 2026-05-13 (demande Nic) — Bascule de Agrandir Grand Bold vers Agrandir Wide Medium (uniformité avec les titres POP du reste du site). Le font-weight reste 400 (anti-faux-gras Safari). */
    font-family:     var(--wp--preset--font-family--agrandir-wide-medium, 'Agrandir Wide Medium', sans-serif) !important;
    font-weight:     400 !important;
    font-size:       20px !important;
    line-height:     1.2 !important;
    letter-spacing:  -0.005em !important;
    color:           #000 !important;
    text-transform:  none !important;
    text-align:      left !important;
}

/* Contenu WYSIWYG — Agrandir Tight Bold, 18px (Figma) */

.ccbla-room-desc .ccbla-room-desc__content {
    font-family:  var(--wp--preset--font-family--agrandir-tight-bold, 'Agrandir Tight Bold', sans-serif) !important;
    font-weight:  400 !important;
    font-size:    18px !important;
    line-height:  1.4 !important;
    color:        #000;
    margin:       0;
    padding:      0;
}

/* Listes — puces custom (override du rendu navigateur) */

.ccbla-room-desc .ccbla-room-desc__content ul,
.ccbla-room-desc .ccbla-room-desc__content ol {
    margin:      0 !important;
    padding:     0 !important;
    list-style:  none !important;
}

.ccbla-room-desc .ccbla-room-desc__content li {
    position:      relative;
    padding-left:  1.5em;
    margin:        0 0 12px 0;
    line-height:   1.35;
    list-style:    none;
    break-inside:  avoid;
    font-family:   inherit;
    font-size:     inherit;
    font-weight:   inherit;
}

.ccbla-room-desc .ccbla-room-desc__content li:last-child { margin-bottom: 0; }

/* Puce ronde noire, alignée sur la 1re ligne 2026-05-13 (demande Nic) — Resserrement: top 0.55→0.45em, width/height 0.45→0.35em (puce plus petite, mieux alignée avec la baseline du texte WYSIWYG). */
.ccbla-room-desc .ccbla-room-desc__content li::before {
    content:       "";
    position:      absolute;
    left:          0.15em;
    top:           0.45em;
    width:         0.35em;
    height:        0.35em;
    border-radius: 50%;
    background:    #000;
}

/* Listes imbriquées : puce vide */
.ccbla-room-desc .ccbla-room-desc__content li ul,
.ccbla-room-desc .ccbla-room-desc__content li ol {
    margin-top: 0.4em !important;
}

.ccbla-room-desc .ccbla-room-desc__content li li::before {
    background: transparent;
    border:     1.5px solid #000;
    width:      0.4em;
    height:     0.4em;
    top:        0.6em;
}

/* Paragraphes (si du texte hors liste dans le WYSIWYG) */

.ccbla-room-desc .ccbla-room-desc__content p {
    margin:      0 0 0.75em 0 !important;
    line-height: 1.4;
    font-family: inherit;
    font-size:   inherit;
    font-weight: inherit;
}

.ccbla-room-desc .ccbla-room-desc__content p:last-child { margin-bottom: 0 !important; }

/* Liens — souligné élégant, focus-visible WCAG 2.4.7 */

.ccbla-room-desc .ccbla-room-desc__content a {
    color:                     inherit;
    text-decoration:           underline;
    text-underline-offset:     0.18em;
    text-decoration-thickness: 1.5px;
    transition:                text-decoration-thickness 0.15s ease;
}

.ccbla-room-desc .ccbla-room-desc__content a:hover,
.ccbla-room-desc .ccbla-room-desc__content a:focus-visible {
    text-decoration-thickness: 2.5px;
}

.ccbla-room-desc .ccbla-room-desc__content a:focus-visible {
    outline:        3px solid #005fcc;
    outline-offset: 2px;
    border-radius:  2px;
}

/* Inline emphasis */

.ccbla-room-desc .ccbla-room-desc__content strong { font-weight: 700; }
.ccbla-room-desc .ccbla-room-desc__content em     { font-style: italic; }
.ccbla-room-desc .ccbla-room-desc__content u      { text-decoration: underline; text-underline-offset: 0.15em; }

/* Éditeur Gutenberg: compense l'iframe */

.editor-styles-wrapper .ccbla-room-desc { max-width: 100%; }
