/* Programma FSE+ — grafica comune alle pagine pubbliche, 03/10/2026.
   Sovrapposizione grafica: nessuna modifica a struttura, campi o script dei form. */
@font-face{font-family:FSESite;src:url('montserrat-latin.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}

body.fse-public-theme,body.policy-page{
  --fse-paper:light-dark(#f7f5ee,#102126);
  --fse-surface:light-dark(#fffef9,#192e34);
  --fse-ink:light-dark(#15343b,#f1f4eb);
  --fse-muted:light-dark(#526970,#b5c8ca);
  --fse-line:light-dark(#d9e0d8,#365057);
  --fse-teal:light-dark(#126e73,#7bd0c7);
  --fse-coral:light-dark(#c64f3c,#ffad8f);
  --fse-deep:light-dark(#143e46,#102d35);
  --fse-on-deep:#f4f5ed;
  --fse-highlight:light-dark(#dfebe0,#244a48);
  --fse-input:light-dark(#ffffff,#13292f);
  --fse-input-line:light-dark(#aabdbb,#58757b);
  --fse-shadow:light-dark(#143e460b,#00000018);
  --navy:var(--fse-ink);--blue:var(--fse-teal);--ink:var(--fse-ink);
  --muted:var(--fse-muted);--line:var(--fse-line);--pale:var(--fse-paper);--accent:var(--fse-coral);
  color-scheme:light dark;
  color:var(--fse-ink);
  background:var(--fse-paper);
  font-family:FSESite,Montserrat,Arial,sans-serif;
  -webkit-text-size-adjust:100%;
}

/* Tema WordPress: intestazione compatta e navigazione che scorre con la pagina. */
body.fse-public-theme .content-container,
body.fse-public-theme #content,
body.fse-public-theme #masthead{background:var(--fse-paper);color:var(--fse-ink)}
body.fse-public-theme #masthead .site-logo-area,
body.fse-public-theme #masthead .site-logo-area.sticky.stuck{
  position:relative!important;top:auto!important;
  background:var(--fse-paper)!important;color:var(--fse-ink);
  border-bottom:1px solid var(--fse-line);box-shadow:none;
}
body.fse-public-theme #masthead>.sticky-wrapper{height:auto!important}
body.fse-public-theme #masthead .site-logo-area>.site-container{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  width:100%;max-width:1280px;min-height:96px;margin:0 auto;
  padding:18px clamp(22px,4.5vw,56px);box-sizing:border-box;
}
body.fse-public-theme #masthead .site-logo-area>.site-container>.clearboth{display:none}
body.fse-public-theme #masthead .branding{
  display:flex;align-items:center;gap:13px;float:none;flex:none;
  padding:0;margin:0;max-width:calc(100% - 66px);
}
body.fse-public-theme #masthead .branding .custom-logo-link{
  display:block;float:none;margin:0;padding:0;flex:none;
}
body.fse-public-theme #masthead .branding img{
  width:49px;height:49px;max-height:none;object-fit:contain;margin:0;float:none;
}
body.fse-public-theme #masthead .branding .title_and_tagline{
  display:block!important;float:none;width:auto;padding:0;margin:0;text-align:left;
}
body.fse-public-theme #masthead .branding .title{
  font-family:FSESite,Montserrat,Arial,sans-serif;font-size:17px;font-weight:650;
  line-height:1.2;letter-spacing:-.04em;text-transform:none;
  color:var(--fse-ink)!important;margin:0;
}
body.fse-public-theme #masthead .site-header-right{float:none;padding:0;margin:0}
body.fse-public-theme #masthead .main-navigation{font-family:FSESite,Montserrat,Arial,sans-serif}
body.fse-public-theme #masthead .main-navigation ul.menu>li>a,
body.fse-public-theme #masthead .main-navigation ul.menu>li>a:hover{
  color:var(--fse-ink)!important;font-size:12px;font-weight:550;letter-spacing:0;text-transform:none;
}
body.fse-public-theme #masthead .main-navigation ul.menu>li>a:hover{
  text-decoration:underline;text-decoration-color:var(--fse-coral);text-underline-offset:8px;
}
body.fse-public-theme #masthead .header-menu-button,
body.fse-public-theme #masthead .header-menu-button i,
body.fse-public-theme #masthead .main-menu-close{color:var(--fse-ink)!important}
body.fse-public-theme #masthead .main-menu-container{background:var(--fse-paper);color:var(--fse-ink)}
body.fse-public-theme #masthead .main-navigation-inner{background:transparent}
body.fse-public-theme #content{padding-top:30px;padding-bottom:42px}
body.fse-public-theme .site-content .entry-content,
body.fse-public-theme .site-content :is(h1,h2,h3,h4),
body.fse-public-theme .site-content input,
body.fse-public-theme .site-content select,
body.fse-public-theme .site-content textarea,
body.fse-public-theme .site-content button{font-family:FSESite,Montserrat,Arial,sans-serif}
body.fse-public-theme .site-content .entry-title{color:var(--fse-ink);letter-spacing:-.04em}
body.fse-public-theme .elementor{
  --e-global-color-primary:var(--fse-teal);--e-global-color-secondary:var(--fse-ink);
  --e-global-color-text:var(--fse-ink);--e-global-color-accent:var(--fse-coral);
  --e-global-typography-primary-font-family:FSESite;
  --e-global-typography-secondary-font-family:FSESite;
  --e-global-typography-text-font-family:FSESite;
  --e-global-typography-accent-font-family:FSESite;
}
body.fse-public-theme #colophon,
body.fse-public-theme #colophon .site-footer-bottom-bar{
  background:var(--fse-surface);color:var(--fse-muted);box-shadow:none;
}
body.fse-public-theme #colophon{border-top:1px solid var(--fse-line)}
body.fse-public-theme #colophon .site-container{padding-top:26px;padding-bottom:26px}
body.fse-public-theme #colophon .site-footer-bottom-bar p,
body.fse-public-theme #colophon .site-footer-bottom-bar strong{
  color:var(--fse-muted);font-family:FSESite,Montserrat,Arial,sans-serif;font-size:12px;font-weight:500;
}
body.fse-public-theme #colophon a{color:var(--fse-teal)}

/* Moduli: dimensioni delle firme, griglie, campi condizionali e stati restano al plugin. */
body.fse-public-theme .mifse-wrap{
  --mifse-blue:var(--fse-teal);--mifse-red:var(--fse-coral);
  --mifse-border:var(--fse-line);--mifse-bg:var(--fse-paper);
  color:var(--fse-ink);font-family:FSESite,Montserrat,Arial,sans-serif;line-height:1.65;
}
body.fse-public-theme .mifse-form-header{
  background:var(--fse-deep);color:var(--fse-on-deep);border-radius:18px;
  padding:32px;box-shadow:0 12px 32px var(--fse-shadow);
}
body.fse-public-theme .mifse-form-header h1{
  font-size:clamp(26px,3.8vw,40px);font-weight:650;line-height:1.15;letter-spacing:-.045em;
  color:var(--fse-on-deep)!important;-webkit-text-fill-color:var(--fse-on-deep)!important;
}
body.fse-public-theme .mifse-form-header p{color:var(--fse-on-deep);line-height:1.7}
body.fse-public-theme .mifse-form-header .mifse-recipient{border-color:#c5d7d84d;font-size:14px}
body.fse-public-theme .mifse-section{
  background:var(--fse-surface);border-color:var(--fse-line);border-radius:16px;
  box-shadow:0 5px 22px var(--fse-shadow);
}
body.fse-public-theme .mifse-highlight{border-top-color:var(--fse-coral)}
body.fse-public-theme .mifse-section h2{
  color:var(--fse-ink);font-size:23px;font-weight:600;line-height:1.35;letter-spacing:-.03em;
}
body.fse-public-theme .mifse-section h3{color:var(--fse-teal);font-weight:600;line-height:1.4}
body.fse-public-theme .mifse-field label,
body.fse-public-theme .mifse-signature>label,
body.fse-public-theme .mifse-wrap fieldset legend{color:var(--fse-ink);font-weight:600;line-height:1.6}
body.fse-public-theme .mifse-field input,
body.fse-public-theme .mifse-field select,
body.fse-public-theme .mifse-field textarea,
body.fse-public-theme .mifse-section>select{
  color:var(--fse-ink);background:var(--fse-input);border-color:var(--fse-input-line);
  border-radius:8px;font-size:16px;
}
body.fse-public-theme .mifse-field input::placeholder,
body.fse-public-theme .mifse-field textarea::placeholder{color:var(--fse-muted);opacity:1}
body.fse-public-theme .mifse-field input:focus,
body.fse-public-theme .mifse-field select:focus,
body.fse-public-theme .mifse-field textarea:focus{
  border-color:var(--fse-teal);outline:3px solid light-dark(#126e7329,#7bd0c73b);
}
body.fse-public-theme .mifse-wrap .mifse-field input.mifse-place-search-enabled:not(.mifse-invalid){border-color:var(--fse-teal)!important}
body.fse-public-theme .mifse-field-help,
body.fse-public-theme .mifse-project-preview{color:var(--fse-muted)}
body.fse-public-theme .mifse-required{color:var(--fse-coral)}
body.fse-public-theme .mifse-choice-grid label,
body.fse-public-theme .mifse-inline-options label{background:var(--fse-paper);border-color:var(--fse-line);color:var(--fse-ink)}
body.fse-public-theme .mifse-wrap input[type="checkbox"],
body.fse-public-theme .mifse-wrap input[type="radio"]{accent-color:var(--fse-teal)}
body.fse-public-theme .mifse-intro-card{background:var(--fse-surface);border-color:var(--fse-line);box-shadow:0 6px 22px var(--fse-shadow)}
body.fse-public-theme .mifse-intro-content h2,
body.fse-public-theme .mifse-intro-title{color:var(--fse-ink);letter-spacing:-.025em}
body.fse-public-theme .mifse-intro-eyebrow{background:var(--fse-highlight);color:var(--fse-teal);font-size:11px;font-weight:600}
body.fse-public-theme .mifse-intro-meta-item,
body.fse-public-theme .mifse-intro-copy-card,
body.fse-public-theme .mifse-intro-steps{background:var(--fse-paper);border-color:var(--fse-line);color:var(--fse-muted)}
body.fse-public-theme .mifse-intro-meta-label{color:var(--fse-muted);font-size:11px}
body.fse-public-theme .mifse-intro-meta-item strong,
body.fse-public-theme .mifse-intro-steps p{color:var(--fse-ink)}
body.fse-public-theme .mifse-intro-steps li{color:var(--fse-muted)}
body.fse-public-theme .mifse-school-card{border-color:var(--fse-line);box-shadow:0 3px 12px var(--fse-shadow)}
body.fse-public-theme .mifse-school-card:hover{border-color:var(--fse-teal)}
body.fse-public-theme .mifse-school-card.is-selected,
body.fse-public-theme .mifse-school-card:has(input:checked){border-color:var(--fse-teal);box-shadow:0 0 0 3px light-dark(#126e7329,#7bd0c73b)}
body.fse-public-theme .mifse-document-upload{background:var(--fse-paper);border-color:var(--fse-line);border-radius:12px}
body.fse-public-theme .mifse-document-photo-note{background:var(--fse-highlight);color:var(--fse-ink)}
body.fse-public-theme .mifse-privacy summary{background:var(--fse-paper);color:var(--fse-ink);border-radius:9px}
body.fse-public-theme .mifse-footnote{background:var(--fse-paper);color:var(--fse-muted);border-color:var(--fse-input-line)}
body.fse-public-theme .mifse-submit-area{background:var(--fse-highlight);border-radius:16px;color:var(--fse-ink)}
body.fse-public-theme .mifse-submit,
body.fse-public-theme .mifse-download,
body.fse-public-theme .mifse-document-toggle,
body.fse-public-theme .mifse-school-match-action{
  background:var(--fse-deep)!important;color:var(--fse-on-deep)!important;
  -webkit-text-fill-color:var(--fse-on-deep)!important;border-radius:8px!important;
  font-family:FSESite,Montserrat,Arial,sans-serif;font-weight:600;text-transform:none;
}
body.fse-public-theme .mifse-submit:hover,
body.fse-public-theme .mifse-download:hover,
body.fse-public-theme .mifse-document-toggle:hover,
body.fse-public-theme .mifse-document-toggle:focus,
body.fse-public-theme .mifse-school-match-action:hover,
body.fse-public-theme .mifse-school-match-action:focus{background:light-dark(#215a60,#1c4a53)!important}
body.fse-public-theme .mifse-clear-signature{
  background:var(--fse-surface);color:var(--fse-ink);border-color:var(--fse-input-line);
  border-radius:7px!important;font-weight:500;text-transform:none;
}
body.fse-public-theme .mifse-clear-signature:hover{background:var(--fse-highlight)}
body.fse-public-theme .mifse-signature canvas{background:#fff;border-color:var(--fse-input-line)}
body.fse-public-theme .mifse-suggestions{border-color:var(--fse-input-line);border-radius:0 0 9px 9px}
body.fse-public-theme .mifse-suggestions button{font-family:FSESite,Montserrat,Arial,sans-serif;font-size:14px;text-transform:none}

/* Colori semantici: errori rossi, consenso selezionato verde, firme su fondo bianco. */
body.fse-public-theme .mifse-consent{color:#733744;transition:background-color .18s ease,border-color .18s ease}
body.fse-public-theme .mifse-consent:has(>input[name="fse_consent"]:checked){background:#eaf8f1;border-color:#a4d8ba;color:#24523d}
body.fse-public-theme .mifse-notice{color:#334155}
body.fse-public-theme .mifse-info{background:var(--fse-highlight);border-color:var(--fse-teal);color:var(--fse-ink)}
body.fse-public-theme .mifse-error{color:#9f1239}
body.fse-public-theme .mifse-success{color:#24523d}
body.fse-public-theme .mifse-wrap .mifse-invalid,
body.fse-public-theme .mifse-wrap .mifse-invalid input,
body.fse-public-theme .mifse-wrap .mifse-invalid select,
body.fse-public-theme .mifse-wrap .mifse-invalid textarea,
body.fse-public-theme .mifse-wrap input.mifse-invalid,
body.fse-public-theme .mifse-wrap select.mifse-invalid,
body.fse-public-theme .mifse-wrap textarea.mifse-invalid{
  background:#fff5f6!important;border-color:#c81e3a!important;color:#9f1239!important;
}
body.fse-public-theme .mifse-wrap .mifse-invalid label,
body.fse-public-theme .mifse-wrap .mifse-invalid legend{color:#9f1239}
body.fse-public-theme .mifse-wrap .mifse-invalid canvas{background:#fff!important}

/* Conferme e iscrizioni chiuse usano le stesse superfici del modulo. */
body.fse-public-theme .mifse-confirmation-wrap,
body.fse-public-theme .mifse-closed-wrap{font-family:FSESite,Montserrat,Arial,sans-serif;color:var(--fse-ink)}
body.fse-public-theme .mifse-confirmation-card,
body.fse-public-theme .mifse-closed-card{background:var(--fse-surface);border-color:var(--fse-line);box-shadow:0 12px 34px var(--fse-shadow)}
body.fse-public-theme .mifse-confirmation-body,
body.fse-public-theme .mifse-closed-body{background:var(--fse-surface)}
body.fse-public-theme .mifse-confirmation-body h1,
body.fse-public-theme .mifse-closed-body h1{color:var(--fse-ink)!important;-webkit-text-fill-color:var(--fse-ink)!important;letter-spacing:-.035em;font-weight:650}
body.fse-public-theme .mifse-confirmation-kicker,
body.fse-public-theme .mifse-closed-kicker{color:var(--fse-teal)}
body.fse-public-theme .mifse-confirmation-number,
body.fse-public-theme .mifse-closed-status{background:var(--fse-highlight);border-color:var(--fse-line);color:var(--fse-ink)}
body.fse-public-theme .mifse-confirmation-summary,
body.fse-public-theme .mifse-confirmation-mail,
body.fse-public-theme .mifse-closed-info{background:var(--fse-paper);border-color:var(--fse-line)}
body.fse-public-theme .mifse-confirmation-summary-row+.mifse-confirmation-summary-row{border-color:var(--fse-line)}
body.fse-public-theme .mifse-confirmation-summary-row span,
body.fse-public-theme .mifse-confirmation-close,
body.fse-public-theme .mifse-closed-contact,
body.fse-public-theme .mifse-closed-partner{color:var(--fse-muted)}
body.fse-public-theme .mifse-confirmation-summary-row strong,
body.fse-public-theme .mifse-confirmation-lead,
body.fse-public-theme .mifse-confirmation-mail p,
body.fse-public-theme .mifse-confirmation-mail ul,
body.fse-public-theme .mifse-closed-lead,
body.fse-public-theme .mifse-closed-info p{color:var(--fse-ink)}
body.fse-public-theme .mifse-confirmation-mail h2,
body.fse-public-theme .mifse-closed-info strong{color:var(--fse-teal)}
body.fse-public-theme .mifse-confirmation-note{background:var(--fse-paper);color:var(--fse-muted);border-color:var(--fse-teal)}

/* Informative statiche: il loro HTML testuale rimane identico. */
body.policy-page .site-header{background:var(--fse-paper);color:var(--fse-ink);border-bottom:1px solid var(--fse-line)}
body.policy-page .header-inner{max-width:1280px;min-height:96px;padding:18px clamp(22px,4.5vw,56px)}
body.policy-page .brand{gap:13px;color:var(--fse-ink)}
body.policy-page .brand img{width:49px;height:49px}
body.policy-page .brand span{font-size:17px;font-weight:650;letter-spacing:-.04em;text-transform:none;line-height:1.2}
body.policy-page .home-link{color:var(--fse-ink);font-size:12px;font-weight:550;text-transform:none}
body.policy-page .home-link:hover{border-bottom-color:var(--fse-coral)}
body.policy-page .policy-intro{background:var(--fse-paper);padding:46px 0 38px}
body.policy-page .policy-intro h1{font-size:clamp(34px,4.5vw,54px);font-weight:650;letter-spacing:-.05em;line-height:1.15;color:var(--fse-ink)}
body.policy-page .policy-intro .updated{color:var(--fse-muted)}
body.policy-page .policy-layout{gap:36px}
body.policy-page .contents{background:var(--fse-highlight);border:1px solid var(--fse-line);border-radius:14px;padding:22px 20px}
body.policy-page .contents h2{color:var(--fse-ink);font-weight:600}
body.policy-page .contents a{color:var(--fse-ink)}
body.policy-page .policy-content{color:var(--fse-ink);line-height:1.85}
body.policy-page .policy-content section{padding:27px;border:1px solid var(--fse-line);border-radius:16px;background:var(--fse-surface);box-shadow:0 5px 22px var(--fse-shadow)}
body.policy-page .policy-content h2{color:var(--fse-ink);font-weight:600;letter-spacing:-.025em;line-height:1.35}
body.policy-page .policy-content a{color:var(--fse-teal)}
body.policy-page .policy-content table{background:var(--fse-surface)}
body.policy-page .policy-content thead{background:var(--fse-highlight)}
body.policy-page .back-home a{display:inline-block;padding:13px 19px;background:var(--fse-deep);color:var(--fse-on-deep);border-radius:8px;font-size:13px;text-decoration:none}
body.policy-page .site-footer{background:var(--fse-surface);color:var(--fse-ink);border-top:1px solid var(--fse-line);font-size:11px}
body.policy-page .footer-inner{max-width:1280px;padding:38px clamp(22px,4.5vw,56px) 27px}
body.policy-page .site-footer strong{font-size:12px;font-weight:650}
body.policy-page .site-footer p{color:var(--fse-muted);line-height:1.9}
body.policy-page .site-footer a{color:var(--fse-teal)}
body.policy-page .footer-links{gap:14px 21px;font-size:11px}
body.policy-page .footer-bottom{border-color:var(--fse-line);color:var(--fse-muted);font-size:11px}

@media(max-width:760px){
  body.fse-public-theme #masthead .site-logo-area>.site-container{min-height:86px;padding:17px 22px;gap:16px}
  body.fse-public-theme #masthead .branding{gap:10px}
  body.fse-public-theme #masthead .branding img{width:43px;height:43px}
  body.fse-public-theme #masthead .branding .title{font-size:15px}
  body.fse-public-theme #masthead .branding .title_and_tagline{text-align:left}
  body.fse-public-theme #content{padding-top:18px;padding-bottom:28px}
  body.fse-public-theme .mifse-form-header{padding:22px 18px;border-radius:14px}
  body.fse-public-theme .mifse-section{border-radius:12px}
  body.fse-public-theme .mifse-section h2{font-size:21px}
  body.fse-public-theme .mifse-form-header .mifse-recipient{font-size:13px}
  body.policy-page .header-inner{min-height:86px;padding:17px 22px;gap:16px}
  body.policy-page .brand{gap:10px}
  body.policy-page .brand img{width:43px;height:43px}
  body.policy-page .brand span{font-size:15px;max-width:none}
  body.policy-page .policy-intro{padding:29px 0 30px}
  body.policy-page .policy-content section{padding:21px 18px;border-radius:12px;margin-bottom:20px}
  body.policy-page .policy-content h2{font-size:21px}
  body.policy-page .policy-layout{gap:24px;padding-top:28px;padding-bottom:40px}
}
@media(max-width:380px){
  body.fse-public-theme #masthead .branding img,
  body.policy-page .brand img{width:36px;height:36px}
  body.fse-public-theme #masthead .branding .title,
  body.policy-page .brand span{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  body.fse-public-theme .mifse-consent{transition:none}
}

/* Footer completo per le pagine dei moduli e delle conferme. */
body.fse-public-footer-enabled #colophon{display:none}
#fse-public-footer{
  margin:0;border-top:1px solid var(--fse-line);background:var(--fse-surface);
  color:var(--fse-ink);font-family:FSESite,Montserrat,Arial,sans-serif;
  font-size:11px;line-height:1.9;text-align:left;
}
#fse-public-footer *{box-sizing:border-box}
#fse-public-footer .fse-public-footer-container{max-width:1280px;margin:auto;padding:38px clamp(22px,4.5vw,56px) 21px}
#fse-public-footer .fse-public-footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}
#fse-public-footer .fse-public-footer-identity strong{display:block;margin:0 0 6px;font-size:12px;font-weight:650;color:var(--fse-ink)}
#fse-public-footer .fse-public-footer-identity p{margin:0 0 6px;color:var(--fse-muted);font-size:11px;line-height:1.9}
#fse-public-footer .fse-public-footer-contact{display:block;color:var(--fse-teal);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
#fse-public-footer .fse-public-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 21px;max-width:340px;padding:2px 0}
#fse-public-footer .fse-public-footer-links a{padding:9px 0;color:var(--fse-ink);font-size:11px;text-decoration:none}
#fse-public-footer .fse-public-footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
#fse-public-footer .fse-public-footer-copyright{margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--fse-line);color:var(--fse-muted);font-size:11px;letter-spacing:.01em}
@media(max-width:760px){
  #fse-public-footer .fse-public-footer-main{flex-direction:column;gap:21px}
  #fse-public-footer .fse-public-footer-links{justify-content:flex-start;max-width:none;gap:11px 18px}
  #fse-public-footer .fse-public-footer-copyright{margin-top:18px}
}
