/*!/wp-content/themes/Divi-Child-Theme/style.css*//*
 Theme Name:   Divi Child Theme
 Theme URI:    https://www.ettoregriffo.it
 Description:  © 2022 EttoreGriffo, All rights reserved
 Author:       ettoregriffo.it
 Author URI:   https://www.ettoregriffo.it
 Template:     Divi
 Version:      1.0.0
*/

/* Open Sans - Light 300 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Light.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Light.woff) format('woff');font-weight:300;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-LightItalic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-LightItalic.woff) format('woff');font-weight:300;font-style:italic;font-display:swap;}

/* Open Sans - Regular 400 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Regular.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Regular.woff) format('woff');font-weight:400;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Italic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Italic.woff) format('woff');font-weight:400;font-style:italic;font-display:swap;}

/* Open Sans - Medium 500 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Medium.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Medium.woff) format('woff');font-weight:500;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-MediumItalic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-MediumItalic.woff) format('woff');font-weight:500;font-style:italic;font-display:swap;}

/* Open Sans - SemiBold 600 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-SemiBold.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-SemiBold.woff) format('woff');font-weight:600;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-SemiBoldItalic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-SemiBoldItalic.woff) format('woff');font-weight:600;font-style:italic;font-display:swap;}

/* Open Sans - Bold 700 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Bold.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-Bold.woff) format('woff');font-weight:700;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-BoldItalic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-BoldItalic.woff) format('woff');font-weight:700;font-style:italic;font-display:swap;}

/* Open Sans - ExtraBold 800 */
@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-ExtraBold.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-ExtraBold.woff) format('woff');font-weight:800;font-style:normal;font-display:swap;}

@font-face{font-family:'Open Sans';src:url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-ExtraBoldItalic.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/fonts/OpenSans-ExtraBoldItalic.woff) format('woff');font-weight:800;font-style:italic;font-display:swap;}

/* Maleah Font */
@font-face{font-family:Maleah;src:url(https://www.ettoregriffo.it/wp-content/uploads/et-fonts/Maleah-Regular.woff2) format('woff2'),
url(https://www.ettoregriffo.it/wp-content/uploads/et-fonts/Maleah-Regular.woff) format('woff');font-weight:500;font-style:normal;font-display:swap;}

/* Compatibilita screen reader - INVARIATO */
.screen-reader-text,
.sr-only,
.visually-hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  display: block !important;
}

/* Focus visibile solo da tastiera - ULTERIORMENTE POTENZIATO */
body.user-is-tabbing input:focus,
body.user-is-tabbing a:focus,
body.user-is-tabbing button:focus,
body.user-is-tabbing select:focus,
body.user-is-tabbing textarea:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  transition: outline 0.2s ease, box-shadow 0.2s ease !important;
}

/* Nasconde focus se non si usa tastiera - INVARIATO */
body:not(.user-is-tabbing) input:focus,
body:not(.user-is-tabbing) a:focus,
body:not(.user-is-tabbing) button:focus,
body:not(.user-is-tabbing) select:focus,
body:not(.user-is-tabbing) textarea:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Apertura menu accessibile via tastiera - INVARIATO */
.menu-item-has-children:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}
.menu-item .sub-menu li a:focus {
  display: block !important;
}

/* Miglioramento focus per pulsanti e toggle Divi */
body.user-is-tabbing a.et_pb_button:focus,
body.user-is-tabbing a.et_pb_promo_button:focus,
body.user-is-tabbing a.more-link:focus,
body.user-is-tabbing a.et_pb_read_more:focus,
body.user-is-tabbing a.et_pb_cta_button:focus,
body.user-is-tabbing .et_pb_toggle_title:focus,
body.user-is-tabbing .et_pb_accordion .et_pb_toggle:focus,
body.user-is-tabbing .et_pb_module_header a:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  border-radius: 4px !important;
  position: relative !important;
  z-index: 10 !important;
}

/* Evidenziazione dei link meta-articoli - INVARIATO */
.post-meta a {
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 500 !important;
}

/* Focus universale */
body.user-is-tabbing *:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
}

/* Focus per elementi Divi */
body.user-is-tabbing [tabindex]:focus,
body.user-is-tabbing [role="button"]:focus,
body.user-is-tabbing [role="link"]:focus,
body.user-is-tabbing [role="menuitem"]:focus,
body.user-is-tabbing [role="tab"]:focus,
body.user-is-tabbing [role="radio"]:focus,
body.user-is-tabbing [role="checkbox"]:focus,
body.user-is-tabbing .et_pb_contact_submit:focus,
body.user-is-tabbing .et_pb_newsletter_button:focus,
body.user-is-tabbing .et_pb_social_media_follow_network_name:focus,
body.user-is-tabbing .et-social-icon a:focus,
body.user-is-tabbing .et_pb_gallery_item:focus,
body.user-is-tabbing .et_pb_image a:focus,
body.user-is-tabbing .et_pb_portfolio_item:focus,
body.user-is-tabbing .et_pb_blog_grid a:focus,
body.user-is-tabbing .et_pb_filterable_portfolio .et_pb_portfolio_filters a:focus,
body.user-is-tabbing .et_pb_slider_arrows a:focus,
body.user-is-tabbing .et-pb-controllers a:focus,
body.user-is-tabbing .et_pb_tabs_controls li a:focus,
body.user-is-tabbing .et_pb_accordion .et_pb_toggle_open:focus,
body.user-is-tabbing .et_pb_menu__item a:focus,
body.user-is-tabbing .et_pb_menu__search-button:focus,
body.user-is-tabbing .et_mobile_nav_menu .mobile_nav a:focus,
body.user-is-tabbing .widget a:focus,
body.user-is-tabbing .widget button:focus,
body.user-is-tabbing .et_pb_comments_module .form-submit input:focus,
body.user-is-tabbing .et_pb_contact_form .et_pb_contact_submit:focus,
body.user-is-tabbing .et_pb_pricing_table_button:focus,
body.user-is-tabbing .et_pb_video_play:focus,
body.user-is-tabbing .et_pb_map_pin:focus,
body.user-is-tabbing .et_pb_arrow:focus,
body.user-is-tabbing .et_pb_social_icon:focus,
body.user-is-tabbing .et_pb_countdown_button:focus,
body.user-is-tabbing .et_pb_login_button:focus,
body.user-is-tabbing .et_pb_signup_button:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  position: relative !important;
  z-index: 999 !important;
  border-radius: 3px !important;
}

/* Focus per elementi Divi più complessi */
body.user-is-tabbing .et_pb_slide_content a:focus,
body.user-is-tabbing .et_pb_fullwidth_slider .et_pb_slide_content a:focus,
body.user-is-tabbing .et_pb_pricing_table .et_pb_pricing_heading:focus,
body.user-is-tabbing .et_pb_testimonial_portrait:focus,
body.user-is-tabbing .et_pb_team_member_image:focus,
body.user-is-tabbing .et_pb_blurb_container:focus,
body.user-is-tabbing .et_pb_counter_container:focus,
body.user-is-tabbing .et_pb_number_container:focus,
body.user-is-tabbing .et_pb_icon:focus,
body.user-is-tabbing .et_pb_social_media_follow li:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  border-radius: 4px !important;
}

/* Skip link visibile solo da tastiera */
.skip-link {
  position: fixed !important;
  top: -60px !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 999999999 !important;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  opacity: 0 !important;
  outline: none !important;
}

.skip-link:focus {
  top: 0 !important;
  opacity: 1 !important;
  /* Tutte le proprietà visive sono definite qui quando l'elemento è visibile */
  background-color: #ffffff !important;
  color: rgba(0,0,0,0.8) !important;
  padding: 10px 0 !important;
  text-align: center !important;
  text-decoration: underline !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  border-bottom: 2px solid #0f7a66 !important;
  outline: 3px solid #0f7a66 !important;
  outline-offset: -3px !important;
}

/* Effetto hover aggiuntivo */
.skip-link:focus:hover {
  background-color: #f8f9fa !important;
  color: #0d6b5a !important;
}

/* Spinge verso il basso tutto il contenuto della pagina incluso il menu */
body:has(.skip-link:focus) #page-container {
  transform: translateY(45px) !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* Regola specifica quando c'è l'admin bar di WordPress - usa valore negativo per compensare */
body.admin-bar:has(.skip-link:focus) #page-container {
  transform: translateY(-10px) !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

/* Animazione di entrata fluida */
@keyframes skipLinkSlideDown {
  0% {
    top: -60px;
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    top: 0;
    opacity: 1;
    transform: translateY(0);
  }
}

.skip-link:focus {
  animation: skipLinkSlideDown 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards !important;
}
/* Fine ship link*/

/* Focus per icona lente ricerca */
body.user-is-tabbing #et_search_icon:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  border-radius: 4px !important;
  display: inline-block !important;
  min-width: 26px !important;
  min-height: 26px !important;
}

/* Submit button accessibile e nascosto - INVARIATO */
.et-search-form button.et-hidden-submit {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
}

/* Submit visibile a focus */
.et-search-form button.et-hidden-submit:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 10px 16px !important;
  margin: 5px 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  background: #005fcc !important;
  color: white !important;
  border: 2px solid #005fcc !important;
  border-radius: 4px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  font-size: 16px !important;
}

/* Focus per i pulsanti del banner CookieYes */
body.user-is-tabbing .cky-btn:focus,
body.user-is-tabbing .cky-policy:focus,
body.user-is-tabbing .cky-btn-close:focus {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 95, 204, 0.3) !important;
  border-radius: 4px !important;
}

/* Focus per icona X */
.cky-btn-close:focus img {
  outline: 2px solid #005fcc !important;
  outline-offset: 3px !important;
  border-radius: 50% !important;
}

/* Focus su sfondi scuri */
body.user-is-tabbing .et_pb_section_dark *:focus,
body.user-is-tabbing .et_pb_row_dark *:focus,
body.user-is-tabbing .dark-background *:focus {
  outline-color: #e0f0ec !important;
  box-shadow: 0 0 0 4px rgba(224, 240, 236, 0.4) !important;
}

/* Transizioni fluide */
body.user-is-tabbing *:focus {
  transition: outline 0.2s ease, box-shadow 0.2s ease !important;
}

/* Background chiaro a focus input */
body.user-is-tabbing input:focus,
body.user-is-tabbing select:focus,
body.user-is-tabbing textarea:focus {
  background-color: #f8f8f8 !important;
}

/* Elimina doppia freccia nei select */
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none !important;
}

/* Imposta la base rem */
html {font-size: 16px; } /* 1rem = 16px */

/* Menu principale (desktop) */
#main-header .nav li a {font-size: 1rem;} 

/* Esempio per menu tendina personalizzato */
#main-header .nav li ul {width: 260px !important;} /* larghezza totale menu */
#main-header .nav li li a {width: 220px !important;} /* larghezza contenuto testo interno */

/* Menu mobile */
.et_mobile_menu li a {font-size: 1rem;}

/* ✅ Menu principale: sottolineatura classica al passaggio */
#main-header .nav > li > a:hover {text-decoration: underline;}

/* ✅ Sottomenu: underline animata sottile */
#main-header .nav li ul li a {
  position: relative;
  display: inline-block;
  transition: color 0.3s ease;
}

#main-header .nav li ul li a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

#main-header .nav li ul li a:hover::after {width: 100%;}