/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */


/* Reset e Stili Base */

.title  {
    align: center;
}

#header .category-top-menu .categories-dropdown {
    background: #0E9F68;
}

.saatchitech-container {
    font-family: 'QuickSand', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #63ba622e;
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Hero Section */
.hero-section {
    background: linear-gradient(135deg, #003366, #0066cc);
    color: white;
    padding: 60px 20px;
    text-align: center;
    margin-bottom: 40px;
    border-radius: 8px;
}

.hero-section h1 {
    font-family: 'QuickSand', sans-serif;
    font-size: 3em;
    margin-bottom: 10px;
    font-weight: 700;
}

.tagline {
    font-size: 1.5em;
    font-style: italic;
    opacity: 0.9;
}

#index .featured-products {
    text-align: center;
    padding-bottom: 100px;
}

.an_homeproducts-tabs {
    margin-bottom: 35px;
    margin-top: 100px;
}

#products .product-miniature {
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 100px;
}

/* Sezioni Generiche */
section {
    margin-bottom: 0px;
    margin-top: 0px;

    background: white;
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.saatchitech-container h2 {
    font-family: 'QuickSand', sans-serif;
    color: #146600;
    border-bottom: 2px solid #146600;
    padding-bottom: 10px;
    margin-top: 0;
    font-size: 1.8em; /* Esempio: sovrascrive solo gli h2 dentro .saatchitech-container */
}

.saatchitech-container h3 {
    font-family: 'QuickSand', sans-serif;
    color: #146600;
    font-size: 1.4em;
}

.saatchitech-container h4 {
    font-family: 'QuickSand', sans-serif;
  margin: 0; /* Rimuove il margine predefinito per allineamento perfetto */
  font-size: 1.1em;
  color: #146600;
}

.saatchitech-container p {
    font-family: 'QuickSand', sans-serif;
  font-size: 18px;
    font-weight: bold;
  color: #000000;
}

/* Mission Section */
.mission-section {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.mission-block {
    flex: 1;
    min-width: 300px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    border-radius: 8px;
}

/* Grid Sections */
.strengths-grid, .services-grid, .brands-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.strength-item, .service-item, .brand-item {
    background: #f5f5f5;
    padding: 20px;
    border-radius: 8px;
    border-left: 4px solid #0066cc;
}

/* Partners Section */
.partners-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    margin-top: 20px;
}

.partners-logos span {
    background: #003366;
    color: white;
    padding: 10px 20px;
    border-radius: 30px;
    font-size: 0.9em;
}

/* Contact Section */
.contact-section address {
    font-style: normal;
    line-height: 1.8;
}

.contact-section a {
    color: #0066cc;
    text-decoration: none;
}

.contact-section a:hover {
    text-decoration: underline;
}

/* Layout base (desktop) */
.image-gallery {
  display: flex;
  justify-content: center;  /* Centra orizzontalmente */
  align-items: center;      /* Centra verticalmente (opzionale) */
  flex-wrap: wrap;          /* Permette l'impilamento su mobile */
  gap: 30px;               /* Spazio tra le immagini */
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.image-container {
  flex: 0 0 auto;          /* Impedisce alle immagini di allungarsi */
  width: calc(33.333% - 20px); /* Larghezza per 3 colonne con gap */
  max-width: 300px;        /* Larghezza massima (regolabile) */
    text-align: center;
}

.image-container img {
  
  height: auto;
  border-radius: 8px;
  object-fit: cover;       /* Ritaglia l'immagine per riempire il contenitore */
}

.icon-title-wrapper {
  display: flex;
  align-items: center; /* Allinea verticalmente icona e testo */
  gap: 10px; /* Spazio tra icona e titolo */
  margin-bottom: 8px; /* Spazio sotto il blocco icona+titolo */
}

.title-icon {
  width: 60px; /* Dimensione personalizzabile */
  height: 24px;
  object-fit: contain; /* Mantiene le proporzioni dell'icona */
}

.user-info span {
    color: azure;
    }

/*VIDEO GALLERY*/
.video-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin: 30px 0;
}

.video-item {
  flex: 0 0 calc(33.33% - 20px);
  max-width: calc(33.33% - 20px);
  box-sizing: border-box;
}

.video-wrapper {
  width: 100%;
  height: 650px; /* Altezza fissa */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.video-player {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.video-caption {
  text-align: center;
  margin-top: 10px;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 991px) {
  .video-item {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
  }
  
  .video-wrapper {
    height: 200px; /* Altezza leggermente ridotta su tablet */
  }
}

@media (max-width: 767px) {
  .video-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
  
  .video-wrapper {
    height: 250px; /* Ripristina altezza originale su mobile */
  }
}


/* Responsive */
@media (max-width: 768px) {
    
    section {
    margin-bottom: 0px;
    margin-top: 0px;

    background: white;
    padding-left: 0px;
    padding-right: 0px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
    
    .an_homeproducts-tabs {
    margin-bottom: 10px;
    margin-top: 0px;
}

    
    .mission-section {
        flex-direction: column;
    }
    
    .hero-section h1 {
        font-size: 2em;
    }
    
    .tagline {
        font-size: 1.2em;
    }
    
    .image-gallery {
    flex-direction: column;  /* Disposizione in colonna */
    gap: 15px;
  }
  
  .image-container {
    width: 100%;          /* Larghezza piena */
  }
}

.product-prices {
  margin: 15px 0;
  font-family: Arial, sans-serif;
}

.original-price-container {
  margin-bottom: 5px;
}

.customer-price-container {
  margin-top: 5px;
}

.original-price-label,
.customer-price-label {
  display: block;
  font-size: 0.8em;
  color: #666;
}

.customer-price-label {
  color: #28a745;
  font-weight: bold;
}

.original-price {
  /*text-decoration: line-through;*/
  color: #777;
  font-size: 18px;    
}

.customer-price {
  color: #00571f;
  font-weight: bold;
  font-size: 25px;
}
/*CATALOGHI*/
.catalog-gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin: 30px 0;
}

.catalog-item {
  flex: 0 0 calc(33.33% - 20px);
  max-width: calc(33.33% - 20px);
  box-sizing: border-box;
}

.catalog-wrapper {
  width: 100%;
  height: 350px; /* Altezza fissa più grande per le copertine */
  overflow: hidden;
  position: relative;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  background: #f5f5f5;
}

.catalog-cover {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.download-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 10px;
  text-align: center;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.catalog-wrapper:hover .download-overlay {
  transform: translateY(0);
}

.catalog-wrapper:hover .catalog-cover {
  transform: scale(1.05);
}

.catalog-caption {
  text-align: center;
  margin-top: 10px;
  font-weight: 600;
}

/* Responsive */
@media (max-width: 991px) {
  .catalog-item {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
  }
  
  .catalog-wrapper {
    height: 300px;
  }
}

@media (max-width: 767px) {
  .catalog-item {
    flex: 0 0 100%;
    max-width: 100%;
  margin-bottom: 20px;
  }
  
  .catalog-wrapper {
    height: 350px;
  }
}
}