/* -------------------------------------------------------------- Ap Theme Configuration --- */

/* --- 1. FONTI SPECIFICI PER PAGINE CONTENUTO --- */
  /* Forziamo Lato e Montserrat solo nelle pagine dei contenuti per non toccare il resto */
  .content-page,
  .content-page h1, .content-page h2, .content-page h3, .content-page h4, .content-page h5,
  .content-page p,
  .content-page .block_content {
      font-family: 'Lato', sans-serif !important;
      font-size: 17px !important;
      line-height: 1.7 !important;
  }

  /* Applichiamo Montserrat ai titoli solo nelle pagine contenuti */
  .content-page h1, .content-page h2, .content-page h3, .content-page h4,
  .content-page .block-title, .content-page .section-title {
      font-family: 'Montserrat', sans-serif !important;
      font-weight: 900 !important;
  }

  /* --- 2. FIX SOVRAPPOSIZIONI BLOCCHI BUILDER --- */
  /* Colpiamo solo i paragrafi dentro i blocchi del builder per evitare schiacciamenti */
  .block_content p,
  .text-block p,
  .block.ApHtml p {
      height: auto !important;
      min-height: auto !important;
      max-height: none !important;
      display: block !important;
      margin-bottom: 1.5rem !important;
      white-space: normal !important;
      overflow: visible !important;
  }
 /* Rimuoviamo i vincoli di altezza dai contenitori dei widget critici */
  .hemiolia-criteri,
  .hemiolia-vinile,
  .hemiolia-sacd,
  .product-description,
  .description-short {
      height: auto !important;
      min-height: auto !important;
      max-height: none !important;
      display: block !important;
      position: relative !important;
  }

  /* --- 3. FIX ICONE (SOLUZIONE STABILE) --- */
  /* Invece di usare classi generiche, usiamo un selettore che non interferisca con il tema */
  .fa, .icon, .fa-chevron-up, .fa-chevron-down, .fa-balance-scale {
      display: inline-block !important;
      visibility: visible !important;
      opacity: 1 !important;
      margin: 0 8px !important;
      vertical-align: middle !important;
  }
 /* SVG inline per le frecce (garantisce visibilità se la libreria fallisce) */
  body .fa-chevron-up::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-width='3'
  stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 19V5M12 7l-7 7 7 7'/%3E%3C/svg%3E");
  }
  body .fa-chevron-down::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-width='3'
  stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M12 7l7 7-7 7'/%3E%3C/svg%3E");
  }
  body .fa-balance-scale::before {
      content: "";
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-width='3'
  stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h18M9 3l3 9 3-9M12 3v18'/%3E%3C/svg%3E");
  }

  /* --- 4. FIX NEWSLETTER --- */
  .block_newsletter {
      padding: 40px 0 !important;
  }
  .block_newsletter input[type="email"] {
      margin: 20px 0 !important;
      display: block !important;
      max-width: 500px !important;
  }
/* --- FIX SPECIFICO: BLOCCHI DEL BUILDER E CONTENUTI --- */
  /* Colpisce solo i blocchi del builder e i widget critici */
  .block_content,
  .block.ApHtml,
  .hemiolia-criteri,
  .hemiolia-vinile,
  .hemiolia-sacd,
  .product-description,
  .description-short,
  .product-short-description {
      height: auto !important;
      min-height: auto !important;
      max-height: none !important;
      display: block !important;
      position: relative !important;
      overflow: visible !important;
      white-space: normal !important;
  }
/* Forza i paragrafi e i titoli all'interno di questi blocchi a non schiacciarsi */
  .block_content p,
  .block_content h1,
  .block_content h2,
  .block_content h3,
  .block_content h4,
  .block_content h5,
  .hemiolia-criteri p,
  .hemiolia-criteri h1,
  .hemiolia-criteri h2,
  .hemiolia-criteri h3,
  .hemiolia-criteri h4,
  .hemiolia-criteri h5,
  .product-description p,
  .description-short p,
  .product-short-description p {
      height: auto !important;
      min-height: auto !important;
      max-height: none !important;
      line-height: 1.7 !important;
      margin-bottom: 1.5rem !important;
      display: block !important;
      white-space: normal !important;
      overflow: visible !important;
  }

  /* Assicura che i titoli abbiano spazio sufficiente */
  .block_content h1, .block_content h2, .block_content h3, .block_content h4, .block_content h5,
  .hemiolia-criteri h1, .hemiolia-criteri h2, .hemiolia-criteri h3, .hemiolia-criteri h4, .hemiolia-criteri h5 {
      margin-top: 20px !important;
      margin-bottom: 15px !important;
      padding: 0 !important;
  }
 /* --- FIX BANNER MARQUEE (FORZA MASSIMA) --- */
  /* Usiamo il selettore ID più specifico possibile */
  #form_20557994181827215 {
      height: 30px !important; /* Impostiamo l'altezza desiderata direttamente */
      min-height: 30px !important;
      max-height: 30px !important;
      padding: 0 !important;
      margin: 0 !important;
      display: block !important;
      overflow: hidden !important; /* Tagliamo eventuali overflow */
  }

  /* Forziamo il contenuto interno a non avere margini o paddings che lo spingano fuori */
  #form_20557994181827215 .ApColumn,
  #form_20557994181827215 .block_content,
  #form_20557994181827215 p {
      padding: 0 !important;
      margin: 0 !important;
      height: auto !important;
      min-height: auto !important;
      line-height: 1.1 !important;
      max-height: none !important;
  }

  /* Forziamo il marquee a stare sulla riga */
  #form_20557994181827215 marquee {
      display: block !important;
      height: auto !important;
      line-height: 1 !important;
  }
   /* --- FIX TITOLO PRODOTTO CATALOGO (ULTIMA VERSIE - FORZA MASSIMA) --- */
    /* Colpisce il titolo in ogni contesto possibile (Griglia, Liste, Caroselli) */
    .product_list .product-title,
    .product-miniature .product-title,
    .product-miniature .product-title a,
    .product-detail-name,
    .product-detail-name a,
    .product-title,
    .product-title a,
    [class*="product-title"] a,
    [class*="product-title"] {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        line-height: 1.3em !important;
        overflow: hidden !important;
        white-space: normal !important;
        height: auto !important;
        min-height: 1.3em !important;
        max-height: 2.6em !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        text-overflow: ellipsis !important;
    }
/* Rimuove ogni vincolo di altezza dai contenitori che circondano il titolo
       per permettere l'espansione su due righe */
    .product-miniature .product-meta,
    .product-miniature .product-title-container,
    .timeline-item,
    .owl-item .item .product-meta,
    .ajax_block_product,
    .col-xl-4, .col-lg-4, .col-md-6 {
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }


/* --- FIX SOVRAPPOSIZIONI TESTI UNIVERSALE (DESKTOP + MOBILE) --- */

/* Sblocca i contenitori del builder */
.ApColumn,
.ApColumn .block_content,
.ApColumn .block.ApHtml,
.block_content,
.block.ApHtml {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    display: block !important;
}

/* Sblocca i testi interni */
.block_content p,
.block_content span,
.block_content div,
.block.ApHtml p,
.block.ApHtml span,
.block.ApHtml div {
    line-height: 1.6 !important;
    white-space: normal !important;
    overflow: visible !important;
    display: block !important;
}

/* Mobile: impedisce compressioni */
@media (max-width: 768px) {
    .ApColumn,
    .block_content,
    .block.ApHtml {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        white-space: normal !important;
        line-height: 1.6 !important;
    }
}

/* FIX NEWSLETTER */
.footer-container .ApColumn .block_newsletter h3#block-newsletter-label.title_block {
    font-size: 20px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    margin-bottom: 15px !important;
}




