/*
Theme Name:   Kadence Child GPRV
Theme URI:    https://gprv.photo
Description:  Thème enfant de Kadence pour GPRV Photo Club
Author:       André Lochard
Template:     kadence
Version:      1.0.0
Text Domain:  kadence-child
*/

/* ================================================================
   PALETTE GPRV
   Fond body  : #4a4a4a  (gris moyen)
   Header/Ft  : #3a3a3a  (gris plus sombre)
   Contenu    : #4a4a4a  (gris — même teinte que le body)
   Accent     : #3b82f6  (bleu électrique)
================================================================ */

:root {
    /* ── Fond & surfaces ─────────────────────────── */
    --gprv-bg:          #4a4a4a;
    --gprv-surface:     #565656;
    --gprv-surface-alt: #606060;
    --gprv-border:      #707070;

    /* ── Textes ──────────────────────────────────── */
    --gprv-text:        #f5f5f5;
    --gprv-text-muted:  #d0d0d0;
    --gprv-text-faint:  #a8a8a8;

    /* ── Accent (actions, liens, boutons) ────────── */
    --gprv-accent:      #3b82f6;
    --gprv-accent-hover:#60a5fa;
    --gprv-accent-dark: #2563eb;
    --gprv-on-accent:   #ffffff;

    /* ── Couleurs sémantiques ─────────────────────── */
    --gprv-error:       #cc0000;
    --gprv-error-bg:    #fff5f5;
    --gprv-success:     #2d6a2d;
    --gprv-success-bg:  #f0fff4;
    --gprv-info:        #1e3a5f;
    --gprv-info-bg:     #eff6ff;
    --gprv-warning:     #7c4a00;
    --gprv-warning-bg:  #fffbeb;

    /* ── Tableaux (style clair, lisible) ─────────── */
    --gprv-table-bg:       #ffffff;
    --gprv-table-alt-bg:   #f4f7fb;
    --gprv-table-head-bg:  #e8edf5;
    --gprv-table-head-text:#4a6fa5;
    --gprv-table-border:   #dde3ec;
    --gprv-table-text:     #333333;
    --gprv-table-text-muted: #666666;

    /* ── Kadence CSS variables (synchronisées) ───── */
    --global-palette1:  #3b82f6;   /* accent */
    --global-palette2:  #60a5fa;   /* accent hover */
    --global-palette3:  #f5f5f5;   /* texte clair */
    --global-palette4:  #4a4a4a;   /* fond contenu Kadence (= --gprv-bg) */
    --global-palette5:  #d0d0d0;   /* texte muted */
    --global-palette6:  #707070;   /* bordures */
    --global-palette7:  #565656;   /* surface */
    --global-palette8:  #4a4a4a;   /* bg */
    --global-palette9:  #4a4a4a;   /* fond secondaire Kadence (= --gprv-bg) */
}

/* ================================================================
   BASE
================================================================ */

html {
    font-size: 16px !important;
}
body {
    font-size: 16px !important;
    background-color: var(--gprv-bg) !important;
    color: var(--gprv-text) !important;
}


/* ================================================================
   TYPOGRAPHIE
================================================================ */

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title {
    color: #f0f0f0 !important;
}

p, li, label, span {
    color: inherit;
}

a {
    color: var(--gprv-accent);
    text-decoration: none;
}
a:hover {
    color: var(--gprv-accent-hover);
    text-decoration: underline;
}

/* ================================================================
   EN-TÊTE
================================================================ */

.site-header,
.site-header-wrap,
#masthead,
.kadence-sticky-header,
.kadence-header {
    background-color: #3a3a3a !important;
    border-bottom: 1px solid #2a2a2a !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.5) !important;
}

/* Logo texte */
.site-title a,
.site-title {
    color: #f0f0f0 !important;
}

/* ================================================================
   NAVIGATION
================================================================ */

.main-navigation,
.primary-menu-container,
.header-navigation .kadence-navigation,
nav.kadence-navigation {
    background-color: var(--gprv-bg) !important;
}

/* Items de menu */
.main-navigation a,
.primary-menu-container a,
nav.kadence-navigation a,
.kadence-navigation .menu-item a {
    color: var(--gprv-text) !important;
}
.main-navigation a:hover,
.primary-menu-container a:hover,
nav.kadence-navigation a:hover,
.kadence-navigation .menu-item a:hover,
.kadence-navigation .menu-item.current-menu-item > a {
    color: var(--gprv-accent) !important;
    text-decoration: none !important;
}

/* Sous-menus */
.main-navigation ul ul,
.kadence-navigation .sub-menu {
    background-color: var(--gprv-surface) !important;
    border: 1px solid var(--gprv-border) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.5) !important;
}
.main-navigation ul ul a,
.kadence-navigation .sub-menu a {
    color: var(--gprv-text) !important;
    border-bottom: 1px solid var(--gprv-border) !important;
}
.main-navigation ul ul a:hover,
.kadence-navigation .sub-menu a:hover {
    background-color: var(--gprv-surface-alt) !important;
    color: var(--gprv-accent) !important;
}

/* Menu hamburger mobile */
.kadence-menu-toggle,
.menu-toggle {
    color: var(--gprv-text) !important;
}
.kadence-menu-toggle .menu-toggle-icon,
.kadence-menu-toggle .menu-toggle-icon::before,
.kadence-menu-toggle .menu-toggle-icon::after {
    background-color: var(--gprv-text) !important;
}

/* ================================================================
   CONTENU PRINCIPAL
   Fond gris sur les conteneurs extérieurs (marges autour du contenu)
   Le fond blanc de l'article est géré par Kadence (content-bg)
================================================================ */

.site-content,
.content-area,
#primary,
main#main,
.site-main,
.wp-site-blocks {
    background-color: var(--gprv-bg) !important;
}

/* ================================================================
   ARTICLES / PAGES — fond gris (suppression du fond blanc Kadence)
================================================================ */

.entry,
article,
.post,
.page,
.hentry,
article.content-bg,
.content-bg,
.entry-content-wrap,
.article-content-wrap,
.kadence-inner-column-inner {
    background-color: var(--gprv-bg) !important;
    color: var(--gprv-text) !important;
}

/* Cards Kadence (blocs) */
.wp-block-group,
.kadence-block-spacer {
    background-color: transparent;
}

/* ================================================================
   PIED DE PAGE
================================================================ */

.site-footer,
footer#colophon,
.footer-wrap {
    background-color: #3a3a3a !important;
    border-top: 1px solid var(--gprv-border) !important;
    color: var(--gprv-text-muted) !important;
}
.site-footer a,
footer#colophon a {
    color: var(--gprv-accent) !important;
}

/* ================================================================
   BOUTONS
================================================================ */

.wp-block-button__link,
.button,
.btn,
input[type="submit"],
button[type="submit"],
.kadence-button,
.kb-btn {
    background-color: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
    border-color: var(--gprv-accent) !important;
    font-weight: 600;
}
.wp-block-button__link:hover,
.button:hover,
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.kadence-button:hover,
.kb-btn:hover {
    background-color: var(--gprv-accent-hover) !important;
    border-color: var(--gprv-accent-hover) !important;
    color: var(--gprv-on-accent) !important;
}

/* Bouton outline */
.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: transparent !important;
    color: var(--gprv-accent) !important;
    border: 2px solid var(--gprv-accent) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
}

/* ================================================================
   FORMULAIRES
================================================================ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea,
select {
    background-color: var(--gprv-surface) !important;
    color: var(--gprv-text) !important;
    border: 1px solid var(--gprv-border) !important;
    border-radius: 3px !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border-color: var(--gprv-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(230,168,23,.25) !important;
}
input::placeholder,
textarea::placeholder {
    color: var(--gprv-text-faint) !important;
}

/* ================================================================
   TABLEAUX
================================================================ */

table {
    border-color: var(--gprv-table-border) !important;
}
th {
    background-color: var(--gprv-table-head-bg) !important;
    color: var(--gprv-table-head-text) !important;
    border-color: var(--gprv-table-border) !important;
}
td {
    background-color: var(--gprv-table-bg) !important;
    color: var(--gprv-table-text) !important;
    border-color: var(--gprv-table-border) !important;
}
tr:nth-child(even) td {
    background-color: var(--gprv-table-alt-bg) !important;
}

/* ================================================================
   SÉPARATEURS / DIVIDERS
================================================================ */

hr,
.wp-block-separator {
    border-color: var(--gprv-border) !important;
}

/* ================================================================
   SHORTCODES GPRV — Grille galeries membres
================================================================ */

.gprv-galeries { font-size: 13px; color: var(--gprv-text); }

.gprv-breadcrumb { margin-bottom: 14px; font-size: 12px; color: var(--gprv-text-muted); }
.gprv-breadcrumb a { color: var(--gprv-accent); text-decoration: none; }
.gprv-breadcrumb span { margin: 0 5px; color: var(--gprv-text-faint); }

.gprv-membres-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.gprv-membre-card {
    text-align: center;
    border: 1px solid var(--gprv-border) !important;
    border-radius: 4px;
    padding: 12px 8px;
    background: var(--gprv-surface) !important;
    transition: border-color .2s;
}
.gprv-membre-card:hover { border-color: var(--gprv-accent) !important; }
.gprv-membre-card a { text-decoration: none; color: inherit; display: block; }
.gprv-membre-card img { width: 80px; height: 120px; object-fit: cover; border-radius: 2px; display: block; margin: 0 auto 8px; }
.gprv-portrait-ph {
    width: 80px; height: 120px; border-radius: 2px; display: block;
    margin: 0 auto 8px; line-height: 120px; text-align: center; font-size: 11px;
    background: var(--gprv-surface-alt) !important; color: var(--gprv-text-faint);
}
.gprv-membre-card .gprv-nom { font-weight: bold; font-size: 12px; line-height: 1.3; color: #f0f0f0; }
.gprv-membre-card .gprv-nb  { font-size: 11px; margin-top: 4px; color: var(--gprv-text-muted); }

.gprv-sg-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.gprv-sg-btn {
    display: inline-block;
    padding: 4px 12px;
    background: var(--gprv-surface) !important;
    border: 1px solid var(--gprv-border) !important;
    border-radius: 3px;
    font-size: 12px;
    text-decoration: none;
    color: var(--gprv-text) !important;
}
.gprv-sg-btn:hover,
.gprv-sg-btn:focus,
.gprv-sg-btn.gprv-active {
    background: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
    border-color: var(--gprv-accent) !important;
    text-decoration: none !important;
}
.gprv-empty { font-style: italic; padding: 20px 0; color: var(--gprv-text-muted); }

/* Grille photos membre */
.gprv-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px;
    margin-top: 8px;
}
.gprv-photo-item {
    aspect-ratio: 3 / 2;
    overflow: hidden;
    cursor: pointer;
    border-radius: 3px;
    background: var(--gprv-bg);
}
.gprv-photo-item img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .2s;
}
.gprv-photo-item:hover img { transform: scale(1.04); }
@media (max-width: 600px) {
    .gprv-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 4px; }
}

/* ================================================================
   SHORTCODES GPRV — Trombinoscope
================================================================ */

.gprv-trombi-card {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-trombi-card:hover { border-color: var(--gprv-accent); }
.gprv-trombi-nom { color: #f0f0f0; }
.gprv-trombi-info { color: var(--gprv-text-muted); }

/* Tableau trombinoscope */
.trombi-wrap { color: var(--gprv-text); }
.trombi-filter {
    background: var(--gprv-surface) !important;
    border: 1px solid var(--gprv-border) !important;
    color: var(--gprv-text) !important;
}
.trombi-filter-group strong { color: var(--gprv-text-muted); }
.trombi-filter input[type=text] {
    background: var(--gprv-table-bg) !important;
    color: var(--gprv-table-text) !important;
    border: 1px solid var(--gprv-border) !important;
}
.trombi-btn {
    background: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
}
.trombi-btn:hover { background: var(--gprv-accent-dark) !important; }
.trombi-btn-reset {
    background: var(--gprv-surface-alt) !important;
    color: var(--gprv-text) !important;
}
.trombi-btn-mail {
    background: #28a745 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    letter-spacing: .02em !important;
}
.trombi-btn-mail:hover { background: #218838 !important; }
.trombi-table-container {
    overflow: auto;
    max-height: 75vh;
    border: 1px solid var(--gprv-border);
    border-radius: 4px;
    color: var(--gprv-table-text) !important;  /* coupe l'héritage blanc de .entry-content-wrap */
}

/* ID #trombi-table : état initial correct avant la prise de relais du MutationObserver JS */
#trombi-table { width: 100%; border-collapse: collapse; }
#trombi-table th,
#trombi-table td {
    border: 1px solid var(--gprv-table-border) !important;
    color: var(--gprv-table-text) !important;
    background-color: var(--gprv-table-bg);
}
#trombi-table th {
    background-color: var(--gprv-table-head-bg) !important;
    color: var(--gprv-table-head-text) !important;
    position: sticky;
    top: 0;
    z-index: 2;
}
#trombi-table tr:nth-child(even) td { background-color: var(--gprv-table-alt-bg) !important; }
#trombi-table tr:nth-child(odd)  td { background-color: var(--gprv-table-bg) !important; }

/* Éléments dans les cellules — couleurs via l'ID pour priorité maximale */
#trombi-table .trombi-check-on  { color: var(--gprv-success) !important; font-size: 16px; }
#trombi-table .trombi-check-off { color: var(--gprv-table-text-muted) !important; font-size: 16px; }
#trombi-table .trombi-fonc      { font-style: italic; color: var(--gprv-table-text-muted) !important; }
#trombi-table .trombi-info a    { color: var(--gprv-accent) !important; }
#trombi-table .trombi-portrait-placeholder {
    background: var(--gprv-surface-alt) !important;
    color: var(--gprv-table-text-muted) !important;
}

.trombi-count,
#gprv-mail-count { color: var(--gprv-table-text-muted) !important; }
/* Liens auto-générés par Kadence dans les titres du filtre — neutralisés visuellement */
.trombi-filter h2 a, .trombi-filter h3 a,
.trombi-filter h4 a, .trombi-filter strong > a {
    color: var(--gprv-text) !important;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

/* ================================================================
   SHORTCODES GPRV — Équipe bénévole
================================================================ */

.gprv-equipe { color: var(--gprv-text); }
.gprv-equipe-card {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.4) !important;
}
.gprv-equipe-fonc  { color: var(--gprv-text) !important; }        /* blanc — bleu accent illisible sur fond gris */
.gprv-equipe-nom   { color: #f0f0f0 !important; }
.gprv-equipe-infos { color: var(--gprv-text-muted) !important; }
.gprv-equipe-portrait-ph { background: var(--gprv-surface-alt) !important; color: var(--gprv-text-faint) !important; }

/* ================================================================
   SHORTCODES GPRV — Photos récentes (lightbox)
================================================================ */

.gprv-recentes { color: var(--gprv-text); }
.gprv-recentes-titre { color: #f0f0f0; }
.gprv-recentes-count { color: var(--gprv-text-muted); }
.gprv-recentes-item  { background: var(--gprv-surface) !important; }

/* ================================================================
   SHORTCODES GPRV — Gestionnaire de galerie
================================================================ */

.gprv-gm-wrap {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
    color: var(--gprv-text) !important;
}
.gprv-gm-tree {
    background: var(--gprv-bg) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-gm-tree-item,
.gprv-gm-folder {
    color: var(--gprv-text) !important;
}
.gprv-gm-tree-item:hover,
.gprv-gm-folder:hover {
    background: var(--gprv-surface-alt) !important;
    color: var(--gprv-accent) !important;
}
.gprv-gm-tree-item.active,
.gprv-gm-folder.active {
    background: var(--gprv-accent) !important;
    color: #ffffff !important;
}
.gprv-gm-toolbar {
    background: var(--gprv-surface-alt) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-gm-btn {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
    color: var(--gprv-text) !important;
}
.gprv-gm-btn:hover:not(:disabled) {
    background: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
    border-color: var(--gprv-accent) !important;
}
.gprv-gm-photo { background: var(--gprv-surface-alt) !important; }
.gprv-gm-msg.ok  { background: #1a3a1a; color: #7ecf7e; }
.gprv-gm-msg.err { background: #3a1a1a; color: #cf7e7e; }
.gprv-gm-modal-box { background: var(--gprv-surface) !important; color: var(--gprv-text) !important; }
.gprv-gm-modal-box h4 { color: var(--gprv-text) !important; }
.gprv-gm-modal-box input[type="text"],
.gprv-gm-modal-box select {
    background-color: var(--gprv-table-bg) !important;
    color: var(--gprv-table-text) !important;
    border-color: var(--gprv-table-border) !important;
}

/* ================================================================
   SHORTCODES GPRV — Page d'accueil blocs articles
================================================================ */

.gprv-bloc-articles { color: var(--gprv-text); }
.gprv-bloc-header   { border-color: var(--gprv-accent); }
.gprv-bloc-header h3 { color: #f0f0f0; }
.gprv-bloc-voir-tout { color: var(--gprv-accent); }
.gprv-bloc-voir-tout:hover { color: var(--gprv-accent-hover); }

.gprv-bloc-article { color: var(--gprv-text); }
.gprv-bloc-article:hover .gprv-bloc-art-titre { color: var(--gprv-accent); }
.gprv-bloc-art-titre { color: #e8e8e8; }
.gprv-bloc-art-date  { color: var(--gprv-text-muted); }
.gprv-bloc-art-excerpt { color: var(--gprv-text-muted); }
.gprv-bloc-art-thumb-ph { background: var(--gprv-surface-alt) !important; }

/* ================================================================
   SHORTCODES GPRV — Profil membre
================================================================ */

.gprv-profil-section {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-profil-section h3 {
    color: var(--gprv-accent) !important;
    border-color: var(--gprv-border) !important;
}

/* ================================================================
   SHORTCODES GPRV — Soumission d'articles
================================================================ */

.gprv-art { color: var(--gprv-text); }
.gprv-art-mes h3,
.gprv-art-form h3 {
    color: #f0f0f0 !important;
    border-color: var(--gprv-accent) !important;
}
.gprv-art-mes-ligne {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-art-mes-titre { color: #e8e8e8; }
.gprv-art-mes-date  { color: var(--gprv-text-muted); }
.gprv-art-field label { color: #c8c8c8; }
.gprv-art-thumb-zone {
    border-color: var(--gprv-border) !important;
    background: var(--gprv-surface) !important;
}
.gprv-art-thumb-zone:hover { border-color: var(--gprv-accent); }
.gprv-art-thumb-hint { color: var(--gprv-text-faint); }
.gprv-art-section {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
}
.gprv-art-section-num { color: var(--gprv-accent); }
.gprv-art-section input,
.gprv-art-section textarea {
    background: var(--gprv-table-bg) !important;
    color: var(--gprv-table-text) !important;
}
.gprv-art-sec-img-zone {
    border-color: var(--gprv-border) !important;
    color: var(--gprv-text-faint) !important;
}
.gprv-art-sec-img-zone:hover { border-color: var(--gprv-accent); color: var(--gprv-accent); }
.gprv-art-add-sec {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
    color: var(--gprv-text-muted) !important;
}
.gprv-art-add-sec:hover { background: var(--gprv-surface-alt) !important; }
.gprv-art-submit {
    background: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
    border-color: var(--gprv-accent) !important;
}
.gprv-art-submit:hover { background: var(--gprv-accent-hover) !important; }
.gprv-art-msg.ok  { background: #1a3a1a; color: #7ecf7e; }
.gprv-art-msg.err { background: #3a1a1a; color: #cf7e7e; }

/* ================================================================
   ELEMENTOR
================================================================ */

.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.e-con,
.e-con-inner {
    background-color: transparent;
}

/* Widget texte Elementor */
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title {
    color: var(--gprv-text);
}
.elementor-widget-heading .elementor-heading-title {
    color: #f0f0f0;
}

/* ================================================================
   BLOCS GUTENBERG
================================================================ */

.wp-block-cover,
.wp-block-cover-image {
    background-color: var(--gprv-surface);
}

.wp-block-quote,
blockquote {
    border-left: 4px solid var(--gprv-accent) !important;
    background: var(--gprv-surface) !important;
    color: var(--gprv-text) !important;
    padding: 12px 16px;
}

.wp-block-code,
pre, code {
    background: var(--gprv-surface-alt) !important;
    color: #f0b820 !important;
    border: 1px solid var(--gprv-border) !important;
}

/* ================================================================
   ULTIMATE MEMBER — formulaire login/profil
================================================================ */

.um-form,
.um .um-field-area,
.um-login,
.um-register {
    background: var(--gprv-surface) !important;
    border-color: var(--gprv-border) !important;
}
.um-field-label,
.um .um-field-label label {
    color: var(--gprv-text) !important;
}
.um-field input,
.um-field textarea,
.um-field select {
    background: #ffffff !important;
    color: #111111 !important;
    border-color: var(--gprv-border) !important;
}
.um-button,
.um .um-button {
    background: var(--gprv-accent) !important;
    color: var(--gprv-on-accent) !important;
    border-color: var(--gprv-accent) !important;
}
.um-button:hover {
    background: var(--gprv-accent-hover) !important;
}

/* ================================================================
   BARRE D'ADMIN WP (haut de page)
================================================================ */

#wpadminbar {
    background: #111 !important;
}

/* ================================================================
   SCROLLBAR (navigateurs WebKit)
================================================================ */

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--gprv-bg); }
::-webkit-scrollbar-thumb { background: #444; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* ================================================================
   BLOC TITRE DE PAGE — section.entry-hero
   — fond identique au body, hauteur réduite, titre visible
================================================================ */

section.entry-hero,
.page-hero-section,
.post-hero-section {
    background-color: var(--gprv-bg) !important;
    min-height: 0 !important;
}

/* L'overlay intérieur porte souvent la couleur de fond */
section.entry-hero .entry-hero-container-inner,
section.entry-hero .hero-section-overlay {
    background-color: var(--gprv-bg) !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

/* Titre visible sur fond gris */
section.entry-hero .entry-header .entry-title,
section.entry-hero h1 {
    color: #f5f5f5 !important;
}

/* ================================================================
   ZONE DE CONTENU — article.content-bg
   — fond blanc, texte noir, une seule bordure fine #3a3a3a
================================================================ */

/* Conteneur extérieur article : transparent, sans bordure ni padding */
article.content-bg,
.single-entry.content-bg,
.loop-entry.content-bg {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    outline: none !important;
}

/* Conteneur intérieur : fond gris + une seule bordure fine #3a3a3a */
article.content-bg > .entry-content-wrap,
.single-entry.content-bg > .entry-content-wrap {
    background-color: var(--gprv-bg) !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 3px !important;
    padding: 28px 32px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Titres dans les articles */
article.content-bg .entry-content-wrap h1,
article.content-bg .entry-content-wrap h2,
article.content-bg .entry-content-wrap h3,
article.content-bg .entry-content-wrap h4,
article.content-bg .entry-content-wrap h5,
article.content-bg .entry-content-wrap h6 {
    color: #f5f5f5 !important;
}

/* Texte courant dans la zone grise (hors tableau trombi qui a son propre thème clair) */
article.content-bg .entry-content-wrap,
article.content-bg .entry-content-wrap p,
article.content-bg .entry-content-wrap li,
article.content-bg .entry-content-wrap td:not(.trombi-table-container td) {
    color: var(--gprv-text) !important;
}
/* Exception : tableau trombinoscope sur fond clair — texte sombre */
article.content-bg .entry-content-wrap #trombi-table td,
article.content-bg .entry-content-wrap #trombi-table td * {
    color: var(--gprv-table-text) !important;
}
article.content-bg .entry-content-wrap #trombi-table .trombi-check-on  { color: var(--gprv-success) !important; }
article.content-bg .entry-content-wrap #trombi-table .trombi-check-off { color: var(--gprv-table-text-muted) !important; }
article.content-bg .entry-content-wrap #trombi-table .trombi-fonc      { color: var(--gprv-table-text-muted) !important; }
article.content-bg .entry-content-wrap #trombi-table .trombi-info a    { color: var(--gprv-accent) !important; }

/* Liens dans la zone grise */
article.content-bg .entry-content-wrap a {
    color: var(--gprv-accent) !important;
    text-decoration: underline;
}
article.content-bg .entry-content-wrap a:hover {
    color: var(--gprv-accent-hover) !important;
}

/* ================================================================
   FOOGALLERY PANEL (lightbox) — thème sombre
================================================================ */

/* Fond principal de la lightbox */
.fg-panel,
.fg-panel .fg-panel-area,
.fg-panel .fg-panel-stage,
.fg-panel .fg-panel-stage-inner,
.fg-panel.fg-light {
    background-color: #3a3a3a !important;
}

/* Bande de miniatures */
.fg-panel .fg-panel-thumbs,
.fg-panel .fg-panel-thumbs-inner,
.fg-panel.fg-light .fg-panel-thumbs-button,
.fg-panel.fg-light .fg-panel-thumb,
.fg-panel.fg-light .fg-panel-thumb-spacer {
    background-color: #2a2a2a !important;
}

/* Miniatures individuelles */
.fg-panel.fg-light .fg-panel-thumb .fg-panel-thumb-inner {
    background-color: #3a3a3a !important;
}

/* Boutons de navigation */
.fg-panel.fg-light .fg-panel-button {
    background-color: #565656 !important;
    color: #f5f5f5 !important;
}
.fg-panel.fg-light .fg-panel-button:hover {
    background-color: var(--gprv-accent) !important;
    color: #ffffff !important;
}

/* Barre de légende */
.fg-panel .fg-panel-info,
.fg-panel .fg-panel-info-inner,
.fg-panel.fg-light .fg-panel-info-inner,
.fg-panel .fg-panel-caption-inner {
    background-color: #3a3a3a !important;
    color: #f5f5f5 !important;
}

/* Texte dans le panel */
.fg-panel .fg-panel-caption,
.fg-panel .fg-panel-caption *,
.fg-panel .fg-panel-exif,
.fg-panel .fg-panel-area-inner {
    color: #f5f5f5 !important;
}

/* ================================================================
   CONTACT FORM 7
   Aligne le style sur le formulaire de contact salon :
   conteneur centré max-width, inputs fond blanc, layout label/champ
================================================================ */

.wpcf7 {
    max-width: 680px;
    margin: 2rem auto;
    background: rgba(255,255,255,0.07) !important;
    border-radius: 10px;
    padding: 2rem;
    box-sizing: border-box;
}

/* Inputs et textarea : fond blanc, texte sombre — !important nécessaire
   pour battre la règle générique input { background: var(--gprv-surface) !important } */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea {
    background: #fff !important;
    color: #111 !important;
    border: 1px solid #aaa !important;
    border-radius: 4px;
    padding: 7px 10px;
    font-size: 0.95rem;
    font-family: inherit;
    width: 100%;
    box-sizing: border-box !important;
}
.wpcf7 textarea {
    min-height: 100px;
    resize: vertical;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
    border-color: var(--gprv-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(59,130,246,.25) !important;
}

/* Labels */
.wpcf7 label {
    display: block;
    color: #ddd !important;
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}
.wpcf7 label > br { display: none; }

/* Bouton submit */
.wpcf7 input[type="submit"] {
    background: var(--gprv-accent) !important;
    color: #fff !important;
    border: 2px solid var(--gprv-accent-dark) !important;
    border-radius: 5px;
    padding: 0.4rem 1.2rem;
    font-size: 0.9rem;
    font-weight: bold;
    cursor: pointer;
    margin-top: 0.5rem;
}
.wpcf7 input[type="submit"]:hover {
    background: var(--gprv-accent-hover) !important;
}

/* Message de réponse (barre verte/rouge) */
.wpcf7 .wpcf7-response-output {
    border-radius: 6px;
    padding: 0.75rem 1rem;
    font-weight: bold;
    text-align: center;
    margin-top: 1rem;
    border: none !important;
}

@media (max-width: 768px) {
    .wpcf7 { padding: 1.25rem 1rem; margin: 1rem auto; }
}
