/*
 * ════════════════════════════════════════════════════════════
 *  BIBLEORALE — custom.css
 *  Feuille de style des administrateurs / personnalisation
 * ════════════════════════════════════════════════════════════
 *
 *  Ce fichier est chargé EN DERNIER avec la priorité maximale.
 *  Il surcharge n'importe quelle règle des autres feuilles de style.
 *
 *  USAGE :
 *  → Les admins peuvent y ajouter leurs surcharges CSS librement
 *  → Le cache bust est automatique à chaque modification du fichier
 *  → Aucune modification des fichiers du thème n'est nécessaire
 *
 *  FIN DE DEV :
 *  → Intégrer le contenu dans style.css et supprimer ce fichier
 *  → Ou le laisser vide (il ne sera pas chargé si vide)
 *
 *  EMPLACEMENT : wp-content/themes/bibleorale-child/custom.css
 * ════════════════════════════════════════════════════════════
 */


/* ── Exemples de surcharges possibles ──────────────────────

   Changer la couleur du bouton hamburger :
   .bo-hamburger { --bo-ham-bg: #8b1a1a; }

   Changer la largeur du panneau off-canvas :
   :root { --bo-oc-width: 360px; }

   Changer la couleur d'accent du panneau :
   :root { --bo-oc-accent: #2e7d2e; }

   Masquer le bouton fixed sur certaines pages :
   .page-id-42 .bo-hamburger { display: none; }

   Ajuster la position du bouton fixed :
   :root { --bo-ham-top: 1.5rem; --bo-ham-left: 1.5rem; }

──────────────────────────────────────────────────────────── */


/* ── Personnalisations actives ──────────────────────────── */

/* Ajouter vos règles ici */

/* Menu sticky */
.bo-menu-sticky {
	left: 0;
}
/* Block témoignage : titre */
.bo-testimonial .elementor-testimonial-meta {
	text-align: right;
}

/* Widget Elementor : Boîte d'icône */
.bo-association__elle-reunit .elementor-icon-box-icon {
    position: relative;
    top: 10px;	/* Logo ajusté verticalement */
}

/* ===== Mise en page des formulaires : Devenir membre et Contact (Ninja Forms) ===== */
/* NinjaForms : class bo-frm-contact et bo-frm-devenir-membre */

/* NinjaForms : champ required */
.nf-form-fields-required {
	font-style: italic;
	font-size: smaller;
	padding-bottom: 1em;
	padding-top: 0.5em;
}

/* Regroupement en ligne : on cible directement le <nf-field> parent 
   de chaque champ via son id de conteneur */
/* Contact : */
.nf-form-content nf-field:has(#nf-field-25-container), /* Nom */
.nf-form-content nf-field:has(#nf-field-26-container), /* Prénom */
/* Devenir membre : */
.nf-form-content nf-field:has(#nf-field-19-container), /* Titre */
.nf-form-content nf-field:has(#nf-field-6-container),  /* Nom */
.nf-form-content nf-field:has(#nf-field-7-container),  /* Prénom */
.nf-form-content nf-field:has(#nf-field-8-container),  /* Courriel */
.nf-form-content nf-field:has(#nf-field-9-container),  /* Téléphone */
.nf-form-content nf-field:has(#nf-field-11-container), /* Adresse */
.nf-form-content nf-field:has(#nf-field-12-container), /* Code postal */
.nf-form-content nf-field:has(#nf-field-13-container), /* Ville */
.nf-form-content nf-field:has(#nf-field-20-container), /* Adresse du groupe */
.nf-form-content nf-field:has(#nf-field-24-container) {/* Montant du don */
	display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

/* Contact : Nom + Prénom */
.nf-form-content nf-field:has(#nf-field-25-container) { width: 48%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-26-container) { width: 50%; }

/* Devenir membre - Ligne 1 : Titre + Nom + Prénom */
.nf-form-content nf-field:has(#nf-field-19-container) { width: 18%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-6-container)  { width: 38%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-7-container)  { width: 40%; }

/* Devenir membre - Ligne 2 : Courriel + Téléphone */
.nf-form-content nf-field:has(#nf-field-8-container) { width: 58%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-9-container) { width: 40%; }

/* Devenir membre - Ligne 3 : Adresse + Code postal + Ville */
.nf-form-content nf-field:has(#nf-field-11-container) { width: 46%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-12-container) { width: 20%; margin-right: 2%; }
.nf-form-content nf-field:has(#nf-field-13-container) { width: 28%; }

/* Évite les petits espaces blancs entre éléments inline-block */
.nf-form-content { font-size: 0; }
.nf-form-content nf-field { font-size: 1rem; }

/* Retour à un champ par ligne sur mobile */
@media (max-width: 640px) {
    .nf-form-content nf-field:has(#nf-field-25-container),
	.nf-form-content nf-field:has(#nf-field-26-container),
	.nf-form-content nf-field:has(#nf-field-27-container),
	.nf-form-content nf-field:has(#nf-field-28-container),
	.nf-form-content nf-field:has(#nf-field-29-container),
    .nf-form-content nf-field:has(#nf-field-19-container),
    .nf-form-content nf-field:has(#nf-field-6-container),
    .nf-form-content nf-field:has(#nf-field-7-container),
    .nf-form-content nf-field:has(#nf-field-8-container),
    .nf-form-content nf-field:has(#nf-field-9-container),
    .nf-form-content nf-field:has(#nf-field-11-container),
    .nf-form-content nf-field:has(#nf-field-12-container),
    .nf-form-content nf-field:has(#nf-field-13-container),
    .nf-form-content nf-field:has(#nf-field-20-container),
	.nf-form-content nf-field:has(#nf-field-24-container) {
        width: 100%;
        margin-right: 0;
    }
}

/* Devenir membre : Zone Adresse du groupe */
.nf-form-content nf-field:has(#nf-field-20-container) {
	width: 50%;
}

/* Devenir membre : Montant du don */
.nf-form-content nf-field:has(#nf-field-24-container) {
	/*width: 50%;*/
}

/* ===== Bouton d'envoi des formulaires Ninja Forms ===== */

#nf-field-10, #nf-field-30 {
    background-color: var(--bo-brun);
    color: white;
    font-size: 16px;
    font-weight: 600;
    padding: 12px 32px;
    border: 1px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

#nf-field-10:hover, #nf-field-30:hover {
    background-color: white;
	color: var(--bo-brun);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
	border: 1px solid var(--bo-brun);
}

#nf-field-10:active, #nf-field-30:active {
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

#nf-field-10:focus, #nf-field-30:focus {
    outline: 3px solid rgba(44, 95, 45, 0.35);
    outline-offset: 2px;
}

/* Centrer le bouton (optionnel) 
#nf-field-10-container .nf-field-element {
    text-align: center;
}
*/
/* ===== FIN : Bouton d'envoi des formulaires Ninja Forms ===== */

/* ===== FIN : Mise en page des formulaires de Contact et Devenir membre (Ninja Forms) ===== */


/* Police avec bon support unicode grec + hébreu */
body {
    font-family: Times New Roman, 'Georgia', 'Linux Libertine', serif;
	overflow-x: hidden;
}

[lang="he"],
[dir="rtl"] {
    direction: rtl;
    unicode-bidi: embed;
}
.bo-carte__titre[lang="he"] {
    text-align: left !important;
}

/* surcharge plugin affichage*/
.bo-fiche__titre[dir="rtl"] {
    text-align: left !important;
}
.bo-carte__titre {
    text-decoration: none !important;
}
.bibleorale-index__item a {
    text-decoration: none !important;    
}
.bo-th-lien {
    font-size: 1.1rem !important;
    color: #1a6b3a;
    text-decoration: none !important;
}

article.bo-carte svg {
    width: 30px !important;
}
.bo-carte--marc a.bo-carte__titre {
    font-size: 1rem !important;
    color: #383333 !important;
    font-weight: 500 !important;
}


/* CSS plugin affichage-BO */

/* ── Index alphabétique ───────────────────────── */
.bibleorale-index {
    margin: 1.5rem 0;
    direction: rtl;
}
.bibleorale-index--grec {
	direction: ltr;
}
.bibleorale-index__liste {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .3rem;
    list-style: none;
    margin: 0;
    padding: 0;
    /* Grand écran : étirer à 100% de la largeur comme le champ de recherche */
    justify-content: space-between;
}
/* Sous 1024px : retour au comportement naturel flex-wrap */
@media (max-width: 1024px) {
    .bibleorale-index__liste {
        justify-content: flex-start;
    }
}
/* Lettre sans entrée : grisée, non cliquable */
    .bibleorale-index__item--vide a {
        opacity: .4;
        pointer-events: none;
        cursor: default;
        border-style: dashed;
    }
    /* Lettres hebraiques : le conteneur reste en LTR
   pour que flex-direction column fonctionne correctement */
.bibleorale-index__item a[lang="he"] {
    direction: ltr; /* conteneur LTR — lettre et chiffre empilés verticalement */
}
.bibleorale-index__item a[lang="he"] > :first-child {
    direction: rtl; /* la lettre hébraïque elle-même en RTL */
    unicode-bidi: embed;
}
.bibleorale-index__item a {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: .25rem .45rem;
    min-width: 2.1rem;
    border: 1px solid #c8b99a;
    border-radius: 4px;
    font-size: 1.5rem;
    text-decoration: none;
    color: #5a3e1b;
    background: #fdf8f0;
    transition: background .15s, color .15s;
    text-align: center;
    direction: rtl; /* forcer LTR même en contexte RTL hébreu */
    unicode-bidi: embed;
}
.bibleorale-index__item a:hover,
.bibleorale-index__item--actif a {
    background: #5a3e1b;
    color: #fff;
    border-color: #5a3e1b;
}
.bibleorale-index__count {
        font-size: .62rem;
        font-family: Arial, sans-serif;
        color: #8a6a3a;
        line-height: 1;
        margin-top: .1rem;
        opacity: .85;
    }

/* ── Liste des entrées ────────────────────────── */
.bibleorale-liste {
    margin: 1rem 0;
}
.bibleorale-liste__total {
    color: #888;
    font-size: .9rem;
    margin-bottom: .75rem;
}
.bibleorale-liste__ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bibleorale-entree {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    padding: .4rem .5rem;
    border-bottom: 1px solid #f0ebe0;
    line-height: 1.5;
}
.bibleorale-entree:nth-child(even) {
    background: #faf7f2;
}
.bibleorale-entree__terme {
    font-weight: 600;
    font-size: 1.05rem;
    color: #2c1a08;
    min-width: 8rem;
}
[lang="he"] .bibleorale-entree__terme {
    direction: rtl;
    unicode-bidi: embed;
}
.bibleorale-entree__separateur {
    color: #aaa;
}
.bibleorale-entree__sens {
    color: #444;
    flex: 1;
}
.bibleorale-entree__sens--vide em {
    color: #bbb;
    font-size: .85rem;
}
.bibleorale-entree--incomplet {
    opacity: .75;
}
.bibleorale-entree__pdf {
    font-size: .9rem;
    text-decoration: none;
    opacity: .6;
    transition: opacity .15s;
}
.bibleorale-entree__pdf:hover {
    opacity: 1;
}
a.hfe-menu-item {
    padding: 10px 15px !important;
}
/* ── Pagination ───────────────────────────────── */
.bibleorale-pagination {
    display: flex;
    gap: .4rem;
    flex-wrap: wrap;
    margin: 1.5rem 0;
}
.bibleorale-pagination .page-numbers {
    padding: .3rem .7rem;
    border: 1px solid #c8b99a;
    border-radius: 4px;
    text-decoration: none;
    color: #5a3e1b;
    background: #fdf8f0;
}
.bibleorale-pagination .page-numbers.current {
    background: #5a3e1b;
    color: #fff;
    border-color: #5a3e1b;
}

/* ── Formulaire de recherche ──────────────────── */
.bibleorale-recherche {
    margin: 1.5rem 0;
    background: #fdf8f0;
    border: 1px solid #e0d5c0;
    border-radius: 8px;
    padding: 1rem 1.25rem;
}
.bibleorale-recherche__ligne {
    display: flex;
    gap: .5rem;
    margin-bottom: .75rem;
}
.bibleorale-recherche__champ {
    flex: 1;
    padding: .5rem .75rem;
    border: 1px solid #c8b99a;
    border-radius: 4px;
    font-size: 1rem;
}
.bibleorale-recherche__bouton {
    padding: .5rem 1.25rem;
    background: #5a3e1b;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
}
.bibleorale-recherche__bouton:hover {
    background: #3d2810;
}
.bibleorale-recherche__filtres {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
.bibleorale-recherche__fieldset {
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: .5rem;
    align-items: center;
    flex-wrap: wrap;
}
.bibleorale-recherche__fieldset legend {
    font-weight: 600;
    font-size: .9rem;
    margin-right: .5rem;
    float: left;
}
.bibleorale-recherche__radio,
.bibleorale-recherche__checkbox {
    font-size: .9rem;
    cursor: pointer;
}

/* ── Responsive ───────────────────────────────── */
@media (max-width: 600px) {
    .bibleorale-index__liste { gap: .25rem; }
    .bibleorale-index__item a { padding: .25rem .45rem; font-size: 1rem; }
    .bibleorale-entree { flex-direction: column; gap: .1rem; }
    .bibleorale-entree__terme { min-width: unset; }
    .bibleorale-recherche__ligne { flex-direction: column; }
}
    
/*# sourceURL=bibleorale-affichage-inline-css */

/* Modifié par jacques, à modifier ou supprimer au besoin*/
.elementor-element.elementor-element-9a939b3.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
    min-height: 70vh;
}

/* -------------------- Menu off-canvas ------------------ */
.bo-widget__titre {
    margin: .5rem 0 .5rem !important;
}
.bo-offcanvas__menu {
    min-height: 280px;
	padding: .75rem .5rem;
}
.bo-offcanvas__menu:before {
    margin: .5rem 0 .5rem !important;
	content: " Lexiques ";
	font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--bo-oc-accent);
	padding: .75rem 1rem;
}
.bo-offcanvas__widgets .wp-block-button {
    margin: 30px 0;
}
.bo-offcanvas__nav-list li a {
    padding: .25rem 1.25rem !important;
    font-family: inherit !important;
    font-size: 1.15rem !important;
}
.bo-offcanvas__nav-list {
    padding: .25rem 1.25rem !important;
    font-family: inherit !important;
    font-size: 1.15rem !important;
}
a.hfe-menu-item {
    padding: 10px 15px !important;
}