/**
 * ASOR — solo mobile (max-width: 991px). Caricato per ultimo.
 * Ripristino layout Wayback / Joomla localhost:8081 — 1 riga header, hero, cookie.
 * Desktop (>=992px): nessuna regola qui.
 */

/* --- Cookie --- */
#redim-cookiehint-bottom.asor-cookie-accepted,
html body #redim-cookiehint-bottom.asor-cookie-accepted {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#redim-cookiehint-bottom {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  z-index: 99999 !important;
}

#redim-cookiehint-bottom #redim-cookiehint {
  background-color: #adadad !important;
}

@media (max-width: 991px) {
  #redim-cookiehint-bottom #redim-cookiehint .cookiebuttons .btn,
  #redim-cookiehint-bottom #redim-cookiehint .cookiebuttons a.btn {
    background-color: #333 !important;
    border: 0 !important;
    color: #fff !important;
    border-radius: 2px !important;
    min-width: 64px !important;
    text-align: center !important;
  }

  #redim-cookiehint-bottom #cookiehintinfo a {
    color: #fff !important;
  }

  /* Zero spazio sopra pagina */
  html,
  body,
  body.itemid-101,
  body.asor-home,
  html.itemid-101.home {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  html body .t3-wrapper,
  html.itemid-101.home .t3-wrapper,
  html body.itemid-101 .t3-wrapper,
  html body.asor-home .t3-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Topbar home: senza fascia nera (solo email | numero | menu su hero) */
  html body .ja-topbar,
  html body .ja-topbar.clearfix,
  html body .t3-wrapper > .ja-topbar,
  html.itemid-101.home .t3-wrapper > .ja-topbar,
  html body.itemid-101 .ja-topbar,
  html body.asor-home .ja-topbar,
  .t3-wrapper:has(> .wrap.t3-slideshow) > .ja-topbar,
  body.itemid-101 .t3-wrapper > .ja-topbar {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 30 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: normal !important;
    overflow: visible !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Niente logo duplicato nella topbar (pseudo-elementi legacy custom.css) */
  html body .ja-topbar .container::before,
  html body .ja-topbar .container.asor-topbar-row::before,
  html body .ja-topbar .topbar-left.pull-left::before,
  html.itemid-101.home .ja-topbar .topbar-left.pull-left::before {
    content: none !important;
    display: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  html body .ja-topbar .container,
  html body .ja-topbar .container.asor-topbar-row {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  html body .ja-topbar .topbar-left.pull-left,
  html body .ja-topbar .customtopbar-max912px {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
  }

  html body .ja-topbar .customtopbar-min913px,
  html body .ja-topbar .asor-topbar-call-wrap,
  html body .ja-topbar .asor-topbar-call-wrap--wide,
  html body .ja-topbar .topbar-right.pull-right,
  html body .ja-topbar .asor-mobile-topbar-tools,
  html body .ja-topbar a.asor-mobile-topbar-logo-link,
  html body .ja-topbar .asor-mobile-topbar-logo-link {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Email sx + menu dx (riga 1) | numero blu sx sotto email (riga 2) */
  html body .ja-topbar .asor-mobile-topbar-stack,
  html body.itemid-101 .ja-topbar .asor-mobile-topbar-stack,
  html body.asor-home .ja-topbar .asor-mobile-topbar-stack,
  html.itemid-101.home .ja-topbar .asor-mobile-topbar-stack {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    position: relative !important;
    min-height: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 6px 10px 8px !important;
    box-sizing: border-box !important;
  }

  html body .ja-topbar .asor-mobile-topbar-meta {
    position: relative !important;
    z-index: 3 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body .ja-topbar .asor-topbar-orari-text {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  html body .ja-topbar .asor-topbar-orari-email-line {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    width: 100% !important;
  }

  html body .ja-topbar .asor-topbar-email-inline,
  html body .ja-topbar .asor-topbar-email-inline a.asor-topbar-email-link {
    color: #fff !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
    width: auto !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* Annulla custom.css <=840px: numero absolute che finiva sul logo hero */
  html body .ja-topbar,
  html body .ja-topbar .container {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  html body .ja-topbar .asor-mobile-numero-floating {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 6px 0 0 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: min(200px, 72vw) !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }

  html body .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-forma .asor-numero-blu-img {
    max-height: 54px !important;
    max-width: min(190px, 72vw) !important;
    margin: 0 !important;
  }

  html body .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-forma,
  html body .ja-topbar .asor-mobile-numero-floating a.asor-numero-blu-forma,
  html body .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-forma--compact,
  html body .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-forma--floating,
  html.itemid-101.home .ja-topbar .asor-numero-blu-forma--compact,
  html.itemid-101 .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-forma--compact {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    line-height: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html body .ja-topbar .asor-mobile-numero-floating .asor-numero-blu-img {
    display: block !important;
    max-height: 54px !important;
    width: auto !important;
    max-width: min(200px, 52vw) !important;
    height: auto !important;
    margin: 0 auto !important;
    /* PNG con riquadro bianco: su hero scuro il bianco si fonde */
    mix-blend-mode: multiply !important;
    background: transparent !important;
  }

  html body .ja-topbar .asor-mobile-hamburger-slot {
    position: relative !important;
    z-index: 3 !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex: 0 0 44px !important;
    margin-left: 0 !important;
    justify-self: end !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  html body .ja-topbar .asor-mobile-hamburger-slot .off-canvas-toggle,
  html body .ja-topbar .asor-mobile-hamburger-slot .off-canvas-toggle.btn,
  html body .ja-topbar .asor-mobile-hamburger-slot .off-canvas-toggle.btn-primary {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(55, 58, 62, 0.95) !important;
    background-color: rgba(55, 58, 62, 0.95) !important;
    background-image: none !important;
    border: 2px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    color: #fff !important;
  }

  html body .ja-topbar .asor-mobile-hamburger-slot .off-canvas-toggle .fa-bars {
    color: #fff !important;
    font-size: 18px !important;
  }

  html body #t3-header .navbar-header .off-canvas-toggle {
    display: none !important;
  }

  html body #t3-header.t3-header,
  html body.itemid-101 #t3-header.t3-header,
  html body.asor-home #t3-header.t3-header,
  html.itemid-101.home #t3-header.t3-header,
  html.itemid-101.home #t3-header.t3-header.asor-joomla-home-header,
  body.asor-home #t3-header.t3-header,
  body.asor-home #t3-header.t3-header.asor-joomla-home-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  html.itemid-101.home #t3-header.t3-header .logo,
  html.itemid-101.home #t3-header.t3-header .logo-image,
  html.itemid-101.home #t3-header.t3-header .logo .logo-img,
  body.asor-home #t3-header .logo,
  body.asor-home #t3-header .logo-image {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  html body .ja-topbar + .wrap.t3-slideshow,
  html body .ja-topbar + #t3-header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Hero home compatto — meno fascia bianca sotto logo/titoli */
  html.itemid-101 #acm-slideshow-89 .item.active,
  body.itemid-101 #acm-slideshow-89 .item.active,
  body.asor-home #acm-slideshow-89 .item.active {
    min-height: 0 !important;
    position: relative !important;
  }

  html.itemid-101 #acm-slideshow-89 .img-bg,
  body.itemid-101 #acm-slideshow-89 .img-bg,
  body.asor-home #acm-slideshow-89 .img-bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
  }

  html.itemid-101 #acm-slideshow-89 .img-bg img,
  body.itemid-101 #acm-slideshow-89 .img-bg img,
  body.asor-home #acm-slideshow-89 .img-bg img {
    width: 100% !important;
    height: 100% !important;
    min-height: 340px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

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

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

  html.itemid-101 .wrap.t3-slideshow,
  body.itemid-101 .wrap.t3-slideshow,
  body.asor-home .wrap.t3-slideshow {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background-color: #243b55 !important;
  }

  html.itemid-101 #system-message-container:empty,
  body.asor-home #system-message-container:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
  }

  /* Blocco hero: logo centrato → A.SO.R → Avvocati Solidali Riuniti (più in basso) */
  html.itemid-101 #acm-slideshow-89 .slider-content,
  body.itemid-101 #acm-slideshow-89 .slider-content,
  body.asor-home #acm-slideshow-89 .slider-content {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 158px 0 28px !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }

  html.itemid-101 #acm-slideshow-89 .slider-content-inner.container,
  body.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: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: center !important;
    padding: 0 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }

  /* Meno fascia nera sopra la foto hero */
  html.itemid-101 #acm-slideshow-89.slideshow,
  body.itemid-101 #acm-slideshow-89.slideshow,
  body.asor-home #acm-slideshow-89.slideshow {
    background-color: transparent !important;
  }

  html.itemid-101 #acm-slideshow-89 .swiper-slide,
  body.itemid-101 #acm-slideshow-89 .swiper-slide,
  body.asor-home #acm-slideshow-89 .swiper-slide {
    background-color: transparent !important;
  }

  html.itemid-101 #acm-slideshow-89 .img-bg,
  body.itemid-101 #acm-slideshow-89 .img-bg,
  body.asor-home #acm-slideshow-89 .img-bg {
    opacity: 1 !important;
  }

  /* Mobile: logo stemma hero nascosto (regole in asor-mobile-joomla-sync.css) */
  html.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before,
  html.itemid-101.home #acm-slideshow-89 .slider-content-inner.container::before,
  body.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before,
  body.asor-home #acm-slideshow-89 .slider-content-inner.container::before {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
  }

  html.itemid-101 #acm-slideshow-89 .slider-content-inner,
  html.itemid-101.home #acm-slideshow-89 .slider-content-inner,
  body.itemid-101 #acm-slideshow-89 .slider-content-inner,
  body.asor-home #acm-slideshow-89 .slider-content-inner {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  /* 2) h1 = colonna: riga ASOR (::before) + riga sottotitolo (testo HTML) */
  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 {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
    font-size: clamp(16px, 4.5vw, 22px) !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-align: center !important;
    letter-spacing: 0.12em !important;
    word-spacing: 0.12em !important;
    line-height: 1.4 !important;
    margin: 0 auto !important;
    padding: 0 8px !important;
    clear: both !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.75) !important;
  }

  html.itemid-101 #acm-slideshow-89 h1::before,
  body.itemid-101 #acm-slideshow-89 h1::before,
  body.asor-home #acm-slideshow-89 h1::before {
    content: "A.SO.R" !important;
    display: block !important;
    order: 1 !important;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
    font-size: clamp(28px, 8vw, 40px) !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    text-align: center !important;
    letter-spacing: 0.16em !important;
    word-spacing: 0.08em !important;
    line-height: 1.2 !important;
    margin: 0 auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.75) !important;
  }

  html.itemid-101 #acm-slideshow-89 p.item-desc,
  body.itemid-101 #acm-slideshow-89 p.item-desc {
    display: none !important;
  }

  /* Fascia 4 articoli: regole carousel in asor-mobile-features129-swiper.css */
}

/* Tablet stretto: home senza barra #t3-header (custom.css la forza a 56px fino a 1024px) */
@media (max-width: 1024px) {
  html.itemid-101.home #t3-header.t3-header,
  html.itemid-101.home #t3-header.t3-header.asor-joomla-home-header,
  body.asor-home.itemid-101 #t3-header.t3-header {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}

@media (max-width: 768px) {
  html body .ja-topbar a.asor-mobile-topbar-logo-link,
  html body .ja-topbar .asor-mobile-topbar-logo-link,
  html.itemid-101.home .ja-topbar .asor-mobile-topbar-logo-link {
    display: none !important;
  }

  html.itemid-101 #acm-slideshow-89 .slider-content,
  body.itemid-101 #acm-slideshow-89 .slider-content {
    padding: 172px 0 24px !important;
  }

  html.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before,
  body.itemid-101 #acm-slideshow-89 .slider-content-inner.container::before {
    display: none !important;
    content: none !important;
  }

  html.itemid-101 #acm-slideshow-89 h1::before,
  body.itemid-101 #acm-slideshow-89 h1::before {
    font-size: clamp(26px, 7.5vw, 36px) !important;
  }

  html.itemid-101 #acm-slideshow-89 h1,
  body.itemid-101 #acm-slideshow-89 h1 {
    font-size: clamp(14px, 4vw, 19px) !important;
    gap: 8px !important;
  }
}

