/*  SISTEMA DI STILE AICARM v 0.9.0 - COLORI AGGIORNATI + TABELLE */

/* =====================
   VARIABILI COLORI AICARM - AGGIORNATE
   ===================== */
   
:root {
  /* Colori principali AICARM - AGGIORNATI */
  --aicarm-primary: #A7005D;       /* Aggiornato da #a71f60 */
  --aicarm-secondary: #7a0042;     /* Rimane uguale */
  --aicarm-tertiary: #c62a80;      /* Rimane uguale */
  --aicarm-gray: #f6f6f6;          /* Rimane uguale */
  --aicarm-dark: #333333;          /* Rimane uguale */
  --aicarm-light: #ffffff;         /* Rimane uguale */
  
  /* Colori tipografici aggiornati */
  --aicarm-h1-color: #A7005D;      /* H1 e H4 */
  --aicarm-h2-color: #A7005D;      /* H2 */
  --aicarm-h3-color: #2B8F9E;      /* H3 - Nuovo azzurro */
  --aicarm-h5-color: #459688;      /* H5 - Nuovo verdastro */
  
 /* Colori neutrali con hover appropriati */
  --aicarm-neutral-verde: #4e897e;
  --aicarm-neutral-verde-hover: #3d6b61;  /* Più scuro del 15% */
  
  --aicarm-neutral-azzurro: #3c8292;
  --aicarm-neutral-azzurro-hover: #2d6270;  /* Più scuro del 15% */

  --aicarm-success: #28a745;        /* Verde successo */
  --aicarm-warning: #ffc107;        /* Giallo avvertimento */
  --aicarm-danger: #dc3545;         /* Rosso pericolo */
}

/* =====================
   SOVRASCRITTURE TITOLI - AGGIORNATE
   ===================== */
h1,
.fusion-body h1, 
.post-content h1 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.75rem !important;          /* Ridotto da 2.5rem a 1.75rem (28px) */
  font-weight: 700 !important;
  color: var(--aicarm-h1-color) !important;  /* Nuovo colore */
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  padding-bottom: 0.5rem !important;
}

h2,
.fusion-body h2, 
.post-content h2 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.5rem !important;           /* Ridotto da 2rem a 1.5rem (24px) */
  font-weight: 600 !important;
  color: var(--aicarm-h2-color) !important;  /* Mantiene secondary */
  line-height: 1.3 !important;
}

h3,
.fusion-body h3, 
.post-content h3 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.25rem !important;          /* Ridotto da 1.5rem a 1.25rem (20px) */
  font-weight: 600 !important;
  color: var(--aicarm-h3-color) !important;  /* Nuovo colore azzurro */
  line-height: 1.4 !important;
}

h4,
.fusion-body h4, 
.post-content h4 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.125rem !important;         /* Ridotto a 1.125rem (18px) */
  font-weight: 600 !important;
  color: var(--aicarm-h1-color) !important;  /* Stesso colore di H1 */
  line-height: 1.4 !important;
}

h5,
.fusion-body h5, 
.post-content h5 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1rem !important;             /* Ridotto a 1rem (16px) */
  font-weight: 600 !important;
  font-style: italic !important;          /* AGGIUNTO ITALIC */
  color: var(--aicarm-h5-color) !important;  /* Nuovo colore verdastro */
  line-height: 1.5 !important;
}

h6,
.fusion-body h6, 
.post-content h6 {
  font-family: 'Arial', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--aicarm-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1.5 !important;
}

/* =====================
   TESTO BASE E BODY
   ===================== */

/* Imposta il colore di base per tutto il testo */
body {
  /*font-family: 'Arial', sans-serif !important; */
  color: var(--aicarm-dark) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

/* Elementi di testo comuni 
div, span, td, th, li, label, small, em, strong, b, i {
  color: var(--aicarm-dark) !important;
}

*/
/* Paragrafi base */
.fusion-body p,
.post-content p,
p {
 /* font-family: 'Arial', sans-serif !important;*/
  font-size: 1rem !important;             /* 16px base */
  font-weight: 400 !important;
  color: var(--aicarm-dark) !important;
  line-height: 1.6 !important;
}

/* ===================
   VARIANTI DEI TITOLI
   =================== */
.aicarm-title-italic {
  font-style: italic !important;
}

.aicarm-title-lightweight {
  font-weight: 300 !important;
}

.aicarm-title-spaced {
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.aicarm-title-centered {
  text-align: center !important;
}

.aicarm-title-right {
  text-align: right !important;
}

.aicarm-title-underlined {
  border-bottom: 2px solid var(--aicarm-primary) !important;
  padding-bottom: 0.5rem !important;
}

.aicarm-no-border {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.aicarm-subtitle {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.3rem !important;           /* Ridotto per coerenza */
  font-weight: 600 !important;
  color: var(--aicarm-secondary) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.aicarm-subtitle-long {
  font-family: 'Arial', sans-serif !important;
  font-size: 1.3rem !important;           /* Ridotto per coerenza */
  font-weight: 400 !important;
  color: var(--aicarm-secondary) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

/* =============
   CLASSI COLORI
   ============= */
.aicarm-color {
  color: var(--aicarm-primary) !important;
}

.aicarm-secondary-color {
  color: var(--aicarm-secondary) !important;
}

.aicarm-tertiary-color {
  color: var(--aicarm-tertiary) !important;
}

.aicarm-light-text {
  color: var(--aicarm-light) !important;
}

.aicarm-dark-text {
  color: var(--aicarm-dark) !important;
}

.aicarm-text {
  color: var(--aicarm-dark) !important;
}

/* ============================
   SISTEMA TABELLE AICARM
   ============================ */

/* Tabella principale AICARM */
.aicarm-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: white !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  margin: 20px 0 !important;
  font-family: 'Arial', sans-serif !important;
}

/* Header tabella */
.aicarm-table th {
  background-color: var(--aicarm-primary) !important;
  color: white !important;
  padding: 15px !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border: none !important;
}

/* Celle tabella */
.aicarm-table td {
  padding: 12px 15px !important;
  border-bottom: 1px solid #eee !important;
  vertical-align: middle !important;
  font-size: 14px !important;
  color: var(--aicarm-dark) !important;
}

/* Righe alternate */
.aicarm-table tr:nth-child(even) {
  background-color: #f8f9fa !important;
}

/* Hover su righe */
.aicarm-table tbody tr:hover {
  background-color: rgba(167, 0, 93, 0.05) !important;
}

/* Tabella compatta */
.aicarm-table-compact th,
.aicarm-table-compact td {
  padding: 8px 12px !important;
  font-size: 13px !important;
}

/* Tabella con bordi */
.aicarm-table-bordered {
  border: 1px solid #eee !important;
}

.aicarm-table-bordered th,
.aicarm-table-bordered td {
  border: 1px solid #eee !important;
}

/* Celle con colori di sfondo */
.aicarm-table .table-primary {
  background-color: rgba(167, 0, 93, 0.1) !important;
}

.aicarm-table .table-secondary {
  background-color: rgba(122, 0, 66, 0.1) !important;
}

.aicarm-table .table-success {
  background-color: rgba(40, 167, 69, 0.1) !important;
}

.aicarm-table .table-warning {
  background-color: rgba(255, 193, 7, 0.1) !important;
}

.aicarm-table .table-danger {
  background-color: rgba(220, 53, 69, 0.1) !important;
}

/* Elementi utili per tabelle */
.aicarm-color-swatch {
  width: 30px !important;
  height: 30px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-right: 10px !important;
  border: 1px solid #ddd !important;
  vertical-align: middle !important;
}

/* ======================
   BLOCCHI E CONTENITORI
   ====================== */
.aicarm-section {
  padding: 30px !important;
  background-color: var(--aicarm-gray) !important;
  border-radius: 8px !important;
  margin: 30px 0 !important;
}

.aicarm-bordered-box {
  border: 1px solid var(--aicarm-primary) !important;
  border-radius: 6px !important;
  padding: 20px !important;
  margin: 20px 0 !important;
}

.aicarm-highlight-box {
  background-color: rgba(167, 0, 93, 0.1) !important;  /* Aggiornato */
  border-left: 4px solid var(--aicarm-primary) !important;
  padding: 20px !important;
  margin: 20px 0 !important;
  border-radius: 0 6px 6px 0 !important;
}

.aicarm-info-box {
  background-color: var(--aicarm-gray) !important;
  border-radius: 6px !important;
  padding: 20px !important;
  margin: 20px 0 !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
}

.aicarm-quote {
  border-left: 4px solid var(--aicarm-primary) !important;
  padding: 15px 20px !important;
  margin: 20px 0 !important;
  font-style: italic !important;
  background-color: var(--aicarm-gray) !important;
}

.aicarm-card-box {
	/*
  border: 1px solid #eee !important;
  border-radius: 8px !important; */
  padding: 20px !important;
  margin: 20px 0 !important;
	/*
  box-shadow: 0 3px 10px rgba(0,0,0,0.05) !important;
	*/
}

.aicarm-card-header {
  font-weight: bold !important;
  margin-bottom: 10px !important;
  color: var(--aicarm-secondary) !important;
}

.aicarm-cta-box {
  background-color: var(--aicarm-gray) !important;
  border-radius: 10px !important;
  padding: 25px !important;
  margin: 30px 0 !important;
  text-align: center !important;
  box-shadow: 0 3px 15px rgba(0,0,0,0.08) !important;
}

/* ===============================
   SISTEMA PULSANTI UNIFORMATO
   =============================== */

/* PULSANTE BASE - Tutti gli stili comuni */
.aicarm-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 25px 20px !important;
  color: white !important;
  text-decoration: none !important;
  border-radius: 20px !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  min-height: 80px !important;
  transition: all 0.3s ease !important;
  flex: 1 !important;
  margin-right: 10px !important;
  border: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  
  /* Default: Primary (rosa principale) */
  background-color: var(--aicarm-primary) !important;
  box-shadow: 0 4px 12px rgba(167, 0, 93, 0.3) !important;  /* Aggiornato */
}

.aicarm-button-small {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 15px 10px !important;
  color: white !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  min-height: 40px !important;
  transition: all 0.3s ease !important;
  flex: 1 !important;
  margin-right: 10px !important;
  border: none !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  
  /* Default: Primary (rosa principale) */
  background-color: var(--aicarm-primary) !important;
  box-shadow: 0 4px 12px rgba(167, 0, 93, 0.3) !important;  /* Aggiornato */
}

.aicarm-button:hover {
  transform: translateY(-2px) !important;
  color: white !important;
  text-decoration: none !important;
}

.aicarm-button:focus {
  outline: 3px solid rgba(167, 0, 93, 0.5) !important;  /* Aggiornato */
  outline-offset: 2px !important;
}

/* ===========================
   VARIANTI SEMANTICHE COLORE
   =========================== */

/* PRIMARY - Azione principale (default) */
.aicarm-button-primary {
  background-color: var(--aicarm-primary) !important;
  box-shadow: 0 4px 12px rgba(167, 0, 93, 0.3) !important;  /* Aggiornato */
}

.aicarm-button-primary:hover {
  background-color: var(--aicarm-tertiary) !important;
  box-shadow: 0 6px 20px rgba(167, 0, 93, 0.4) !important;  /* Aggiornato */
}

/* SECONDARY - Azione secondaria */
.aicarm-button-secondary {
  background-color: var(--aicarm-secondary) !important;
  box-shadow: 0 4px 12px rgba(122, 0, 66, 0.3) !important;
}

.aicarm-button-secondary:hover {
  background-color: #950052 !important;
  box-shadow: 0 6px 20px rgba(122, 0, 66, 0.4) !important;
}

/* TERTIARY - Azione terziaria */
.aicarm-button-tertiary {
  background-color: var(--aicarm-tertiary) !important;
  box-shadow: 0 4px 12px rgba(198, 42, 128, 0.3) !important;
}

.aicarm-button-tertiary:hover {
  background-color: #da4793 !important;
  box-shadow: 0 6px 20px rgba(198, 42, 128, 0.4) !important;
}

/* NEUTRAL VERDE */
.aicarm-button-neutral-verde {
  background: linear-gradient(135deg, var(--aicarm-neutral-verde) 0%, #427670 100%) !important;
  box-shadow: 0 4px 12px rgba(78, 137, 126, 0.3) !important;
}

.aicarm-button-neutral-verde:hover {
  background: linear-gradient(135deg, var(--aicarm-neutral-verde-hover) 0%, #2f5a54 100%) !important;
  box-shadow: 0 6px 20px rgba(78, 137, 126, 0.4) !important;
}

/* NEUTRAL AZZURRO */
.aicarm-button-neutral-azzurro {
  background: linear-gradient(135deg, var(--aicarm-neutral-azzurro) 0%, #35738a 100%) !important;
  box-shadow: 0 4px 12px rgba(60, 130, 146, 0.3) !important;
}

.aicarm-button-neutral-azzurro:hover {
  background: linear-gradient(135deg, var(--aicarm-neutral-azzurro-hover) 0%, #255763 100%) !important;
  box-shadow: 0 6px 20px rgba(60, 130, 146, 0.4) !important;
}

/* DARK - Azioni scure */
.aicarm-button-dark {
  background-color: var(--aicarm-dark) !important;
  box-shadow: 0 4px 12px rgba(51, 51, 51, 0.3) !important;
}

.aicarm-button-dark:hover {
  background-color: #555 !important;
  box-shadow: 0 6px 20px rgba(51, 51, 51, 0.4) !important;
}

/* OUTLINE - Azioni meno invasive */
.aicarm-button-outline {
  border: 2px solid var(--aicarm-primary) !important;
  background-color: transparent !important;
  color: var(--aicarm-primary) !important;
  box-shadow: 0 4px 12px rgba(167, 0, 93, 0.2) !important;  /* Aggiornato */
}

.aicarm-button-outline:hover {
  background-color: var(--aicarm-primary) !important;
  color: white !important;
  box-shadow: 0 6px 20px rgba(167, 0, 93, 0.4) !important;  /* Aggiornato */
}

/* SUCCESS - Azioni di successo */
.aicarm-button-success {
  background-color: var(--aicarm-success) !important;
  box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3) !important;
}

.aicarm-button-success:hover {
  background-color: #218838 !important;
  box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4) !important;
}

/* WARNING - Azioni di avvertimento */
.aicarm-button-warning {
  background-color: var(--aicarm-warning) !important;
  color: var(--aicarm-dark) !important;
  box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3) !important;
}

.aicarm-button-warning:hover {
  background-color: #e0a800 !important;
  color: var(--aicarm-dark) !important;
  box-shadow: 0 6px 20px rgba(255, 193, 7, 0.4) !important;
}

/* DANGER - Azioni pericolose */
.aicarm-button-danger {
  background-color: var(--aicarm-danger) !important;
  box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3) !important;
}

.aicarm-button-danger:hover {
  background-color: #c82333 !important;
  box-shadow: 0 6px 20px rgba(220, 53, 69, 0.4) !important;
}

/* ===========================
   ALIAS PER RETROCOMPATIBILITÀ
   =========================== */
.aicarm-button-modern {
  background: linear-gradient(135deg, var(--aicarm-neutral) 0%, var(--aicarm-neutral-hover) 100%) !important;
  box-shadow: 0 4px 12px rgba(90, 124, 122, 0.3) !important;
}

.aicarm-button-modern:hover {
  background: linear-gradient(135deg, var(--aicarm-neutral-hover) 0%, #3a5b59 100%) !important;
  box-shadow: 0 6px 20px rgba(90, 124, 122, 0.4) !important;
}

/* ===============================
   VARIANTI DIMENSIONI
   =============================== */

/* Pulsanti compatti */
.aicarm-button-compact {
  padding: 15px 18px !important;
  font-size: 14px !important;
  min-height: 50px !important;
  border-radius: 15px !important;
}

/* Pulsanti grandi */
.aicarm-button-large {
  padding: 30px 25px !important;
  font-size: 18px !important;
  min-height: 90px !important;
  border-radius: 25px !important;
}

/* ===============================
   CONTENITORI PULSANTI
   =============================== */
.aicarm-buttons-container {
  display: flex !important;
  gap: 15px !important;
  align-items: stretch !important;
  margin-bottom: 15px !important;
}

.aicarm-modern-grid {
  width: 100% !important;
  overflow: hidden !important;
}

.aicarm-modern-text {
  text-align: left;
  font-size: 16px;
  color: #333;
  margin: 20px 0;
  line-height: 1.5;
}

/* ===============
   LISTE E ALTRO
   =============== */
.aicarm-checklist {
  list-style: none !important;
  padding-left: 0 !important;
}

.aicarm-checklist li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 10px !important;
  list-style-type: none !important;
}

.aicarm-checklist li:before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--aicarm-primary) !important;
  font-weight: bold !important;
}

.aicarm-anchorlist {
  list-style: none !important;
  padding-left: 0 !important;
}

.aicarm-anchorlist li {
  position: relative !important;
  padding-left: 28px !important;
  margin-bottom: 10px !important;
  list-style-type: none !important;
}

.aicarm-anchorlist li:before {
  content: "•" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--aicarm-primary) !important;
  font-weight: bold !important;
}

/* ===============
   DIVISORI
   =============== */
.aicarm-divider {
  height: 2px !important;
  background: linear-gradient(to right, var(--aicarm-primary), transparent) !important;
  margin: 30px 0 !important;
  border: none !important;
  clear: both !important;
}

.aicarm-divider-center {
  height: 2px !important;
  background: linear-gradient(to right, transparent, var(--aicarm-primary), transparent) !important;
  margin: 30px 0 !important;
  border: none !important;
  clear: both !important;
}

.aicarm-divider-solid {
  height: 1px !important;
  background-color: var(--aicarm-primary) !important;
  margin: 30px 0 !important;
  border: none !important;
  clear: both !important;
}

.aicarm-divider-dashed {
  height: 1px !important;
  border: none !important;
  border-top: 1px dashed var(--aicarm-primary) !important;
  margin: 30px 0 !important;
  clear: both !important;
}

.aicarm-divider-dark {
  height: 1px !important;
  background: linear-gradient(to right, var(--aicarm-dark), transparent) !important;
  margin: 30px 0 !important;
  border: none !important;
  clear: both !important;
}

/* ==================
   UTILITÀ E LAYOUT
   ================== */
.aicarm-text-center {
  text-align: center !important;
}

.aicarm-text-right {
  text-align: right !important;
}

/* Classi per margini */
.aicarm-mt-0 { margin-top: 0 !important; }
.aicarm-mb-0 { margin-bottom: 0 !important; }
.aicarm-mt-10 { margin-top: 10px !important; }
.aicarm-mb-10 { margin-bottom: 10px !important; }
.aicarm-mt-15 { margin-top: 15px !important; }
.aicarm-mb-15 { margin-bottom: 15px !important; }
.aicarm-mt-20 { margin-top: 20px !important; }
.aicarm-mb-20 { margin-bottom: 20px !important; }
.aicarm-mt-30 { margin-top: 30px !important; }
.aicarm-mb-30 { margin-bottom: 30px !important; }
.aicarm-mt-40 { margin-top: 40px !important; }
.aicarm-mb-40 { margin-bottom: 40px !important; }

/* Classi per padding */
.aicarm-p-0 { padding: 0 !important; }
.aicarm-p-5 { padding: 5px !important; }
.aicarm-p-10 { padding: 10px !important; }
.aicarm-p-20 { padding: 20px !important; }
.aicarm-p-30 { padding: 30px !important; }

/* Classi per larghezza */
.aicarm-w-100 { width: 100% !important; }
.aicarm-w-75 { width: 75% !important; }
.aicarm-w-50 { width: 50% !important; }
.aicarm-w-25 { width: 25% !important; }

/* Classi per display */
.aicarm-d-block { display: block !important; }
.aicarm-d-inline { display: inline !important; }
.aicarm-d-inline-block { display: inline-block !important; }
.aicarm-d-flex { display: flex !important; }
.aicarm-d-none { display: none !important; }

/* Classi per allineamento flex */
.aicarm-flex-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.aicarm-flex-between {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

.aicarm-flex-column {
  display: flex !important;
  flex-direction: column !important;
}

/* Blocco codice per documentazione */
.aicarm-code-block {
  background-color: #f5f5f5 !important;
  border-radius: 4px !important;
  padding: 10px !important;
  margin: 10px 0 !important;
  font-family: monospace !important;
  white-space: pre-wrap !important;
  word-break: break-all !important;
  font-size: 14px !important;
  color: #333 !important;
  border: 1px solid #ddd !important;
}

/* ==================
   PALETTE COLORI
   ================== */
.aicarm-color-palette {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  margin: 20px 0 !important;
}

.aicarm-color-box {
  width: 120px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.aicarm-color-sample {
  height: 80px !important;
  width: 100% !important;
}

.aicarm-color-info {
  background-color: white !important;
  padding: 8px !important;
  text-align: center !important;
  font-family: monospace !important;
  font-size: 12px !important;
}

/* ====================
   GESTIONE IMMAGINI
   ==================== */
.aicarm-img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 6px !important;
  display: block !important;
}
  
.aicarm-img-centered {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
  
.aicarm-img-shadow {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}
  
.aicarm-img-bordered {
  border: 1px solid #eee !important;
  padding: 4px !important;
  background-color: white !important;
}
  
.aicarm-img-rounded {
  border-radius: 50% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
}
  
.aicarm-img-caption {
  text-align: center !important;
  font-style: italic !important;
  color: #666 !important;
  margin-top: 8px !important;
  font-size: 0.9rem !important;
}

.aicarm-img-container.aicarm-text-center .aicarm-img-caption {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 90% !important;
}
  
.aicarm-img-container {
  margin: 20px 0 !important;
}
  
.aicarm-img-gallery {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  margin: 20px 0 !important;
}
  
.aicarm-img-gallery-item {
  flex: 0 0 calc(33.33% - 10px) !important;
  margin: 0 !important;
}

/* ==================
   SPEAKER CARD
   ================== */
.aicarm-speaker-card {
  display: flex !important;
  align-items: center !important;
  padding: 20px !important;
  background-color: var(--aicarm-gray) !important;
  border-radius: 10px !important;
  box-shadow: 0 3px 10px rgba(0,0,0,0.05) !important;
  margin: 20px 0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  box-sizing: border-box !important;
}
  
.aicarm-speaker-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 15px rgba(0,0,0,0.1) !important;
}
  
.aicarm-speaker-avatar {
  width: 100px !important;
  height: 100px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12) !important;
  aspect-ratio: 1/1 !important;
  flex-shrink: 0 !important;
}
  
.aicarm-speaker-details {
  margin-left: 20px !important;
  flex: 1 !important;
}
  
.aicarm-speaker-name {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 5px !important;
}
  
.aicarm-speaker-link {
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: var(--aicarm-primary) !important;
  text-decoration: none !important;
  margin-left: 10px !important;
}
  
.aicarm-speaker-link:hover {
  text-decoration: underline !important;
}
  
.aicarm-speaker-job {
  color: var(--aicarm-secondary) !important;
  font-size: 0.95rem !important;
}
  
.aicarm-person-icon {
  width: 24px !important;
  height: 24px !important;
  fill: var(--aicarm-secondary) !important;
}

.aicarm-speakers-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 20px 0 !important;
}

.aicarm-speakers-row > div {
  padding: 10px 5px !important;
  width: 50% !important;
}

.aicarm-speakers-row .aicarm-speaker-card {
  width: 100% !important;
  margin: 0 !important;
  height: 100% !important;
}
  
.aicarm-speaker-card-compact {
  padding: 15px !important;
}
  
.aicarm-speaker-card-compact .aicarm-speaker-avatar {
  width: 70px !important;
  height: 70px !important;
}
  
.aicarm-speaker-card-compact .aicarm-speaker-link {
  font-size: 1.1rem !important;
}

/* ===============================
   LINK TESTUALI AICARM
   =============================== */

/* Link base per azioni secondarie */
.aicarm-link {
  color: var(--aicarm-primary) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
}

.aicarm-link:hover {
  color: var(--aicarm-secondary) !important;
  text-decoration: underline !important;
  transform: translateX(2px) !important;
}

/* Link con freccia (per "Leggi articolo", "Scopri di più") */
.aicarm-link-arrow {
  color: var(--aicarm-primary) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  position: relative !important;
  padding-right: 18px !important;
}

.aicarm-link-arrow:after {
  content: "→" !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  transition: transform 0.3s ease !important;
  color: var(--aicarm-primary) !important;
}

.aicarm-link-arrow:hover {
  color: var(--aicarm-secondary) !important;
  text-decoration: none !important;
}

.aicarm-link-arrow:hover:after {
  transform: translateX(4px) !important;
  color: var(--aicarm-secondary) !important;
}

/* Link sottolineato sempre visibile */
.aicarm-link-underlined {
  color: var(--aicarm-primary) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--aicarm-tertiary) !important;
  text-underline-offset: 3px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
}

.aicarm-link-underlined:hover {
  color: var(--aicarm-secondary) !important;
  text-decoration-color: var(--aicarm-secondary) !important;
  transform: translateY(-1px) !important;
}

/* Link prominente (a metà strada tra link e pulsante) */
.aicarm-link-prominent {
  color: var(--aicarm-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 1.1em !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  padding: 5px 0 !important;
}

.aicarm-link-prominent:hover {
  color: var(--aicarm-secondary) !important;
  border-bottom-color: var(--aicarm-secondary) !important;
  transform: translateY(-1px) !important;
}

/* Varianti colori per i link */
.aicarm-link-secondary {
  color: var(--aicarm-secondary) !important;
}

.aicarm-link-secondary:hover {
  color: var(--aicarm-tertiary) !important;
}

.aicarm-link-neutral {
  color: var(--aicarm-neutral) !important;
}

.aicarm-link-neutral:hover {
  color: var(--aicarm-neutral-hover) !important;
}

.aicarm-link-dark {
  color: var(--aicarm-dark) !important;
}

.aicarm-link-dark:hover {
  color: var(--aicarm-primary) !important;
}

/* Link per testo destro (come negli snippet newsletter) */
.aicarm-link-right {
  text-align: right !important;
  display: block !important;
  margin-top: 10px !important;
}

/* =============================
   FOOTER E SOCIAL MEDIA
   ============================= */

/* SOLO CSS per i Social Media */
.aicarm-social-container {
  margin-top: 25px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,0.3) !important;
}

.aicarm-social-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-bottom: 15px !important;
  color: white !important;
}

.aicarm-social-links {
  display: flex !important;
  gap: 15px !important;
}

.aicarm-social-link {
  display: inline-block !important;
  position: relative !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  background-color: rgba(255,255,255,0.2) !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.aicarm-social-link:hover {
  background-color: white !important;
  transform: translateY(-3px) scale(1.1) !important;
}

.aicarm-social-link svg {
  width: 18px !important;
  height: 18px !important;
  fill: white !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  transition: fill 0.3s ease !important;
}

.aicarm-social-link:hover svg {
  fill: var(--aicarm-primary) !important;
}

/* Stili specifici per il footer usando le classi AICARM */
.aicarm-footer-custom {
  background-color: #911d53 !important;
  color: var(--aicarm-light) !important;
}

.aicarm-footer-custom h2,
.aicarm-footer-custom h3 {
  color: var(--aicarm-light) !important;
  font-size: 1.5rem !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.aicarm-footer-custom p,
.aicarm-footer-custom li {
  color: rgba(255,255,255,0.9) !important;
  line-height: 1.6 !important;
}

.aicarm-footer-custom a {
  color: var(--aicarm-light) !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  display: block !important;
  padding: 5px 0 !important;
}

.aicarm-footer-custom a:hover {
  color: var(--aicarm-tertiary) !important;
  transform: translateX(5px) !important;
}

.aicarm-footer-custom ul {
  list-style: none !important;
  padding: 0 !important;
}

.aicarm-footer-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  gap: 40px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.aicarm-footer-logo {
  max-width: 200px !important;
  height: auto !important;
  filter: brightness(0) invert(1) !important;
}

/* Stili per la barra copyright */
.aicarm-copyright-bar {
  background-color: var(--aicarm-secondary) !important;
  color: rgba(255, 255, 255, 0.9) !important;
  padding: 15px 0 !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  width: 100% !important;
}

.aicarm-copyright-content {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 30px !important;
}

.aicarm-copyright-bar a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: underline !important;
  transition: all 0.3s ease !important;
}

.aicarm-copyright-bar a:hover {
  color: white !important;
  text-decoration: none !important;
}

/* ============================
   MODULI MC4WP (NEWSLETTER)
   ============================ */

/* Stili per i moduli MC4WP (MailChimp for WordPress) */
.mc4wp-form input[type="email"],
.mc4wp-form input[type="text"],
.mc4wp-form textarea,
.mc4wp-form select,
input[name="FNAME"],
input[name="LNAME"],
input[name="EMAIL"] {
  border: 2px solid #ddd !important;
  border-radius: 6px !important;
  padding: 12px 15px !important;
  font-size: 16px !important;
  font-family: 'Arial', sans-serif !important;
  transition: all 0.3s ease !important;
  background-color: white !important;
  color: var(--aicarm-dark) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Stato focus - usa colori AICARM (rimuove il verde di default) */
.mc4wp-form input[type="email"]:focus,
.mc4wp-form input[type="text"]:focus,
.mc4wp-form textarea:focus,
.mc4wp-form select:focus,
input[name="FNAME"]:focus,
input[name="LNAME"]:focus,
input[name="EMAIL"]:focus {
  border-color: var(--aicarm-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(167, 0, 93, 0.2) !important;  /* Aggiornato */
}

/* Stili per il checkbox */
input[name="AGREE_TO_TERMS"] {
  margin-right: 8px !important;
  transform: scale(1.2) !important;
  accent-color: var(--aicarm-primary) !important;
}

/* Stile per il label del checkbox */
input[name="AGREE_TO_TERMS"] + a {
  color: var(--aicarm-dark) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Pulsante submit in stile AICARM */
.mc4wp-form input[type="submit"],
.mc4wp-form button[type="submit"],
.aicarm-button-small {
  background-color: var(--aicarm-primary) !important;
  color: white !important;
  border: none !important;
  border-radius: 15px !important;
  padding: 15px 25px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  font-family: 'Arial', sans-serif !important;
  min-height: 50px !important;
}

.mc4wp-form input[type="submit"]:hover,
.mc4wp-form button[type="submit"]:hover,
.aicarm-button-small:hover {
  background-color: var(--aicarm-secondary) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(167, 0, 93, 0.3) !important;  /* Aggiornato */
}

/* Messaggi di stato MC4WP */
.mc4wp-success {
  color: var(--aicarm-success) !important;
  background-color: rgba(40, 167, 69, 0.1) !important;
  border: 1px solid var(--aicarm-success) !important;
  border-radius: 6px !important;
  padding: 12px 15px !important;
  margin: 10px 0 !important;
}

.mc4wp-error {
  color: var(--aicarm-danger) !important;
  background-color: rgba(220, 53, 69, 0.1) !important;
  border: 1px solid var(--aicarm-danger) !important;
  border-radius: 6px !important;
  padding: 12px 15px !important;
  margin: 10px 0 !important;
}

/* ===============================
   MEDIA QUERIES RAGGRUPPATE
   =============================== */

/* Tablet - 768px e inferiori */
@media (max-width: 768px) {
  /* Titoli responsive */
  .aicarm-subtitle { 
    font-size: 1.3rem !important; 
  }
  
  .fusion-body h1, .post-content h1 { 
    font-size: 1.5rem !important; 
  }
  
  .fusion-body h2, .post-content h2 { 
    font-size: 1.3rem !important; 
  }
  
  .fusion-body h3, .post-content h3 { 
    font-size: 1.1rem !important; 
  }
  
  .fusion-body h4, .post-content h4 { 
    font-size: 1rem !important; 
  }
  
  .fusion-body h5, .post-content h5 { 
    font-size: 0.95rem !important; 
  }

  /* Contenitori responsive */
  .aicarm-section,
  .aicarm-bordered-box,
  .aicarm-highlight-box,
  .aicarm-info-box,
  .aicarm-card-box,
  .aicarm-cta-box {
    padding: 15px !important;
  }

  /* Layout flex responsive */
  .aicarm-flex-between {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  /* Larghezza colonne responsive */
  .aicarm-w-50,
  .aicarm-w-25,
  .aicarm-w-75 {
    width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 15px !important;
  }

  /* Pulsanti responsive */
  .aicarm-button {
    padding: 20px 15px !important;
    font-size: 15px !important;
    min-height: 70px !important;
    border-radius: 15px !important;
    margin-right: 0 !important;
  }

  .aicarm-buttons-container {
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  .aicarm-buttons-container .aicarm-button {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 140px !important;
    margin-right: 0 !important;
  }

  .aicarm-modern-text {
    font-size: 15px !important;
    margin: 15px 0 !important;
  }

  /* Speaker card responsive */
  .aicarm-speaker-card {
    flex-direction: column !important;
    text-align: center !important;
    padding: 15px !important;
  }

  .aicarm-speaker-details {
    margin-left: 0 !important;
    margin-top: 15px !important;
  }

  .aicarm-speaker-name {
    justify-content: center !important;
  }

  .aicarm-speakers-row {
    flex-direction: column !important;
  }

  .aicarm-speakers-row > div {
    width: 100% !important;
    padding: 10px 0 !important;
  }

  .aicarm-img-gallery-item {
    flex: 0 0 calc(50% - 8px) !important;
  }

  /* Link responsive */
  .aicarm-link,
  .aicarm-link-arrow,
  .aicarm-link-underlined,
  .aicarm-link-prominent {
    font-size: 0.95em !important;
  }

  /* Su mobile riduci gli effetti di movimento */
  .aicarm-link:hover,
  .aicarm-link-underlined:hover,
  .aicarm-link-prominent:hover {
    transform: none !important;
  }

  .aicarm-link-arrow:hover:after {
    transform: translateX(2px) !important;
  }

  /* Footer responsive */
  .aicarm-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
  }

  .aicarm-social-links {
    justify-content: flex-start !important;
  }

  /* Copyright bar responsive */
  .aicarm-copyright-content {
    padding: 0 20px !important;
  }

  .aicarm-copyright-bar {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  /* Tabelle responsive */
  .aicarm-table {
    font-size: 12px !important;
  }
  
  .aicarm-table th,
  .aicarm-table td {
    padding: 8px !important;
  }
}

/* Mobile - 480px e inferiori */
@media (max-width: 480px) {
  /* Contenitori mobile */
  .aicarm-section,
  .aicarm-bordered-box,
  .aicarm-highlight-box,
  .aicarm-info-box,
  .aicarm-card-box,
  .aicarm-cta-box {
    padding: 10px !important;
  }

  /* Pulsanti mobile */
  .aicarm-button {
    padding: 18px 20px !important;
    font-size: 14px !important;
    min-height: 60px !important;
    border-radius: 12px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  .aicarm-buttons-container {
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .aicarm-buttons-container .aicarm-button {
    flex: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  .aicarm-button-compact {
    padding: 12px 15px !important;
    font-size: 13px !important;
    min-height: 45px !important;
    border-radius: 10px !important;
  }

  .aicarm-modern-text {
    font-size: 14px !important;
    margin: 12px 0 !important;
  }

  /* Tipografia mobile */
  body, p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  .fusion-body h1, .post-content h1 { 
    font-size: 1.4rem !important; 
  }
  
  .fusion-body h2, .post-content h2 { 
    font-size: 1.2rem !important; 
  }

  .aicarm-img-gallery-item {
    flex: 0 0 100% !important;
  }

  /* Footer mobile */
  .aicarm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 25px !important;
  }

  .aicarm-social-container {
    text-align: center !important;
  }

  .aicarm-social-links {
    justify-content: center !important;
  }

  /* Tabelle mobile */
  .aicarm-table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }
}

/* Ultra mobile - 320px e inferiori */
@media (max-width: 320px) {
  .aicarm-buttons-container .aicarm-button {
    padding: 15px 15px !important;
    font-size: 13px !important;
    min-height: 50px !important;
    border-radius: 12px !important;
  }
}