/*
 Correzioni per l'accessibilità del tema Enfold Child
*/

/* Skip to content link */
.skip-link {
    position: absolute !important;
    top: -9999px !important;
    left: 0 !important;
    z-index: 100000 !important;
    padding: 10px 20px 6px 20px !important;
    background: #ffffff !important;
    color: #000000 !important;
    outline: 2px solid #000000 !important;
    outline-offset: -1px !important;
    text-decoration: underline !important;
}

.skip-link:focus-visible {
    top: 0 !important;
}

.sub_menu a:focus-visible {
    outline: 2px solid #fff !important;
    text-decoration: underline !important;
    outline-offset: 2px !important;
} 
#top .logo,
#top .logo a {
    overflow: visible !important;
}

#top .logos-group a:not(:has(> .av-hamburger)):focus-visible,
#top .custom-secondary-logo a:focus-visible {
    outline: 2px solid #000 !important;
    text-decoration: underline !important;
    outline-offset: 2px !important;
}

.logos-group a:focus-visible img {
    filter: brightness(100%);
}

.social_bookmarks li:not(#menu-item-search):has(a:focus-visible) {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    border-radius:  999px !important;
    text-decoration: underline !important;
    background-color: #b00021 !important;
}

#top #wrap_all .social_bookmarks a:focus-visible {
    background-color: #b00021 !important;
}

.social_bookmarks li#menu-item-search:has(a:focus-visible) {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
}

ul.menu.av-main-nav > li:has(a:focus-visible) {
    outline: 2px solid #000 !important;
    outline-offset: -2px !important;
    text-decoration: underline !important;
}

ul.menu.av-main-nav > li:has(a:focus-visible):first-of-type {
    outline: 2px solid #000 !important;
    outline-offset: 6px !important;
    text-decoration: underline !important;
}

/* Programmatic focus on the first burger-menu link (functions.php) shows no
   ring here — screen readers still get the focus move, keyboard users get
   the ring back on their first real Tab press. */
.av-burger-overlay.js-suppress-first-focus-ring a:focus {
    outline: none !important;
    text-decoration: none !important;
}

ul.menu.av-main-nav ul.sub-menu a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: -2px !important;
    text-decoration: underline !important;
}

ul.menu.av-main-nav a:focus-visible,
#top .av-main-nav a:not([style*="color:"]):focus-visible, #top .av-main-nav a:not([style*="color:"]) strong:focus-visible, #top .av-main-nav li a:not([style*="color:"]):focus-visible,
#av-burger-menu-ul a:focus-visible {
    color: #b00021 !important;
    text-decoration: underline !important;
    text-decoration-color: #b00021 !important;
}

#av-burger-menu-ul .social_bookmarks li:not(#menu-item-search):has(a:focus-visible) {
    outline: 0px solid #000 !important;
    outline-offset: 2px !important;
    border-radius:  999px !important;
    background-color: white !important;
}

#top #av-burger-menu-ul .avia-svg-icon a:focus-visible {
    background-color: #b00021 !important;
}

#top .av-main-nav > li:has(.sub-menu li a:focus-visible) > a:not([style*="color:"]) {
    color: #b00021 !important;
    text-decoration: underline !important;
    text-decoration-color: #b00021 !important;
}

#top .av-main-nav > li:has(.sub-menu li a:focus-visible) > a:not([style*="color:"])::after {
    background-color: #b00021;
    transform: rotate(180deg);
}

ul.menu.av-main-nav > li.av-mobile-search-clone:has(a:focus-visible):first-of-type,
ul.menu.av-main-nav > li.av-burger-menu-main:has(a:focus-visible):first-of-type a:focus-visible 
{
    outline: 0px !important;
}

ul.menu.av-main-nav > li.av-mobile-search-clone:has(a:focus-visible):first-of-type a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 6px !important;
}


.av-link-btn:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

.cta-home .av-link-btn:focus-visible {
    outline: 2px solid #fff !important;
}

.title_container .breadcrumb {
        padding-block: 6px !important;
}

.breadcrumb-trail a,
.breadcrumb-trail {
        overflow: visible !important;

}

.breadcrumb-trail a:focus-visible {
    outline: 2px solid #000 !important;
    margin-inline: -2px !important;
    padding-inline: 4px !important;
    outline-offset: -2px !important;
    text-decoration: underline !important;
    color:#b00021 !important;
}

.breadcrumb-trail .trail-before+span a:focus-visible {
    outline: 2px solid #000 !important;
    margin-left: 2px !important;
    outline-offset: -2px !important;
    text-decoration: underline !important;
}

#top .box-section .flex_column:has(.avia_textblock h4 > a:focus-visible) h4 {
    outline: 2px solid #000 !important;
}

#top p a:not([style*="color:"]):focus-visible,
#top h2 a:not([style*="color:"]):focus-visible,
#top .blocks-stack a:focus-visible strong {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
    color:#b00021 !important;
}

#top .blocks-stack p a:not([style*="color:"]):focus-visible {
    outline: 0px !important;
}

h3 a {
    display: block !important;
}

h3 a:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: -2px !important;
    text-decoration: underline !important;
    color: #b00021 !important;
    padding: 2px !important;
}
.card-tags:has(a:focus-visible) {
    margin-left: 4px !important;
}
.card-tags li:has(a:focus-visible) {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    background-color: #b00021 !important;
}

/* ── Footer ── */
a:focus-visible .footer-logo-duo .logo-bw {
    opacity: 0 !important;
}

a:focus-visible .footer-logo-duo .logo-color {
    opacity: 1 !important;
}

.custom-footer-loghi a:focus-visible,
.footer-riga2-loghi a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
}

.custom-footer-riga2 a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
    color: #b00021 !important;
}

.pagination {
    margin-block: -10px !important;
    padding-block: 10px !important;
}

.pagination a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
    background-color: #000 !important;
    color:#fff !important;
}

.slider .slider-btn:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

.archive-filters button:focus-visible,
.archive-filter--actions a:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
}

.archive-filters .custom-select__option:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: -2px !important;
}

/* ── Newsletter form ── */
.mailup-form-container .checkbox-option input[type="checkbox"]:focus-visible,
.mailup-form-container .privacy-group input[type="checkbox"]:focus-visible {
    outline: 2px solid  #b00021 !important;
    outline-offset: 2px !important;
}

.mailup-form-container .checkbox-option:has(input:focus-visible) {
    outline: 2px solid #b00021 !important;
    outline-offset: 4px !important;
}

.mailup-form-container .form-input-email:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
}

.mailup-form-container .privacy-label a:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
    text-decoration: underline !important;
    color: #b00021 !important;
}

.mailup-form-container .btn-submit:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
}

/* ── menu WPML language ── */
ul.avia_wpml_language_switch a:hover,
ul.avia_wpml_language_switch a:focus-visible,
ul.avia_wpml_language_switch a:hover span.language_code,
ul.avia_wpml_language_switch a:focus-visible span.language_code,
ul.avia_wpml_language_switch span.language_code:hover,
ul.avia_wpml_language_switch span.language_code:focus-visible {
    text-decoration: underline !important;
}

ul.avia_wpml_language_switch a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

/* ── Gravity Forms ── */
.gform_wrapper input[type="text"]:focus-visible,
.gform_wrapper input[type="email"]:focus-visible,
.gform_wrapper input[type="tel"]:focus-visible,
.gform_wrapper input[type="number"]:focus-visible,
.gform_wrapper textarea:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
}

.gform_wrapper .gfield-choice-input:focus-visible {
    outline: 2px solid #b00021 !important;
    outline-offset: 2px !important;
}

.gform_wrapper .gfield_label a:focus-visible,
.gform_wrapper .gform-field-label a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

.gform_wrapper .gform_button:focus-visible,
.gform_wrapper .gform_next_button:focus-visible,
.gform_wrapper .gform_previous_button:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

