/* Préserver le style du thème et ne contrôler que ses sous-menus. */
.essert-search-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0 !important;
}
.essert-search-a11y input::placeholder { color: inherit; opacity: 1; }
.essert-new-tab-note, .essert-weather-new-tab-note {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap !important;
    border: 0 !important;
}
/* Mêmes dimensions que les anciens liens de titre du menu latéral. */
.widgetable ul.menu > li > .essert-menu-section {
    position: relative; width: 100%; margin: 0 0 15px; padding: 15px 20px;
    line-height: 1 !important; display: block; background: rgba(204,204,204,.1);
}
.upper .widgetable ul.menu > li > .essert-menu-section { text-transform: uppercase; }
/* Liens des actes sur fond blanc : le vert clair ne permettait pas leur lecture. */
body.page-id-9187 .entry p a, body.page-id-9187 .entry p a span {
    color: #005b79 !important; text-decoration: underline;
}
body.page-id-9187 .entry p a:hover, body.page-id-9187 .entry p a:active {
    color: #143547 !important; text-decoration-thickness: 2px;
}
.essert-weather-new-tab-note { display: block; padding: 6px 0; font-size: 14px; text-align: center; color: inherit; }
.essert-a11y-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.essert-skip-link { position: fixed; left: 12px; top: 10px; z-index: 2147483647; padding: 12px 18px; background: white; color: #143547; font-weight: 700; transform: translateY(-250%); }
.essert-skip-link:focus { transform: translateY(0); }
.essert-skip-link:hover, .essert-skip-link:active { text-decoration: underline; }
body :where(a, button, input, select, textarea, [role="button"]):focus-visible { outline: 3px solid #005b79 !important; outline-offset: 3px; box-shadow: 0 0 0 6px white !important; }
[role="main"][tabindex="-1"]:focus { outline: none; }
/* Garder les fonds turquoise et vert : seul le premier plan est corrigé. */
#header .additional-menu li a, #header .additional-menu li a:hover, #header .additional-menu li a:focus-visible,
body.home .elementor-heading-title a[href*="/le-village"], .searchSubmit { color: #143547 !important; }
#header .additional-menu li a:hover, #header .additional-menu li a:active,
body.home .elementor-heading-title a[href*="/le-village"]:hover { text-decoration: underline; }
.searchSubmit { cursor: pointer; }
.searchSubmit:hover, .searchSubmit:active { box-shadow: inset 0 0 0 2px #143547; }
body.page-id-5414 [style*="color: #ff0000"], body.page-id-5414 [style*="color:#ff0000"] { color: #b00020 !important; }
body.page-id-5294 .elementor-widget-text-editor a[href^="mailto:"] { color: #005b79 !important; text-decoration: underline; }
body.page-id-5358 .entry a, body.page-id-5358 .entry a span,
body.page-id-5423 .entry a, body.page-id-5423 .entry a span { color: #b00020 !important; text-decoration: underline; }
.essert-poster-text { margin-top: 12px; text-align: left; font-size: 16px; line-height: 1.5; color: #143547; background: #fff; }
.essert-poster-text summary { cursor: pointer; padding: 8px 0; }
.essert-poster-text summary:hover, .essert-poster-text summary:active { text-decoration: underline; }
.essert-poster-text summary:focus-visible { outline: 3px solid #005b79; outline-offset: 3px; }
.essert-poster-text a, .essert-poster-text a:hover { color: #005b79 !important; text-decoration: underline; }
button:disabled { cursor: not-allowed; opacity: .55; }
@media (prefers-reduced-motion: reduce) { .essert-skip-link { transition: none; } }
#navigation #main-nav.essert-menu-ready ul.sub-menu[hidden] { display: none !important; }
#navigation #main-nav.essert-menu-ready li.essert-menu-open > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    left: 50% !important;
}
#main-nav.essert-menu-ready a[role="button"] { cursor: pointer; }
#navigation #main-nav.essert-menu-ready a:focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: -3px;
    box-shadow: none !important;
}
#main-nav.essert-menu-ready a[role="button"]:hover,
#main-nav.essert-menu-ready a[role="button"]:active,
#main-nav.essert-menu-ready a[role="button"][aria-expanded="true"] { text-decoration: underline; }
#navtrigger[role="button"]:focus-visible { outline: 3px solid #005b79 !important; outline-offset: 3px; }
@media screen and (max-width: 770px) {
    #header #titles { max-width: 100%; }
    #header #titles .logo img { max-width: 100%; height: auto; }
    #header .navhead { width: 100% !important; max-width: 100%; }
    #header #navigation, #header #main-nav { max-width: 100%; width: 100%; box-sizing: border-box; }
    #navigation #main-nav.essert-menu-ready li > a { width: auto !important; margin-left: 0; white-space: normal; overflow-wrap: anywhere; }
    #navigation #main-nav.essert-menu-ready li.essert-menu-open > ul.sub-menu {
        position: static !important;
        left: auto !important;
        width: 100% !important;
        max-width: 100%;
        margin: 0 !important;
        box-sizing: border-box;
    }
}
