/* =====================================================================
   ABX Redesign — Landing "I.T.S. Academy" (page ID 18329)
   Linguaggio visivo "Bandi": card bianche, accenti ambra, heading navy,
   CTA blu -> hover ambra, form CF7 on-brand.
   TUTTO scoped a .elementor-page-18329 per non far leakare le classi
   tm-image-box / tm-icon-box usate anche altrove.
   Variabili --abx-* definite in redesign.css.
   ===================================================================== */

/* =====================================================================
   1) CARD "LE NOSTRE SOLUZIONI"  ->  .tm-image-box.style-03
      Stile OVERLAY (coerente con le pagine gemelle Licei/Asilo/Infanzia/
      Ist.Comprensivi): la "card" e' l'.image-wrap (immagine + gradiente
      scuro del tema + titolo BIANCO overlay). Aggiungo cornice/ombra,
      hover lift + barra ambra (::after, perche' ::before = gradiente) +
      zoom immagine. Le tile hanno solo il titolo -> overlay riempie meglio
      della versione con testo sotto.
   ===================================================================== */
.elementor-page-18329 .tm-image-box.style-03 .image-wrap{
  position:relative;
  border-radius:var(--abx-radius-card) !important;
  border:1px solid var(--abx-border);
  box-shadow:var(--abx-shadow);
  overflow:hidden;
  transition:transform var(--abx-ease), box-shadow var(--abx-ease),
             border-color var(--abx-ease);
}
.elementor-page-18329 .tm-image-box.style-03 .edumall-image{ display:block; overflow:hidden; }
.elementor-page-18329 .tm-image-box.style-03 .edumall-image img{
  display:block; width:100%; height:auto;
  aspect-ratio:16/10; object-fit:cover;
  transition:transform .55s var(--abx-ease);
}
/* barra ambra in alto (::before del tema = gradiente -> uso ::after) */
.elementor-page-18329 .tm-image-box.style-03 .image-wrap::after{
  content:""; position:absolute; top:0; left:0; right:0; height:4px; z-index:3;
  background:var(--abx-amber);
  transform:scaleX(0); transform-origin:left;
  transition:transform var(--abx-ease);
}
.elementor-page-18329 .tm-image-box.style-03:hover .image-wrap{
  transform:translateY(-4px);
  box-shadow:var(--abx-shadow-md);
  border-color:#CBD8E8;
}
.elementor-page-18329 .tm-image-box.style-03:hover .image-wrap::after{ transform:scaleX(1); }
.elementor-page-18329 .tm-image-box.style-03:hover .edumall-image img{ transform:scale(1.06); }
/* titolo overlay bianco leggibile sul gradiente (max 2 righe) */
.elementor-page-18329 .tm-image-box.style-03 .title{
  color:#fff !important;
  font-weight:700 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}

/* =====================================================================
   2) CARD FEATURE  ->  .tm-icon-box.edumall-box
      (Laboratori su Misura / Apprendimento Pratico / Innovazione e Futuro)
   ===================================================================== */
.elementor-page-18329 .tm-icon-box.edumall-box{
  display:block;
  background:#fff;
  border:1px solid var(--abx-border);
  border-radius:var(--abx-radius-card);
  box-shadow:var(--abx-shadow);
  padding:26px 26px 24px;
  position:relative;
  overflow:hidden;
  transition:transform var(--abx-ease), box-shadow var(--abx-ease),
             border-color var(--abx-ease);
}
.elementor-page-18329 .tm-icon-box.edumall-box::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--abx-amber);
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--abx-ease);
}
.elementor-page-18329 .tm-icon-box.edumall-box:hover{
  transform:translateY(-4px);
  box-shadow:var(--abx-shadow-md);
  border-color:#CBD8E8;
}
.elementor-page-18329 .tm-icon-box.edumall-box:hover::before{ transform:scaleX(1); }

/* chip icona: solo se un'icona reale e' presente (evita chip vuota) */
.elementor-page-18329 .tm-icon-box.edumall-box .edumall-icon-view:has(i),
.elementor-page-18329 .tm-icon-box.edumall-box .edumall-icon-view:has(svg),
.elementor-page-18329 .tm-icon-box.edumall-box .edumall-icon-view:has(img){
  width:52px; height:52px;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--abx-primary-tint);
  border-radius:12px;
  margin-bottom:16px;
  color:var(--abx-primary);
}
/* comprime l'area icona quando e' vuota, per non lasciare spazi morti */
.elementor-page-18329 .tm-icon-box.edumall-box .edumall-icon-wrap:not(:has(i)):not(:has(svg)):not(:has(img)){
  display:none;
}
.elementor-page-18329 .tm-icon-box.edumall-box .heading{
  color:var(--abx-navy) !important;
  margin:0 0 8px !important;
}
.elementor-page-18329 .tm-icon-box.edumall-box .description{
  color:var(--abx-text) !important;
}

/* =====================================================================
   3) BOTTONI  ->  .tm-button.style-flat  (sfondo su ::before / ::after)
      Rest = blu, hover = ambra, radius 12.
   ===================================================================== */
.elementor-page-18329 .tm-button.style-flat{
  color:#fff !important;
  border-radius:var(--abx-radius) !important;
}
.elementor-page-18329 .tm-button.style-flat .button-text,
.elementor-page-18329 .tm-button.style-flat .button-icon{ color:#fff !important; }
.elementor-page-18329 .tm-button.style-flat::before{
  background:var(--abx-primary) !important;
  border-radius:var(--abx-radius) !important;
}
.elementor-page-18329 .tm-button.style-flat::after{
  background:var(--abx-amber) !important;
  border-radius:var(--abx-radius) !important;
}
.elementor-page-18329 .tm-button.style-flat:hover{ color:var(--abx-navy) !important; }
.elementor-page-18329 .tm-button.style-flat:hover .button-icon,
.elementor-page-18329 .tm-button.style-flat:hover .button-text{ color:var(--abx-navy) !important; }

/* =====================================================================
   4) FORM CF7  ->  .wpcf7  (2 form: hero + "Ricevi maggiori info")
      Campi h~48, radius 12, bordo, focus ring blu; submit blu -> ambra.
      NIENTE modifiche a campi/logica: solo presentazione.
   ===================================================================== */
.elementor-page-18329 .wpcf7 .wpcf7-form-control.wpcf7-text,
.elementor-page-18329 .wpcf7 .wpcf7-form-control.wpcf7-email,
.elementor-page-18329 .wpcf7 input.form-input,
.elementor-page-18329 .wpcf7 textarea.wpcf7-form-control,
.elementor-page-18329 .wpcf7 select.wpcf7-form-control{
  background:#fff !important;
  border:1px solid var(--abx-border) !important;
  border-radius:var(--abx-radius) !important;
  min-height:48px !important;
  color:var(--abx-navy) !important;
  box-shadow:none !important;
  transition:border-color var(--abx-ease), box-shadow var(--abx-ease) !important;
}
.elementor-page-18329 .wpcf7 textarea.wpcf7-form-control{
  min-height:96px !important;
  padding-top:12px !important;
}
.elementor-page-18329 .wpcf7 .wpcf7-form-control.wpcf7-text:focus,
.elementor-page-18329 .wpcf7 .wpcf7-form-control.wpcf7-email:focus,
.elementor-page-18329 .wpcf7 input.form-input:focus,
.elementor-page-18329 .wpcf7 textarea.wpcf7-form-control:focus{
  border-color:var(--abx-primary) !important;
  box-shadow:0 0 0 3px var(--abx-primary-tint) !important;
  outline:none !important;
}
/* icona dentro il campo: colore brand coerente */
.elementor-page-18329 .wpcf7 .form-group .form-icon i{ color:var(--abx-primary) !important; }

/* checkbox privacy leggibile */
.elementor-page-18329 .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label{
  color:var(--abx-text) !important;
}
.elementor-page-18329 .wpcf7 .wpcf7-acceptance input[type="checkbox"]{ accent-color:var(--abx-primary); }
.elementor-page-18329 .wpcf7 .wpcf7-acceptance a{
  color:var(--abx-primary) !important;
  text-decoration:underline;
}

/* submit: blu -> hover ambra */
.elementor-page-18329 .wpcf7 .wpcf7-submit{
  background:var(--abx-primary) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:var(--abx-radius) !important;
  min-height:52px !important;
  font-weight:700 !important;
  box-shadow:var(--abx-shadow) !important;
  transition:transform var(--abx-ease), box-shadow var(--abx-ease),
             background-color var(--abx-ease), color var(--abx-ease) !important;
}
.elementor-page-18329 .wpcf7 .wpcf7-submit:hover{
  background:var(--abx-amber) !important;
  color:var(--abx-navy) !important;
  transform:translateY(-2px);
  box-shadow:var(--abx-shadow-md) !important;
}

/* =====================================================================
   6) LOOK "BANDI / SOLUZIONI" — canvas a tinta fredda uniforme
   Il sito Bandi/Soluzioni ha un canvas #F4F7FB con card bianche che
   "galleggiano". Qui: sfondo pagina tinta + sezioni-contenuto trasparenti
   (mostrano la tinta) ESCLUSI hero scuro (67417f7) e footer navy (8a13121).
   ===================================================================== */
body.elementor-page-18329{ background:#F4F7FB !important; }
.elementor-page-18329 .elementor-element-2142661,
.elementor-page-18329 .elementor-element-802cec8,
.elementor-page-18329 .elementor-element-0ea1693,
.elementor-page-18329 .elementor-element-368f240,
.elementor-page-18329 .elementor-element-f3938b7,
.elementor-page-18329 .elementor-element-60c4bc03{
  background-color:transparent !important;
}
/* la sezione gia' abx-tint (dd8bed6) e' gia' #F4F7FB: la lascio */

/* =====================================================================
   7) INTESTAZIONI DI SEZIONE stile BANDI — barra ambra verticale a sx
   Solo i veri header di sezione (quelli con occhiello = .heading-secondary-wrap):
   niente barra su hero, titoli card o heading senza occhiello.
   ===================================================================== */
.elementor-page-18329 .tm-modern-heading:has(.heading-secondary-wrap){
  position:relative;
  padding-left:22px;
}
.elementor-page-18329 .tm-modern-heading:has(.heading-secondary-wrap)::before{
  content:"";
  position:absolute; left:0; top:5px; bottom:5px;
  width:5px; border-radius:3px;
  background:var(--abx-amber);
}
/* l'occhiello resta ambra maiuscolo tracciato (gia' impostato), rinforzo spacing */
.elementor-page-18329 .heading-secondary-wrap .heading-secondary{
  letter-spacing:.10em;
  margin-bottom:6px !important;
}
