/*
Theme Name: Krea3 Regards
Theme URI: https://www.krea3.fr/
Author: Krea3
Author URI: https://www.krea3.fr/
Description: Une mairie à hauteur de vie. Composition éditoriale, fond papier, typographie élégante, services lisibles et photographies réelles ; thème iCommune autonome.
Version: 1.0.1
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: krea3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* La présentation est chargée par inc/krea3-regards.php. */

/* Modules éditoriaux — palette et typographies du thème actif.
 * Les moteurs, filtres, états d'erreur et icônes restent ceux des plugins.
 * Variables de référence : assets/css/regards.css, propres à Regards.
 */
.rg-site { --rg-module-title-weight: 700; }
.rg-site :is(.k3-agenda-modern-pro, .k3-annuaire-modern-pro, .krea3-deliberations,
    .krea3-affichage-legal, .krea3-affichage-legal-single, .krea3-container, .krea3-filters,
    .krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) {
    color: var(--couleur-noir);
    font-family: var(--police-secondaire);
}

/* Agenda et annuaires : les variables locales priment sur le socle neutre. */
.rg-site .k3-agenda-modern-pro {
    --k3-agenda-ui-primary: var(--couleur-principale);
    --k3-agenda-ui-secondary: var(--rg-teal);
    --k3-agenda-ui-on-action: var(--couleur-blanc);
    --k3-agenda-ui-surface: var(--couleur-blanc);
    --k3-agenda-ui-border: var(--rg-line);
    --k3-agenda-pro-text: var(--couleur-noir);
    --k3-agenda-pro-muted: var(--rg-muted);
    --k3-agenda-pro-soft: var(--gris-tres-clair);
    --k3-agenda-pro-line: var(--rg-line);
    --k3-agenda-pro-surface: var(--couleur-blanc);
    --k3-agenda-pro-sage-soft: var(--gris-tres-clair);
    --k3-agenda-pro-white: var(--couleur-blanc);
    --k3-agenda-pro-font-family: var(--police-secondaire);
    --k3-agenda-pro-title-font-family: var(--police);
    --k3-agenda-pro-title-color: var(--couleur-principale);
    --k3-agenda-pro-title-weight: var(--rg-module-title-weight);
    --k3-agenda-pro-mobile-title-color: var(--couleur-principale);
    --k3-agenda-pro-mobile-title-weight: var(--rg-module-title-weight);
    --k3-agenda-pro-agenda-date-bg: var(--couleur-principale);
    --k3-agenda-pro-agenda-date-color: var(--couleur-blanc);
}
.rg-site .k3-annuaire-modern-pro {
    --k3-annuaire-ui-primary: var(--couleur-principale);
    --k3-annuaire-ui-secondary: var(--rg-teal);
    --k3-annuaire-ui-on-action: var(--couleur-blanc);
    --k3-annuaire-ui-surface: var(--couleur-blanc);
    --k3-annuaire-ui-border: var(--rg-line);
    --k3-annuaire-pro-text: var(--couleur-noir);
    --k3-annuaire-pro-muted: var(--rg-muted);
    --k3-annuaire-pro-soft: var(--gris-tres-clair);
    --k3-annuaire-pro-line: var(--rg-line);
    --k3-annuaire-pro-surface: var(--couleur-blanc);
    --k3-annuaire-pro-sage-soft: var(--gris-tres-clair);
    --k3-annuaire-pro-white: var(--couleur-blanc);
    --k3-annuaire-pro-font-family: var(--police-secondaire);
    --k3-annuaire-pro-title-font-family: var(--police);
    --k3-annuaire-pro-title-color: var(--couleur-principale);
    --k3-annuaire-pro-title-weight: var(--rg-module-title-weight);
    --k3-annuaire-pro-mobile-title-color: var(--couleur-principale);
    --k3-annuaire-pro-mobile-title-weight: var(--rg-module-title-weight);
}

/* Délibérations et kiosque : couleurs de marque et fonds de l'ambiance. */
.rg-site .krea3-deliberations {
    --krea3-delib-accent: var(--couleur-principale);
    --krea3-delib-accent-dark: var(--rg-teal);
    --krea3-delib-text: var(--couleur-noir);
    --krea3-delib-muted: var(--rg-muted);
    --krea3-delib-border: var(--rg-line);
    --krea3-delib-soft: var(--gris-tres-clair);
    --krea3-delib-surface: var(--couleur-blanc);
}
.rg-site :is(.krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) {
    --krea3-kiosque-accent: var(--couleur-principale);
    --krea3-kiosque-accent-dark: var(--rg-teal);
    --krea3-kiosque-text: var(--couleur-noir);
    --krea3-kiosque-muted: var(--rg-muted);
    --krea3-kiosque-border: var(--rg-line);
    --krea3-kiosque-surface: var(--couleur-blanc);
    --krea3-kiosque-soft: var(--gris-tres-clair);
}
.rg-site .krea3-affichage-legal-single {
    --krea3-affichage-legal-text: var(--couleur-noir);
    --krea3-affichage-legal-muted: var(--rg-muted);
    --krea3-affichage-legal-border: var(--rg-line);
    --krea3-affichage-legal-soft: var(--gris-tres-clair);
    --krea3-affichage-legal-action: var(--couleur-principale);
}

/* Les titres de fiches gardent une taille adaptée à leur carte. */
.rg-site :is(#content, #content_large) :is(.k3-agenda-modern-pro, .k3-annuaire-modern-pro,
    .krea3-deliberations, .krea3-container, .krea3-kiosque, .krea3-kiosque-page,
    .krea3-kiosque-single) :is(h2, h3) {
    color: var(--couleur-principale);
    font-family: var(--police);
    font-weight: var(--rg-module-title-weight);
    font-size: clamp(1.2rem, 1rem + .5vw, 1.5rem);
    line-height: 1.35;
    letter-spacing: normal;
    text-transform: none;
    margin-block: 0 1rem;
}
.rg-site :is(.krea3-deliberations-session-title button, .krea3-affichage-legal-title) {
    color: var(--couleur-principale);
    font-family: var(--police);
    font-weight: var(--rg-module-title-weight);
}
.rg-site :is(.k3-agenda-modern-pro, .k3-annuaire-modern-pro, .krea3-deliberations,
    .krea3-container, .krea3-filters, .krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single)
    :is(input, select, textarea, button) {
    font-family: var(--police-secondaire);
}
.rg-site .krea3-deliberations-session-title button {
    font-family: var(--police);
    font-size: inherit;
}
.rg-site .krea3-deliberations-session-title strong { font-weight: var(--rg-module-title-weight); font-size: 1.125rem; }
.rg-site .krea3-deliberations-session-title :is(time, small) {
    font-family: var(--police-secondaire);
    font-weight: 600;
}
.rg-site :is(#content, #content_large) :is(.krea3-deliberations, .krea3-container, .krea3-filters,
    .krea3-kiosque, .krea3-kiosque-page, .krea3-kiosque-single) a {
    color: var(--couleur-principale);
}
.rg-site :is(#content, #content_large) :is(.krea3-deliberations-filter-actions button,
    .krea3-actions button, .krea3-search-submit, .krea3-pagination .current, a.krea3-kiosque-button,
    .krea3-kiosque-filters button),
.rg-site a.krea3-affichage-legal-button {
    background-color: var(--couleur-principale);
    border-color: var(--couleur-principale);
    color: var(--couleur-blanc);
}
.rg-site :is(#content, #content_large) :is(a.krea3-kiosque-button-secondary,
    .krea3-deliberations-document-link) {
    background-color: var(--gris-tres-clair);
    border-color: var(--rg-line);
    color: var(--couleur-principale);
}
.rg-site :is(#content, #content_large) :is(a.krea3-kiosque-button,
    .krea3-kiosque-filters button, .krea3-deliberations-filter-actions button,
    .krea3-actions button, .krea3-search-submit):is(:hover, :focus-visible),
.rg-site a.krea3-affichage-legal-button:is(:hover, :focus-visible) {
    background-color: var(--rg-teal);
    border-color: var(--rg-teal);
    color: var(--couleur-blanc);
}

/* Affichage légal : le moteur historique possède encore des couleurs fixes. */
.rg-site .krea3-filters {
    background: var(--gris-tres-clair);
}
.rg-site :is(.krea3-container, .krea3-affichage-legal, .krea3-filters) :is(.krea3-card,
    .krea3-filters input, .krea3-period input, .krea3-pagination .page-numbers) {
    border-color: var(--rg-line);
}
.rg-site .krea3-filters .krea3-checkbox input {
    border-color: var(--couleur-principale);
}
.rg-site .krea3-filters .krea3-checkbox input:checked {
    background-color: var(--couleur-principale);
}
.rg-site :is(.krea3-container, .krea3-affichage-legal) :is(.krea3-tags,
    .krea3-meta, .krea3-count, .krea3-date) { color: var(--rg-muted); }
.rg-site .krea3-container .krea3-date .krea3-icon { color: var(--couleur-principale); }
.rg-site .krea3-filters .krea3-actions a {
    border-color: var(--couleur-principale);
}
.rg-site .krea3-filters :is(select, .krea3-filter-reset) {
    background-color: var(--couleur-blanc);
    border-color: var(--rg-line);
    color: var(--couleur-principale);
}
.rg-site .krea3-filters .krea3-filter-reset:is(:hover, :focus-visible) {
    background-color: var(--gris-tres-clair);
    border-color: var(--couleur-principale);
}
.rg-site .flatpickr-calendar { font-family: var(--police-secondaire); }
.rg-site .flatpickr-calendar :is(.flatpickr-months, .flatpickr-month,
    .flatpickr-weekdays, .flatpickr-weekday, .flatpickr-day.selected,
    .flatpickr-day.startRange, .flatpickr-day.endRange) {
    background-color: var(--couleur-principale);
    border-color: var(--couleur-principale);
    color: var(--couleur-blanc);
}

/* Co-marquage Service-Public : remplacer les anciennes polices et couleurs
 * de navigation. Les alertes éditoriales conservent leur code de signalement.
 */
.rg-site :is(#content, #content_large):has(:is(#menu-top-guide-demarches,
    #menu2-guide-demarches, .un-bloc-liens-comarquage)) {
    --comarquage-bleu: var(--couleur-principale);
    --comarquage-bleu-fonce: var(--rg-teal);
    --comarquage-focus: var(--couleur-principale);
    --comarquage-orange: var(--couleur-secondaire);
    --gris-fonce: var(--couleur-noir);
    --reguliere: var(--rg-module-title-weight);
}
.rg-site :is(#menu-top-guide-demarches, #menu2-guide-demarches,
    #fil-ariane-comarquage, .acceder-au-service, .un-bloc-liens-dossiers-N,
    table.spTexteTableau) { font-family: var(--police-secondaire); }
.rg-site :is(#content, #content_large) :is(#menu-top-guide-demarches a,
    .un-bloc-liens-comarquage a, .un-bloc-liens-dossiers-N a) {
    color: var(--couleur-principale);
}
.rg-site #menu-top-guide-demarches li a.current-profil-comarquage {
    border-color: var(--couleur-principale);
    background: var(--gris-tres-clair);
    color: var(--couleur-principale);
}
.rg-site :is(#menu-top-guide-demarches li, .un-bloc-liens-comarquage,
    .un-bloc-liens-dossiers-N p a, .attention-comarquage) {
    border-color: var(--rg-line);
}
.rg-site :is(#content, #content_large) :is(#menu2-guide-demarches li a,
    .acceder-au-service a, th.spTexteTableau) {
    background-color: var(--couleur-principale);
    color: var(--couleur-blanc);
    font-weight: 600;
}
.rg-site :is(#content, #content_large) :is(#menu2-guide-demarches li a,
    .acceder-au-service a):is(:hover, :focus-visible) {
    background-color: var(--rg-teal);
    color: var(--couleur-blanc);
}
.rg-site :is(.acceder-au-service, .un-bloc-liens-comarquage.fond-couleur,
    tr.spTexteTableau:nth-child(2n + 1) > td.spTexteTableau) {
    background-color: var(--gris-tres-clair);
}
.rg-site :is(.un-bloc-liens-comarquage p, .un-bloc-liens-comarquage li,
    li.spTexteListe p)::before,
.rg-site .date-actu-comarquage span { color: var(--rg-teal); }
.rg-site :is(#content, #content_large) :is(#menu-top-guide-demarches,
    #menu2-guide-demarches, .un-bloc-liens-comarquage, .un-bloc-liens-dossiers-N)
    :is(h2, h3) { font-family: var(--police); color: var(--couleur-principale); }

/* Accent secondaire sur les surfaces claires, texte foncé pour le contraste. */
.rg-site :is(.krea3-deliberations-session.is-open,
    .krea3-container .krea3-card:focus-within) { border-color: var(--couleur-secondaire); }
.rg-site :is(.krea3-deliberations, .krea3-container, .krea3-filters, .krea3-kiosque,
    .k3-agenda-modern-pro, .k3-annuaire-modern-pro) :focus-visible {
    outline: 3px solid var(--couleur-principale);
    outline-offset: 3px;
}

/* Service-Public : isoler les menus du profil éditorial ajouté au contenu.
 * Les !important répondent uniquement aux resets éditoriaux et au socle métier.
 * Le contenu des fiches, les formulaires et leurs états restent inchangés.
 */
body.rg-site :is(#content#content, #content_large#content_large)
    :is(#menu-top-guide-demarches, #menu2-guide-demarches) {
    list-style: none !important;
    padding-inline: 0 !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    :is(#menu-top-guide-demarches, #menu2-guide-demarches) > li {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    :is(#menu-top-guide-demarches, #menu2-guide-demarches) > li::before,
body.rg-site :is(#content#content, #content_large#content_large)
    .un-bloc-liens-comarquage :is(p, li)::before,
body.rg-site :is(#content#content, #content_large#content_large)
    .un-bloc-liens-comarquage :is(p, li) > a::before {
    display: none !important;
    content: none !important;
}
body.rg-site :is(#content#content, #content_large#content_large) #menu-top-guide-demarches {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin: 0 0 1.5rem !important;
}
body.rg-site :is(#content#content, #content_large#content_large) #menu-top-guide-demarches a {
    color: var(--rg-navy) !important;
    background: var(--rg-ivory) !important;
    border: 1px solid var(--rg-line) !important;
    border-top: 4px solid var(--rg-line) !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    transform: none !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}
body.rg-site :is(#content#content, #content_large#content_large) #menu-top-guide-demarches a span {
    color: inherit !important;
    font: inherit !important;
    letter-spacing: 0 !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    #menu-top-guide-demarches a:is(.current-profil-comarquage, :hover, :focus-visible) {
    background: #fff !important;
    border-color: var(--rg-navy) !important;
}
body.rg-site :is(#content#content, #content_large#content_large) #menu2-guide-demarches {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .65rem !important;
    margin: 0 !important;
    padding-block: 1.5rem !important;
    border-color: var(--rg-line) !important;
}
body.rg-site :is(#content#content, #content_large#content_large) #menu2-guide-demarches a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 3rem !important;
    margin: 0 !important;
    color: #fff !important;
    background: var(--rg-navy) !important;
    border: 1px solid var(--rg-navy) !important;
    border-radius: 0 !important;
    font: 650 .9rem/1.4 var(--police-secondaire) !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    #menu2-guide-demarches a:is(:hover, :focus-visible) {
    color: #fff !important;
    background: var(--rg-teal) !important;
    border-color: var(--rg-teal) !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    :is(#menu-top-guide-demarches, #menu2-guide-demarches, .un-bloc-liens-comarquage) a:focus-visible {
    outline: 3px solid var(--rg-navy) !important;
    outline-offset: 4px !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage {
    border-radius: 0 !important;
    border-color: var(--rg-line) !important;
    box-shadow: none !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage h2 {
    color: var(--rg-navy) !important;
    font: 750 clamp(1.3rem, 1.7vw, 1.75rem)/1.25 var(--police) !important;
    letter-spacing: -.025em !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage :is(p, li) {
    padding-block: .85rem !important;
    border-bottom: 1px solid var(--rg-line) !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage :is(p, li) > a {
    color: var(--rg-navy) !important;
    text-decoration: underline !important;
    text-underline-offset: .2em !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    .un-bloc-liens-comarquage :is(p, li) > a:is(:hover, :focus-visible) {
    color: var(--rg-teal) !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage p.tous-les {
    border: 0 !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage .tous-les a {
    color: #fff !important;
    background: var(--rg-navy) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    .un-bloc-liens-comarquage .tous-les a:is(:hover, :focus-visible) {
    color: #fff !important;
    background: var(--rg-teal) !important;
}
@media (max-width: 700px) {
    body.rg-site :is(#content#content, #content_large#content_large)
        :is(#menu-top-guide-demarches, #menu2-guide-demarches) {
        grid-template-columns: 1fr !important;
    }
    body.rg-site :is(#content#content, #content_large#content_large) #menu-top-guide-demarches a {
        min-height: 5rem !important;
        padding: 1rem !important;
        text-align: left !important;
        align-items: stretch !important;
    }
    body.rg-site :is(#content#content, #content_large#content_large) #menu-top-guide-demarches a span {
        min-height: 3rem !important;
        padding: .6rem 0 .6rem 4rem !important;
        background-size: 35px 44px !important;
        background-position: left center !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.rg-site :is(#content#content, #content_large#content_large)
        :is(#menu-top-guide-demarches, #menu2-guide-demarches) a {
        transition: none !important;
    }
}
body.rg-site :is(#content#content, #content_large#content_large):has(#menu-top-guide-demarches) > :is(h1, h2) {
    color: var(--rg-navy) !important;
    font-family: var(--police) !important;
    font-weight: 750 !important;
    letter-spacing: -.035em !important;
}
body.rg-site :is(#content#content, #content_large#content_large)
    :is(#menu-top-guide-demarches, #menu2-guide-demarches) + hr {
    display: none !important;
}
/* Le Framework peut envelopper le contenu métier dans .ic-editorial. */
body.rg-site :is(#content#content, #content_large#content_large):has(> .ic-editorial > .un-bloc-liens-comarquage) {
    display: block !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .ic-editorial:has(> .un-bloc-liens-comarquage) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .ic-editorial:has(> .un-bloc-liens-comarquage) > :not(.un-bloc-liens-comarquage) {
    grid-column: 1 / -1 !important;
}
body.rg-site :is(#content#content, #content_large#content_large) .ic-editorial:has(> #menu-top-guide-demarches) > h2 {
    color: var(--rg-navy) !important;
    font: 750 clamp(1.6rem, 2.2vw, 2.25rem)/1.2 var(--police) !important;
    letter-spacing: -.035em !important;
}
@media (max-width: 1000px) {
    body.rg-site :is(#content#content, #content_large#content_large) .ic-editorial:has(> .un-bloc-liens-comarquage) {
        grid-template-columns: 1fr !important;
    }
}
body.rg-site :is(#content#content, #content_large#content_large) .un-bloc-liens-comarquage hr {
    display: none !important;
}

/* Recette 1.0.1 : les sélecteurs simples gardent une ligne complète,
 * sans modifier les choix de mois/année des calendriers intégrés. */
.rg-site :is(#content, #content_large)
    select:not([multiple]):not([size]):not(.ui-datepicker-month):not(.ui-datepicker-year):not(.flatpickr-monthDropdown-months) {
    box-sizing: border-box;
    height: auto !important;
    min-height: 48px !important;
    line-height: 1.4;
    padding: 10px 12px;
}
