/* Alia Page Specific Styles - uses design tokens from main style.css */
/* Import spacing system from main style.css */
@import url('./style.css');
/* SEZIONI GENERALI - SPAZIATURA E SFONDO */
section,
.alia-section-spacing {
  background: var(--light-bg);
  margin-bottom: var(--space-7xl);
}
section:last-child,
.alia-section-spacing:last-child {
  margin-bottom: 0;
}

.container {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* Alia Hero */
.alia-hero {
  padding: calc(var(--space-3xl) * 2.5) 0 0 0;
  text-align: center;
}

.alia-hero-logo {
  width: 22%;
  margin: 0 auto 38px auto;
  display: block;
}

.alia-hero-video {
  width: 192px;
  height: 341px;
  background: #E0E0E0;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 165, 207, 0.15);
}

.alia-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 16px;
  transform: scale(1.01);
  filter: brightness(1.1) contrast(1.05) saturate(1.1);
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: pointer;
  border-radius: 16px;
}

.alia-hero-video:hover .video-overlay {
  opacity: 1;
}

.video-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.video-play-button {
  width: 30px;
  height: 30px;
  background: rgba(0, 165, 207, 0.9);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 165, 207, 0.4);
  border: none;
  cursor: pointer;
}

.video-play-button:hover {
  transform: scale(1.1);
  background: rgba(0, 165, 207, 1);
}

.video-stop-button {
  width: 30px;
  height: 30px;
  background: rgba(249, 66, 58, 0.9);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(249, 66, 58, 0.4);
  border: none;
  cursor: pointer;
}

.video-stop-button:hover {
  transform: scale(1.1);
  background: rgba(249, 66, 58, 1);
}

.video-audio-button {
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  border: none;
  cursor: pointer;
}

.video-audio-button:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 1);
}

.play-icon {
  width: 0;
  height: 0;
  border-left: 20px solid white;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  margin-left: 6px;
}

.stop-icon {
  width: 24px;
  height: 24px;
  fill: white;
}

.audio-icon {
  width: 24px;
  height: 24px;
  fill: #333;
}

.alia-hero-video-placeholder {
  position: relative;
  width: 440px;
  max-width: 90vw;
  aspect-ratio: 16/9;
  border: 4px solid #B6F0FF;
  border-radius: 14px;
  overflow: hidden;
  background: #EBFDFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.alia-hero-video-placeholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(2px) brightness(0.98);
  display: block;
}
.alia-hero-play {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  pointer-events: none;
}

.alia-hero-title {
  font-family: 'Satoshi', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  margin: 24px auto 16px !important;
  font-size: var(--hero-title-size);
  font-weight: 400;
  line-height: 1.13;
  color: var(--text-primary);
  letter-spacing: var(--section-title-spacing);
}
.alia-hero-title .alia-hero-quasi {
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(91deg, #00A5CF 1.46%, #6E46AE 48.22%, #F9423A 98.73%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 100%;
  animation: gradientFlow 3s ease-in-out infinite;
}


/* Alia Modes */
.alia-modes {
  padding: 64px 0 0 0;
  min-height: 920px;
  position: relative;
}
.alia-modes-head {
  text-align: left;
  max-width: 420px;
  padding-left: 28px;
  margin-bottom: 32px;
}


.alia-mode-text-title {
  font-size: var(--section-title-size);
  font-weight: 450;
  margin: 0 0 var(--space-sm) 0;
  line-height: 1.08;
  color: var(--text-primary);
  letter-spacing: var(--section-title-spacing);
  font-family: 'Satoshi', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.alia-mode-text-desc {
  font-size: var(--body-text-size);
    color: #073262;
    margin: 0;
    line-height: 1.38;
  }

.alia-modes-cards {
  position: relative;
  min-height: 420px;
}

/* Card modalità */
.alia-mode-card {
  background: var(--card-bg);
  border-radius: var(--radius-md);
  box-shadow: var(--card-shadow-sm);
  width: 250px;
  min-height: 350px;
  padding: var(--space-xl) var(--space-lg) var(--space-lg) var(--space-lg);
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  transition: box-shadow 0.2s;

}

.alia-mode-card:hover {
  box-shadow: 0 12px 60px 0 rgba(0, 162, 224, 0.17);
}

.alia-mode-title {
  font-size: 28px;
  font-weight: 450;
  margin-bottom: 12px;
  background: linear-gradient(91deg, #00A5CF 1.46%, #6E46AE 48.22%, #F9423A 98.73%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-size: 200% 100%;
  animation: gradientFlow 3s ease-in-out infinite;
}

.alia-mode-desc {
  font-size: var(--body-text-size);
  color: #073262;
  margin-bottom: 18px;
  font-weight: 400;
}

.alia-mode-btn {
  margin-top: auto;
  width: 201px;
  height:60px;
  background: #00A5CF;
  color: var(--white);
  border: none;
  border-radius: var(--radius-md);
  font-size: 16px;
  font-weight: 450;
  padding: var(--space-xs) var(--space-md);
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: none;
}

.alia-mode-btn:hover {
  background: #0095BC;
  color: #fff;
  border-color: #0095BC;
}

.alia-mode-pill {
  position: absolute;
  top: -17px;
  right: 60px;
  background: linear-gradient(90deg, #00A5CF 0%, #6E46AE 48%, #F9423A 100%);
  color: #EBFDFF;
  font-weight: 600;
  font-size: 12px;
  padding: 6px 20px;
  border-radius: 100px;
  box-shadow: 0 2px 8px 0 rgba(16,180,224,0.08);
}

/* Posizionamento a triangolo/scalino */
.alia-modes-cards {
  position: relative;
  min-height: 520px;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
}
.mode-smart {
  position: absolute;
  left: 52%;
  top: 20px;
  z-index: 3;
}

.mode-custom {
  position: absolute;
  left: 18%;
  top: 390px;
  z-index: 2;
}

.mode-enterprise {
  position: absolute;
  left: 70%;
  top: 540px;
  z-index: 1;
}

/* Alia HEADLINE */
.alia-section-headline {
  padding: 70px 0 0 0;
  text-align: center;
}
.alia-headline {
  font-family: 'Satoshi', Arial, sans-serif;
  font-size: var(--hero-title-size);
  font-weight: 400;
  color: #17394a;
  margin: 0 auto;
  line-height: 1.08;
  max-width: 2400px;
  letter-spacing: -0.8px;
}
.gradient-text {
  background: linear-gradient(91deg, #00A5CF 1.46%, #6E46AE 48.22%, #F9423A 98.73%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 500;
  display: inline-block;
  background-size: 200% 100%;
  animation: gradientFlow 3s ease-in-out infinite;
}

/* Alia come funziona */
.alia-funziona-puzzle {
  padding: 170px 0 0 0;
}

.alia-funziona-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 200px 140px 140px 140px;
  gap: var(--space-lg);
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* Elemento di testo (primo box in alto a sinistra) - senza sfondo */
.funziona-text-box {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: var(--space-lg) 0;
}

.funziona-text-box h2 {
  font-size: 32px;
  font-weight: 400;
  margin: 0 0 18px 0;
  color: #073262;
  letter-spacing: -0.8px;
  line-height: 1.1;
}

.funziona-text-box p {
  font-size: 16px;
  color: #073262;
  margin: 0;
  line-height: 1.4;
}

/* Box con icone e sfondo */
.funziona-item {
  background: #EBFDFF;
  border-radius: var(--space-md);
  box-shadow: 0 8px 44px 0 rgba(0, 162, 224, 0.11);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--box-padding, var(--space-md) var(--space-sm));
  margin: var(--box-margin, 0);
  font-size: 1rem;
  color: #063046;
  font-weight: 450;
  text-align: center;
  transition: all 0.3s ease;
  height: var(--box-height, 140px);
  width: var(--box-width, 100%);
  cursor: pointer;
}

.funziona-item:hover {
  box-shadow: 0 12px 60px 0 rgba(0, 162, 224, 0.25);
  transform: translateY(-4px);
  background: #DFF7FF;
}

.funziona-item img {
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
}

/* Posizionamento specifico nella griglia */
.funziona-item:nth-child(2) { grid-column: 2; grid-row: 1; }
.funziona-item:nth-child(3) { grid-column: 3; grid-row: 1; }
.funziona-item:nth-child(4) { grid-column: 1; grid-row: 2; }
.funziona-item:nth-child(5) { grid-column: 2; grid-row: 2; }
.funziona-item:nth-child(6) { grid-column: 3; grid-row: 2; }
.funziona-item:nth-child(7) { grid-column: 1; grid-row: 3; }
.funziona-item:nth-child(8) { grid-column: 2; grid-row: 4; }
.funziona-item:nth-child(9) { grid-column: 3; grid-row: 4; }

/* Rotation-box */
.rotation-box-section {
  padding: 120px 0 0 100px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.rotation-box {
  position: relative;
  background: rgba(0, 165, 207, 0.2); /* #00A5CF, 8% opacity */
  border-left :6px solid #00a5cf;
  border-radius: 12px;
  padding: 48px 42px;
  min-width: 700px;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 0 6px 36px 0 rgba(0,165,207,0.07);
  transform: rotate(-3.89deg);
  display: flex;
  justify-content: center;
  align-items: center;
}

.rotation-quote {
  color: #00A5CF;
  font-family: 'Satoshi', Arial, sans-serif;
  font-size: 32px;
  font-weight: 450;
  text-align: center;
  margin: 0;
  line-height: 1.13;
  letter-spacing: -0.6px;
}


/* Alia Carousel */
.alia-carousel-section {
  padding: 68px 0 0 0;
  display: flex;
  justify-content: center;
}

.alia-carousel {
  width: 96vw;
  max-width: 1260px;
  overflow: hidden;
  position: relative;
  border-radius: 18px;
  margin: 0 auto;
}

.carousel-track {
  display: flex;
  gap: 34px;
  transition: transform 0.6s cubic-bezier(0.48,0.18,0.34,1.21);
  will-change: transform;
}

.carousel-img {
  width: 380px;
  height: 260px;
  background: #f7faff;
  border-radius: 12px;
  box-shadow: 0 3px 18px rgba(0, 165, 207, 0.09);
  object-fit: cover;
  cursor: pointer;
  transition: box-shadow .18s, transform .16s;
  flex-shrink: 0;
}

.carousel-img:hover {
  box-shadow: 0 6px 38px rgba(0, 165, 207, 0.21);
  transform: scale(1.04);
}

/* Modal style */
.carousel-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; top: 0; right: 0; bottom: 0;
  background: rgba(18,32,48,0.72);
  justify-content: center;
  align-items: center;
}

.carousel-modal.active {
  display: flex;
}

.carousel-modal-img {
  max-width: 84vw;
  max-height: 84vh;
  border-radius: 18px;
  box-shadow: 0 6px 48px 0 rgba(0, 165, 207, 0.29);
  background: #fff;
}

.carousel-modal-close {
  position: absolute;
  top: 30px; right: 48px;
  color: #fff;
  font-size: 48px;
  font-weight: 300;
  cursor: pointer;
  z-index: 2;
  transition: color 0.2s;
}

.carousel-modal-close:hover {
  color: #00A5CF;
}

/* ALIA AVATAR */
.avatar-section {
  padding: 6px 70px 0 10px;
  width: 100%;
}
.avatar-section-container {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 62px;
  padding: 0 32px;
}
.avatar-section-img-col {
  flex: 0 0 auto;
  min-width: 200px;
  display: flex;
  align-items: flex-start;
}
.avatar-section-img-wrapper {
  position: relative;
  width: fit-content;
}
.avatar-section-main-png {
  width: 280px ;
  max-width: 320px ;
}
.avatar-section-avatar {
  position: absolute;
  bottom: 22px;
  right: 22px;
  width: 75px;
  height: auto;
  z-index: 2;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.09));
}
.avatar-section-text-col {
  flex: 1 1 1;
  min-width: 240px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.avatar-section-text {
  font-family: 'Satoshi', Arial, sans-serif;
  font-size: 25px;
  color: #17394a;
  font-weight: 400;
  line-height: 1.19;
  letter-spacing: -0.7px;
}

/* ALIA CTA FINAL */
.alia-cta-section {
  padding: 86px 0 0 0;
  text-align: center;
}

.alia-cta-title {
  font-family: 'Satoshi', Arial, sans-serif;
  font-size: 40px;
  color: #093651;
  font-weight: 450;
  margin: 0 0 36px 0;
  letter-spacing: -1.2px;
}

.alia-cta-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.alia-cta-btn {
  font-family: 'Satoshi', Arial, sans-serif;
  font-size: 1.05rem;
  font-weight: 450;
  padding: 12px 28px;
  border-radius: 9px;
  border: 2px solid #00A5CF;
  text-decoration: none;
  transition: all .16s;
  display: inline-block;
  cursor: pointer;
}

.alia-cta-primary {
  background: #00A5CF;
  color: #fff;
  border: 2px solid #00A5CF;
}
.alia-cta-primary:hover {
  background: #0095BC;
  color: #fff;
}

.alia-cta-outline {
  background: transparent;
  color: #00A5CF;
  border: 2px solid #00A5CF;
}
.alia-cta-outline:hover {
  background: #DFF7FF;
  color: #0095BC;
}

/* FAQ and Footer styles are now handled by the unified CSS in style.css */

.footer-section {
  background: #E9FAFF;
}

.footer-info {
  display: flex;
  padding: 48px 40px;
  justify-content: space-between;
  align-items: flex-start;
  border-radius: 32px;
  background: linear-gradient(180deg, #A2F0FF 0%, #EBFDFF 100%);
  box-shadow: 0px 4px 24px 0px rgba(162, 240, 255, 0.40);
  margin: 0 auto;
  max-width: 1000px;
  min-height: 280px;
}

/* =========================================
   TABLET (≤1024px)
   ========================================= */
@media (max-width: 1024px) {
  .container { padding: 0 16px; }

  /* HERO */
  .alia-hero { padding: calc(var(--space-3xl) * 2) 0 0; }

  /* MODES: passa da layout assoluto a flusso normale */
  .alia-modes { padding: 48px 0 0; min-height: auto; }
  .alia-modes-cards { position: static; min-height: 0; }
  .alia-mode-card {
    position: static;
    width: 100%;
    min-height: auto;
    margin: 0 0 16px;
    border-radius: 24px;
  }
  .mode-smart, .mode-custom, .mode-enterprise { position: static; left: auto; top: auto; }

  /* HEADLINE */
  .alia-section-headline { padding: 56px 0 0; }

  /* PUZZLE (“Come funziona Alia”) — base tablet: 2 colonne */
  .alia-funziona-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 140px;            /* altezza della cella */
    gap: var(--space-md);
    max-width: 100%;
    padding: 0 var(--space-sm);
    grid-auto-flow: dense;
  }

  .funziona-text-box {
    grid-column: 1 / -1;
    text-align: center;
    padding: var(--space-md) 0;
  }
  .funziona-text-box h2 { font-size: var(--section-title-size); }

  /* Card base in griglia (tablet) */
  .alia-funziona-grid .funziona-item {
    grid-column: auto; grid-row: auto;
    width: 100%;
    height: 100%;                    /* ⬅️ aderisce alla cella */
    margin: 0;
    padding: 16px 18px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;          /* icona sopra, testo sotto */
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
  }
  .alia-funziona-grid .funziona-item img { width: 44px; height: 44px; margin: 0 0 10px 0; }
  .alia-funziona-grid .funziona-item span { font-size: var(--body-text-size); line-height: 1.4; }

  /* ⚠️ niente nth-child qui: gli span sono gestiti solo nei blocchi specifici */
  /* AVATAR */
  .avatar-section-container { flex-direction: column; gap: 28px; padding: 0 16px; }

  /* CAROUSEL */
  .carousel-img { width: 70vw; min-width: 220px; height: auto; aspect-ratio: 16 / 9; }

  /* FOOTER layout */
  .footer-grid { flex-direction: column; gap: 32px; align-items: flex-start; }
}

/* =========================
   MOBILE (≤768px)
   ========================= */
@media (max-width: 768px) {
  .container { padding: 0 8px; }

  /* HERO */
  .alia-hero { padding: calc(var(--space-3xl) * 1.5) 0 0; text-align:center; }
  .alia-hero-title {
    max-width: 20ch;
    padding: 56px 0 0;
    line-height: 1.15;
    margin: 20px auto 12px;
    text-wrap: balance;
    letter-spacing: var(--hero-title-spacing);
  }

  /* ===== COME FUNZIONA ALIA (mobile): 2 colonne + nessuna sovrapposizione ===== */
  .alia-funziona-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 140px;
    gap: 16px;
    padding: 0 8px;
    grid-auto-flow: dense;
  }

  .funziona-text-box { align-items: center; text-align: center; padding: 12px 0; }
  .funziona-text-box h2 { margin: 0 auto 18px; font-size: var(--section-title-size); line-height:1.2; }
  .funziona-text-box p  { font-size: var(--body-text-size);  line-height:1.45; }

  .alia-funziona-grid .funziona-item {
    grid-column: auto; grid-row: auto;
    height: 100%;                     /* ⬅️ occupa la cella, non più 140px fissi */
    margin: 0;
    padding: 14px 16px;
    border-radius: 16px;
    display: flex;                    /* icona sopra, testo sotto */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    background: rgba(255,255,255,0.16);
    box-shadow: 0 8px 24px rgba(0,162,224,0.12);
  }
  .alia-funziona-grid .funziona-item img { width: 36px; height: 36px; margin: 0 0 8px 0; }
  .alia-funziona-grid .funziona-item span{ font-size: var(--body-text-size); line-height: 1.45; color: #063046; }

  /* Override degli span (solo mobile):
     – primo box “normale”
     – sesto box verticale su 2 righe */
  /* MOBILE: 1° tile su due colonne, alto una riga */
  .alia-funziona-grid > .funziona-item:nth-child(2){
    grid-column: 1 / -1;   /* prende entrambe le colonne */
    grid-row: span 1;      /* resta alto una riga */
    height: 100%;
    min-height: unset;
  }
  /* MOBILE: 6° tile verticale su 2 righe */
  .alia-funziona-grid > .funziona-item:nth-child(7){
    grid-row: span 2 !important;   /* forza lo span anche se qualche regola lo resetta */
  }

  /* MODES */
  .alia-modes { padding: 32px 0 0; }
  .alia-modes-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
  .alia-mode-text { padding: 0 2px 8px; }
  .alia-mode-text-title { font-size: var(--section-title-size); line-height: 1.2; }
  .alia-mode-text-desc  { font-size: var(--body-text-size);  line-height: 1.2; padding: 24px 0 40px; }
  .alia-mode-text-desc br { display: none; }
  .alia-mode-card {
    position: relative;
    width: 346px;
    height: 405px;
    padding: 24px;
    border-radius: 8px;
    margin: auto;
    box-shadow: 0 10px 28px rgba(0,165,207,.12), 0 1px 4px rgba(6,48,70,.06);
    left: auto; top: auto; transform: none;
  }
  .mode-smart .alia-mode-pill,
  .alia-modes-grid .alia-mode-card:first-of-type .alia-mode-pill {
    position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); right: auto;
  }

  /* QUOTE ruotata */
  .rotation-box-section { padding: 36px 0 0; }
  .rotation-box { min-width: 0; max-width: 92vw; padding: 28px 20px; }

  /* CAROUSEL */
  .alia-carousel-section { padding: 24px 0 0; }
  .alia-carousel { width: 95%; overflow: hidden; }
  .carousel-track { gap: 16px; padding: 0 16px; }
  .carousel-img { width: calc(100vw - 32px); aspect-ratio: 16 / 9; height: auto; border-radius: 12px; }

  /* AVATAR */
  .avatar-section { padding: 24px 0 0; }
  .avatar-section-container { flex-direction: column; gap: 24px; padding: 0 16px; }
  .avatar-section-img-wrapper { width: 100%; }
  .avatar-section-main-png { width: 50%; align-items:right }
  .avatar-section-text-col { padding: 0 0; width:50%; }
  .avatar-section-text { font-size: 24px ; line-height: 1.15; align-items:left; }
  .avatar-section-text br { display:none ; }
  /* CTA */
  .alia-cta-section { padding: 36px 0 0; }
  .alia-cta-title   { font-size: var(--section-title-size); margin-bottom: 16px; text-align:center; }
  .alia-cta-buttons { flex-direction: column; gap: 16px; }
}

/* ===== ALIA (769–1023): badge "Più popolare" centrato sulla mode-smart ===== */
@media (min-width: 769px) and (max-width: 1023px) {
  .alia-mode-card { position: relative !important; overflow: visible !important; margin-top: 32px; }
  .alia-mode-text-title, .alia-mode-text-desc { width: 100%; text-align: center; }
  .mode-smart .alia-mode-pill { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); right: auto; z-index: 5; }
}

/* ===== ALIA (769–1023): griglia “funziona” a 2 colonne ===== */
@media (min-width:769px) and (max-width:1023px){
  .alia-funziona-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:160px;
    gap:20px;
    padding:0 var(--space-sm);
    grid-auto-flow:dense;
  }

  .funziona-text-box{ grid-column:1 / -1; text-align:center; padding:var(--space-lg) 0; }

  .alia-funziona-grid .funziona-item{
    grid-column:auto; grid-row:auto;
    height:100%;
    margin:0; padding:20px 22px; border-radius:18px;
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    box-sizing:border-box;
  }
  .alia-funziona-grid .funziona-item img{ width:44px; height:44px; margin:0 0 10px 0; }
  .alia-funziona-grid .funziona-item span{ font-size:calc(var(--body-text-size)*1.06); line-height:1.45; }

  /* Span specifici per tablet */
  /* TABLET: 1° tile su due colonne ma alto come gli altri (1 riga) */
  .alia-funziona-grid > .funziona-item:nth-child(2){
    grid-column: 1 / -1;
    grid-row: span 1;
    height: 100%;
    min-height: unset;   /* rimuove l’altezza extra */
  }
  .alia-funziona-grid > .funziona-item:nth-child(7){
    grid-row: span 2 !important;
  }

}