/* ─────────────────────────────────────────────
   ISOLINEA — stylesheet scoped sotto .iso-page
   1:1 con index.html. !important su tutte le dichiarazioni per blindare
   contro eventuali override del tema/tagDiv. (@font-face escluso: lì !important è invalido.)
   I path dei font sono relativi a questo file (Aeonik/ è nella stessa cartella).
───────────────────────────────────────────── */

/* AEONIK FONT — NIENTE !important qui (non valido negli @font-face) */
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-light.woff2') format('woff2'),url('Aeonik/aeonik-light.woff') format('woff'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-light-italic.woff2') format('woff2'),url('Aeonik/aeonik-light-italic.woff') format('woff'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-regular.woff2') format('woff2'),url('Aeonik/aeonik-regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-regular-italic.woff2') format('woff2'),url('Aeonik/aeonik-regular-italic.woff') format('woff'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-medium.woff2') format('woff2'),url('Aeonik/aeonik-medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-medium-italic.woff2') format('woff2'),url('Aeonik/aeonik-medium-italic.woff') format('woff'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-bold.woff2') format('woff2'),url('Aeonik/aeonik-bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Aeonik'; src:url('Aeonik/aeonik-bold-italic.woff2') format('woff2'),url('Aeonik/aeonik-bold-italic.woff') format('woff'); font-weight:700; font-style:italic; font-display:swap; }

/* DESIGN TOKENS */
.iso-page {
  --c-navy:        #2c4194;
  --c-navy-light:  #3a5fb8;
  --c-orange:      #ed8d2c;
  --c-green:       #3aa05e;
  --c-bg:          #ffffff;
  --c-bg-soft:     #f5f7fa;
  --c-text:        #333333;
  --c-text-soft:   #5a6275;
  --c-border:      #e3e7ef;
  --iso-orange:    #fa8f19;
}

.iso-page, .iso-page * { box-sizing: border-box !important; }

/* BASE LAYOUT */
.iso-page {
  font-family: 'Aeonik', system-ui, -apple-system, sans-serif !important;
  font-weight: 400 !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 24px 20px !important;
  -webkit-font-smoothing: antialiased !important;
}
.iso-page p { margin: 12px 0 !important; }
.iso-page strong { font-weight: 700 !important; }
.iso-page em { font-style: italic !important; }
.iso-narrow { max-width: 720px !important; margin-left: auto !important; margin-right: auto !important; }

/* 1. PAGE TITLE */
.iso-title { text-align: center !important; margin: 32px 0 24px !important; }
.iso-title h1 { font-weight: 700 !important; font-size: clamp(28px, 4vw, 40px) !important; color: var(--c-text) !important; letter-spacing: -0.5px !important; line-height: 1.2 !important; margin-bottom: 14px !important; }
.iso-title .iso-by { display: block !important; font-size: 18px !important; margin: 8px 0 14px !important; color: var(--c-text) !important; }
.iso-title .iso-logo { display: block !important; margin: 14px auto !important; max-width: 240px !important; height: auto !important; }

/* 2. INTRO BODY */
.iso-intro p { text-align: center !important; margin: 14px 0 !important; }
.iso-quote { background: var(--c-bg-soft) !important; border-left: 4px solid var(--c-navy) !important; padding: 18px 22px !important; margin: 26px auto !important; font-style: italic !important; max-width: 720px !important; }

/* 3. STATS BANNER */
.iso-stats { background: var(--c-navy) !important; color: #fff !important; padding: 38px 20px !important; margin: 48px calc(-50vw + 50%) !important; }
.iso-stats-inner { max-width: 1100px !important; margin: 0 auto !important; display: flex !important; justify-content: space-around !important; flex-wrap: wrap !important; gap: 24px !important; text-align: center !important; }
.iso-stat { flex: 1 1 200px !important; }
.iso-stat .num { font-size: 42px !important; font-weight: 700 !important; line-height: 1 !important; }
.iso-stat .label { margin-top: 8px !important; font-size: 13px !important; letter-spacing: 0.6px !important; text-transform: uppercase !important; opacity: 0.85 !important; }

/* SECTION PILL */
.iso-section-pill-wrap { text-align: center !important; margin: 60px 0 24px !important; }
.iso-section-pill { display: inline-block !important; background: var(--c-navy) !important; color: #fff !important; font-weight: 700 !important; font-size: 12.5px !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; padding: 9px 20px !important; border-radius: 3px !important; }

/* 4. FEATURE BLOCKS */
.iso-features { max-width: 720px !important; margin: 0 auto !important; }
.iso-feature { border-left: 3px solid var(--c-navy) !important; padding: 4px 0 4px 18px !important; margin: 22px 0 !important; }
.iso-feature strong { display: block !important; font-weight: 700 !important; color: var(--c-text) !important; margin-bottom: 4px !important; }

/* CTA PILL BUTTON */
.iso-cta { display: inline-block !important; background: var(--c-navy) !important; color: #fff !important; text-decoration: none !important; padding: 12px 24px !important; font-weight: 700 !important; letter-spacing: 0.8px !important; text-transform: uppercase !important; font-size: 12.5px !important; border-radius: 4px !important; transition: background .2s !important; }
.iso-cta:hover { background: var(--c-navy-light) !important; }

/* 5. COURSE CARDS */
.iso-courses { max-width: 940px !important; margin: 0 auto !important; }
.iso-course { background: #fff !important; border: 1px solid var(--c-border) !important; border-radius: 6px !important; overflow: hidden !important; margin-bottom: 22px !important; display: flex !important; align-items: stretch !important; }
.iso-course-img { width: 420px !important; flex-shrink: 0 !important; background: var(--c-bg-soft) !important; align-self: stretch !important; }
.iso-course-img img { width: 100% !important; height: 100% !important; min-height: 100% !important; object-fit: cover !important; object-position: center !important; display: block !important; }
.iso-course-body { padding: 22px 24px !important; flex: 1 !important; min-width: 0 !important; }
.iso-course-badge { display: inline-block !important; background: var(--c-navy) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 1px !important; padding: 3px 8px !important; border-radius: 2px !important; text-transform: uppercase !important; margin-bottom: 10px !important; }
.iso-course h4 { font-weight: 700 !important; font-size: 18px !important; margin-bottom: 9px !important; line-height: 1.3 !important; }
.iso-course p { font-size: 13.5px !important; color: var(--c-text-soft) !important; margin-bottom: 11px !important; line-height: 1.55 !important; }
.iso-course-meta { font-size: 12.5px !important; color: var(--c-text-soft) !important; margin-bottom: 14px !important; }
.iso-course-meta span { margin-right: 14px !important; display: inline-block !important; }
.iso-course details { margin-bottom: 14px !important; }
.iso-course details summary { cursor: pointer !important; font-weight: 700 !important; font-size: 13.5px !important; color: var(--c-navy) !important; user-select: none !important; }
.iso-course details ul { list-style: none !important; margin: 8px 0 0 0 !important; padding: 0 !important; }
.iso-course details li { font-size: 13px !important; color: var(--c-text-soft) !important; padding-left: 14px !important; position: relative !important; margin: 3px 0 !important; }
.iso-course details li::before { content: "→" !important; color: var(--iso-orange) !important; position: absolute !important; left: 0 !important; }
.iso-course .note-box { background: #fff7eb !important; border-left: 3px solid var(--iso-orange) !important; padding: 12px 14px !important; font-size: 13.5px !important; margin: 14px 0 !important; border-radius: 0 3px 3px 0 !important; color: var(--c-text) !important; line-height: 1.55 !important; }

/* 6. DOCENTI */
.iso-docenti { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 22px !important; max-width: 820px !important; margin: 0 auto !important; }
.iso-docente { background: #fff !important; border: 1px solid var(--c-border) !important; border-radius: 6px !important; padding: 24px !important; text-align: center !important; }
.iso-docente-avatar { width: 92px !important; height: 92px !important; border-radius: 50% !important; overflow: hidden !important; margin: 0 auto 14px !important; background: var(--c-bg-soft) !important; }
.iso-docente-avatar img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.iso-docente h4 { font-weight: 700 !important; font-size: 17px !important; margin-bottom: 4px !important; }
.iso-docente .role { font-size: 12px !important; color: var(--c-orange) !important; font-weight: 700 !important; letter-spacing: 0.6px !important; text-transform: uppercase !important; margin-bottom: 12px !important; }
.iso-docente p { font-size: 14px !important; color: var(--c-text-soft) !important; text-align: left !important; line-height: 1.6 !important; }
.iso-attestato-wrap { text-align: center !important; margin: 30px 0 10px !important; }
.iso-attestato {
  display: inline-block !important;
  text-align: center !important;
  max-width: 520px !important;
  padding: 18px 24px !important;
  font-size: 14.5px !important;
  color: var(--c-text-soft) !important;
  line-height: 1.65 !important;
  background: var(--c-bg-soft) !important;
  border-radius: 6px !important;
}

/* 7. PRODOTTI */
.iso-products { max-width: 920px !important; margin: 0 auto !important; }
.iso-products img { width: 100% !important; height: auto !important; border-radius: 6px !important; margin-bottom: 22px !important; display: block !important; }
.iso-products p { text-align: center !important; margin: 12px auto !important; max-width: 720px !important; }

/* 8. WHY CHECKLIST */
.iso-why { max-width: 720px !important; margin: 0 auto !important; }
.iso-why-item { display: flex !important; gap: 14px !important; align-items: flex-start !important; padding: 16px 0 !important; border-bottom: 1px solid var(--c-border) !important; }
.iso-why-item:last-child { border: 0 !important; }
.iso-why-check { flex-shrink: 0 !important; width: 22px !important; height: 22px !important; background: var(--c-green) !important; color: #fff !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 12px !important; font-weight: 700 !important; margin-top: 3px !important; }
.iso-why-item strong { display: block !important; font-weight: 700 !important; margin-bottom: 2px !important; }
.iso-why-item span { color: var(--c-text-soft) !important; font-size: 14.5px !important; }

/* 9. CONTACT FORM (markup 1:1 originale — solo design, invio da collegare) */
.iso-contact { background: var(--c-bg-soft) !important; padding: 32px !important; border-radius: 6px !important; max-width: 820px !important; margin: 0 auto !important; }
.iso-contact h3 { font-weight: 700 !important; font-size: 22px !important; text-align: center !important; margin-bottom: 8px !important; }
.iso-contact > p { text-align: center !important; color: var(--c-text-soft) !important; margin-bottom: 20px !important; }
.iso-form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; }
.iso-form-group { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.iso-form-group.full { grid-column: 1 / -1 !important; }
.iso-form-group label { font-size: 12.5px !important; font-weight: 700 !important; }
.iso-form-group input, .iso-form-group select, .iso-form-group textarea { padding: 11px 13px !important; border: 1px solid var(--c-border) !important; border-radius: 3px !important; font-family: inherit !important; font-size: 14.5px !important; background: #fff !important; }
.iso-form-group textarea { min-height: 90px !important; resize: vertical !important; }
.iso-form-submit { display: block !important; width: 100% !important; margin-top: 18px !important; background: var(--c-navy) !important; color: #fff !important; border: 0 !important; padding: 14px 24px !important; font-weight: 700 !important; font-size: 13px !important; letter-spacing: 1px !important; text-transform: uppercase !important; border-radius: 4px !important; cursor: pointer !important; font-family: inherit !important; }
.iso-form-submit:hover { background: var(--c-navy-light) !important; }
.iso-form-submit:disabled { opacity: 0.65 !important; cursor: default !important; }
.iso-form-status { max-width: 820px !important; margin: 0 auto 16px !important; padding: 12px 16px !important; border-radius: 4px !important; font-size: 14px !important; text-align: center !important; }
.iso-form-status.ok { background: #e7f6ec !important; color: #1e7a3d !important; border: 1px solid #b7e2c4 !important; }
.iso-form-status.err { background: #fdecea !important; color: #b3261e !important; border: 1px solid #f5c6c2 !important; }
.iso-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* 10. ARTICOLI */
.iso-articles-section { margin: 64px 0 32px !important; }
.iso-articles-header { text-align: center !important; max-width: 720px !important; margin: 0 auto 36px !important; }
.iso-articles-header h2 { font-weight: 700 !important; font-size: 26px !important; margin-bottom: 10px !important; }
.iso-articles-header p { color: var(--c-text-soft) !important; }
.iso-articles-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; max-width: 1100px !important; margin: 0 auto !important; }
.iso-article-card { background: #fff !important; }
.iso-article-card > a { color: inherit !important; text-decoration: none !important; display: block !important; }
.iso-article-card-img { aspect-ratio: 16/9 !important; overflow: hidden !important; border-radius: 4px !important; margin-bottom: 12px !important; }
.iso-article-card-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform .3s !important; }
.iso-article-card:hover .iso-article-card-img img { transform: scale(1.04) !important; }
.iso-article-card-label { display: inline-block !important; background: var(--c-navy) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 1px !important; text-transform: uppercase !important; padding: 2px 7px !important; margin-bottom: 8px !important; border-radius: 2px !important; }
.iso-article-card h3 { font-weight: 700 !important; font-size: 15.5px !important; line-height: 1.35 !important; margin-bottom: 8px !important; }
.iso-article-card-meta { font-size: 11.5px !important; color: var(--c-text-soft) !important; margin-bottom: 8px !important; }
.iso-article-card-meta .author { font-weight: 700 !important; color: var(--c-navy) !important; }
.iso-article-card-excerpt { font-size: 13px !important; color: var(--c-text-soft) !important; }

/* RESPONSIVE */
@media (max-width: 800px) {
  .iso-course { flex-direction: column !important; }
  .iso-course-img { width: 100% !important; aspect-ratio: 16/9 !important; }
  .iso-docenti { grid-template-columns: 1fr !important; }
  .iso-form-grid { grid-template-columns: 1fr !important; }
  .iso-articles-grid { grid-template-columns: 1fr 1fr !important; }
  .iso-stats-inner { gap: 16px !important; }
  .iso-stat .num { font-size: 32px !important; }
}
@media (max-width: 500px) {
  .iso-articles-grid { grid-template-columns: 1fr !important; }
}
