/* ===========================
   HOME25 — CSS snello
   =========================== */

/* PALETTE MINIMA */
:root{
  --home25-dark:#0a1034;
  --home25-text:#1b2559;
  --home25-muted:#5b6470;
  --home25-blue:#0b63f6;
  --home25-blue-600:#155eef;
  --home25-red:#e11d2e;
  --home25-yellow:#ffc400;
  --home25-gray-200:#e5e8ee;
  --home25-shadow:0 10px 24px rgba(16,24,40,.08);
}

/* CONTAINER */
.home25-container{max-width:1140px;margin:0 auto;padding:32px 16px}


/* INTRO CEART con sfondo sfumato */
.cms-id-61 .home25-intro {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 64px 16px 48px; /* un po' più respiro sopra e sotto */
  background: linear-gradient(180deg, #eef5ff 0%, #ffffff 70%);
  text-align: center;
}

/* Contenitore interno centrato con margini laterali */
.cms-id-61 .home25-intro-inner {
  max-width: 1140px;      /* larghezza massima del contenuto */
  margin: 0 auto;         /* centra il contenuto */
  padding: 0 24px;        /* margine destro e sinistro */
}

.cms-id-61 .home25-intro h2 {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: var(--home25-dark);
  margin-bottom: 12px;
}

.cms-id-61 .home25-intro-sub {
  font-size: 16px;
  line-height: 1.5;
  color: var(--home25-muted);
  max-width: 800px;
  margin: 0 auto 24px;   /* centra anche il paragrafo */
}

.cms-id-61 .home25-intro-cta a {
  margin: 0 8px;
}





/* HERO */
.home25-hero{background:none);padding:72px 0 48px;text-align:center}
.home25-hero-title{font-size:clamp(28px,4.2vw,48px);line-height:1.12;margin:0 0 12px;color:var(--home25-dark);font-weight:800;letter-spacing:-.2px}
.home25-sub{color:var(--home25-muted);margin:0 0 22px;font-size:clamp(15px,2vw,18px)}

/* BUTTONS */
.home25-btn{display:inline-block;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .15s,box-shadow .15s,background-color .2s,color .2s;box-shadow:var(--home25-shadow)}
.home25-btn-red{background:var(--home25-red);color:#fff}
.home25-btn-blue{background:var(--home25-blue);color:#fff}
.home25-btn-outline{background:#fff;color:var(--home25-blue-600);border:1px solid var(--home25-blue-600);box-shadow:none}
.home25-btn:hover{transform:translateY(-1px)}
.home25-btn:focus-visible{outline:3px solid #111;outline-offset:2px}
.home25-cta a{margin:0 8px}

/* SEZIONE MACRO-CATEGORIE */
.home25-grid{padding:30px 16px 8px}
.home25-grid h2{text-align:center;margin:0 0 22px;color:var(--home25-dark);font-size:clamp(28px,3vw,40px);font-weight:800}
.home25-grid-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1140px;margin:0 auto}

/* CARD (anchor con icona + testi span) */
.home25-grid-inner>a.home25-card{
  display:flex;align-items:center;gap:14px;text-align:left;width:100%;
  padding:16px 18px;border-radius:18px;border:1px solid var(--home25-gray-200);
  background:#fff;box-shadow:var(--home25-shadow);color:var(--home25-text);
  text-decoration:none;float:none;transition:transform .15s,box-shadow .15s
}
.home25-grid-inner>a.home25-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(16,24,40,.14);border-color:rgba(11,99,246,.35)}
.home25-grid-inner>a.home25-card:focus-visible{outline:3px solid #0b63f6;outline-offset:2px}

/* Icona */
.home25-card .home25-ico{width:120px;height:120px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* Testi (span) */
.home25-card .home25-info{display:flex;flex-direction:column;min-width:0}
.home25-card .home25-title{display:block;margin:0 0 4px;font-weight:800;font-size:26px;color:var(--home25-dark);line-height:1.2}
.home25-card .home25-desc{display:block;margin:0;font-size:16.5px;color:#4f5a6b;line-height:1.35}

/* VARIANTI COLORE CARD */
.home25-card.home25-yellow{background:#ffefad;border-color:#ffd84a}
.home25-card.home25-blue{background:#e7efff;border-color:#bcd1ff}
.home25-card.home25-orange{background:#ffe0c8;border-color:#ffc299}
.home25-card.home25-gray{background:#eef2f6;border-color:#d9e0ea}
.home25-card.home25-green{background:#dcf9ed;border-color:#b8f0da}
.home25-card.home25-red{background:#ffd7db;border-color:#ffb0b9}

/* WIZARD */
.home25-wizard{text-align:center;padding:22px 16px 0}
.home25-wizard h2{font-size:clamp(20px,2.6vw,28px);margin:0 0 10px;color:var(--home25-dark);font-weight:800}
.home25-wizard-actions{margin-top:6px}
.home25-chip{display:inline-block;margin:8px 6px;padding:10px 16px;border-radius:999px;font-weight:800;text-decoration:none;color:#0f172a;border:1px solid transparent;transition:transform .15s,box-shadow .15s;box-shadow:var(--home25-shadow)}
.home25-chip:hover{transform:translateY(-1px)}
.home25-chip:focus-visible{outline:3px solid #111;outline-offset:2px}
.home25-chip-yellow{background:var(--home25-yellow)}
.home25-chip-blue{background:var(--home25-blue);color:#fff}
.home25-chip-orange{background:#ff9a3e;color:#172b4d}
.home25-chip-orange::after{content:" \203A";font-weight:900} /* › */

/* TRUST */
.home25-trust{padding:20px 16px 10px}
.home25-trust h2{text-align:center;margin:0 0 14px;color:var(--home25-dark);font-size:clamp(20px,2.6vw,28px);font-weight:800}
.home25-trust-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:980px;margin:0 auto;padding:0}
.home25-trust-grid li{text-align:center;background:#fff;border:1px solid var(--home25-gray-200);border-radius:16px;padding:16px 10px;font-size:18px;font-weight:600;color:var(--home25-text);box-shadow:0 10px 20px rgba(16,24,40,.08)}

/* FEATURED */
.home25-featured{text-align:center;padding:26px 16px}
.home25-featured h2{font-weight:800;color:var(--home25-dark);margin-bottom:10px}
.home25-hint{color:var(--home25-muted)}

/* HELP BOX */
.home25-help{padding:24px 16px 32px}
.home25-help-box{max-width:980px;margin:0 auto;background:#eef4ff;border:1px solid #cfe1ff;border-radius:18px;padding:22px 18px;text-align:center;box-shadow:var(--home25-shadow)}
.home25-help-box h3{margin:0 0 6px;font-size:clamp(18px,2.4vw,24px);color:var(--home25-dark);font-weight:800}
.home25-help-box p{margin:0 0 10px;color:var(--home25-muted)}
.home25-help-actions .home25-btn{margin:6px}

/* RESPONSIVE */
@media (max-width:991px){
  .home25-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .home25-cta a{margin:6px 4px}
  .home25-grid-inner{grid-template-columns:1fr;gap:16px}
  .home25-trust-grid{grid-template-columns:1fr 1fr}
  .home25-hero{padding:56px 0 36px}
}
/* ====== SLIDER FULL-BLEED PER HOME DEMO ====== */

/* 1) Rompi i limiti del container del tema */
.cms-id-61 .home25-slider {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

.cms-id-61 .home25-slider .zoneslideshow,
.cms-id-61 .home25-slider .nivoSlider {
  width: 100% !important;
  max-width: 100% !important;
}

.cms-id-61 .home25-slider .nivoSlider img {
  width: 100% !important;
  height: auto !important;
  display: block;
}


/* 2) Neutralizza container/row interni eventualmente stampati dal modulo/tema */
.cms-id-61 .home25-slider .container,
.cms-id-61 .home25-slider .st-container,
.cms-id-61 .home25-slider .row{
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 3) Assicura che il wrapper dello slideshow e le immagini riempiano tutto */
.cms-id-61 .home25-slider .zoneslideshow,
.cms-id-61 .home25-slider .nivoSlider{
  width: 100% !important;
  max-width: 100% !important;
}

.cms-id-61 .home25-slider .nivoSlider img{
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* 4) Se il tema chiude l’overflow sul content, sblocchiamolo SOLO in questa pagina */
.cms-id-61 #content, 
.cms-id-61 .page-content{
  overflow: visible !important;
}

/* Full width per tutte le sezioni della nuova home */
.cms-id-61 section[class^="home25-"] {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

/* Contenitori interni centrati con margini naturali */
.cms-id-61 .home25-container,
.cms-id-61 .home25-grid-inner,
.cms-id-61 .home25-wizard-actions,
.cms-id-61 .home25-trust-grid,
.cms-id-61 .home25-featured,
.cms-id-61 .home25-help-box {
  max-width: 1140px;   /* puoi aumentare fino a 1280px se vuoi più ampio */
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Contenitore delle card: layout flessibile con righe elastiche */
.home25-grid-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* Each card behaves like a flex column that can stretch */
.home25-grid-inner > a.home25-card {
  display: flex;
  flex-direction: column;
  flex: 1 0 calc(33.33% - 20px); /* adatta a 3 per riga – regola se necessario */
}

/* Per allineare contenuti verticali dentro la card (opzionale) */
.home25-grid-inner > a.home25-card .home25-info {
  flex: 1; 
}







 