
/* ===========================
   GENERALI
=========================== */
.product-template-wrapper {
    max-width: 1600px;
    margin: auto;
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.product-category-row {
    padding: 20px 0;
    font-size: 14px;
    font-weight: 300;
    text-transform: uppercase;
    color: #666;
}

.product-category-row a {
    text-decoration: none;
    color: inherit;
}

/* ===========================
   MOBILE RESPONSIVE
=========================== */
@media only screen and (max-width: 768px) {
  .product-template-wrapper {
    padding: 16px;
  }

  .product-category-row {
    font-size: 13px;
    font-weight: 400;
    text-transform: none;
    color: #555;
    padding: 10px 0 15px;
    line-height: 1.4;
    border-bottom: 1px solid #eee;
  }

  .product-category-row a {
    display: inline-block;
    padding: 2px 4px;
    border-radius: 4px;
    background-color: #f2f2f2;
    color: #007a8a;
    font-weight: 500;
    font-size: 13px;
    margin-right: 6px;
    text-decoration: none;
  }

  .product-category-row a:hover {
    background-color: #e0f7fa;
    color: #004d54;
  }
}


/* ===========================
   SEZIONE IMMAGINI
=========================== */
.product-image-row {
    display: flex;
    gap: 100px;
    margin-top: 20px;
    align-items: stretch;
}

.product-image-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.product-image img {
    width: 100%;
    max-width: 450px;
    /*aspect-ratio: 1 / 1;*/
    object-fit: cover;
    margin-bottom: 20px;
}

.product-thumbnails {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: auto;
    max-width: 100%;
    padding: 10px;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.product-thumbnails img {
    width: 60px;
    height: 100px;
    object-fit: cover;
    border: 0.5px solid #ddd;
    cursor: pointer;
    border-radius: 5px;
}

/* ===========================
   SEZIONE IMMAGINI - MOBILE
=========================== */
@media only screen and (max-width: 768px) {
  .product-image-row {
    flex-direction: column;
    gap: 30px;
    margin-top: 10px;
    align-items: center;
    padding: 10px 26px;
  }

  .product-image-column {
    width: 100%;
    align-items: center;
  }

  .product-image img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-bottom: 16px;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  }

  .product-thumbnails {
    justify-content: center;
    gap: 8px;
    padding: 10px 0;
    flex-wrap: wrap;
  }

  .product-thumbnails img {
    width: 18vw;
    height: 18vw;
    max-width: 90px;
    max-height: 90px;
    border-radius: 6px;
  }
}


/* ===========================
   SEZIONE INFO
=========================== */
.product-info-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    border-left: 0.5px solid #ddd;
    padding-left: 50px;
}

.product-info-column h1 {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
    text-align: left;
}

.product-info-column .product-description {
    font-size: 16px;
    line-height: 1.5;
    text-align: justify;
    max-width: 500px;
    text-decoration: none;
}


.product-variants {
    margin-top: 12px;
    color: #00aaad;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.4;
}

.product-variants p {
    margin: 0 0 4px 0;
    padding: 0;
}

/* ===========================
   SEZIONE INFO - MOBILE
=========================== */
@media only screen and (max-width: 768px) {
  .product-info-column {
    width: 100%;
    padding-left: 0;
    padding-top: 20px;
    border-left: none;
    align-items: center;
    text-align: center;
    gap: 0px;
  }

.product-info-column h1 {
  font-size: 23px;
  text-align: center;
  max-width: 90%;
  white-space: nowrap;
  text-overflow: ellipsis;
}


  .product-info-column .product-description {
    font-size: 15px;
    line-height: 1.6;
    max-width: 90%;
    text-align: left;
  }

  .product-variants {
    font-size: 18px;
    text-align: left;
    padding: 0 5%;
  }

  .product-variants p {
    margin-bottom: 6px;
  }
}



/* ===========================
   PULSANTI
=========================== */
.product-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    width: 100%;
    max-width: 500px;
    margin-top: auto;
}

.product-buttons .btn-tech:hover {
    background-color: #333333;
    color: #ffffff;
    cursor: default;
    box-shadow: none;
    text-decoration: none;
}

.product-buttons a,
.contact-button {
    padding: 10px 20px;
    font-size: 16px;
    color: #ffffff;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

.product-buttons .btn-tech {
    background-color: #333333;
}

.product-buttons .btn-buy {
    background-color: #dedacf;
    color: #000000;
}

.product-buttons .buttons-row {
    display: flex;
    gap: 15px;
    width: 100%;
}

.product-buttons .buttons-row.full-width {
    display: block;
    width: 100%;
    text-align: center;
}




/* ===========================
   PLUS
=========================== */
.product-plus {
    display: grid;
    grid-template-columns: 1fr;
    font-weight: 300;
    font-size: 14px;
    color: #333333;
}

.product-plus ul {
    margin: 0;
    padding-left: 0;
    list-style-position: inside;
}

.product-plus-title {
    font-size: 20px;
    font-weight: 600;
    padding-bottom: 20px;
}

/* ===========================
   PLUS - MOBILE
=========================== */
@media only screen and (max-width: 768px) {

  .product-plus {
    text-align: left !important;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
  }

  .product-plus-title {
    text-align: left !important;
    padding-left: 0;
    margin-left: 0;
  }

  .product-plus ul {
    padding-left: 18px;
    text-align: left;
  }

  .product-plus li {
    text-align: left;
    margin-bottom: 8px;
    line-height: 1.5;
  }


    .product-info-column {
    text-align: left !important;
    align-items: flex-start !important;
  }
}


/* ===========================
   SEZIONE TABELLA
=========================== */
.selection-table-section {
    background-color: #f1f1f1;
    color: #000;
    padding: 20px;
    margin-top: 20px;
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

/* Immagine dentro la colonna destra */
.table-image {
    max-width: 70px;
}

/* wrapper centrale che contiene tutto */
.selection-table-wrapper {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
}

.selection-table-wrapper p {
    text-align: center;
}

/* titolo della sezione */
.section-title {
    font-size: 50px;
    font-weight: 300;
    margin-bottom: 50px;
    margin-top: 30px;
    text-align: center;
    color: #555;
}

/* ===========================
   TABELLA
=========================== */
.acf-selection-table {
    width: auto;                  /* dimensione proporzionata */
    margin: 20px auto 0 auto;     /* centrata orizzontalmente con distacco alto */
    border-collapse: collapse;
}

.acf-selection-table caption {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 10px;
    text-align: left;
    color: #ccc;
}

.acf-selection-table th,
.acf-selection-table td {
    padding: 10px;
    text-align: center;
}

.acf-selection-table th {
    font-weight: 600;
    text-align: left;
}

.acf-selection-table td {
    color: #000;
    text-align: left;
}

/* ===========================
   SEZIONE TABELLA - MOBILE
=========================== */
@media only screen and (max-width: 768px) {
  .selection-table-section {
    padding: 15px 10px;
    margin-top: 30px;
    width: 100%;
    left: 0;
    transform: none;
  }

  .selection-table-wrapper {
    padding: 10px;
  }

  .section-title {
    font-size: 23px;
    margin-bottom: 25px;
    margin-top: 20px;
    padding: 0px 15px;
     white-space: wrap;
     text-overflow: ellipsis;
  }

  .acf-selection-table {
    width: 100%;
    font-size: 14px;
    overflow-x: auto;
  }

  .acf-selection-table th,
  .acf-selection-table td {
    padding: 8px;
    font-size: 13px;
    word-break: break-word;
  }

  .acf-selection-table caption {
    font-size: 16px;
    text-align: center;
  }

  .table-image {
    max-width: 50px;
  }
}


/* ===========================
   LAYOUT A DUE COLONNE
=========================== */
.two-columns-layout {
  display: flex;
  align-items: stretch;
  gap: 30px;
  align-items: center;
}

.table-column,
.acf-column {
  width: 50%;
}

.acf-column {
  display: flex;
  align-items: center;      /* centro verticale */
  justify-content: center;  /* centro orizzontale */
  padding: 1rem;
  box-sizing: border-box;
  min-height: 300px;
}

.acf-column img {
    width: auto;
    max-width: 70%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
  .acf-column img {
    max-width: 90%;  /* su mobile più grande */
  }
}


@media (max-width: 768px) {
  .two-columns-layout {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }

  .table-column,
  .acf-column {
    width: 94%;
  }

  .acf-column {
    padding: 0.5rem 1rem;
    min-height: auto;
  }

  .acf-column img {
    max-width: 61%;
  }
}



/* ===========================
   STILE PER I BOTTONI
=========================== */
.product-buttons-row {
    display: flex;
    justify-content: center; /* Centra i bottoni */
    gap: 20px; /* Distanza tra i bottoni */
    margin-top: 50px; /* Spazio sopra */
}

.product-buttons-row .btn {
    background-color: #333333; /* Colore sfondo */
    color: #fff; /* Colore testo */
    padding: 12px 20px; /* Spaziatura interna */
    font-size: 15px;
    font-weight: 600;
    font-family: inherit !important;
    text-transform: uppercase;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    transition: background 0.3s ease-in-out;
    min-width: 150px; /* Assicura che abbiano dimensione uniforme */
}

.product-buttons-row button#show-spare-parts {
    cursor: pointer;
}

@media (max-width: 768px) {
  .product-buttons-row {
    flex-direction: column;      /* Bottoni uno sopra l’altro */
    align-items: center;         /* Centra i bottoni verticalmente */
    gap: 15px;                   /* Riduce lo spazio tra i bottoni */
    margin-top: 30px;
  }

  .product-buttons-row .btn {
    width: 100%;                 /* Larghezza piena su dispositivi piccoli */
    max-width: 300px;            /* Limita per evitare bottoni troppo larghi */
    font-size: 14px;             /* Leggermente più piccolo */
    padding: 10px 16px;
  }
}



/* ===========================
   STILE PER LE IMMAGINI TECNICHE
=========================== */
.acf-content {
    display: flex; /* Affianca le immagini */
    justify-content: center; /* Le centra */
    gap: 15px; /* Distanza tra le immagini */
    flex-wrap: nowrap; /* Permette il wrap su schermi piccoli */
}

.technical-image {
    max-width: 180px; /* Dimensione ridotta e proporzionata */
    height: auto; /* Mantiene il rapporto di proporzione */
    display: block; /* Evita spazi extra sotto le immagini */
}

/* ===========================
   STILE PER LA SEZIONE RICAMBI A DUE COLONNE
=========================== */

.spare-parts-container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 20px;
}

.spare-parts-column {
    flex: 1;
}

.spare-parts-table {
    width: 50%;
    background-color: #ffffff;
    border-radius: 5px;
    padding: 10px;
    font-size: 14px;
}

.spare-parts-table th, 
.spare-parts-table td {
    padding: 10px;
    text-align: left;
}

.spare-parts-table th {
    font-weight: 600;
}

.spare-parts-table td {
    color: #000000;
}

/* Bordo sottile come la tabellona */
.spare-parts-table td {
    border: 1px solid #ddd;
}

@media (max-width: 768px) {
  /* Immagini tecniche (galleria) */
  .acf-content {
    flex-direction: row;         /* Una sopra l’altra su mobile */
    align-items: center;            /* Centrate */
    gap: 10px;
  }

  .technical-image {
    max-width: 90%;                 /* Quasi tutta la larghezza disponibile */
  }

  /* Ricambi: container in colonna */
  .spare-parts-container {
    flex-direction: column;
    gap: 15px;
  }

  .spare-parts-column {
    width: 100%;
  }

  .spare-parts-table {
    width: 100%;                    /* Larghezza piena per la tabella */
    font-size: 13px;
  }

  .spare-parts-table th,
  .spare-parts-table td {
    padding: 8px;
  }
}

@media (max-width: 768px) {
    /* Padding per il testo descrittivo */
    .product-info-column .product-description {
        padding: 0 15px !important; /* Aggiunge 15px di padding a destra e sinistra */
        font-size: 14px;
        text-align: justify;
        max-width: 100%;
    }

      /* Padding per tutti i titoli, incluso "Plus" */
      .product-info-column h1,
      .product-info-column h2,
      .product-info-column h3,
      .product-info-column .product-plus-title {
          padding-left: 15px !important;
          padding-right: 15px !important;
      }

    /* Padding per l'elenco puntato */
    .product-info-column ul {
        margin-left: 15px !important; /* Sposta l'elenco verso destra */
        padding-left: 15px !important; /* Rientro corretto */
        padding-right: 15px;
    }

    /* Padding per i bottoni */
    .product-buttons {
        padding: 0 15px !important;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
    }

    .product-buttons a {
        flex: 1 1 calc(50% - 10px);
        max-width: 100%;
        text-align: center;
    }

    /* Aggiunge margine inferiore ai bottoni per più spazio */
    .product-buttons .cta-button {
        width: 100%;
        margin-top: 10px;
    }
}


/* ===========================
   STILE PER LA SEZIONE RICAMBI
=========================== */

/* Titolo H3 centrato e dimensionato */
#spare-parts-section h3 {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 50px;
}

#spare-parts-section p {
    margin-bottom: 1.5em;
    text-align: center;
}

/* Tabella Ricambi - stesso stile della tabellona */
.spare-parts-table {
    width: 100%;
    background-color: #ffffff;
    border-radius: 5px;
    padding: 20px;
    margin: auto;
    font-size: 14px;
}

.spare-parts-table th, 
.spare-parts-table td {
    padding: 10px;
    text-align: left;
}

.spare-parts-table th {
    font-weight: 600;
}

.spare-parts-table td {
    color: #000000;
}

/* Bordo sottile come la tabellona */
.spare-parts-table td {
    border: 1px solid #ddd;
}
/* ===========================
   STILE PER LA DESCRIZIONE LUNGA
=========================== */

.product-features-row {
    max-width: 1250px;
    margin: 40px auto;
    padding: 20px;
}

.product-features-section {
    text-align: justify;
   
}

.product-features-section h2 {
    font-size: 24px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 15px;
}

.product-features-section p {
    font-size: 16px;
    line-height: 1.6;
}

.product-features-section h3 {
  font-size: 20px;
    margin-bottom: 20px;
    line-height: 1.2em;
    font-weight: 600;
    text-transform: none;
}

@media (max-width: 768px) {
  /* Sezione Ricambi */
  #spare-parts-section h3 {
    font-size: 18px;
    margin-top: 30px;
    margin-bottom: 15px;
  }

  #spare-parts-section p {
    font-size: 14px;
    line-height: 1.5;
    padding: 0 10px;
  }

  .spare-parts-table {
    font-size: 13px;
    padding: 10px;
    overflow-x: auto;
    display: block;
  }

  .spare-parts-table th,
  .spare-parts-table td {
    padding: 8px;
    white-space: nowrap;
  }

  /* Permette di scrollare orizzontalmente tabelle ampie su schermi piccoli */
  .spare-parts-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}



/* ===========================
   RESPONSIVE - TABLET E MOBILE
=========================== */

/* 📱 Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
    .product-features-row {
        max-width: 90%; /* Restringe leggermente la larghezza per evitare troppo spazio vuoto */
        padding: 25px;
        margin: 30px auto;
    }

    .product-features-section {
        text-align: left; /* Mantiene il testo allineato a sinistra */
        white-space: normal; /* Permette di andare a capo automaticamente */
        word-wrap: break-word; /* Spezza le parole lunghe */
    }

    .product-features-section h2 {
        font-size: 23px; /* Leggermente più piccolo per migliorare la leggibilità */
        margin-bottom: 10px;
        padding: 0px 4px;
        white-space: wrap;
        text-overflow: ellipsis;
    }

}

/* 📱 Mobile (max-width: 768px) */
@media (max-width: 768px) {
    .product-features-row {
        max-width: 95%; /* Occupa quasi tutta la larghezza per migliorare la leggibilità */
         margin: 20px auto;
    }

    .product-features-section {
        text-align: left;
        white-space: normal; /* Permette di andare a capo automaticamente */
        word-wrap: break-word; /* Spezza le parole lunghe */
        margin: 10px;
    }

   .product-features-section p {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: justify;
  padding: 0 20px;
}
.product-features-section h3 {
  font-size: 15px;
  line-height: 1.2;
  margin-bottom: 8px;
  font-weight: 600;
  text-align: left;
  word-break: break-word;
  padding: 0px 22px;
}


}

/* 📱 Mobile Small (max-width: 768px) */
@media (max-width: 480px) {
    .product-features-row {
        max-width: 100%;
        margin: 15px auto;
    }


}

/* ===========================
   STILE PER GLI APPROFONDIMENTI
=========================== */

.product-insights-wrapper {
    width: 100%;
    background-color: #f1f1f1;
    padding: 40px 0; 
}

.product-insights-section {
    max-width: 1400px;
    margin: 40px auto;
    padding: 40px 100px ;
    background-color: #ffffff;
    border-radius: 5px;
    transition: box-shadow 0.3s ease-in-out;
}


.product-insights-section h2 {
    font-size: 50px;
    text-align: center;
    font-weight: 300;
    margin-bottom: 50px;
}

.product-insight-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 150px;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 0.5px solid #ddd;
    flex-direction: row-reverse;

}
.product-insight-row:nth-child(even) {
    flex-direction: row; /* Mantiene la disposizione normale */
}

.product-insight-row:nth-child(odd) {
    flex-direction: row-reverse; /* Inverte immagine e testo */
}


.product-insight-row:last-child {
    border-bottom: none;
}

.product-insight-row .insight-text {
    flex: 1;
    font-size: 16px;
    line-height: 1.6;
    text-align: justify;
}

/* Stile per i titoli con icone */
.product-insight-row .insight-text h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    position: relative;
    padding-left: 40px; /* Spazio per l'icona */
}

/* Aggiunge l'icona appropriata a ogni titolo */
.product-insight-row:nth-child(1) .insight-text h3::before {
    content: "1 -"; 
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    font-size: 24px;

}

.product-insight-row:nth-child(2) .insight-text h3::before {
    content: "2 -"; 
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    font-size: 24px;
   
}

.product-insight-row:nth-child(3) .insight-text h3::before {
    content: "3 -"; 
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    font-size: 24px;

}

.product-insight-row:nth-child(4) .insight-text h3::before {
    content: "4 -"; 
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    font-size: 24px;
   
}

/* Effetto hover sul titolo */
.product-insight-row .insight-text h3:hover {
   
    color: #00aaad; /* Cambia colore */
    transition: all 0.3s ease-in-out;
}

/* Effetto hover sulle immagini */
.product-insight-row .insight-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    transition: transform 0.3s ease-in-out;
}

/* Quando passi con il mouse, l'immagine si ingrandisce */
.product-insight-row .insight-image img:hover {
    transform: scale3d(1.2, 1.2, 1.2);
}

.product-insight-row .insight-text h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}

.product-insight-row .insight-image {
    flex: 0 0 300px;
    max-width: 300px;
    margin-right: 100px;
}

/* ===========================
   RESPONSIVE - TABLET E MOBILE APPROFONDIMENTI
=========================== */
@media (max-width: 768px) {
  .product-insights-section {
    padding: 30px 20px;
  }

  .product-insights-section h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .product-insight-row {
    flex-direction: column !important;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
    padding-bottom: 20px;
    text-align: left;
  }

  .product-insight-row .insight-image {
    margin: 0 auto;
    max-width: 100%;
    flex: none;
  }

  .product-insight-row .insight-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
  }

  .product-insight-row .insight-text {
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
    padding: 0 10px;
  }

  .product-insight-row .insight-text h3 {
    font-size: 18px;
    padding-left: 30px;
  }

  .product-insight-row .insight-text h4 {
    font-size: 15px;
  }
}



/* ===========================
   REPOSITORY MATERIALE TECNICO
=========================== */

.technical-materials-section {
    width: 100%;
    background-color: #333; /* Grigio scuro */
    padding: 50px 0;
    text-align: center;
    color: #ffffff;
}

.technical-materials-wrapper {
    max-width: 1400px;
    margin: auto;
    padding: 20px;
}

.technical-materials-wrapper h2 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 15px;
}

.technical-materials-wrapper p {
    font-size: 16px;
    line-height: 1.6;
    max-width: 800px;
    margin: auto;
    margin-bottom: 30px;
}

.product-buttons-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.product-buttons-row .btn {
    background-color: #ffffff;
    color: #333;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s ease-in-out;
    min-width: 200px;
    text-align: center;
}

  .btn-btn.full-width {
    grid-column: span 2;
    color: #000;
    background-color: #dedacf;
    padding: 10px 16px;
    text-decoration-line: none;
    border-radius: 5px;
}

.product-buttons-row .btn:hover {
    background-color: #dedacf;
    color: #000;
}

/* ===========================
   MEDIA QUERIES (Mobile)
=========================== */

@media (max-width: 768px) {
    /* Wrapper principale */
    .product-template-wrapper {
        padding: 10px;
    }

h4{
    font-size: 16px !important;
    text-align: center;
    align-items: center;
}

    /* Pulsanti */
    .product-buttons {
        max-width: 100%;
        padding: 0 15px;
        gap: 10px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .product-buttons .buttons-row {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        width: 100%;
    }

    .product-buttons .buttons-row a {
        flex: 1 1 calc(50% - 10px);
        max-width: 100%;
        text-align: center;
    }

    .product-buttons .buttons-row.full-width {
        display: block;
        width: 100%;
        text-align: center;
    }

    .product-buttons .cta-button {
        width: 100%;
        margin-top: 10px;
    }

    /* Bottoni principali in griglia */
    .product-buttons-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        width: 60%;
        max-width: 500px;
        margin: 0 auto;
        padding: 20px 50px;
    }

    .product-buttons-row .btn {
        width: 100%;
        text-align: center;
        padding: 0px 15px;
        display: block;
        border-radius: 5px;
        background-color: #ffffff;
        color: #333;
        font-size: 16px;
        font-weight: 600;
        text-transform: uppercase;
        text-decoration: none;
        transition: background 0.3s ease-in-out;
        min-width: 150px;
    }

    .btn-btn.full-width {
    grid-column: span 2;
    color: #000;
    background-color: #dedacf;
    padding: 10px 16px;
    text-decoration-line: none;
    border-radius: 5px;
}

    /* Bottone Ricambi */
.product-buttons-row + button#show-spare-parts {
    display: block;
    width: calc(100% - 40px);  /* Coerente con i bottoni sopra */
    max-width: 500px;
    margin: 20px auto 0;
    text-align: center;
    padding: 14px;
    border-radius: 5px;
    background-color: #dedacf;
    color: #000;
}

/* Caso con UN solo bottone */
.product-buttons-row.single-button {
    display: flex;
    justify-content: center;
}

.product-buttons-row.single-button a {
    max-width: 250px;
    width: 100%;
    text-align: center;
}

/* Caso con TRE bottoni: 2 affiancati + 1 sotto a tutta larghezza */
.product-buttons-row.three-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 500px;
    margin: 0 auto;
    padding: 20px 50px;
}

.product-buttons-row.three-buttons a:nth-child(3) {
    grid-column: span 2;
}
    

   

    .selection-table-wrapper {
        max-width: 1400px; 
        margin: 0 auto;
    }
    
      .selection-table-wrapper p {
        text-align: justify;
        font-size: 15px;
        margin: 20px;
      }
    
      .acf-selection-table td {
        color: #000000;
        text-align: center;
        font-size: 12px;
      }
    
      .acf-selection-table th {
        font-weight: 600;
        text-align: center;
        font-size: 11px;
        white-space: nowrap;
        text-overflow: ellipsis;
      }
    
      .table-image {
        max-width:40px;
        height: auto;
        display: block;
        margin: -4px;
      }
    
      .acf-column img {
        width: calc(80% - 10px);
      }
    
      .product-category-row {
        padding: 20px 0px 0px 20px;
      }
    
      .product-insights-section {
        margin: 0 20px;
        background-color: #ffffff;
        border-radius: 5px;
        transition: box-shadow 0.3s ease-in-out;
        padding: 10px 10px 0px 10px;
      }
    
      .product-insights-wrapper {
        width: 100%;
        background-color: #f1f1f1;
        padding: 40px 20px 20px 20px;
      }
    
      .technical-materials-wrapper h2 {
        font-size: 22px;
        font-weight: 600;
        margin-bottom: 15px;
        text-align: center;
      }
    
      .technical-materials-wrapper p {
        font-size: 14px;
        line-height: 1.6;
        max-width: 800px;
        margin: auto;
        margin-bottom: 30px;
        padding: 0px 20px 0px 20px;
      }
    
      p {
        margin-bottom: 1.5em;
        text-align: justify;
      }
    }


    /* CAROSELLO IMMAGINI */ 
/* contenitore */
.product-carousel { margin: 22px 0 30px; }
.product-carousel .slick-track { display: flex; align-items: center; }

/* ogni slide prende la larghezza del contenuto (img) */
.product-carousel--rowfit .product-carousel__slide { width: auto !important; padding: 0 10px; }

/* IMMAGINI: altezza uguale per tutti, niente deformazioni */
.product-carousel--rowfit .product-carousel__slide img {
  height: 600px;          /* ← altezza “Kartell”. Cambia in 340/380 se vuoi */
  width: auto;            /* ← mantiene proporzioni */
  max-width: none;        /* ← evita che qualche stile ereditato la limiti */
  object-fit: contain;    /* ← non taglia mai l’immagine */
  display: block;
  border-radius: 6px;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* frecce pulite (senza testo Previous/Next) */
.product-carousel .slick-prev,
.product-carousel .slick-next { font-size: 0; }
.product-carousel .slick-prev:before,
.product-carousel .slick-next:before { content: "" !important; }

/* responsive */
@media (max-width: 1024px){
  .product-carousel--rowfit .product-carousel__slide img { height: 300px; }
}
@media (max-width: 768px){
  .product-carousel--rowfit .product-carousel__slide img { height: 240px; }
}









