/* CSS Document 
 * This file is part of AKB - Branka Framework by AKB
 * @package		AKB Project - Branka Framework  
 * @version		5.1.2
 * @author		Andrea Bini
 * @copyright	Copyright (C) 2025 AKB - Andrea Kozul Bini s.r.l.c.r.
 * @License     http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
 * @Site:		www.akbproject.com
 * @Email:		info@akbproject.com
*/

body {
    font-family: Arial, sans-serif;
    color: #333;
    margin: 0;
    padding: 0;
    background-color: #f8f9fa;
}

.akb-display-body {
    margin: 0 auto;
}

.akb-display-body a {
    text-decoration: none;
}

/*** ***/
/* Mostra solo su desktop */
.akb-visible-desktop {
  display: block;
}
.akb-visible-mobile {
  display: none;
}

/* Quando è mobile (es. sotto 960px) */
@media (max-width: 959px) {
  .akb-visible-desktop {
      display: none !important;
  }
  .akb-visible-mobile {
      display: block !important;
  }
}


/*** text decoration ***/
a, .akb-header-container-heading:hover, .akb-infomail_top a:hover, .akb-infotel_top a:hover, .akb-social_position:hover {
    text-decoration: none; 
}

.akb-section- {
    width: 100%;
}

/*** container ***/
.akb-section-container-weight {
    display: flex;
    margin: auto;
    padding-left: 12px;
    padding-right: 12px;
    width: 100%;
}

.akb-section-container-weight-fullwidth {
    display: flex;
    margin: auto;
    width: 100%;
}

img {
    max-width: 100%;
    height: auto;
  }


/*** header ***/
.akb-header-container-heading {
    display: flex;
}

.akb-header-container-heading-inset {
    display: flex;
    justify-content: space-between;
    padding: 12px;
    width: 100%;
    gap: 12px;
}

.akb-header-container-heading-left,
.akb-header-container-heading-right {
    display: flex;
    align-items: center;
}

.akb-header-container-heading-left {
    justify-content: flex-start;
}

.akb-header-container-heading-right {
    justify-content: flex-end;
    gap: 16px;
}

.akb-social_content {
    display: flex;
    gap: 6px;
  }

.akb-header-container-menu, 
.akb-header-container-default-logoresponsive,
.akb-menuPull,
.akb-utility-default,
.akb-infocontact-header,
.akb-social-header,
.akb-search-header {
  display:none;
}

.akb-header-container-bottom-responsive {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: end;
}

.akb-header-utility {
  display: flex;
  flex-direction: row;
  gap: 8px;
}

@media (min-width: 961px) {

  .akb-header-container-menu {
      display: flex;
      justify-content: left;
  }

  .akb-social-header,
  .akb-search-header {
    display: block;
  }

  .akb-infocontact-header {
    display: flex;
    gap:10px;
  }

  
}



@media (max-width: 960px) {

  
  .akb-header-container-menu-responsive {
    display: flex;
    gap: 10px;
    align-items: center;
    width: auto;
    height: auto;
    padding: 0;
    background: none; 
    text-align: left; 
  }
  

  .akb-header-container-menu-responsive i {
      font-size: 16px; 
      display: inline-block;
      line-height: inherit;
  }

  .akb-header-container-default-logoresponsive {
    display: flex;
    align-items: center;
    margin-top: 6px;
    margin-bottom: 6px;
  }

  .akb-menuPull {
    display: block;
    padding: 0px 10px;
  }

}

.akb-menu-responsive-containerbottom {
  display: block;
  padding-top: 12px;

}

.akb-social_position-menucanvas .akb-icons_content i {
  font-size: 16px;
}

/*** menu ***/


/* Stili di base per il menu */
/* Contenitore principale del menu */
.nav.menu.akb-menu-style {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* Elemento del menu */
.nav.menu.akb-menu-style > .akb-menu-style {
    position: relative;
    display: inline-block;
}

.nav.menu.akb-menu-style > .akb-menu-style:hover {
    transition: all 0.3s ease;

}

/* Link del menu */
.nav.menu.akb-menu-style > .akb-menu-style > a.akb-menu-style-link,
.nav.menu.akb-menu-style > .akb-menu-style > button.akb-menu-style-link,
.nav.menu.akb-menu-style > .akb-menu-style > .akb-menu-style-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    padding: 20px 15px; 
}

button.akb-menu-style-link {
    background: none;
}

/* Hover sul link del menu */
.nav.menu.akb-menu-style > .akb-menu-style > a.akb-menu-style-link:hover,
.nav.menu.akb-menu-style > .akb-menu-style > button.akb-menu-style-link:hover {
}

/* Menu a discesa */
.akb-dropdown-menu.akb-menu-style {
    display: block; 
    visibility: hidden; 
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    float: left;
    border-radius: 0px;
    min-width: 12rem;
    margin: 0;
    padding: 8px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 0px solid rgba(0, 0, 0, .15);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);
    transform: translateY(40px); 
    opacity: 0;
    transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease
}

/* Visualizza il menu a discesa al passaggio del mouse */
.akb-menu-style:hover > .akb-dropdown-menu.akb-menu-style,
.akb-menu-style:focus-within > .akb-dropdown-menu.akb-menu-style {
  visibility: visible;
  transform: translateY(0); 
  opacity: 1; 
}

/* Link nel menu a discesa */
.akb-dropdown-menu.akb-menu-style > .akb-menu-style > a.akb-menu-style-link, button.akb-menu-style-link, .akb-menu-style-link {
    display: flex;
    align-items: center;
    width: auto;
    padding: 12px;
    clear: both;
    text-align: inherit;
    white-space: nowrap;
    border: 0;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Hover sul link nel menu a discesa */
.akb-dropdown-menu.akb-menu-style > .akb-menu-style > a.akb-menu-style-link:hover,
.akb-dropdown-menu.akb-menu-style > .akb-menu-style > button.akb-menu-style-link:hover {
}


/* Immagine nel menu */
.akb-menu-style-img, .akb-menu-style-responsive-img {
    max-width: 16px; 
    margin-right: 5px; 
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Icona nel menu */
.akb-menu-icon {
    margin-right: 5px; 
}

/* Titolo del menu */
.akb-menu-title {
    display: inline-block;
}

/* Classe per il testo nascosto, utile per l'accessibilità */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/*
.visually-hidden {
    visibility: hidden;
}
*/

.visually-hidden {
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/*** css aggiuntivo sotto menu ***/

/* Gestione sottomenu (secondo livello e successivi) */
.akb-menu-style.akb-dropdown .akb-dropdown-menu.akb-menu-style .akb-dropdown-menu.akb-menu-style {
  left: 100%;
  top: 0;
  /*display: none;*/
  visibility: hidden;
  position: absolute;
  transform: translateX(40px); 
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.5s ease, visibility 0.5s ease;
}

/* Visualizza solo il sottomenu immediato al passaggio del mouse */
.akb-menu-style.akb-dropdown:hover > .akb-dropdown-menu.akb-menu-style > .akb-menu-style.akb-dropdown:hover > .akb-dropdown-menu.akb-menu-style,
.akb-menu-style.akb-dropdown > .akb-dropdown-menu.akb-menu-style > .akb-menu-style.akb-dropdown:focus-within > .akb-dropdown-menu.akb-menu-style {
  visibility: visible;
  transform: translateX(0); 
  opacity: 1; 
}

/** freccie su desktop ***/
.akb-dropdown-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
  width: 14px;
  height: 24px;
  cursor: pointer;
  vertical-align: middle;
  transition: color 0.2s;
}
.akb-dropdown-arrow:focus,
.akb-dropdown-arrow:hover {
}


.akb-dropdown-arrow i.fa {
  font-size: 1em;
  pointer-events: none; /* fa sì che il click venga intercettato dal parent span */
}


.akb-dropdown-arrow::before {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}


/*** menu responsive ***/
.akb-header-container-menu-responsive {
  position: relative;
}

.akb-menu-style-responsive .akb-menu-style-responsive-link {
  cursor: pointer;
}

#akb-menu-responsive {
  position: fixed;
  top: 0;
  right: -100%; 
  width: 300px; 
  height: 100%;
  background-color: #fff;
  padding: 12px 24px;
  z-index: 1000;
  transition: right 0.3s ease; 
  box-shadow: -2px 0px 8px rgba(0, 0, 0, 0.5);
  overflow-x: hidden; 
  overflow-y: auto; 
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#akb-menu-responsive::-webkit-scrollbar {
  display: none;
}

/* Mostra il menu quando è attivo */
.akb-header-container-menu-responsive.open #akb-menu-responsive {
  right: 0;
}

.nav.menu.akb-menu-style-responsive {
  display: flex;
  flex-direction: column;
}

.akb-menu-header-responsive {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 12px;
}

.akb-social_position-menucanvas, .akb-infomail-top-manucanvas, .akb-infotel-top-manucanvas, .akb-languageswitcher-menucanvas {
  margin-bottom: 6px;
}

/* Assicurati che il contenitore del akb-dropdown abbia una posizione relativa */
.akb-menu-style-responsive.akb-dropdown {
  position: relative;
}

.akb-menu-style-responsive {
  text-align: left;
  padding: 6px 0px;
}

/* Stili per il sottomenu */
.akb-menu-style-responsive .akb-dropdown-menu-responsive {
  display: none;
  overflow: hidden;
  position: relative;
  background-color: #ffffff;
  border: 0px;
  margin-left: 12px;
  padding: 0px;
  width: 100%;
  transition: max-height 0.3s ease;
}

/* Sottomenu visibile */
.akb-menu-style-responsive .akb-dropdown.active > .akb-dropdown-menu-responsive {
  display: block;
}
/** freccie su mobile ***/
.akb-menu-style-responsive-link.akb-dropdown::after {
    display: none !important;
    content: none !important;
}

.akb-dropdown-menu.akb-menu-style-responsive {
}



/*** login header ***/
.akb-login {
  display: block;
  position: relative;
  max-width: 100px;       /* REGOLA QUI la larghezza ideale! */
  overflow: hidden;
  white-space: nowrap;
}

/*
.akb-login-responsive {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
  */

.akb-login-responsive {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    max-width: 100px;       /* REGOLA QUI la larghezza ideale! */
    overflow: hidden;
    white-space: nowrap;
}

.akb-login-responsive i {
    margin-right: 6px;
    flex-shrink: 0;
}

.akb-loginmodal, .akb-loginmodal-responsive {
  display: none;
  position: fixed;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: 1050;
  top: 0;
  left: 0;
  padding: 20px;
  width: 100%;
  height: 100%;
}

.akb-loginmodal.is-visible, .akb-loginmodal-responsive.is-visible {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.akb-loginmodal-responsive.is-visible {
  display: flex !important;
  align-items: flex-start;
  justify-content: center;
}

.akb-loginmodal-body .form-group {
  margin-bottom: 16px;
}

.akb-loginmodal-body .btn {
  border-radius: 0px;
}

.akb-loginmodal-content {
    background-color: #fff;
    padding: 20px;
    border: 1px solid #ffffff;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
}

.akb-loginmodal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.akb-close-loginmodal, .akb-close-logoutmodal {
    background: none;
    border: none;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
}

/*** tab accessibile ***/

.akb-login a:focus,
.akb-login-btn:focus,
.akb-login:focus {
    border: 2px solid #0099ff !important;
    border-radius: 3px;
}

.akb-login a:focus:not(:focus-visible) {
    outline: none;
    background: none;
}



/*** login - registraytion page/module ***/
.akb-loginwrap, .akb-logoutnwrap, .akb-registrationwrap, .akb-loginremindwrap, .akb-loginresetdwrap {
    max-width: 450px;
    margin: 0 auto;
    padding: 30px;
}

.akb-loginmodulewrap {
  margin: 0 auto;
  padding: 8px;
}

.akb-com-users-login__submit .btn, 
.akb-com-users-logout__submit .btn, 
.akb-com-users-registration__submit .btn, 
.akb-com-users-remind__submit .btn,
.akb-com-users-reset__submit .btn,
.akb-com-users-reset-confirm__submit .btn,
.akb-com-users-reset-complete__submit .btn,
.akb-mod-login__submit .btn {
  border: none;
  padding: 10px 20px;
  border-radius: 0px;
  cursor: pointer;
  width: 100%;
  margin-bottom: 16px;
  margin-top: 16px;
}

/* Stile per l'intera lista di opzioni */
.com-users-login__options {
  list-style-type: none;
  padding: 0;
}

/* Stile per ciascun elemento di opzione */
a.akb-com-users-login__reset.list-group-item ,
a.akb-com-users-login__remind.list-group-item ,
a.akb-com-users-login__register.list-group-item {
  background: none;
  border: none;
  margin-bottom: 0px;
  padding: 0px;
  text-decoration: none;
  display: block;
}

.akb-loginwrap .form-control, 
.akb-registrationwrap .form-control, 
.akb-loginremindwrap .form-control,
.akb-loginresetdwrap .form-control,
/* modulw */
.akb-loginmodulewrap .input-group .form-control,
.akb-loginmodulewrap .input-group-text,
.akb-loginmodulewrap .btn {
  border-radius: 0px;
}

.akb-loginwrap .control-group, 
.akb-registrationwrap .control-group, 
.akb-user-registration .control-group,
/* module */
.akb-loginmodulewrap .form-group {
  margin-bottom: 8px;
}

meter#progress-0 {
  width: 100%;
}




/*** language switcher ***/
/* Stile per il modulo Language Switcher */
.akb-languageswitcher {
  display: flex;
  min-width: 50px;
}

.akb-languageswitcher div.mod-languages li {
    margin: 0px;
}

.akb-languageswitcher div.mod-languages a {
    padding: 0px;
    text-decoration: none;
}

.akb-languageswitcher div.mod-languages ul li.lang-active {
    background-color: transparent;
  }

  /*** search ***/
  /* Stile per il modulo Search */
  /*
.akb-search {
    display: flex;
    align-items: center;
}

.akb-search input[type="text"] {
    padding: 5px;
    font-size: 1rem;
}

.akb-search button {
    padding: 5px 10px;
    font-size: 1rem;
    cursor: pointer;
}


.AKB_search_pos {
    position: relative;
    z-index: 999; 
}

.akb-search-btn {
    background: none;
    border: none;
    font-size: 1.4em;
    cursor: pointer;
    color: inherit;
    display: flex;
    align-items: center;
}
.akb-searchmodal {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255,255,255,0.88);
    z-index: 1200;
    align-items: flex-start;
    justify-content: center;
}
.akb-searchmodal.is-visible {
    display: flex !important;
}
.akb-searchmodal-content {
    margin: 60px auto 0 auto;
    max-width: 600px;
    width: 90%;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 6px 36px rgba(0,0,0,0.18);
}
.akb-searchmodal-header {
    display: flex;
    justify-content: flex-end;
}
.akb-close-searchmodal {
    background: none;
    border: none;
    font-size: 2em;
    cursor: pointer;
    color: #222;
}
*/

/*** search – base ***/
.akb-search {
    display: flex;
    align-items: center;
}

.akb-search input[type="text"] {
    padding: 5px;
    font-size: 1rem;
}

.akb-search button {
    padding: 5px 10px;
    font-size: 1rem;
    cursor: pointer;
}

.AKB_search_pos {
    position: relative;
    z-index: 999;
    height: 100%;
}
.akb-search-btn, .akb-search-btn-responsive {
    background: none;
    border: none;
    font-size: 1em;
    cursor: pointer;
    color: inherit;
    display: flex;
    align-items: center;
}
.akb-searchmodal, .akb-searchmodal-responsive {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255,255,255,0.88);
    z-index: 1200;
    align-items: flex-start;
    justify-content: center;
}
.akb-searchmodal.is-visible,
.akb-searchmodal-responsive.is-visible {
    display: flex !important;
}
.akb-searchmodal-content {
    margin: 60px auto 0 auto;
    max-width: 600px;
    width: 90%;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 6px 36px rgba(0,0,0,0.18);
}
.akb-searchmodal-header {
    display: flex;
    justify-content: flex-end;
}
.akb-close-searchmodal {
    background: none;
    border: none;
    font-size: 2em;
    cursor: pointer;
    color: #222;
}

/* Di base: nascondi il responsive */
.akb-search-btn-responsive {
    display: none;
}

/* Sotto i 960px: mostra il responsive, nascondi quello desktop */
@media (max-width: 960px) {
    .akb-search-btn {
        display: none;
    }
    .akb-search-btn-responsive {
        display: flex;      /* o inline-flex, inline-block secondo necessità */
        align-items: center;
    }
}

/* Sopra i 961px: mostra solo il desktop (già di default, ma per chiarezza) */
@media (min-width: 961px) {
    .akb-search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    font-size: 1em;
    }
    .akb-search-btn i.fa-solid {
        display: block;      /* Fix per IE/vecchi browser, non strettamente necessario */
        pointer-events: none; /* L’icona non intercetta click */
    }


    .akb-search-btn-responsive {
        display: none;
    }
}



/*** akb card ***/

.akb-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
}

.akb-card-header {
    padding: 0.5rem 1rem;
    margin-bottom: 0px;
    margin-top: 0px;
}

.akb-card-body {
    display: block;
}

/**** footer ****/
.akb-footer-container {
    display: block;
    width: 100%;
    padding: 20px 0;
}

.akb-footer-container-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    width: 100%;
}

.akb-footer-container-copyright {
    /* sinistra */
    margin-right: auto;
}

.akb-footer-container-link {
    /* destra */
    margin-left: auto;
}

.akb-footer-container-copyright a, .akb-footer-container-link a {
    text-decoration: none;
}

#akb-menu-footer > ul.nav li {
    display: inline-block;
    margin-left: 15px;
    width: auto;
  }

/*** column % ****/
.akb-column {
  display: flex;
  flex-direction: column;
}

@media (max-width: 960px) {
  .akb-column {
    width: 100% !important;
  }
}

/* Esempi di gestione delle colonne basate sul layout */
/*
.akb-1-100 .akb-column:nth-child(1) {
  width: 100%;
}

.akb-2-50-50 .akb-column:nth-child(1) {
  width: 50%;
}
.akb-2-50-50 .akb-column:nth-child(2) {
  width: 50%;
}

.akb-3-33-33-33 .akb-column:nth-child(1) {
  width: 33.33%;
}
.akb-3-33-33-33 .akb-column:nth-child(2) {
  width: 33.33%;
}
.akb-3-33-33-33 .akb-column:nth-child(3) {
  width: 33.33%;
}

.akb-4-25-25-25-25 .akb-column:nth-child(1) {
  width: 25%;
}
.akb-4-25-25-25-25 .akb-column:nth-child(2) {
  width: 25%;
}
.akb-4-25-25-25-25 .akb-column:nth-child(3) {
  width: 25%;
}
.akb-4-25-25-25-25 .akb-column:nth-child(4) {
  width: 25%;
}

.akb-5-20-20-20-20-20 .akb-column:nth-child(1) {
  width: 20%;
}
.akb-5-20-20-20-20-20 .akb-column:nth-child(2) {
  width: 20%;
}
.akb-5-20-20-20-20-20 .akb-column:nth-child(3) {
  width: 20%;
}
.akb-5-20-20-20-20-20 .akb-column:nth-child(4) {
  width: 20%;
}
.akb-5-20-20-20-20-20 .akb-column:nth-child(5) {
  width: 20%;
}

.akb-6-16-16-16-16-16-16 .akb-column:nth-child(1) {
  width: 16.67%;
}
.akb-6-16-16-16-16-16-16 .akb-column:nth-child(2) {
  width: 16.67%;
}
.akb-6-16-16-16-16-16-16 .akb-column:nth-child(3) {
  width: 16.67%;
}
.akb-6-16-16-16-16-16-16 .akb-column:nth-child(4) {
  width: 16.67%;
}
.akb-6-16-16-16-16-16-16 .akb-column:nth-child(5) {
  width: 16.67%;
}
.akb-6-16-16-16-16-16-16 .akb-column:nth-child(6) {
  width: 16.67%;
}

.akb-2-66-33 .akb-column:nth-child(1) {
  width: 66.67%;
}
.akb-2-66-33 .akb-column:nth-child(2) {
  width: 33.33%;
}

.akb-2-33-66 .akb-column:nth-child(1) {
  width: 33.33%;
}
.akb-2-33-66 .akb-column:nth-child(2) {
  width: 66.67%;
}

.akb-2-75-25 .akb-column:nth-child(1) {
  width: 75%;
}
.akb-2-75-25 .akb-column:nth-child(2) {
  width: 25%;
}

.akb-2-25-75 .akb-column:nth-child(1) {
  width: 25%;
}
.akb-2-25-75 .akb-column:nth-child(2) {
  width: 75%;
}

.akb-2-40-60 .akb-column:nth-child(1) {
  width: 40%;
}
.akb-2-40-60 .akb-column:nth-child(2) {
  width: 60%;
}

.akb-2-60-40 .akb-column:nth-child(1) {
  width: 60%;
}
.akb-2-60-40 .akb-column:nth-child(2) {
  width: 40%;
}

.akb-2-80-20 .akb-column:nth-child(1) {
  width: 80%;
}
.akb-2-80-20 .akb-column:nth-child(2) {
  width: 20%;
}

.akb-2-20-80 .akb-column:nth-child(1) {
  width: 20%;
}
.akb-2-20-80 .akb-column:nth-child(2) {
  width: 80%;
}

.akb-3-50-25-25 .akb-column:nth-child(1) {
  width: 50%;
}
.akb-3-50-25-25 .akb-column:nth-child(2) {
  width: 25%;
}
.akb-3-50-25-25 .akb-column:nth-child(3) {
  width: 25%;
}

.akb-3-25-50-25 .akb-column:nth-child(1) {
  width: 25%;
}
.akb-3-25-50-25 .akb-column:nth-child(2) {
  width: 50%;
}
.akb-3-25-50-25 .akb-column:nth-child(3) {
  width: 25%;
}

.akb-3-25-25-50 .akb-column:nth-child(1) {
  width: 25%;
}
.akb-3-25-25-50 .akb-column:nth-child(2) {
  width: 25%;
}
.akb-3-25-25-50 .akb-column:nth-child(3) {
  width: 50%;
}

.akb-3-60-20-20 .akb-column:nth-child(1) {
  width: 60%;
}
.akb-3-60-20-20 .akb-column:nth-child(2) {
  width: 20%;
}
.akb-3-60-20-20 .akb-column:nth-child(3) {
  width: 20%;
}

.akb-3-20-60-20 .akb-column:nth-child(1) {
  width: 20%;
}
.akb-3-20-60-20 .akb-column:nth-child(2) {
  width: 60%;
}
.akb-3-20-60-20 .akb-column:nth-child(3) {
  width: 20%;
}

.akb-3-20-20-60 .akb-column:nth-child(1) {
  width: 20%;
}
.akb-3-20-20-60 .akb-column:nth-child(2) {
  width: 20%;
}
.akb-3-20-20-60 .akb-column:nth-child(3) {
  width: 60%;
}

.akb-4-40-20-20-20 .akb-column:nth-child(1) {
  width: 40%;
}
.akb-4-40-20-20-20 .akb-column:nth-child(2) {
  width: 20%;
}
.akb-4-40-20-20-20 .akb-column:nth-child(3) {
  width: 20%;
}
.akb-4-40-20-20-20 .akb-column:nth-child(4) {
  width: 20%;
}

.akb-4-20-20-20-40 .akb-column:nth-child(1) {
  width: 20%;
}
.akb-4-20-20-20-40 .akb-column:nth-child(2) {
  width: 20%;
}
.akb-4-20-20-20-40 .akb-column:nth-child(3) {
  width: 20%;
}
.akb-4-20-20-20-40 .akb-column:nth-child(4) {
  width: 40%;
}
*/
/* Media query per viewport 960px e inferiori */
/*
@media (max-width: 960px) {
  .akb-1-100 .akb-column:nth-child(1),
  .akb-2-50-50 .akb-column:nth-child(1),
  .akb-2-50-50 .akb-column:nth-child(2),
  .akb-3-33-33-33 .akb-column:nth-child(1),
  .akb-3-33-33-33 .akb-column:nth-child(2),
  .akb-3-33-33-33 .akb-column:nth-child(3),
  .akb-4-25-25-25-25 .akb-column:nth-child(1),
  .akb-4-25-25-25-25 .akb-column:nth-child(2),
  .akb-4-25-25-25-25 .akb-column:nth-child(3),
  .akb-4-25-25-25-25 .akb-column:nth-child(4),
  .akb-5-20-20-20-20-20 .akb-column:nth-child(1),
  .akb-5-20-20-20-20-20 .akb-column:nth-child(2),
  .akb-5-20-20-20-20-20 .akb-column:nth-child(3),
  .akb-5-20-20-20-20-20 .akb-column:nth-child(4),
  .akb-5-20-20-20-20-20 .akb-column:nth-child(5),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(1),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(2),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(3),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(4),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(5),
  .akb-6-16-16-16-16-16-16 .akb-column:nth-child(6),
  .akb-2-66-33 .akb-column:nth-child(1),
  .akb-2-66-33 .akb-column:nth-child(2),
  .akb-2-33-66 .akb-column:nth-child(1),
  .akb-2-33-66 .akb-column:nth-child(2),
  .akb-2-75-25 .akb-column:nth-child(1),
  .akb-2-75-25 .akb-column:nth-child(2),
  .akb-2-25-75 .akb-column:nth-child(1),
  .akb-2-25-75 .akb-column:nth-child(2),
  .akb-2-40-60 .akb-column:nth-child(1),
  .akb-2-40-60 .akb-column:nth-child(2),
  .akb-2-60-40 .akb-column:nth-child(1),
  .akb-2-60-40 .akb-column:nth-child(2),
  .akb-2-80-20 .akb-column:nth-child(1),
  .akb-2-80-20 .akb-column:nth-child(2),
  .akb-2-20-80 .akb-column:nth-child(1),
  .akb-2-20-80 .akb-column:nth-child(2),
  .akb-3-50-25-25 .akb-column:nth-child(1),
  .akb-3-50-25-25 .akb-column:nth-child(2),
  .akb-3-50-25-25 .akb-column:nth-child(3),
  .akb-3-25-50-25 .akb-column:nth-child(1),
  .akb-3-25-50-25 .akb-column:nth-child(2),
  .akb-3-25-50-25 .akb-column:nth-child(3),
  .akb-3-25-25-50 .akb-column:nth-child(1),
  .akb-3-25-25-50 .akb-column:nth-child(2),
  .akb-3-25-25-50 .akb-column:nth-child(3),
  .akb-3-60-20-20 .akb-column:nth-child(1),
  .akb-3-60-20-20 .akb-column:nth-child(2),
  .akb-3-60-20-20 .akb-column:nth-child(3),
  .akb-3-20-60-20 .akb-column:nth-child(1),
  .akb-3-20-60-20 .akb-column:nth-child(2),
  .akb-3-20-60-20 .akb-column:nth-child(3),
  .akb-3-20-20-60 .akb-column:nth-child(1),
  .akb-3-20-20-60 .akb-column:nth-child(2),
  .akb-3-20-20-60 .akb-column:nth-child(3),
  .akb-4-40-20-20-20 .akb-column:nth-child(1),
  .akb-4-40-20-20-20 .akb-column:nth-child(2),
  .akb-4-40-20-20-20 .akb-column:nth-child(3),
  .akb-4-40-20-20-20 .akb-column:nth-child(4),
  .akb-4-20-20-20-40 .akb-column:nth-child(1),
  .akb-4-20-20-20-40 .akb-column:nth-child(2),
  .akb-4-20-20-20-40 .akb-column:nth-child(3),
  .akb-4-20-20-20-40 .akb-column:nth-child(4) {
    width: 100%;
  }
}
*/
/** sticky  */
.akb-header-container-bottom.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

/** search header **/
.AKB_search_header {
  max-width: 160px;
}

/** form **/
.form-control {
  border-radius: 0px;
}

/*** header 01 ****/
.akb-header-container-default,
.akb-header-container-header01, 
.akb-header-container-header02, 
.akb-header-container-header03,
.akb-header-container-header04,
.akb-header-container-header05,
.akb-header-container-header06 {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}



.akb-header-subcontainer-header01-left,
.akb-header-subcontainer-header02-left,
.akb-header-subcontainer-header03-left,
.akb-header-subcontainer-header04-left,
.akb-header-subcontainer-header05-left,
.akb-header-subcontainer-header06-left {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  width: auto;
  align-items: center;
}

.akb-header-subcontainer-header01-center {}

.akb-header-subcontainer-header01-right,
.akb-header-subcontainer-header02-right,
.akb-header-subcontainer-header03-right,
.akb-header-subcontainer-header04-right,
.akb-header-subcontainer-header05-right,
.akb-header-subcontainer-header06-right {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  width: auto;
  align-items: center;
}

.akb-header-container-heading-right-header01,
.akb-header-container-heading-right-header02,
.akb-header-container-heading-right-header03,
.akb-header-container-heading-right-header04,
.akb-header-container-heading-right-header05,
.akb-header-container-heading-right-header06 {
  justify-content: flex-end;
  gap: 16px;
  width: 100%;
  display: flex;
}

@media (max-width: 960px) {
.akb-languageswitcher-header-responsive {
  display: flex;
}

.akb-header-container-menu-header01,
.akb-header-container-menu-header02,
.akb-header-container-menu-header03, 
.akb-header-container-menu-header04,
.akb-header-container-menu-header05,
.akb-header-container-menu-header06, 
.akb-header-container-heading {
  display: none;
}

}

/*** blog ***/
.blog-items.masonry-2 {
  column-count: 2;
  column-gap: 30px;
}

.blog-items.masonry-3 {
  column-count: 3;
  column-gap: 30px;
}

.blog-items.masonry-4 {
  column-count: 4;
  column-gap: 30px;
}

.blog-item {
  break-inside: avoid;
  margin-bottom: 30px;
}


/*** blog - item - article ***/
.akb-article-item-page {
}

.akb-item-title {
}

.akb-item-details {
  margin-bottom: 12px;
}

.akb-item-image {
  width: 100%;
}

.akb-item-image img {
  width: 100%;
  height: auto;
}

.akb-item-content {
}

/*** item details ***/
.akb-item-details-author,
.akb-item-details-category,
.akb-item-details-publish-date,
.akb-item-details-create-date,
.akb-item-details-modify-date,
.akb-item-details-parent-category,
.akb-item-details-hits,
.akb-item-details-associations {
    padding-right: 8px;
}

.com-users-login__description.login-description {
  margin-bottom: 12px;
}

/* Stile base del menu Joomla */
.mod-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Voci di menu principali */
.mod-menu > li {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}

.mod-menu > li > a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
}

.mod-menu > li > a:hover,
.mod-menu > li.current > a {
}

/* Stile per i sottomenu */
.mod-menu li ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none; /* Nascosto di default */
}

/* Mostra il sottomenu se il genitore è attivo */
.mod-menu li:hover > ul,
.mod-menu li.parent.active > ul {
  display: block;
}

/* Stile per le voci di sottomenu */
.mod-menu li ul li {
  display: block;
}

.mod-menu li ul li a {
  display: block;
  padding: 8px 15px;
  text-decoration: none;
}

.mod-menu li ul li a:hover {
  
}

.AKB_cart_pos {
  position: relative;
}

.AKB_cart_inset {
    display: none;
    position: absolute;
    right: 0;
    top: 48px; /* regola se vuoi più in alto o in basso */
    min-width: 300px;
    background: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    border-radius: 10px;
    z-index: 9999;
    padding: 1em;
}

.AKB_cart_header {
    position: relative;
}

