/* Personnalisations WordPress – ajoutez vos styles ici (chargé après theme.min.css). */

.visually-hidden, .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; z-index: 9999; top: 8px; left: 8px; width: auto; height: auto; clip: auto; background: #fff; padding: 8px 14px; }


/* Partage */
.edl-share { display: flex; gap: .6rem; justify-content: center; flex-wrap: wrap; margin-top: .8rem; }
.edl-share-btn { display: inline-flex; width: 42px; height: 42px; border-radius: 50%; align-items: center; justify-content: center; background: #b17d43; color: #fff; text-decoration: none; transition: opacity .2s; }
.edl-share-btn:hover { opacity: .8; color: #fff; }

/* Pagination */
.edl-pagination { margin: 2rem 0; }
.edl-pagination .pagination { display: flex; list-style: none; padding: 0; gap: .3rem; }
.edl-pagination .page-link { display: block; padding: .45rem .85rem; border: 1px solid #ddd; color: #b17d43; text-decoration: none; }
.edl-pagination .active .page-link { background: #b17d43; color: #fff; border-color: #b17d43; }

/* Galerie */
.edl-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.edl-gallery img { width: 100%; height: auto; display: block; }
.edl-card-placeholder { width: 100%; object-fit: contain; padding: 2rem; background: #f7f3ee; }

/* Plan du site */
.edl-sitemap ul { columns: 2; column-gap: 2rem; }
@media (max-width: 767px) { .edl-sitemap ul { columns: 1; } }
.edl-footer-menu a { white-space: nowrap; }

/* Visionneuse */
.edl-lb { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.88); display: flex; align-items: center; justify-content: center; }
.edl-lb img { max-width: 92vw; max-height: 88vh; box-shadow: 0 0 30px rgba(0,0,0,.6); }
.edl-lb button { position: absolute; background: none; border: 0; color: #fff; font-size: 3rem; line-height: 1; cursor: pointer; padding: .5rem 1rem; }
.edl-lb-x { top: 8px; right: 12px; } .edl-lb-p { left: 8px; top: 45%; } .edl-lb-n { right: 8px; top: 45%; }

/* Contenu importé : images responsives */
.node__content img { max-width: 100%; height: auto; }

/* Contact Form 7 : adaptation au gabarit du formulaire d'origine */
.edl-cf7 .wpcf7-form-control-wrap { display: block; width: 100%; }
.edl-cf7 .wpcf7-not-valid-tip { color: #b3261e; font-size: .85rem; margin-top: .25rem; display: block; }
.edl-cf7 .wpcf7-response-output { margin: 1rem 0 0 !important; padding: .8rem 1.1rem !important; border-radius: 4px; border-width: 1px !important; }
.edl-cf7 form.sent .wpcf7-response-output { background: #e6f4ea; color: #1e5631; border-color: #b7dfc3 !important; }
.edl-cf7 form.invalid .wpcf7-response-output,
.edl-cf7 form.failed .wpcf7-response-output,
.edl-cf7 form.spam .wpcf7-response-output { background: #fdecea; color: #7a1f17; border-color: #f3b9b3 !important; }
.edl-cf7 .wpcf7-spinner { display: block; margin: .5rem auto 0; }
.edl-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.edl-cf7 .wpcf7-acceptance label { display: flex; gap: .6rem; align-items: flex-start; font-size: .85rem; }

/* Barre d'administration WordPress (utilisateurs connectés) :
   l'en-tête est en position fixe, on le décale sous la barre (32 px, puis 46 px sur mobile). */
.admin-bar .cw-navbar { top: 32px; }
.admin-bar .flb-block { top: calc(120px + 32px); }
/* Menu déroulant plein écran : uniquement sur mobile / tablette (sur ordinateur il reste dans la barre). */
@media (max-width: 991.98px) {
	.admin-bar .navbar-collapse { top: 32px; height: calc(100vh - 32px); }
}
@media (max-width: 782px) {
	.admin-bar .cw-navbar { top: 46px; }
	.admin-bar .navbar-collapse { top: 46px; height: calc(100vh - 46px); }
	.admin-bar .flb-block { top: calc(120px + 46px); }
}

/* Pages : les blocs Gutenberg posés directement dans le corps de la page (paragraphes, titres, listes,
   images, groupes…) prennent la largeur d'un « .container » Bootstrap (mêmes seuils : 540 / 720 / 960 / 1140 px,
   marge intérieure de 15 px). Les éléments déjà en .container et les sections pleine largeur
   (.container-fluid, .cw-damier, .cw-legal-notice, .alignfull, .row) ne sont pas touchés. */
body.page #block-cw-sass-bs4-content .field--name-body > :not(.container):not(.container-fluid):not(.container-xxl):not(.container-xxxl):not(.container-full):not(.cw-damier):not(.cw-legal-notice):not(.alignfull):not(.row) {
	width: calc(100% - 30px);
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 576px)  { body.page #block-cw-sass-bs4-content .field--name-body > :not(.container):not(.container-fluid):not(.container-xxl):not(.container-xxxl):not(.container-full):not(.cw-damier):not(.cw-legal-notice):not(.alignfull):not(.row) { max-width: 510px; } }
@media (min-width: 768px)  { body.page #block-cw-sass-bs4-content .field--name-body > :not(.container):not(.container-fluid):not(.container-xxl):not(.container-xxxl):not(.container-full):not(.cw-damier):not(.cw-legal-notice):not(.alignfull):not(.row) { max-width: 690px; } }
@media (min-width: 992px)  { body.page #block-cw-sass-bs4-content .field--name-body > :not(.container):not(.container-fluid):not(.container-xxl):not(.container-xxxl):not(.container-full):not(.cw-damier):not(.cw-legal-notice):not(.alignfull):not(.row) { max-width: 930px; } }
@media (min-width: 1200px) { body.page #block-cw-sass-bs4-content .field--name-body > :not(.container):not(.container-fluid):not(.container-xxl):not(.container-xxxl):not(.container-full):not(.cw-damier):not(.cw-legal-notice):not(.alignfull):not(.row) { max-width: 1110px; } }

/* Article précédent / suivant */
.edl-post-nav { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #e3d5c4; }
.edl-post-nav__item { display: flex; align-items: center; gap: 1rem; flex: 1 1 50%; max-width: 50%; text-decoration: none; color: inherit; }
.edl-post-nav__item--next { margin-left: auto; flex-direction: row-reverse; text-align: right; }
.edl-post-nav__thumb { flex: 0 0 80px; width: 80px; height: 80px; }
.edl-post-nav__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.edl-post-nav__label { display: block; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: #b17d43; margin-bottom: .25rem; }
.edl-post-nav__title { display: block; font-weight: 600; }
.edl-post-nav__item:hover .edl-post-nav__title { color: #b17d43; }
@media (max-width: 575px) { .edl-post-nav { flex-direction: column; } .edl-post-nav__item { max-width: 100%; } .edl-post-nav__item--next { flex-direction: row; text-align: left; margin-left: 0; } }