/**
 * Bridge — Skin FSE
 *
 * Adapte le rendu des modèles Bridge aux tokens d'un thème FSE (theme.json /
 * Styles globaux), pour limiter l'intervention d'un dev CSS sur ce type de sites.
 * Chargé uniquement sur les thèmes de blocs, APRÈS uikit + plugin-sit-public.css
 * (voir BridgeClientRendererWordpress : ajout conditionnel si wp_is_block_theme()).
 *
 * PRINCIPE
 * Bridge possède déjà un système de theming par variables :
 *   .uk-button-primary { background: var(--bridge-primary-color); }
 *   .uk-button-default  { color: var(--bridge-texte-color); }
 * Ces variables sont normalement bindées sur Elementor (--e-global-color-*). En FSE,
 * Elementor n'existe pas → elles retombent sur des défauts codés en dur (boutons non
 * brandés). On les RE-ALIMENTE donc à partir des variables WordPress
 * (--wp--preset--color--*), avec une cascade de fallback couvrant les slugs courants
 * (primary, accent-1, accent, contrast...) puis la valeur par défaut historique.
 *
 * Comme on alimente les variables existantes, TOUS les composants UIkit suivent
 * automatiquement, sans bataille de spécificité.
 *
 * SURCHARGE AGENCE (une seule ligne si le thème a un slug différent) :
 *   :root, .single-fiche_sit, #ListeBridge,
 *   .bridge-fiche, .bridge-liste { --bridge-primary-color: var(--wp--preset--color--mon-slug); }
 */

:root,
.single-fiche_sit,
#ListeBridge,
.bridge-fiche,
.bridge-liste,
.bridge-archive-container {
    --bridge-primary-color: var(--wp--preset--color--primary,
                            var(--wp--preset--color--accent-1,
                            var(--wp--preset--color--accent,
                            var(--wp--preset--color--contrast, #1e87f0))));

    --bridge-secondary-color: var(--wp--preset--color--secondary,
                              var(--wp--preset--color--accent-2,
                              var(--wp--preset--color--tertiary, #222)));

    --bridge-texte-color: var(--wp--preset--color--contrast,
                          var(--wp--preset--color--foreground, #383838));

    --bridge-link-color: var(--wp--preset--color--primary,
                         var(--wp--preset--color--accent-1,
                         var(--wp--preset--color--accent, #1e87f0)));

    /* Fond du bouton actif (filtres, bascule liste/carte) → couleur de marque. */
    --bridge-active-button-background: var(--bridge-primary-color);

    /* Couleur de texte posée SUR la couleur de marque (boutons pleins). */
    --bridge-on-primary: var(--wp--preset--color--background,
                         var(--wp--preset--color--base, #ffffff));

    /* Style des titres — pilotable en une ligne par l'agence.
       Ex. titres en couleur de marque :
         .bridge-fiche { --bridge-titre-color: var(--bridge-primary-color); } */
    --bridge-titre-color: var(--bridge-texte-color);
    --bridge-titre-font: var(--wp--preset--font-family--heading,
                         var(--wp--preset--font-family--body, inherit));
    --bridge-titre-weight: 700;
}

/* --- Boutons CTA UIkit : défaut → contour de marque (APPELER / SITE / CONTACT) --- */
/* (le bouton plein primaire est déjà géré par --bridge-primary-color ci-dessus)    */
.bridge-fiche .uk-button-default,
.bridge-liste .uk-button-default {
    border-color: var(--bridge-primary-color);
    color: var(--bridge-primary-color);
}
.bridge-fiche .uk-button-default:hover,
.bridge-fiche .uk-button-default:focus,
.bridge-liste .uk-button-default:hover,
.bridge-liste .uk-button-default:focus {
    background-color: var(--bridge-primary-color);
    border-color: var(--bridge-primary-color);
    color: var(--bridge-on-primary);
}

/* --- Liens de contenu (hors boutons) --- */
.bridge-fiche-content a:not(.uk-button) {
    color: var(--bridge-link-color);
}

/* --- Sommaire ancré : entrée active --- */
.bridge-fiche-sommaire .uk-active > a,
.bridge-fiche-sommaire li.uk-active a {
    color: var(--bridge-primary-color);
}

/* --- Moteur de recherche : filtres « segmented » (état actif) --- */
.bridge-filter-radiobutton input:checked + label {
    background-color: var(--bridge-primary-color);
    border-color: var(--bridge-primary-color);
}

/* --- Moteur de recherche : checkbuttons (critères cochés) --- */
ul.bridge-checkbuttons-list li input[type="checkbox"]:checked + label {
    background-color: var(--bridge-primary-color);
    border-color: var(--bridge-primary-color);
}

/* --- Bascule liste/carte : bouton de tri actif --- */
.bridge-sort .bridge-sort-btn.uk-active,
.bridge-sort .bridge-sort-btn:hover {
    background-color: var(--bridge-primary-color);
    color: var(--bridge-on-primary);
}

/* --- Popups carto : surtitre + lien permalien → couleur de marque --- */
.bridge-map-popup .bridge-map-popup-surtitre,
[class*="bridge-map-popup"] .bridge-map-popup-surtitre {
    color: var(--bridge-primary-color);
}
.bridge-map-popup-permalink.uk-button {
    background-color: var(--bridge-primary-color);
    border-color: var(--bridge-primary-color);
    color: var(--bridge-on-primary);
}

/* --- Typographie : hériter des polices du thème FSE (fallback : héritage) --- */
.bridge-fiche,
.bridge-liste {
    font-family: var(--wp--preset--font-family--body, inherit);
}

/* --- Titres ---
 * UIkit aplatit les titres (h1..h6 et .uk-h1..6) : font-weight:400 et couleur =
 * --bridge-texte-color, sans style de titre marqué. On reprend la police de titre
 * du thème FSE, la couleur (token), et on restaure une graisse de titre visible.
 * On vise aussi les .uk-h* car des titres Bridge sont des <span class="uk-h1">.
 * NB : la taille/graisse EXACTE d'un thème FSE n'est pas exposée en variable CSS
 * (ses global styles ciblent :where(hX), écrasés par UIkit) ; pour un match précis,
 * surcharger ces règles côté thème. La taille reste l'échelle des gabarits Bridge. */
.bridge-fiche h1, .bridge-fiche h2, .bridge-fiche h3,
.bridge-fiche h4, .bridge-fiche h5, .bridge-fiche h6,
.bridge-fiche .uk-h1, .bridge-fiche .uk-h2, .bridge-fiche .uk-h3,
.bridge-fiche .uk-h4, .bridge-fiche .uk-h5, .bridge-fiche .uk-h6,
.bridge-fiche .bridge-titre-fiche,
.bridge-liste .uk-h1, .bridge-liste .uk-h2, .bridge-liste .uk-h3,
.bridge-liste .uk-h4, .bridge-liste .uk-h5, .bridge-liste .uk-h6 {
    font-family: var(--bridge-titre-font);
    color: var(--bridge-titre-color);
    font-weight: var(--bridge-titre-weight);
}
