/**
 * ASOR — fix cross-browser desktop/tablet (Safari, Chrome, Firefox).
 * Caricato per ultimo: risolve conflitti tra custom.css, cover-94, responsive-universal.
 * BUILD LIVE: 20260608-hero-books (verifica su asor.info: grep questo string nel CSS)
 * Hero libri inline in fondo a questo file (Joomla non carica asor-hero-cedim-layout.css).
 * Nessuna modifica al markup HTML.
 */

/* --- Topbar desktop: orari sx | numero centro | email dx (griglia larga) --- */
@media (min-width: 993px) {
  html body .ja-topbar .container.asor-topbar-row,
  html.itemid-101.home .ja-topbar .container.asor-topbar-row {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    position: relative !important;
    width: 100% !important;
    max-width: min(96vw, 1680px) !important;
    padding-left: clamp(8px, 1.2vw, 16px) !important;
    padding-right: clamp(8px, 1.2vw, 16px) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body .ja-topbar .topbar-left.pull-left,
  html.itemid-101.home .ja-topbar .topbar-left.pull-left {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    flex: unset !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  html body .ja-topbar .asor-topbar-call-wrap.asor-topbar-numero-center,
  html body .ja-topbar .asor-topbar-call-wrap--wide.asor-topbar-numero-center,
  html body .ja-topbar .asor-topbar-call-wrap.asor-topbar-call-wrap--wide,
  html.itemid-101.home .ja-topbar .asor-topbar-call-wrap.asor-topbar-numero-center,
  html.itemid-101.home .ja-topbar .asor-topbar-call-wrap.asor-topbar-call-wrap--wide,
  html.itemid-101 .ja-topbar .asor-topbar-call-wrap.asor-topbar-numero-center {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    margin: 0 auto !important;
    width: 150px !important;
    max-width: 150px !important;
    flex: unset !important;
    float: none !important;
  }

  html body .ja-topbar .topbar-right.pull-right,
  html.itemid-101.home .ja-topbar .topbar-right.pull-right {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    flex: unset !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  html body .ja-topbar .topbar-right.pull-right .topbar-list,
  html.itemid-101.home .ja-topbar .topbar-right.pull-right .topbar-list {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .ja-topbar .customtopbar-min913px,
  html body .ja-topbar .customtopbar-min913px p,
  html.itemid-101.home .ja-topbar .customtopbar-min913px,
  html.itemid-101.home .ja-topbar .customtopbar-min913px p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  html body .ja-topbar .topbar-right .email-item a,
  html.itemid-101.home .ja-topbar .topbar-right .email-item a {
    text-align: right !important;
  }
}

@media (min-width: 992px) and (max-width: 1399px) {
  .t3-mainnav .t3-navbar .navbar-nav {
    min-width: 0 !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
}

/* --- Home: 4 card SOTTO hero (CEDIM — niente sovrapposizione) --- */
@media (min-width: 992px) {
  html.itemid-101 #acm-features-129.acm-features.style-1,
  html.itemid-101.home #acm-features-129.acm-features.style-1,
  body.itemid-101 #acm-features-129.acm-features.style-1,
  body.asor-home #acm-features-129.acm-features.style-1 {
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html.itemid-101 #acm-features-129 .container,
  html.itemid-101.home #acm-features-129 .container,
  body.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 15px 12px !important;
    max-width: 1140px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
  }

  html.itemid-101 #acm-features-129 .swiper-container,
  body.itemid-101 #acm-features-129 .swiper-container,
  body.asor-home #acm-features-129 .swiper-container {
    margin-top: 0 !important;
  }

  html.itemid-101 #acm-features-129 .features-item,
  html.itemid-101 #acm-features-129 .asor-129-label.features-item,
  body.itemid-101 #acm-features-129 .features-item,
  body.asor-home #acm-features-129 .features-item {
    width: min(300px, calc((100vw - 120px) / 4)) !important;
    max-width: min(300px, calc((100vw - 120px) / 4)) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129.acm-features.style-1 .features-image {
    width: min(200px, calc((100vw - 120px) / 4 - 40px)) !important;
    max-width: min(200px, calc((100vw - 120px) / 4 - 40px)) !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  /* Hero home: layout CEDIM in asor-hero-cedim-layout.css */
}

/* --- Hero slideshow: mobile/tablet (<992px) — animazione off, titolo centrato --- */
@media (max-width: 991px) {
  html.itemid-101 #acm-slideshow-89 .slider-content-inner .ja-animation,
  html.itemid-101 #acm-slideshow-89 h1.ja-animation,
  body.itemid-101 #acm-slideshow-89 h1.ja-animation,
  body.asor-home #acm-slideshow-89 h1.ja-animation {
    transform: none !important;
    -webkit-transform: none !important;
    opacity: 1 !important;
  }

  html.itemid-101 #acm-slideshow-89 h1,
  html.itemid-101 #acm-slideshow-89 h1.item-title,
  body.itemid-101 #acm-slideshow-89 h1,
  body.asor-home #acm-slideshow-89 h1 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
    text-align: center !important;
    white-space: normal !important;
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1,
  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1.item-title,
  body.asor-home #acm-slideshow-89 .asor-hero-cedim h1 {
    display: block !important;
  }

  html.itemid-101 #acm-slideshow-89 h1::before,
  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1::before,
  body.itemid-101 #acm-slideshow-89 h1::before,
  body.asor-home #acm-slideshow-89 h1::before,
  body.asor-home #acm-slideshow-89 .asor-hero-cedim h1::before {
    content: none !important;
    display: none !important;
  }

  html.itemid-101 #acm-slideshow-89 h1.item-title,
  body.asor-home #acm-slideshow-89 h1.item-title {
    margin-bottom: 0 !important;
  }
}

/* Pallini carousel servizi — bianco come freccia hero (#ffffff) */
html.itemid-101 #acm-features-129 .swiper-pagination-bullet,
body.itemid-101 #acm-features-129 .swiper-pagination-bullet,
body.asor-home #acm-features-129 .swiper-pagination-bullet {
  background-color: rgba(255, 255, 255, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  opacity: 1 !important;
}

html.itemid-101 #acm-features-129 .swiper-pagination-bullet-active,
body.itemid-101 #acm-features-129 .swiper-pagination-bullet-active,
body.asor-home #acm-features-129 .swiper-pagination-bullet-active {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Cerchi numerati 1–4 — stessa regola custom.css, colore frecce #23364c */
html.itemid-101 #acm-features-129.acm-features.style-1 .swiper-slide .count,
body.itemid-101 #acm-features-129.acm-features.style-1 .swiper-slide .count,
body.asor-home #acm-features-129.acm-features.style-1 .swiper-slide .count,
html.itemid-101 #acm-features-129 .swiper-slide .count,
body.itemid-101 #acm-features-129 .swiper-slide .count,
body.asor-home #acm-features-129 .swiper-slide .count {
  background-color: #23364c !important;
  border: 2px solid rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  line-height: 36px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12) !important;
  z-index: 2 !important;
}

/* Frecce carousel servizi — 30px più in alto (desktop) */
@media (min-width: 992px) {
  html.itemid-101 #acm-features-129 .swiper-button-next,
  html.itemid-101 #acm-features-129 .swiper-button-prev,
  body.itemid-101 #acm-features-129 .swiper-button-next,
  body.itemid-101 #acm-features-129 .swiper-button-prev,
  body.asor-home #acm-features-129 .swiper-button-next,
  body.asor-home #acm-features-129 .swiper-button-prev {
    display: flex !important;
    visibility: hidden !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    margin-top: -53px !important;
  }
}

/* Titoli sotto foto servizi — 20px (Diritto Civile, Lavoro, ecc.) */
html.itemid-101 #acm-features-129.acm-features.style-1 .features-title,
html.itemid-101 #acm-features-129 .features-title,
html.itemid-101 #acm-features-129 .features-title a,
body.itemid-101 #acm-features-129.acm-features.style-1 .features-title,
body.itemid-101 #acm-features-129 .features-title a,
body.asor-home #acm-features-129.acm-features.style-1 .features-title,
body.asor-home #acm-features-129 .features-title,
body.asor-home #acm-features-129 .features-title a {
  font-size: 20px !important;
  line-height: 1.25 !important;
}

@media (min-width: 992px) and (max-width: 1399px) {
  html.itemid-101 #acm-features-129 .swiper-container,
  body.itemid-101 #acm-features-129 .swiper-container,
  body.asor-home #acm-features-129 .swiper-container {
    margin-top: 0 !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  html.itemid-101 #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    margin-top: 0 !important;
  }

  html.itemid-101 #acm-features-129 .features-item,
  body.asor-home #acm-features-129 .features-item {
    width: min(300px, calc((100vw - 80px) / 2)) !important;
    max-width: min(300px, calc((100vw - 80px) / 2)) !important;
  }

  html.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129.acm-features.style-1 .features-image {
    width: min(200px, calc((100vw - 80px) / 2 - 40px)) !important;
    max-width: min(200px, calc((100vw - 80px) / 2 - 40px)) !important;
  }
}

/* --- "Ultime novità" (#acm-features-94): 2 colonne 50/50 + micro-gap centrale --- */
@media (min-width: 992px) {
  html.itemid-101 #acm-features-94 #features-0.features-item-wrap.tab-pane.active,
  html.itemid-101 #acm-features-94 #features-0.tab-pane.active,
  html.itemid-101 #acm-features-94 #features-0.tab-pane.active.in,
  body.itemid-101 #acm-features-94 #features-0.tab-pane.active,
  body.asor-home #acm-features-94 #features-0.tab-pane.active,
  #acm-features-94 #features-0.tab-pane.active {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    -webkit-align-items: stretch !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 380px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Colonna sinistra — testo + icona (sfondo bianco) */
  html.itemid-101 #acm-features-94 #features-0 .features-item.col-md-6,
  body.itemid-101 #acm-features-94 #features-0 .features-item.col-md-6,
  body.asor-home #acm-features-94 #features-0 .features-item.col-md-6,
  #acm-features-94 #features-0 .features-item.col-md-6 {
    -webkit-flex: 0 0 calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    min-height: 380px !important;
    height: auto !important;
    -webkit-align-self: stretch !important;
    align-self: stretch !important;
    padding: 48px 36px 44px 176px !important;
    margin: 0 !important;
    float: none !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    background-image: url(https://www.asor.info/images/Logo-AIRA-sfondo-riquadro-Ultime-novita.jpg) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    overflow: hidden !important;
  }

  html.itemid-101 #acm-features-94 #features-0 .features-item .features-icon,
  html.itemid-101 #acm-features-94 #features-0 .features-icon.icofont,
  body.itemid-101 #acm-features-94 #features-0 .features-icon,
  #acm-features-94 #features-0 .features-icon {
    left: 28px !important;
    top: 48px !important;
    width: 120px !important;
    height: 120px !important;
    line-height: 120px !important;
    font-size: 52px !important;
    margin: 0 !important;
  }

  /* Colonna destra — foto ragazzo (stessa altezza del blocco testo) */
  html.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs,
  body.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs,
  body.asor-home #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs,
  #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs {
    -webkit-flex: 0 0 calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    min-height: 380px !important;
    height: auto !important;
    -webkit-align-self: stretch !important;
    align-self: stretch !important;
    padding: 0 !important;
    margin: 0 0 0 8px !important;
    overflow: hidden !important;
    display: -webkit-flex !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: none !important;
    position: relative !important;
    line-height: 0 !important;
  }

  html.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img,
  body.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img,
  body.asor-home #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img,
  #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    -webkit-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    -webkit-align-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    -webkit-object-fit: cover !important;
    object-fit: cover !important;
    -webkit-object-position: center center !important;
    object-position: center center !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  html.itemid-101 #acm-features-94 #features-0.tab-pane.active,
  body.asor-home #acm-features-94 #features-0.tab-pane.active,
  #acm-features-94 #features-0.tab-pane.active {
    display: -webkit-flex !important;
    display: flex !important;
    min-height: 340px !important;
  }

  html.itemid-101 #acm-features-94 #features-0 .features-item.col-md-6,
  html.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs,
  body.asor-home #acm-features-94 #features-0 .features-item.col-md-6,
  #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs {
    min-height: 340px !important;
  }

  html.itemid-101 #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img,
  body.asor-home #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img,
  #acm-features-94 #features-0 .col-md-6.features-image.hidden-sm.hidden-xs img {
    height: 100% !important;
    min-height: 100% !important;
  }
}

/* ========== ASOR HERO LIBRI (inline da asor-hero-cedim-layout.css) ========== */
/* —— Kill pseudo-elementi legacy —— */
html body .t3-wrapper:has(> .wrap.t3-slideshow) #acm-slideshow-89 .slider-content-inner.container::before,
html body .t3-wrapper:has(> .wrap.t3-slideshow) #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container::before,
html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
html.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before,
html.itemid-101 #acm-slideshow-89 .asor-hero-cedim::before,
body.asor-home.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before,
body.asor-home #acm-slideshow-89 .slider-content-inner.container::before,
body.asor-home #acm-slideshow-89 .asor-hero-cedim::before {
  display: none !important;
  visibility: hidden !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

html.itemid-101.home #acm-slideshow-89 h1::before,
html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1::before,
body.asor-home #acm-slideshow-89 h1::before,
body.asor-home #acm-slideshow-89 .asor-hero-cedim h1::before {
  content: none !important;
  display: none !important;
}

/* —— Slideshow: struttura CEDIM (.slideshow-top + img-bg assoluto + contenuto relativo) —— */
html.itemid-101.home #acm-slideshow-89.slideshow,
html.itemid-101 #acm-slideshow-89.slideshow,
body.asor-home #acm-slideshow-89.slideshow {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  z-index: 1 !important;
}

html.itemid-101.home #acm-slideshow-89 .swiper-container.slideshow-top,
html.itemid-101 #acm-slideshow-89 .swiper-container.slideshow-top,
body.asor-home #acm-slideshow-89 .swiper-container.slideshow-top {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

html.itemid-101.home #acm-slideshow-89 .swiper-slide,
html.itemid-101 #acm-slideshow-89 .swiper-slide,
body.asor-home #acm-slideshow-89 .swiper-slide {
  height: auto !important;
  min-height: 0 !important;
}

html.itemid-101.home #acm-slideshow-89 .swiper-slide > .item,
html.itemid-101 #acm-slideshow-89 .swiper-slide > .item,
body.asor-home #acm-slideshow-89 .swiper-slide > .item {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Annulla 100vh / 670px legacy custom.css — altezza = solo contenuto testi */
html.itemid-101.home #acm-slideshow-89.slideshow,
html.itemid-101.home #acm-slideshow-89 .swiper-slide.swiper-slide-active,
html.itemid-101 #acm-slideshow-89.slideshow,
body.asor-home #acm-slideshow-89.slideshow,
body.asor-home #acm-slideshow-89 .swiper-container.slideshow-top,
body.asor-home #acm-slideshow-89 .swiper-slide > .item {
  min-height: 0 !important;
  height: auto !important;
}

html.itemid-101.home .wrap.t3-slideshow,
html.itemid-101 .wrap.t3-slideshow,
body.asor-home .wrap.t3-slideshow {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 1 !important;
}

html.itemid-101.home,
html.itemid-101,
body.asor-home.itemid-101 {
  --asor-hero-books-extend: 480px;
}

html.itemid-101.home #acm-slideshow-89 .img-bg,
html.itemid-101 #acm-slideshow-89 .img-bg,
body.asor-home #acm-slideshow-89 .img-bg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: calc(100% + var(--asor-hero-books-extend, 400px)) !important;
  margin: 0 !important;
  opacity: 1 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Filtro/colori hero: solo custom.css (niente doppio ::after qui) */
html.itemid-101.home #acm-slideshow-89 .img-bg,
body.asor-home #acm-slideshow-89 .img-bg {
  filter: grayscale(52%) brightness(0.94) contrast(0.9) !important;
}

/* Evita doppia desaturazione: .grayscale sull'img + filter su .img-bg */
html.itemid-101.home #acm-slideshow-89 .img-bg img.grayscale,
html.itemid-101.home #acm-slideshow-89 .img-bg img.asor-hero-lcp,
body.asor-home #acm-slideshow-89 .img-bg img.grayscale,
body.asor-home #acm-slideshow-89 .img-bg img.asor-hero-lcp {
  filter: none !important;
  -webkit-filter: none !important;
}

html.itemid-101.home #acm-slideshow-89 .img-bg img,
html.itemid-101 #acm-slideshow-89 .img-bg img,
body.asor-home #acm-slideshow-89 .img-bg img,
body.asor-home #acm-slideshow-89 .img-bg img.asor-hero-lcp {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center 42% !important;
  display: block !important;
}

/* —— .slider-content CEDIM: relative, padding, NO absolute/flex/100vh —— */
html.itemid-101.home #acm-slideshow-89 .slider-content,
html.itemid-101 #acm-slideshow-89 .slider-content,
body.asor-home #acm-slideshow-89 .slider-content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: block !important;
  padding: 48px 15px 64px !important;
  text-align: center !important;
  color: #fff !important;
  box-sizing: border-box !important;
}

html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim,
html.itemid-101.home #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
html.itemid-101 #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
html.itemid-101.home .slideshow #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
html.itemid-101 .slideshow #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
body.asor-home #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
body.asor-home .slideshow #acm-slideshow-89 .slider-content-inner.asor-hero-cedim,
.itemid-101 .slider-content-inner.container.asor-hero-cedim {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 1140px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Logo */
html.itemid-101.home #acm-slideshow-89 .asor-hero-logo,
html.itemid-101 #acm-slideshow-89 .hero-logo.asor-hero-logo,
body.asor-home #acm-slideshow-89 .asor-hero-logo {
  display: block !important;
  margin: 0 auto 8px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
}

/* Titoli — clamp come CEDIM (.line-cedim + h1) */
html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim h1.item-title,
html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1,
body.asor-home #acm-slideshow-89 .asor-hero-cedim h1.item-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 5vw, 52px) !important;
  font-weight: 400 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  color: #fff !important;
  text-align: center !important;
  transform: none !important;
  -webkit-transform: none !important;
  display: block !important;
  white-space: normal !important;
}

html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim h1 .asor-hero-brand,
html.itemid-101 #acm-slideshow-89 .asor-hero-cedim .asor-hero-brand,
body.asor-home #acm-slideshow-89 .asor-hero-cedim .asor-hero-brand {
  display: block !important;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(36px, 6vw, 88px) !important;
  font-weight: 400 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.1 !important;
  letter-spacing: 0.06em !important;
  color: #fff !important;
}

html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim p.item-desc,
html.itemid-101 #acm-slideshow-89 .asor-hero-cedim .item-desc,
body.asor-home #acm-slideshow-89 .asor-hero-cedim p.item-desc {
  display: block !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: clamp(16px, 1.6vw, 22px) !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: #fff !important;
  text-align: center !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Sfondo libri: hero + #acm-features-129 fino DOPO i numeri 1–4 */
html body .t3-wrapper:has(> .wrap.t3-slideshow) section.wrap.t3-sections,
html.itemid-101.home section.wrap.t3-sections,
html.itemid-101 section.wrap.t3-sections,
html.itemid-101 body.asor-home section.wrap.t3-sections,
body.asor-home section.wrap.t3-sections {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

html body .t3-wrapper:has(> .wrap.t3-slideshow) section.wrap.t3-sections > .section-inner:first-of-type,
html.itemid-101.home section.wrap.t3-sections > .section-inner:first-of-type,
html.itemid-101 section.wrap.t3-sections > .section-inner:first-of-type,
html.itemid-101.home body.asor-home section.wrap.t3-sections > .section-inner:first-of-type,
body.asor-home section.wrap.t3-sections > .section-inner:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  position: relative !important;
  overflow: visible !important;
  z-index: auto !important;
}

html body .t3-wrapper:has(> .wrap.t3-slideshow) #acm-features-129.acm-features.style-1,
html.itemid-101.home #acm-features-129.acm-features.style-1,
html.itemid-101 #acm-features-129.acm-features.style-1,
html.itemid-101 body.asor-home #acm-features-129.acm-features.style-1,
body.asor-home #acm-features-129.acm-features.style-1,
html.itemid-101.home #acm-features-129 .container,
html.itemid-101 #acm-features-129 .container,
body.asor-home #acm-features-129 .container,
html.itemid-101.home #acm-features-129 .relative,
body.asor-home #acm-features-129 .relative,
html.itemid-101.home #acm-features-129 .swiper-container,
body.asor-home #acm-features-129 .swiper-container,
html.itemid-101.home #acm-features-129 .swiper-wrapper,
body.asor-home #acm-features-129 .swiper-wrapper,
html.itemid-101.home #acm-features-129 .asor-129-slide,
html.itemid-101.home #acm-features-129 .swiper-slide.col.asor-129-slide,
body.asor-home #acm-features-129 .asor-129-slide,
body.asor-home #acm-features-129 .swiper-slide.col.asor-129-slide {
  background: transparent !important;
  background-color: transparent !important;
}

html.itemid-101.home #acm-features-129.acm-features.style-1,
html.itemid-101 #acm-features-129.acm-features.style-1,
body.asor-home #acm-features-129.acm-features.style-1,
html.itemid-101.home #acm-features-129 .container,
html.itemid-101 #acm-features-129 .container,
body.asor-home #acm-features-129 .container,
html.itemid-101.home #acm-features-129 .relative,
body.asor-home #acm-features-129 .relative {
  position: relative !important;
  z-index: 2 !important;
}

html.itemid-101.home #acm-features-129 .container,
html.itemid-101 #acm-features-129 .container,
body.asor-home #acm-features-129 .container {
  margin-top: 0 !important;
}

html.itemid-101.home #acm-features-129 .features-item,
html.itemid-101.home #acm-features-129 .asor-129-label.features-item,
html.itemid-101 #acm-features-129 .features-item,
body.asor-home #acm-features-129 .features-item {
  background: rgba(36, 59, 85, 0.78) !important;
  background-color: rgba(36, 59, 85, 0.78) !important;
}

/* Fascia blu riparte da "Una storia unica" */
html.itemid-101.home #acm-features-92.asor-home-storia-unica,
html.itemid-101 #acm-features-92.asor-home-storia-unica,
body.asor-home #acm-features-92.asor-home-storia-unica {
  background-color: #475966 !important;
  background: #475966 !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Desktop — CEDIM: padding-top 150px sotto header assoluto */
@media (min-width: 992px) {
  html.itemid-101.home,
  body.asor-home.itemid-101 {
    --asor-hero-books-extend: 500px;
  }

  html.itemid-101.home #acm-slideshow-89 .slider-content,
  body.asor-home #acm-slideshow-89 .slider-content {
    padding-top: 150px !important;
    padding-bottom: 16px !important;
  }

  html.itemid-101.home #acm-features-129 .container,
  body.asor-home #acm-features-129 .container {
    padding-bottom: 36px !important;
  }

  html.itemid-101.home #acm-slideshow-89 .asor-hero-logo,
  body.asor-home #acm-slideshow-89 .asor-hero-logo {
    max-width: 200px !important;
    margin-top: 0 !important;
  }

  html.itemid-101.home .slideshow .slider-content-inner,
  html.itemid-101.home #acm-slideshow-89 .slider-content-inner,
  html.itemid-101 .slideshow .slider-content-inner,
  html.itemid-101 #acm-slideshow-89 .slider-content-inner,
  body.asor-home #acm-slideshow-89 .slider-content-inner {
    top: auto !important;
    left: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
}

/* Mobile — CEDIM @media (max-width: 991px) */
@media (max-width: 991px) {
  html.itemid-101.home,
  body.asor-home.itemid-101 {
    --asor-hero-books-extend: 400px;
  }
  html.itemid-101.home #acm-slideshow-89 .swiper-container.slideshow-top,
  body.asor-home #acm-slideshow-89 .swiper-container.slideshow-top {
    min-height: 0 !important;
  }

  html.itemid-101.home #acm-slideshow-89 .slider-content,
  body.asor-home #acm-slideshow-89 .slider-content {
    padding-top: 20px !important;
    padding-bottom: 12px !important;
  }

  html.itemid-101.home #acm-slideshow-89 .asor-hero-logo,
  body.asor-home #acm-slideshow-89 .asor-hero-logo {
    max-width: 160px !important;
    margin-bottom: 10px !important;
  }
}

/* Joomla home: markup senza .asor-hero-cedim (stesso layout hero) */
html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container,
html.itemid-101 #acm-slideshow-89 .slider-content-inner.container,
body.asor-home #acm-slideshow-89 .slider-content-inner.container {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  -webkit-transform: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 1140px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 15px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html.itemid-101.home #acm-slideshow-89 h1.item-title,
html.itemid-101 #acm-slideshow-89 h1.item-title,
body.asor-home #acm-slideshow-89 h1.item-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 5vw, 52px) !important;
  font-weight: 400 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.15 !important;
  color: #fff !important;
  text-align: center !important;
  transform: none !important;
  -webkit-transform: none !important;
  white-space: normal !important;
}

html.itemid-101.home #acm-slideshow-89 p.item-desc,
html.itemid-101 #acm-slideshow-89 p.item-desc,
body.asor-home #acm-slideshow-89 p.item-desc {
  display: block !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  font-size: clamp(16px, 1.6vw, 22px) !important;
  line-height: 1.45 !important;
  color: #fff !important;
  text-align: center !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Monitor grandi 21,5" (1770–2560px): custom.css riattiva logo ::before — un solo logo <img> */
@media (min-width: 1400px) {
  html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
  html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim::before,
  html.itemid-101 #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim::before,
  body.asor-home.itemid-101 #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
  body.asor-home #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before,
  body.asor-home #acm-slideshow-89 .asor-hero-cedim::before,
  html body .t3-wrapper:has(> .wrap.t3-slideshow) #acm-slideshow-89 .slider-content-inner.container.asor-hero-cedim::before {
    display: none !important;
    visibility: hidden !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
    opacity: 0 !important;
    background: none !important;
    background-image: none !important;
  }

  html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim h1::before,
  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim h1::before,
  body.asor-home #acm-slideshow-89 .asor-hero-cedim h1::before {
    content: none !important;
    display: none !important;
  }

  html.itemid-101.home #acm-slideshow-89 .asor-hero-cedim .asor-hero-logo,
  html.itemid-101 #acm-slideshow-89 .asor-hero-cedim .asor-hero-logo,
  body.asor-home #acm-slideshow-89 .asor-hero-cedim .asor-hero-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* --- Hero: 4 foto servizi centrate sotto logo/testo (allineate al container 1140px) --- */
@media (min-width: 992px) {
  /* Batte custom.css min(96vw,1600px) che spostava il blocco a sinistra */
  html.itemid-101.home #acm-features-129.acm-features.style-1,
  html.itemid-101 #acm-features-129.acm-features.style-1,
  body.asor-home #acm-features-129.acm-features.style-1,
  .itemid-101 #acm-features-129,
  body.itemid-101 #acm-features-129 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.itemid-101.home #acm-features-129 .relative,
  html.itemid-101 #acm-features-129 .relative,
  body.asor-home #acm-features-129 .relative {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.itemid-101.home #acm-features-129 .swiper-container,
  html.itemid-101 #acm-features-129 .swiper-container,
  body.asor-home #acm-features-129 .swiper-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }

  html.itemid-101.home #acm-features-129 .swiper-wrapper,
  html.itemid-101 #acm-features-129 .swiper-wrapper,
  body.asor-home #acm-features-129 .swiper-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  html.itemid-101.home #acm-features-129 .asor-129-slide,
  html.itemid-101.home #acm-features-129 .swiper-slide.asor-129-slide,
  html.itemid-101 #acm-features-129 .asor-129-slide,
  html.itemid-101 #acm-features-129 .swiper-slide.asor-129-slide,
  body.asor-home #acm-features-129 .asor-129-slide,
  body.asor-home #acm-features-129 .swiper-slide.asor-129-slide {
    flex: 0 0 25% !important;
    width: 25% !important;
    max-width: 25% !important;
    min-width: 0 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
  }

  html.itemid-101.home #acm-features-129 .asor-129-photo,
  html.itemid-101 #acm-features-129 .asor-129-photo,
  body.asor-home #acm-features-129 .asor-129-photo {
    width: 200px !important;
    max-width: 200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  html.itemid-101.home #acm-features-129 .asor-129-photo img.features-image,
  html.itemid-101 #acm-features-129 .asor-129-photo img.features-image,
  html.itemid-101 #acm-features-129.acm-features.style-1 .features-image,
  body.asor-home #acm-features-129 .asor-129-photo img.features-image,
  body.asor-home #acm-features-129.acm-features.style-1 .features-image {
    display: block !important;
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html.itemid-101.home #acm-features-129 .features-item,
  html.itemid-101.home #acm-features-129 .asor-129-label.features-item,
  html.itemid-101 #acm-features-129 .features-item,
  html.itemid-101 #acm-features-129 .asor-129-label.features-item,
  body.asor-home #acm-features-129 .features-item,
  body.asor-home #acm-features-129 .asor-129-label.features-item {
    width: 300px !important;
    max-width: 300px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: -26px !important;
  }

  html.itemid-101.home #acm-features-129 .swiper-slide .count,
  html.itemid-101 #acm-features-129 .swiper-slide .count,
  body.asor-home #acm-features-129 .swiper-slide .count {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
}

/* =============================================================================
   Sidebar CTA "Chiamaci Subito" (.chiamsub) — spazio sopra il riquadro
   ============================================================================= */
.chiamsub,
html body .t3-sidebar .chiamsub,
#Mod124 .chiamsub {
  margin-top: 25px !important;
}

/* =============================================================================
   CTA navhelper — cornice bianca e contenuto ancora più compatti (~88% step)
   ============================================================================= */
html.itemid-101.home nav.wrap.t3-navhelper .acm-hero > .container.riduzione-altezza,
nav.wrap.t3-navhelper .acm-hero > .container.riduzione-altezza {
  max-width: min(90vw, 1020px) !important;
}

nav.wrap.t3-navhelper .acm-hero .hero-content,
html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-content {
  max-width: min(90vw, 1020px) !important;
  min-height: 185px !important;
  padding: 24px clamp(14px, 2.6vw, 28px) 20px !important;
}

nav.wrap.t3-navhelper .acm-hero .hero-icon.hidden-xs,
html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-icon.hidden-xs {
  font-size: 58px !important;
  margin-bottom: 8px !important;
  height: auto !important;
  line-height: 1 !important;
}

nav.wrap.t3-navhelper .acm-hero .hero-line-1,
nav.wrap.t3-navhelper .hero-line-1,
html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-line-1 {
  font-size: clamp(18px, 2vw, 32px) !important;
  line-height: 1.15 !important;
  margin: 2px 0 8px !important;
}

html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-line-1 {
  font-size: clamp(21px, 2.5vw, 38px) !important;
}

nav.wrap.t3-navhelper .asor-numero-blu-forma--navhelper,
nav.wrap.t3-navhelper .asor-numero-blu-forma,
html.itemid-101.home nav.wrap.t3-navhelper .asor-numero-blu-forma--navhelper,
html.itemid-101.home nav.wrap.t3-navhelper .asor-numero-blu-forma {
  margin: 14px auto 0 auto !important;
}

nav.wrap.t3-navhelper .asor-numero-blu-forma .asor-numero-blu-img,
nav.wrap.t3-navhelper .asor-numero-blu-forma--navhelper .asor-numero-blu-img,
html.itemid-101.home nav.wrap.t3-navhelper .asor-numero-blu-forma .asor-numero-blu-img,
html.itemid-101.home nav.wrap.t3-navhelper .asor-numero-blu-forma--navhelper .asor-numero-blu-img {
  width: 218px !important;
  max-width: min(218px, 86vw) !important;
  max-height: 72px !important;
}

nav.wrap.t3-navhelper a.btn-chiam-bottom,
nav.wrap.t3-navhelper .btn-chiam-bottom,
html.itemid-101.home nav.wrap.t3-navhelper a.btn-chiam-bottom,
html.itemid-101.home nav.wrap.t3-navhelper .btn-chiam-bottom {
  width: 280px !important;
  max-width: min(280px, 86vw) !important;
  min-height: 46px !important;
  height: 46px !important;
  font-size: 20px !important;
}

@media (max-width: 767px) {
  nav.wrap.t3-navhelper .acm-hero .hero-content,
  html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-content {
    min-height: 0 !important;
    padding: 20px 12px 16px !important;
  }

  nav.wrap.t3-navhelper .acm-hero .hero-icon.hidden-xs,
  html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-icon.hidden-xs {
    font-size: 50px !important;
    min-height: 54px !important;
    line-height: 54px !important;
  }

  nav.wrap.t3-navhelper .hero-line-1,
  html.itemid-101.home nav.wrap.t3-navhelper .acm-hero .hero-line-1 {
    font-size: 14px !important;
  }

  nav.wrap.t3-navhelper .asor-numero-blu-forma .asor-numero-blu-img,
  nav.wrap.t3-navhelper .asor-numero-blu-forma--navhelper .asor-numero-blu-img {
    width: 200px !important;
    max-width: min(200px, 86vw) !important;
    max-height: 66px !important;
  }

  nav.wrap.t3-navhelper .btn-chiam-bottom {
    width: min(272px, 86vw) !important;
    max-width: 86vw !important;
    min-height: 44px !important;
    height: 44px !important;
    font-size: 14px !important;
  }
}

/* =============================================================================
   Footer — timbro copyright ancora più piccolo, sempre centrato
   ============================================================================= */
#t3-footer.asor-footer .asor-footer-copyright {
  padding: 14px 12px 18px !important;
}

#t3-footer.asor-footer .asor-footer-copyright .container,
#t3-footer.asor-footer .asor-footer-copyright-inner,
#t3-footer.asor-footer .asor-footer-copyright .copyright {
  text-align: center !important;
}

#t3-footer.asor-footer .asor-footer-copy-title {
  font-size: 18px !important;
  margin: 0 0 2px !important;
  line-height: 1.25 !important;
}

#t3-footer.asor-footer .asor-footer-copy-line {
  font-size: 10px !important;
  margin: 2px 0 !important;
  line-height: 1.35 !important;
}

#t3-footer.asor-footer .asor-footer-copy-line--lead {
  font-size: 11px !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

/* =============================================================================
   #acm-features-95 — card Serietà / Affidabilità / Esperienza leggermente più piccole
   ============================================================================= */
@media (min-width: 992px) {
  html.itemid-101.home #acm-features-95 .container,
  html.itemid-101 #acm-features-95 .container,
  body.asor-home #acm-features-95 .container {
    max-width: 1060px !important;
  }

  html.itemid-101.home #acm-features-95 .row.equal-height.equal-height-child,
  html.itemid-101 #acm-features-95 .row.equal-height.equal-height-child,
  body.asor-home #acm-features-95 .row.equal-height.equal-height-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.itemid-101.home #acm-features-95 .row.equal-height.equal-height-child > .features-item,
  html.itemid-101 #acm-features-95 .row.equal-height.equal-height-child > .features-item,
  body.asor-home #acm-features-95 .row.equal-height.equal-height-child > .features-item {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    width: calc((100% - 36px) / 3) !important;
    max-width: calc((100% - 36px) / 3) !important;
    min-width: 0 !important;
    height: auto !important;
    align-self: stretch !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  html.itemid-101.home #acm-features-95 .features-item-inner,
  html.itemid-101 #acm-features-95 .features-item-inner,
  body.asor-home #acm-features-95 .features-item-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 230px !important;
    padding: 20px 22px !important;
    box-sizing: border-box !important;
  }

  html.itemid-101.home #acm-features-95 .features-icon,
  html.itemid-101 #acm-features-95 .features-icon,
  body.asor-home #acm-features-95 .features-icon {
    font-size: 44px !important;
    min-height: 48px !important;
  }

  html.itemid-101.home #acm-features-95 .features-title,
  html.itemid-101 #acm-features-95 .features-title,
  body.asor-home #acm-features-95 .features-title,
  html.itemid-101.home .acm-features.style-3.has-bg#acm-features-95 .features-title,
  html.itemid-101 .acm-features.style-3.has-bg#acm-features-95 .features-title,
  body.asor-home .acm-features.style-3.has-bg#acm-features-95 .features-title {
    font-size: 14px !important;
    margin-top: 8px !important;
  }

  html.itemid-101.home #acm-features-95 .features-title::after,
  html.itemid-101 #acm-features-95 .features-title::after,
  body.asor-home #acm-features-95 .features-title::after {
    width: 28px !important;
    margin: 9px auto 0 !important;
  }

  html.itemid-101.home #acm-features-95 .features-item-inner p,
  html.itemid-101 #acm-features-95 .features-item-inner p,
  body.asor-home #acm-features-95 .features-item-inner p,
  html.itemid-101.home .acm-features.style-3.has-bg#acm-features-95 .features-item-inner p,
  html.itemid-101 .acm-features.style-3.has-bg#acm-features-95 .features-item-inner p,
  body.asor-home .acm-features.style-3.has-bg#acm-features-95 .features-item-inner p {
    flex: 1 1 auto !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 991px) {
  html.itemid-101.home #acm-features-95 .features-item-inner,
  html.itemid-101 #acm-features-95 .features-item-inner,
  body.asor-home #acm-features-95 .features-item-inner {
    padding: 18px 16px !important;
  }

  html.itemid-101.home #acm-features-95 .features-icon,
  html.itemid-101 #acm-features-95 .features-icon,
  body.asor-home #acm-features-95 .features-icon {
    font-size: 40px !important;
    min-height: 44px !important;
  }

  html.itemid-101.home #acm-features-95 .features-item-inner p,
  html.itemid-101 #acm-features-95 .features-item-inner p,
  body.asor-home #acm-features-95 .features-item-inner p {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
}

/* =============================================================================
   #ja-form — tutti i testi neri (titolo, telefono, checkbox, captcha, privacy)
   ============================================================================= */
div#ja-form .ja-contact-form .block-title,
div#ja-form .ja-contact-form .form-info,
div#ja-form .ja-contact-form .form-info p,
div#ja-form .ja-contact-form .form-info a,
html.itemid-101.home #ja-form .block-title,
html.itemid-101 #ja-form .block-title,
body.asor-home #ja-form .block-title,
body.itemid-101 #ja-form .block-title,
#ja-form .block-title {
  color: #000000 !important;
}

div#ja-form .form-info p,
div#ja-form .form-info p a,
html.itemid-101.home #ja-form .form-info p,
html.itemid-101 #ja-form .form-info p,
body.asor-home #ja-form .form-info p,
#ja-form .form-info p,
#ja-form .form-info p.asor-form-phone-hint {
  color: #000000 !important;
}

div#ja-form .form-info p a.asor-form-phone-link,
div#ja-form .asor-form-phone-number,
html.itemid-101.home #ja-form .form-info p a.asor-form-phone-link,
html.itemid-101 #ja-form .form-info p a.asor-form-phone-link,
body.asor-home #ja-form .form-info p a.asor-form-phone-link,
#ja-form .form-info p a.asor-form-phone-link,
#ja-form .form-info p.asor-form-phone-hint a {
  color: #000000 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  text-decoration: none !important;
}

div#ja-form .asor-form-phone-number,
html.itemid-101.home #ja-form .asor-form-phone-number,
html.itemid-101 #ja-form .asor-form-phone-number,
body.asor-home #ja-form .asor-form-phone-number,
#ja-form .asor-form-phone-number {
  color: #000000 !important;
}

div#ja-form ul.form-list li label,
div#ja-form #row_term_condition label,
div#ja-form .asor-math-captcha-label,
html.itemid-101.home #ja-form ul.form-list li label,
html.itemid-101 #ja-form ul.form-list li label,
body.asor-home #ja-form ul.form-list li label,
body.itemid-101 #ja-form ul.form-list li label,
#ja-form ul.form-list li label,
#ja-form #row_term_condition label,
#ja-form .asor-math-captcha-label {
  color: #000000 !important;
}

div#ja-form #row_term_condition label a,
div#ja-form #row_term_condition a,
html.itemid-101.home #ja-form #row_term_condition a,
html.itemid-101 #ja-form #row_term_condition a,
body.asor-home #ja-form #row_term_condition a,
body.asor-home #ja-form #row_term_condition label a,
#ja-form #row_term_condition a {
  color: #000000 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

div#ja-form .asor-math-captcha-label strong,
#ja-form .asor-math-captcha-label strong {
  color: #000000 !important;
}

/* Bordo bianco esterno su tutta la cover (fascia foto + form) */
html.itemid-101.home #ja-form,
body.asor-home #ja-form,
body.itemid-101 #ja-form,
#ja-form {
  border: 1px solid #ffffff !important;
  box-sizing: border-box !important;
}

/* Pagina Avvocati: blocco intro centrato (logo, titolo, testo) */
body.asor-page-avvocati .t3-content,
body.asor-page-avvocati #t3-content.t3-content {
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

body.asor-page-avvocati .item-page article .article-aside {
  display: none !important;
}

body.asor-page-avvocati .asor-avvocati-intro {
  width: 100% !important;
  max-width: 720px !important;
  margin-top: 24px !important;
  margin-right: auto !important;
  margin-bottom: 48px !important;
  margin-left: auto !important;
  padding: 0 20px !important;
  text-align: center !important;
  float: none !important;
  clear: both !important;
}

body.asor-page-avvocati .asor-avvocati-page-header {
  text-align: center !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
}

body.asor-page-avvocati .asor-avvocati-brand-logo {
  display: block !important;
  width: 110px !important;
  height: auto !important;
  max-width: 110px !important;
  margin: 0 auto 18px !important;
}

body.asor-page-avvocati .asor-avvocati-brand-title {
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: inherit !important;
  line-height: 1.25 !important;
}

body.asor-page-avvocati .asor-avvocati-brand-title a {
  display: none !important;
}

body.asor-page-avvocati .asor-avvocati-brand-text {
  display: block !important;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: 32px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  letter-spacing: 0.3px !important;
}

body.asor-page-avvocati .asor-avvocati-content {
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

body.asor-page-avvocati .asor-avvocati-content p {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #444444 !important;
  margin: 0 0 18px !important;
  text-align: center !important;
}

body.asor-page-avvocati .asor-avvocati-content p:last-child {
  margin-bottom: 0 !important;
}

body.asor-page-avvocati .asor-avvocati-lead {
  font-size: 18px !important;
  color: #333333 !important;
}

body.asor-page-avvocati .asor-avvocati-content strong {
  color: #1a1a1a !important;
  font-weight: 700 !important;
}

@media (max-width: 767px) {
  body.asor-page-avvocati .asor-avvocati-intro {
    margin: 20px auto 40px !important;
    padding: 0 16px !important;
  }

  body.asor-page-avvocati .asor-avvocati-brand-logo {
    width: 88px !important;
    max-width: 88px !important;
    margin-bottom: 14px !important;
  }

  body.asor-page-avvocati .asor-avvocati-brand-text {
    font-size: 26px !important;
  }

  body.asor-page-avvocati .asor-avvocati-content p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body.asor-page-avvocati .asor-avvocati-lead {
    font-size: 17px !important;
  }
}
