:root {
  --theme-font-stack-default: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --theme-container-width: min(100% - 70px, var(--theme-normal-container-max-width, 1290px));
  --theme-container-width-base: calc(100vw - 70px);
  --true: initial;
  --false: ;
}

/* Palette e variabili del tema per l'editor a blocchi.
   Sul frontend queste variabili arrivano da `assets/compat/blocksy-global.css`,
   che nell'editor non viene caricato: senza queste dichiarazioni ogni
   `var(--theme-palette-color-N, ...)` cadeva sul valore di ripiego e l'editor
   mostrava colori diversi dal frontend (per esempio il bordo arancione delle
   card legali al posto del blu). I valori sono gli stessi del frontend. */
.editor-styles-wrapper {
  --theme-palette-color-1: #2872fa;
  --theme-palette-color-2: #99A79A;
  --theme-palette-color-3: #E7C87C;
  --theme-palette-color-4: #FFF3E4;
  --theme-palette-color-5: #e1e8ed;
  --theme-palette-color-6: #2D4159;
  --theme-palette-color-7: #FAFBFC;
  --theme-palette-color-8: #ffffff;

  --theme-text-color: var(--theme-palette-color-6);
  --theme-headings-color: var(--theme-palette-color-6);
  --theme-link-initial-color: var(--theme-palette-color-1);
  --theme-link-hover-color: var(--theme-palette-color-1);
  --theme-border-color: var(--theme-palette-color-5);

  --theme-font-family: var(--theme-font-stack-default);
  --theme-font-size: 16px;
  --theme-font-weight: 400;
  --theme-line-height: 1.65;

  --theme-button-background-initial-color: var(--theme-palette-color-1);
  --theme-button-background-hover-color: var(--theme-palette-color-2);
  --theme-button-text-initial-color: #ffffff;
  --theme-button-text-hover-color: #ffffff;
  --theme-button-border: none;
  --theme-button-border-radius: 8px;
  --theme-button-font-size: 15px;
  --theme-button-font-weight: 500;
  --theme-button-min-height: 50px;
  --theme-button-padding: 5px 20px;

  --theme-normal-container-max-width: 1290px;
  --theme-content-vertical-spacing: 80px;
}

html {
  scroll-behavior: smooth;
}

body.mc-tt5-child {
  margin: 0;
  color: var(--theme-text-color, #2D4159);
  background: var(--theme-palette-color-7, #FAFBFC);
  font-family: var(--theme-font-family, var(--theme-font-stack-default));
  font-size: var(--theme-font-size, 16px);
  line-height: var(--theme-line-height, 1.65);
  letter-spacing: 0;
}

body.admin-bar.mc-tt5-child {
  margin-top: -24px !important;
}

body.mc-tt5-child .wp-site-blocks {
  padding: 0;
}

body.mc-tt5-child :where(.wp-site-blocks) > * {
  margin-block-start: 0;
}

body.mc-tt5-child a {
  color: var(--theme-link-initial-color, #2872fa);
  text-decoration: none;
}

body.mc-tt5-child a:hover,
body.mc-tt5-child a:focus {
  color: var(--theme-link-hover-color, #2872fa);
}

body.mc-tt5-child h1,
body.mc-tt5-child h2,
body.mc-tt5-child h3,
body.mc-tt5-child h4,
body.mc-tt5-child h5,
body.mc-tt5-child h6 {
  color: var(--theme-headings-color, #2D4159);
  font-family: var(--theme-font-family, var(--theme-font-stack-default));
  font-weight: var(--theme-font-weight, 700);
  line-height: 1.5;
  letter-spacing: 0;
}

.mc-site-main {
  position: relative;
  z-index: 1;
  margin: 0;
}

.mc-site-main > .alignfull,
.mc-site-main > .entry-content,
.mc-site-main .entry-content {
  margin-top: 0;
}

.mc-header-shell {
  position: relative;
  z-index: 100;
  height: 0;
  min-height: 0;
  margin: 0 !important;
  overflow: visible;
}

.mc-header-shell .ct-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 100;
  width: 100%;
  background: transparent;
  color: var(--theme-palette-color-6, #2D4159);
}

.mc-header-shell .ct-header [data-row],
.mc-header-shell .ct-header [data-row] > div {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.mc-header-shell.is-inner-header {
  height: auto;
  min-height: 124px;
  background: var(--theme-palette-color-5, #e1e8ed);
  overflow: visible;
}

.mc-header-shell.is-inner-header .ct-header {
  position: relative;
  inset: auto;
  height: auto;
  background: var(--theme-palette-color-5, #e1e8ed);
}

.mc-header-shell.is-inner-header .ct-header [data-row],
.mc-header-shell.is-inner-header .ct-header [data-row] > div {
  background: var(--theme-palette-color-5, #e1e8ed) !important;
  background-image: none !important;
}

.mc-header-shell.is-inner-header .ct-header [data-row="top"],
.mc-header-shell.is-inner-header .ct-header [data-row="top"] > div {
  --height: 34px;
  min-height: 34px !important;
  height: 34px !important;
  background: var(--theme-palette-color-8, #fff) !important;
}

.mc-header-shell.is-inner-header .ct-header [data-row="middle"] {
  --height: 90px;
  min-height: 90px !important;
  height: 90px !important;
  box-shadow: 0 8px 18px rgba(45, 65, 89, .06) !important;
}

.mc-header-shell.is-inner-header [data-row="top"] > .ct-container {
  min-height: 34px !important;
  height: 34px !important;
}

.mc-header-shell.is-inner-header [data-row="middle"] > .ct-container {
  min-height: 90px !important;
  height: 90px !important;
}

.mc-header-shell.is-inner-header .header-menu-1 .ct-menu-link,
.mc-header-shell.is-inner-header .ct-header-trigger {
  color: var(--theme-palette-color-6, #2D4159);
}

.mc-header-shell.is-inner-header + .mc-site-main .mc-page-hero,
.mc-header-shell.is-inner-header + .wp-block-group.mc-site-main .mc-page-hero {
  width: min(100% - 70px, var(--theme-normal-container-max-width, 1290px));
  max-width: var(--theme-normal-container-max-width, 1290px);
  margin: 24px auto 0 !important;
  padding-top: clamp(72px, 7vw, 105px) !important;
  padding-bottom: clamp(64px, 6vw, 92px) !important;
  border-radius: var(--theme-button-border-radius, 8px);
  overflow: hidden;
}

/* Hero pagine interne.
   Prima erano una <section> dentro un blocco Classic, con tutto lo stile
   inline. Ora sono un blocco core `cover` con classe `mc-page-hero`: qui sotto
   c'e lo stile che prima stava nel contenuto della pagina, cosi editor e
   frontend usano le stesse regole. */
.mc-site-main .mc-page-hero,
.editor-styles-wrapper .mc-page-hero {
  min-height: 0;
  color: #fff;
  /* il blocco cover centra il contenuto: la hero e sempre allineata a sinistra */
  text-align: left;
  padding-left: 35px;
  padding-right: 35px;
  padding-top: clamp(72px, 7vw, 105px);
  padding-bottom: clamp(64px, 6vw, 92px);
  border-radius: var(--theme-button-border-radius, 8px);
  overflow: hidden;
}

.mc-site-main .mc-page-hero > .wp-block-cover__inner-container,
.editor-styles-wrapper .mc-page-hero > .wp-block-cover__inner-container {
  max-width: 1100px;
  margin-inline: auto;
  /* il cover aggiunge 50px di padding orizzontale: la hero non li aveva */
  padding-left: 0;
  padding-right: 0;
  text-align: left;
}

/* Il layout "constrained" di WordPress centra i figli con
   `margin-left/right: auto !important`. La hero e allineata a sinistra, quindi
   il margine automatico va annullato con la stessa forza. */
.mc-site-main .mc-page-hero > .wp-block-cover__inner-container > *,
.editor-styles-wrapper .mc-page-hero > .wp-block-cover__inner-container > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mc-site-main .mc-page-hero .mc-breadcrumb,
.editor-styles-wrapper .mc-page-hero .mc-breadcrumb {
  margin: 0 0 28px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.mc-site-main .mc-page-hero .mc-breadcrumb a,
.editor-styles-wrapper .mc-page-hero .mc-breadcrumb a {
  color: #fff;
  text-decoration: none;
}

.mc-site-main .mc-page-hero h1,
.editor-styles-wrapper .mc-page-hero h1 {
  max-width: 1050px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(48px, 7vw, 88px);
  line-height: 1.05;
}

.mc-site-main .mc-page-hero .mc-page-hero-subtitle,
.editor-styles-wrapper .mc-page-hero .mc-page-hero-subtitle {
  max-width: 820px;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
}

.mc-header-shell .ct-header.is-scrolled {
  position: fixed;
  background: rgba(225, 232, 237, 0.97);
  box-shadow: 0 12px 22px rgba(45, 65, 89, 0.08);
}

body.admin-bar .mc-header-shell .ct-header.is-scrolled {
  top: 32px;
}

.ct-container {
  width: var(--theme-container-width);
  max-width: var(--theme-normal-container-max-width, 1290px);
  margin-inline: auto;
}

.mc-header-shell [data-row] > .ct-container,
.mc-footer-shell [data-row] > .ct-container {
  display: grid;
  align-items: center;
}

.mc-header-shell [data-row="top"] > .ct-container {
  min-height: 50px;
  grid-template-columns: 1fr;
}

.mc-header-shell [data-row="middle"] > .ct-container {
  min-height: 120px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 44px;
}

.mc-header-shell [data-column="middle"],
.mc-header-shell .header-menu-1 {
  min-width: 0;
}

.mc-header-shell [data-column="end"] {
  justify-self: end;
}

.mc-header-shell [data-column="middle"] {
  justify-self: center;
}

.mc-header-shell [data-items],
.mc-header-shell .site-branding,
.mc-header-shell .ct-header-cta {
  display: flex;
  align-items: center;
}

.site-logo-container {
  display: inline-flex;
  align-items: center;
}

.site-logo-container img {
  display: block;
  width: 90px;
  height: auto;
}

.site-logo-container .sticky-logo {
  display: none;
}

.mc-header-shell .menu,
.mc-header-shell .mobile-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mc-header-shell .header-menu-1 > ul {
  display: flex;
  align-items: center;
  gap: clamp(42px, 4vw, 58px);
}

.mc-header-shell .header-menu-1 .ct-menu-link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  color: #1b334b;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  padding-inline: 0;
  white-space: nowrap;
}

.mc-header-shell .header-menu-1 .current-menu-item > .ct-menu-link,
.mc-header-shell .header-menu-1 .ct-menu-link:hover,
.mc-header-shell .header-menu-1 .ct-menu-link:focus {
  color: var(--theme-palette-color-1, #2872fa);
}

.mc-header-shell .menu-item {
  position: relative;
}

.mc-header-shell .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  padding: 10px 0;
  background: var(--theme-palette-color-5, #e1e8ed);
  box-shadow: 0 10px 20px rgba(41, 51, 61, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.mc-header-shell .menu-item:hover > .sub-menu,
.mc-header-shell .menu-item:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mc-header-shell .sub-menu .ct-menu-link {
  min-height: auto;
  width: 100%;
  padding: 8px 18px;
  color: var(--theme-palette-color-6, #2D4159);
  font-size: 14px;
  font-weight: 500;
}

.ct-button,
.wp-element-button,
.wp-block-button__link {
  --mc-button-bg: var(--theme-button-background-initial-color, var(--theme-palette-color-1, #2872fa));
  --mc-button-bg-hover: var(--theme-button-background-hover-color, var(--theme-palette-color-2, #99A79A));
  --mc-button-text: var(--theme-button-text-initial-color, #fff);
  --mc-button-text-hover: var(--theme-button-text-hover-color, #fff);
  --mc-button-shadow-color: rgba(40, 114, 250, .2);
  min-height: var(--theme-button-min-height, 50px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--theme-button-padding, 5px 20px);
  border: var(--theme-button-border, none);
  border-radius: var(--theme-button-border-radius, 8px);
  color: var(--mc-button-text) !important;
  background: var(--mc-button-bg);
  font-size: var(--theme-button-font-size, 15px);
  font-weight: var(--theme-button-font-weight, 500);
  line-height: 1;
  text-decoration: none;
}

.mc-header-shell [data-id="button"] .ct-button,
.mc-header-shell .ct-header-cta .ct-button {
  --mc-button-bg: var(--theme-palette-color-1, #2872fa);
  --mc-button-bg-hover: var(--theme-palette-color-3, #E7C87C);
  --mc-button-text: #fff;
  --mc-button-text-hover: var(--theme-palette-color-6, #2D4159);
  --mc-button-shadow-color: rgba(231, 200, 124, .32);
}

/* Nell'editor i bottoni restavano trasparenti: gli stili dell'editor azzerano
   `background-color` con specificita maggiore della regola base qui sopra.
   La regola va prima delle varianti outline/palette, che devono continuare a
   prevalere. */
.editor-styles-wrapper .wp-block-button__link {
  background: var(--mc-button-bg);
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline,
.wp-block-button__link.has-palette-color-1-color:not(.has-background),
.wp-block-button__link.has-palette-color-2-color:not(.has-background),
.wp-block-button__link.has-palette-color-3-color:not(.has-background) {
  --mc-button-bg: transparent;
  --mc-button-bg-hover: var(--theme-palette-color-6, #2D4159);
  --mc-button-text: var(--theme-palette-color-1, #2872fa);
  --mc-button-text-hover: #fff;
  --mc-button-shadow-color: rgba(45, 65, 89, .18);
  border: 2px solid currentColor;
}

.wp-block-button__link.has-palette-color-2-background-color,
.wp-block-button__link.has-background.has-palette-color-2-background-color {
  --mc-button-bg: var(--theme-palette-color-2, #99A79A);
  --mc-button-bg-hover: var(--theme-palette-color-1, #2872fa);
  --mc-button-text: #fff;
  --mc-button-text-hover: #fff;
  --mc-button-shadow-color: rgba(153, 167, 154, .28);
}

.wp-block-button__link.has-palette-color-3-background-color,
.wp-block-button__link.has-background.has-palette-color-3-background-color {
  --mc-button-bg: var(--theme-palette-color-3, #E7C87C);
  --mc-button-bg-hover: var(--theme-palette-color-1, #2872fa);
  --mc-button-text: var(--theme-palette-color-6, #2D4159);
  --mc-button-text-hover: #fff;
  --mc-button-shadow-color: rgba(231, 200, 124, .32);
}

.ct-button:hover,
.ct-button:focus,
.wp-element-button:hover,
.wp-element-button:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  color: var(--mc-button-text-hover) !important;
  background: var(--mc-button-bg-hover) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px var(--mc-button-shadow-color);
}

.ct-button,
.wp-element-button,
.wp-block-button__link {
  transition: color .22s ease, transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.mc-lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  color: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.mc-lang-switcher__item {
  color: inherit;
  opacity: .55;
  text-decoration: none;
  transition: opacity .2s ease;
}

.mc-lang-switcher__item:hover,
.mc-lang-switcher__item:focus,
.mc-lang-switcher__item.is-current {
  opacity: 1;
}

.mc-lang-switcher__sep {
  opacity: .35;
  font-weight: 400;
}

.mc-header-shell [data-device="mobile"] {
  display: none;
}

.ct-header-trigger,
.ct-toggle-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border: 0;
  border-radius: 3px;
  color: var(--theme-palette-color-6, #2D4159);
  background: transparent;
  cursor: pointer;
}

.ct-header-trigger svg,
.ct-toggle-close svg {
  fill: currentColor;
}

.ct-panel {
  position: fixed;
  z-index: 999999;
  inset: var(--admin-bar, 0) 0 0 0;
  display: none;
  flex-direction: column;
  min-height: 100vh;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(18, 21, 25, 0.98);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease-in-out;
}

.ct-panel.active {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.ct-panel-actions {
  display: flex;
  justify-content: flex-end;
  padding: 30px 35px 0;
}

.ct-panel .ct-toggle-close {
  color: #fff;
}

.ct-panel-content {
  flex: 1;
  min-height: 0;
}

.ct-panel-content[data-device="desktop"] {
  display: none;
}

.ct-panel-content-inner {
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 35px;
  overflow-y: auto;
}

.ct-panel .ct-header-text img {
  width: 151px;
  height: auto;
}

.mobile-menu {
  width: 100%;
  margin-top: 25px;
}

.mobile-menu > ul {
  display: flex;
  flex-direction: column;
}

.mobile-menu .ct-menu-link {
  display: flex;
  padding: 8px 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
}

.mobile-menu .current-menu-item > .ct-menu-link,
.mobile-menu .ct-menu-link:hover,
.mobile-menu .ct-menu-link:focus {
  color: var(--theme-palette-color-1, #2872fa);
}

.ct-social-box {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: center;
}

.ct-social-box a {
  display: inline-flex;
  align-items: center;
  color: currentColor;
}

.ct-icon-container {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.ct-icon-container svg {
  display: block;
  fill: currentColor;
}

.ct-header-socials {
  margin-top: 25px;
}

.ct-header-socials .ct-icon-container {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.1);
}

.mc-footer-shell {
  position: relative;
  z-index: 2;
}

.mc-footer-shell .ct-footer {
  color: var(--theme-palette-color-7, #FAFBFC);
  background-color: var(--theme-palette-color-6, #2D4159);
  background-image: url("https://www.mindcompetence.com/wp-content/uploads/2021/06/footer-bg.png");
  background-repeat: no-repeat;
  background-position: 56% 100%;
}

.mc-footer-shell [data-row="middle"] > .ct-container {
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
  padding-block: 90px;
}

.mc-footer-shell [data-row="middle"] [data-column] {
  align-self: start;
  justify-self: stretch;
  min-width: 0;
}

.mc-footer-shell [data-column="widget-area-1"] {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.mc-footer-shell [data-row="bottom"] > .ct-container {
  grid-template-columns: 1fr;
  padding-block: 0 40px;
}

.mc-footer-shell .ct-widget {
  color: var(--theme-palette-color-7, #FAFBFC);
}

.mc-footer-shell .widget-title,
.mc-footer-shell .wp-block-heading {
  margin: 0 0 18px;
  color: var(--theme-palette-color-8, #fff);
  font-size: 16px;
  font-weight: 700;
}

.mc-footer-shell .textwidget p,
.mc-footer-shell .ct-footer-copyright p {
  margin: 0;
}

.mc-footer-shell [data-column="widget-area-1"] .textwidget,
.mc-footer-shell [data-column="widget-area-1"] .textwidget p {
  display: block;
  line-height: 1;
}

.mc-footer-shell a {
  color: var(--theme-palette-color-8, #fff);
}

.mc-footer-shell a:hover,
.mc-footer-shell a:focus {
  color: var(--theme-palette-color-2, #99A79A);
}

.mc-footer-shell .ct-widget + .ct-widget {
  margin-top: 18px;
}

.mc-footer-shell img {
  display: block;
  max-width: 90px;
  height: auto;
}

.mc-footer-shell .ct-social-box {
  color: var(--theme-palette-color-8, #fff);
}

.mc-footer-shell .ct-footer-copyright {
  color: var(--theme-palette-color-7, #FAFBFC);
  font-size: 15px;
  line-height: 1.3;
}

.mc-posts-archive .ct-container {
  padding-block: var(--theme-content-vertical-spacing, 80px);
}

.mc-posts-archive .ct-no-results {
  text-align: center;
}

.mc-posts-archive .page-title {
  margin: 0;
  font-size: 100px;
  font-weight: 800;
  line-height: 1.2;
}

.ct-breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--theme-palette-color-6, #2D4159);
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
}

.ct-breadcrumbs .ct-separator {
  fill: currentColor;
}

.page-description {
  max-width: 60%;
  margin: 18px auto 0;
  font-size: 18px;
  font-weight: 500;
}

.forminator-edit-module {
  display: none !important;
}

.mc-cookie-settings-link {
  color: var(--theme-palette-color-1, #2872fa);
  font-weight: 700;
}

.mc-form-success-fallback {
  margin-top: 22px;
  padding: 18px 22px;
  border-left: 4px solid var(--theme-palette-color-1, #2872fa);
  background: #f6f7f8;
  color: var(--theme-palette-color-4, #FFF3E4);
  font-weight: 700;
  line-height: 1.55;
}

.mc-site-main .mc-legal-page,
.editor-styles-wrapper .mc-legal-page {
  width: min(100% - 70px, 980px);
  max-width: 980px;
  margin: clamp(54px, 6vw, 86px) auto clamp(76px, 7vw, 112px) !important;
  color: #2D4159 !important;
}

.mc-site-main .mc-legal-page > *,
.editor-styles-wrapper .mc-legal-page > * {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

.mc-site-main .mc-legal-page .mc-legal-card,
.editor-styles-wrapper .mc-legal-page .mc-legal-card {
  max-width: 920px;
  margin: 0 auto clamp(36px, 4vw, 56px) !important;
  padding: clamp(28px, 3.2vw, 44px) !important;
  border: 1px solid rgba(45, 65, 89, .08);
  border-left: 4px solid var(--theme-palette-color-1, #2872fa);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(45, 65, 89, .06);
}

.mc-site-main .mc-legal-page .mc-legal-card p,
.editor-styles-wrapper .mc-legal-page .mc-legal-card p {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.62;
}

.mc-site-main .mc-legal-page .mc-legal-card p:last-child,
.editor-styles-wrapper .mc-legal-page .mc-legal-card p:last-child {
  margin-bottom: 0 !important;
}

.mc-site-main .mc-legal-page h2,
.editor-styles-wrapper .mc-legal-page h2 {
  margin-top: clamp(34px, 4vw, 54px) !important;
  margin-bottom: 16px !important;
  color: var(--theme-palette-color-6, #2D4159);
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.15 !important;
  font-weight: 800;
}

.mc-site-main .mc-legal-page h1,
.editor-styles-wrapper .mc-legal-page h1 {
  margin-top: 0 !important;
  margin-bottom: clamp(22px, 3vw, 34px) !important;
  color: #2D4159 !important;
  font-size: clamp(42px, 5.2vw, 68px) !important;
  line-height: 1.06 !important;
  font-weight: 800;
}

.mc-site-main .mc-legal-page h3,
.editor-styles-wrapper .mc-legal-page h3 {
  margin-top: clamp(28px, 3.2vw, 42px) !important;
  margin-bottom: 12px !important;
  color: #2D4159 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.22 !important;
  font-weight: 800;
}

.mc-site-main .mc-legal-page h2:first-child,
.editor-styles-wrapper .mc-legal-page h2:first-child {
  margin-top: 0 !important;
}

.mc-site-main .mc-legal-page p,
.mc-site-main .mc-legal-page li,
.mc-site-main .mc-legal-page strong,
.mc-site-main .mc-legal-page h2,
.mc-site-main .mc-legal-page h1,
.mc-site-main .mc-legal-page h3,
.editor-styles-wrapper .mc-legal-page p,
.editor-styles-wrapper .mc-legal-page li,
.editor-styles-wrapper .mc-legal-page strong,
.editor-styles-wrapper .mc-legal-page h2,
.editor-styles-wrapper .mc-legal-page h1,
.editor-styles-wrapper .mc-legal-page h3 {
  color: #2D4159 !important;
}

.mc-site-main .mc-legal-page p,
.mc-site-main .mc-legal-page li,
.editor-styles-wrapper .mc-legal-page p,
.editor-styles-wrapper .mc-legal-page li {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.72;
}

.mc-site-main .mc-legal-page ul,
.editor-styles-wrapper .mc-legal-page ul {
  padding-left: 1.25em;
}

.mc-site-main .mc-legal-page li + li,
.editor-styles-wrapper .mc-legal-page li + li {
  margin-top: 12px;
}

.mc-site-main .mc-cookie-settings-card,
.editor-styles-wrapper .mc-cookie-settings-card {
  max-width: 920px;
  margin: clamp(24px, 3vw, 34px) auto clamp(34px, 4vw, 52px) !important;
  padding: clamp(26px, 3vw, 38px) !important;
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(40, 114, 250, .08), rgba(231, 200, 124, .16)),
    #fff;
  border: 1px solid rgba(45, 65, 89, .08);
}

.mc-site-main .mc-cookie-settings-card h2,
.editor-styles-wrapper .mc-cookie-settings-card h2 {
  margin-top: 0 !important;
}

.mc-site-main .mc-cookie-settings-link,
.editor-styles-wrapper .mc-cookie-settings-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 8px;
  background: var(--theme-palette-color-1, #2872fa);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}

.mc-site-main .mc-cookie-settings-link:hover,
.mc-site-main .mc-cookie-settings-link:focus,
.editor-styles-wrapper .mc-cookie-settings-link:hover,
.editor-styles-wrapper .mc-cookie-settings-link:focus {
  background: var(--theme-palette-color-6, #2D4159);
  color: #fff !important;
}

.mc-site-main .mc-home-hero,
.editor-styles-wrapper .mc-home-hero {
  position: relative;
  display: flex !important;
  min-height: clamp(680px, 78vh, 800px);
  align-items: center;
  background-position: center right !important;
  background-size: cover !important;
  padding: clamp(160px, 13vw, 205px) 0 clamp(70px, 7vw, 100px) !important;
}

.mc-site-main .mc-home-hero > .wp-block-cover__background,
.editor-styles-wrapper .mc-home-hero > .wp-block-cover__background {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .78) 36%, rgba(255, 255, 255, .45) 62%, rgba(255, 255, 255, .26) 100%) !important;
  opacity: 1 !important;
}

.mc-site-main .mc-home-hero > .wp-block-cover__inner-container,
.editor-styles-wrapper .mc-home-hero > .wp-block-cover__inner-container {
  width: min(calc(100% - 190px), 1176px) !important;
  max-width: 1176px !important;
  margin-inline: auto;
}

.mc-site-main .mc-home-hero .mc-home-hero-content,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-content {
  max-width: 720px;
}

.mc-site-main .mc-home-hero .mc-home-hero-content,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mc-site-main .mc-home-hero .mc-home-hero-title,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
  max-width: 660px;
  margin-bottom: 24px !important;
}

.mc-site-main .mc-home-hero .mc-home-hero-title,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
  max-width: 660px;
  margin: 0;
  color: var(--theme-palette-color-6, #2D4159);
  font-size: clamp(76px, 7.4vw, 112px) !important;
  line-height: .94 !important;
}

.mc-site-main .mc-home-hero .mc-home-hero-subtitle,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
  max-width: 560px;
  margin-bottom: 34px !important;
}

.mc-site-main .mc-home-hero .mc-home-hero-subtitle,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
  max-width: 560px;
  margin: 0;
  color: var(--theme-palette-color-6, #2D4159) !important;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: .02em;
}

.mc-site-main .mc-home-hero .wp-block-buttons,
.editor-styles-wrapper .mc-home-hero .wp-block-buttons {
  margin-top: 2px;
}

.mc-site-main .mc-home-hero .mc-hero-proof,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof {
  width: min(100%, 560px);
  margin-top: clamp(42px, 5vw, 60px) !important;
  margin-left: 0 !important;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--theme-palette-color-3, #E7C87C);
}

.mc-site-main .mc-home-hero .mc-hero-proof p,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof p {
  max-width: 540px;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mc-site-main .mc-home-hero .mc-hero-proof p:first-child,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof p:first-child {
  font-size: clamp(17px, 1.15vw, 19px) !important;
  line-height: 1.72 !important;
}

.mc-site-main .mc-home-hero .mc-hero-proof p:last-child,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof p:last-child {
  margin-top: 24px !important;
  color: var(--theme-palette-color-6, #2D4159) !important;
}

body.home #choose-your-path,
body.home #choose-your-path .stk-block-heading__text {
  text-align: center !important;
}

body.home .mc-home-path-heading {
  width: 100%;
  max-width: none;
  margin-bottom: 0 !important;
  padding: 0 35px;
  text-align: center !important;
}

body.home .mc-home-path-heading .wp-block-heading {
  margin: 0 auto !important;
  color: var(--theme-palette-color-6, #2D4159) !important;
  font-size: clamp(50px, 5vw, 60px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

body.home .ct-special-features {
  width: min(100% - 70px, 980px);
  max-width: 980px;
  margin-inline: auto !important;
}

body.home .ct-special-features > .stk-row {
  justify-content: center;
}

body.home .ct-special-features .stk-block-column {
  max-width: 430px;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.home .ct-special-features .stk-block-content,
body.home .ct-special-features .stk-block-heading__text {
  text-align: center !important;
}

body.home .ct-special-features .stk-block-icon {
  text-align: center !important;
}

body.home .ct-special-features .stk--svg-wrapper {
  margin-inline: auto;
}

body.home .ct-special-features .wp-block-buttons {
  justify-content: center !important;
}

body.home .ct-special-features.mc-home-editable-path {
  align-items: stretch !important;
  justify-content: center;
  gap: clamp(24px, 3vw, 35px) !important;
}

body.home .ct-special-features.mc-home-editable-path > .wp-block-column {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  max-width: 430px;
  min-height: clamp(245px, 21vw, 300px);
  justify-content: center;
  padding: clamp(40px, 5vw, 80px) clamp(30px, 4vw, 60px) !important;
  margin-bottom: 50px !important;
  text-align: center !important;
}

body.home .ct-special-features.mc-home-editable-path > .wp-block-column:hover,
body.home .ct-special-features.mc-home-editable-path > .wp-block-column:focus-within {
  background:
    linear-gradient(180deg, rgba(231, 200, 124, .98), rgba(231, 200, 124, .92)),
    var(--theme-palette-color-3, #E7C87C);
}

body.home .ct-special-features.mc-home-editable-path .mc-auto-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 30px;
  padding: 0;
  background: transparent;
}

body.home .ct-special-features.mc-home-editable-path .wp-block-heading {
  width: 100%;
  margin: 0 0 30px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.editor-styles-wrapper .mc-home-path-heading .wp-block-heading {
  margin-inline: auto !important;
  text-align: center !important;
}

.editor-styles-wrapper .ct-special-features.mc-home-editable-path > .wp-block-column {
  align-items: center !important;
  text-align: center !important;
}

.editor-styles-wrapper .ct-special-features.mc-home-editable-path .wp-block-heading {
  width: 100%;
  text-align: center !important;
}

body.home .ct-special-features.mc-home-editable-path .has-text-align-center {
  text-align: center !important;
}

body.home .ct-special-features.mc-home-editable-path .wp-block-buttons {
  justify-content: center !important;
  margin-top: auto;
}

.mc-site-main .wp-block-group.alignwide,
.mc-site-main .wp-block-group.alignfull:not(.mc-page-hero) {
  width: min(100% - 70px, var(--theme-normal-container-max-width, 1290px));
  max-width: var(--theme-normal-container-max-width, 1290px);
  margin-inline: auto;
}

.mc-site-main .wp-block-group.alignfull {
  width: 100%;
  max-width: none;
}

.mc-site-main .wp-block-column,
.mc-site-main .wp-block-group {
  --mc-corporate-section-bg: #f6f8fa;
  --mc-corporate-surface: #ffffff;
  --mc-corporate-border: rgba(45, 65, 89, .08);
  --mc-corporate-shadow: 0 16px 38px rgba(45, 65, 89, .055);
}

body.page-id-770 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-1007 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-891 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-1008 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-768 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-1006 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-833 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero),
body.page-id-1009 .mc-site-main .wp-block-group.alignfull.has-background:not(.mc-page-hero) {
  border-radius: 10px;
  overflow: hidden;
}

body.page-id-770 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-1007 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-891 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-1008 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-768 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-1006 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-833 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero),
body.page-id-1009 .mc-site-main .wp-block-group.alignfull.has-background:not(.has-text-color):not(.mc-page-hero) {
  background-color: var(--mc-corporate-section-bg) !important;
  padding-top: clamp(76px, 6vw, 92px) !important;
  padding-bottom: clamp(76px, 6vw, 92px) !important;
}

body.page-id-770 .mc-site-main .wp-block-column.has-background,
body.page-id-1007 .mc-site-main .wp-block-column.has-background,
body.page-id-891 .mc-site-main .wp-block-column.has-background,
body.page-id-1008 .mc-site-main .wp-block-column.has-background,
body.page-id-768 .mc-site-main .wp-block-column.has-background,
body.page-id-1006 .mc-site-main .wp-block-column.has-background,
body.page-id-833 .mc-site-main .wp-block-column.has-background,
body.page-id-1009 .mc-site-main .wp-block-column.has-background,
body.page-id-770 .mc-site-main .mc-enhanced-card,
body.page-id-1007 .mc-site-main .mc-enhanced-card,
body.page-id-891 .mc-site-main .mc-enhanced-card,
body.page-id-1008 .mc-site-main .mc-enhanced-card,
body.page-id-768 .mc-site-main .mc-enhanced-card,
body.page-id-1006 .mc-site-main .mc-enhanced-card,
body.page-id-833 .mc-site-main .mc-enhanced-card,
body.page-id-1009 .mc-site-main .mc-enhanced-card,
body.page-id-891 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-1008 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-833 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-1009 .mc-site-main .wp-block-group.has-background:not(.alignfull) {
  border: 1px solid var(--mc-corporate-border) !important;
  border-radius: 8px !important;
  background: var(--mc-corporate-surface) !important;
  box-shadow: var(--mc-corporate-shadow) !important;
}

body.page-id-770 .mc-site-main .wp-block-column.has-background,
body.page-id-1007 .mc-site-main .wp-block-column.has-background,
body.page-id-833 .mc-site-main .wp-block-column.has-background,
body.page-id-1009 .mc-site-main .wp-block-column.has-background,
body.page-id-770 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-1007 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-891 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-1008 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-768 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-1006 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-833 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-1009 .mc-site-main .mc-enhanced-card:not(.mc-roomy-card),
body.page-id-891 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-1008 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-833 .mc-site-main .wp-block-group.has-background:not(.alignfull),
body.page-id-1009 .mc-site-main .wp-block-group.has-background:not(.alignfull) {
  padding: clamp(32px, 2.6vw, 38px) !important;
}

body.page-id-770 .mc-site-main .mc-roomy-card,
body.page-id-1007 .mc-site-main .mc-roomy-card,
body.page-id-768 .mc-site-main .mc-roomy-card,
body.page-id-1006 .mc-site-main .mc-roomy-card {
  padding: clamp(34px, 2.8vw, 40px) !important;
}

body.page-id-770 .mc-site-main .mc-ali-card,
body.page-id-1007 .mc-site-main .mc-ali-card {
  min-height: clamp(246px, 17vw, 270px);
}

/* Resources / Ressourcen: gerarchia delle card video.

   Le tre card portano un titolo, una riga che ne dichiara lo scopo e la durata.
   Prima le ultime due stavano insieme in un solo paragrafo con stile inline
   (15px, peso 700, `margin-top: -8px`): il margine negativo la incollava al
   titolo e il grassetto la rendeva piu marcata del titolo stesso. Ora sono due
   blocchi con un ruolo visivo proprio: sottotitolo in peso intermedio e colore
   attenuato, durata come etichetta compatta.

   Niente selettori `body.page-id-...`: non valgono nella tela dell'editor, che
   e proprio il contesto in cui la gerarchia era illeggibile. */
.mc-site-main .mc-resource-subtitle,
.editor-styles-wrapper .mc-resource-subtitle {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  /* navy del tema schiarito: resta subordinato al titolo senza sparire.
     Contrasto su bianco 5.2:1, sopra la soglia AA per il testo normale. */
  color: #5A6E85;
}

.mc-site-main .mc-resource-duration,
.editor-styles-wrapper .mc-resource-duration {
  display: inline-block;
  margin: 0 0 22px;
  padding: 5px 13px;
  border-radius: 999px;
  /* stessa velatura blu dei riquadri icona delle card */
  background: rgba(40, 114, 250, .09);
  color: var(--theme-palette-color-6, #2D4159);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .02em;
}

.mc-site-main .wp-block-heading:has(> .mc-resource-icon),
.editor-styles-wrapper .wp-block-heading:has(> .mc-resource-icon) {
  display: block;
  max-width: 920px;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
  line-height: 1.18 !important;
  letter-spacing: 0;
}

.mc-site-main .mc-resource-icon,
.editor-styles-wrapper .mc-resource-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-right: .32em !important;
  vertical-align: -.08em !important;
}

.mc-site-main #videos .wp-block-column.has-background h3,
.mc-site-main #guides-brochures .wp-block-group.has-background h3,
.editor-styles-wrapper #videos .wp-block-column.has-background h3,
.editor-styles-wrapper #guides-brochures .wp-block-group.has-background h3 {
  margin-bottom: 16px !important;
  font-size: 28px !important;
  line-height: 1.22 !important;
  letter-spacing: 0;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

body.page-id-768 .mc-site-main img[src*="IMG_5390-rotated.jpg"],
body.page-id-1006 .mc-site-main img[src*="IMG_5390-rotated.jpg"] {
  border-radius: 10px !important;
  box-shadow: 0 20px 46px rgba(45, 65, 89, .09);
}

body.page-id-768 .mc-site-main .mc-about-credential-card h3,
body.page-id-1006 .mc-site-main .mc-about-credential-card h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
  width: 100%;
  margin: 0 0 16px !important;
  text-align: left !important;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

body.page-id-768 .mc-site-main .mc-about-credential-card .mc-heading-icon,
body.page-id-1006 .mc-site-main .mc-about-credential-card .mc-heading-icon {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 9px;
  border-radius: 8px;
  color: var(--theme-palette-color-6, #2D4159);
  background: rgba(40, 114, 250, .08);
  box-sizing: content-box;
}

body.page-id-768 .mc-site-main .mc-about-credential-columns,
body.page-id-1006 .mc-site-main .mc-about-credential-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start !important;
  gap: 28px !important;
  width: min(100%, 1000px) !important;
  max-width: 1000px !important;
  margin-inline: auto !important;
}

body.page-id-768 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card,
body.page-id-1006 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card {
  display: contents !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-id-768 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card::after,
body.page-id-1006 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card::after {
  display: none !important;
}

body.page-id-768 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card:hover,
body.page-id-768 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card:focus-within,
body.page-id-1006 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card:hover,
body.page-id-1006 .mc-site-main .mc-about-credential-columns > .mc-about-credential-card:focus-within {
  transform: none !important;
  box-shadow: none !important;
}

body.page-id-768 .mc-site-main .mc-about-benefit-card,
body.page-id-1006 .mc-site-main .mc-about-benefit-card {
  display: flex;
  align-self: start !important;
  min-height: clamp(264px, 19vw, 300px);
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(30px, 2.6vw, 38px) !important;
  border: 1px solid rgba(45, 65, 89, .08);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(45, 65, 89, .055);
}

body.page-id-768 .mc-site-main .mc-about-benefit-card p,
body.page-id-1006 .mc-site-main .mc-about-benefit-card p {
  margin-bottom: 0 !important;
}

.mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-8979a52a,
.mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-49db601c,
.mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-e69bf9df {
  border-radius: 10px;
  overflow: hidden;
}

body.page-id-891 .mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-e69bf9df,
body.page-id-1008 .mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-e69bf9df {
  margin-bottom: 24px;
}

body.page-id-768 .mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-e69bf9df,
body.page-id-1006 .mc-site-main .wp-block-group.alignfull.has-background.wp-container-core-group-is-layout-e69bf9df {
  margin-bottom: 24px;
}

.mc-site-main .wp-block-columns {
  align-items: stretch;
  gap: clamp(24px, 3vw, 44px);
}

.mc-site-main .wp-block-column {
  min-width: 0;
}

.mc-enhanced-columns {
  position: relative;
}

.mc-enhanced-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  isolation: isolate;
  border: 1px solid rgba(45, 65, 89, .06);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
    var(--theme-palette-color-8, #fff);
  box-shadow: 0 16px 38px rgba(45, 65, 89, .055);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.mc-enhanced-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(40, 114, 250, .12), rgba(231, 200, 124, .12));
  opacity: 0;
  transition: opacity .28s ease;
}

.mc-enhanced-card:hover,
.mc-enhanced-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(40, 114, 250, .18);
  box-shadow: 0 24px 52px rgba(45, 65, 89, .12);
}

.mc-enhanced-card:hover::after,
.mc-enhanced-card:focus-within::after {
  opacity: 1;
}

.mc-enhanced-card .mc-auto-icon {
  width: 38px;
  height: 38px;
  margin: 0 0 22px;
  padding: 10px;
  border-radius: 8px;
  background: rgba(40, 114, 250, .09);
  color: var(--theme-palette-color-6, #2D4159);
  filter: none;
}

/* Spacer della home. Erano blocchi Stackable residui, uno dei quali portava un
   <style> dentro il contenuto della pagina. Ora sono blocchi core `spacer`:
   l'altezza base e un attributo del blocco, la variante mobile sta qui. */
.mc-site-main .mc-home-bottom-spacer {
  height: 50px;
}

.mc-site-main .mc-home-path-spacer {
  height: 50px;
}

/* Icone delle card ALI. Erano <img> dentro un blocco Classic, ora sono blocchi
   core `image`: la classe finisce sulla <figure>, quindi la misura si applica
   al wrapper e l'immagine lo riempie. Le stesse regole valgono nell'editor,
   dove `.mc-enhanced-card` non esiste perche viene aggiunta dal JS frontend. */
.mc-site-main .mc-ali-card-icon,
.editor-styles-wrapper .mc-ali-card-icon {
  display: block;
  width: 38px;
  height: 38px;
  margin: 0 0 22px;
  padding: 10px;
  border-radius: 8px;
  background: rgba(40, 114, 250, .09);
  color: var(--theme-palette-color-6, #2D4159);
  filter: none;
}

.mc-site-main .mc-ali-card-icon img,
.editor-styles-wrapper .mc-ali-card-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Logo TIIS in Seminars/Seminare: da paragrafo Classic a blocco core `image`. */
.mc-site-main .mc-tiis-logo,
.editor-styles-wrapper .mc-tiis-logo {
  margin: 0 0 22px;
}

.mc-site-main .mc-tiis-logo img,
.editor-styles-wrapper .mc-tiis-logo img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
}

.mc-enhanced-card.is-vertically-aligned-center {
  padding: clamp(24px, 2.5vw, 34px);
}

.mc-enhanced-card.is-vertically-aligned-center .mc-auto-icon {
  display: none !important;
}

.mc-enhanced-card > h2:first-child,
.mc-enhanced-card > h3:first-child,
.mc-enhanced-card > h4:first-child,
.mc-enhanced-card > h5:first-child,
.mc-enhanced-card > h6:first-child,
.mc-enhanced-card .mc-auto-icon + h2,
.mc-enhanced-card .mc-auto-icon + h3,
.mc-enhanced-card .mc-auto-icon + h4,
.mc-enhanced-card .mc-auto-icon + h5,
.mc-enhanced-card .mc-auto-icon + h6 {
  margin-top: 0 !important;
}

.mc-enhanced-card .wp-block-buttons,
.mc-enhanced-card .wp-block-button {
  margin-top: auto;
}

.mc-enhanced-card .wp-block-button__link {
  width: auto;
}

.mc-site-main .mc-roomy-columns {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  gap: clamp(22px, 2.4vw, 34px) !important;
}

.mc-site-main .mc-roomy-card {
  padding: clamp(30px, 3vw, 42px) !important;
}

.mc-site-main .mc-roomy-card .mc-auto-icon {
  display: none !important;
}

.mc-site-main .mc-roomy-card h2,
.mc-site-main .mc-roomy-card h3,
.mc-site-main .mc-roomy-card h4 {
  margin-bottom: 18px !important;
}

.mc-site-main .mc-roomy-card .wp-block-list {
  margin: 0;
  padding-left: 1.15em;
}

.mc-site-main .mc-roomy-card .wp-block-list li + li {
  margin-top: 12px;
}

.mc-site-main .mc-contact-card-row {
  width: min(100% - 70px, 690px) !important;
  max-width: 690px !important;
  margin-inline: auto !important;
  justify-content: center !important;
}

.mc-site-main .mc-contact-card-row.stk-row {
  --stk-column-gap: 35px !important;
}

.mc-site-main .mc-contact-card {
  align-items: center;
  text-align: center;
  padding: clamp(58px, 5vw, 80px) clamp(34px, 3vw, 44px) !important;
}

.mc-site-main .mc-contact-card .stk-block-content,
.mc-site-main .mc-contact-card .stk-block-heading__text,
.mc-site-main .mc-contact-card .stk-block-text__text {
  text-align: center !important;
}

.mc-site-main .mc-contact-card .stk-block-icon,
.mc-site-main .mc-contact-card .stk--svg-wrapper {
  margin-inline: auto;
}

body.page-id-765 .mc-site-main .mc-contact-main-columns,
body.page-id-1005 .mc-site-main .mc-contact-main-columns {
  width: min(100% - 90px, 1080px) !important;
  max-width: 1080px !important;
  margin: 0 auto clamp(60px, 6vw, 90px) !important;
  gap: clamp(36px, 4vw, 56px) !important;
  align-items: flex-start !important;
  overflow: visible;
}

body.page-id-765 .mc-site-main .mc-contact-media-column,
body.page-id-765 .mc-site-main .mc-contact-form-column,
body.page-id-1005 .mc-site-main .mc-contact-media-column,
body.page-id-1005 .mc-site-main .mc-contact-form-column {
  flex-basis: 0;
  max-width: 512px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.page-id-765 .mc-site-main .mc-contact-media-column.mc-enhanced-card,
body.page-id-1005 .mc-site-main .mc-contact-media-column.mc-enhanced-card {
  display: block;
  padding: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-765 .mc-site-main .mc-contact-media-column.mc-enhanced-card::after,
body.page-id-1005 .mc-site-main .mc-contact-media-column.mc-enhanced-card::after {
  display: none;
}

body.page-id-765 .mc-site-main .mc-contact-media-column.mc-enhanced-card:hover,
body.page-id-765 .mc-site-main .mc-contact-media-column.mc-enhanced-card:focus-within,
body.page-id-1005 .mc-site-main .mc-contact-media-column.mc-enhanced-card:hover,
body.page-id-1005 .mc-site-main .mc-contact-media-column.mc-enhanced-card:focus-within {
  transform: none;
  box-shadow: none;
}

body.page-id-765 .mc-site-main .mc-contact-media-column figure,
body.page-id-1005 .mc-site-main .mc-contact-media-column figure {
  margin: 0 !important;
}

body.page-id-765 .mc-site-main .mc-contact-media-column img,
body.page-id-1005 .mc-site-main .mc-contact-media-column img {
  display: block;
  width: 100%;
  border-radius: 10px !important;
  box-shadow: 0 20px 46px rgba(45, 65, 89, .09);
}

body.page-id-765 .mc-site-main .mc-contact-card-row,
body.page-id-1005 .mc-site-main .mc-contact-card-row {
  width: 100% !important;
  max-width: 100% !important;
  margin: clamp(22px, 2.4vw, 28px) 0 0 !important;
  gap: 18px !important;
}

body.page-id-765 .mc-site-main .mc-contact-card,
body.page-id-1005 .mc-site-main .mc-contact-card {
  min-height: clamp(202px, 14.3vw, 206px);
  padding: 24px 20px !important;
  border-color: rgba(45, 65, 89, .05) !important;
  box-shadow: 0 14px 34px rgba(45, 65, 89, .045);
}

body.page-id-765 .mc-site-main .mc-contact-card h5,
body.page-id-1005 .mc-site-main .mc-contact-card h5 {
  margin-bottom: 12px !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

body.page-id-765 .mc-site-main .mc-contact-card p,
body.page-id-1005 .mc-site-main .mc-contact-card p {
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.page-id-765 .mc-site-main .mc-contact-form-column.mc-enhanced-card,
body.page-id-1005 .mc-site-main .mc-contact-form-column.mc-enhanced-card {
  padding: clamp(26px, 2.4vw, 34px) !important;
}

body.page-id-765 .mc-site-main .mc-contact-eyebrow,
body.page-id-1005 .mc-site-main .mc-contact-eyebrow {
  margin-bottom: 16px !important;
  color: var(--theme-palette-color-1, #2872fa) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  text-transform: uppercase !important;
}

body.page-id-765 .mc-site-main .mc-contact-form-heading,
body.page-id-1005 .mc-site-main .mc-contact-form-heading {
  margin-bottom: 24px !important;
  font-size: clamp(38px, 3.1vw, 46px) !important;
  line-height: 1.05em !important;
  font-weight: 800 !important;
}

body.page-id-765 .mc-site-main .stk-a5bc981-column,
body.page-id-1005 .mc-site-main .stk-a5bc981-column {
  width: min(100% - 70px, 690px) !important;
  max-width: 690px !important;
  margin-inline: auto !important;
  justify-content: center !important;
}

body.page-id-765 .mc-site-main .stk-622c7a4,
body.page-id-765 .mc-site-main .stk-92b5a22,
body.page-id-1005 .mc-site-main .stk-622c7a4,
body.page-id-1005 .mc-site-main .stk-92b5a22 {
  padding-right: clamp(34px, 3vw, 44px) !important;
  padding-left: clamp(34px, 3vw, 44px) !important;
}

body.page-id-765 .mc-site-main .stk-1dc5942,
body.page-id-1005 .mc-site-main .stk-1dc5942 {
  width: min(100% - 90px, 1080px) !important;
  max-width: 1080px !important;
  margin-inline: auto !important;
  margin-bottom: clamp(60px, 6vw, 90px) !important;
}

body.page-id-765 .mc-site-main .stk-1dc5942-column,
body.page-id-1005 .mc-site-main .stk-1dc5942-column {
  --stk-column-gap: clamp(36px, 4vw, 56px) !important;
  justify-content: center !important;
  overflow: visible;
}

body.page-id-765 .mc-site-main .stk-1dc5942-column.mc-contact-card-row,
body.page-id-1005 .mc-site-main .stk-1dc5942-column.mc-contact-card-row {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

@media (min-width: 900px) {
  body.page-id-765 .mc-site-main .stk-1dc5942 .stk--block-align-1dc5942,
  body.page-id-1005 .mc-site-main .stk-1dc5942 .stk--block-align-1dc5942 {
    align-items: flex-start !important;
  }
}

body.page-id-765 .mc-site-main .stk-6a8268d,
body.page-id-1005 .mc-site-main .stk-6a8268d {
  height: clamp(56px, 6vw, 80px) !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-a5bc981,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-a5bc981 {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: clamp(22px, 2.4vw, 28px) !important;
  margin-inline: 0 !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-a5bc981-column,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-a5bc981-column {
  width: 100% !important;
  max-width: 100% !important;
  --stk-column-gap: 18px !important;
  row-gap: 18px !important;
  justify-content: center !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e.mc-enhanced-card,
body.page-id-1005 .mc-site-main .stk-3b6674e.mc-enhanced-card {
  display: block;
  padding: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-id-765 .mc-site-main .stk-3b6674e.mc-enhanced-card::after,
body.page-id-1005 .mc-site-main .stk-3b6674e.mc-enhanced-card::after {
  display: none;
}

body.page-id-765 .mc-site-main .stk-3b6674e.mc-enhanced-card:hover,
body.page-id-765 .mc-site-main .stk-3b6674e.mc-enhanced-card:focus-within,
body.page-id-1005 .mc-site-main .stk-3b6674e.mc-enhanced-card:hover,
body.page-id-1005 .mc-site-main .stk-3b6674e.mc-enhanced-card:focus-within {
  transform: none;
  box-shadow: none;
}

body.page-id-765 .mc-site-main .stk-3b6674e,
body.page-id-765 .mc-site-main .stk-93c6013,
body.page-id-1005 .mc-site-main .stk-3b6674e,
body.page-id-1005 .mc-site-main .stk-93c6013 {
  max-width: 512px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e figure,
body.page-id-1005 .mc-site-main .stk-3b6674e figure {
  margin: 0 !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e img,
body.page-id-1005 .mc-site-main .stk-3b6674e img {
  display: block;
  width: 100%;
  border-radius: 10px !important;
  box-shadow: 0 20px 46px rgba(45, 65, 89, .09);
}

body.page-id-765 .mc-site-main .stk-93c6013.mc-enhanced-card,
body.page-id-1005 .mc-site-main .stk-93c6013.mc-enhanced-card {
  padding: clamp(26px, 2.4vw, 34px) !important;
}

@media (min-width: 900px) {
  body.page-id-765 .mc-site-main .stk-93c6013.mc-enhanced-card,
  body.page-id-1005 .mc-site-main .stk-93c6013.mc-enhanced-card {
    align-self: stretch !important;
  }
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-622c7a4,
body.page-id-765 .mc-site-main .stk-3b6674e .stk-92b5a22,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-622c7a4,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-92b5a22 {
  min-height: clamp(202px, 14.3vw, 206px);
  padding: 24px 20px !important;
  border-color: rgba(45, 65, 89, .05) !important;
  box-shadow: 0 14px 34px rgba(45, 65, 89, .045);
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-ea85267,
body.page-id-765 .mc-site-main .stk-3b6674e .stk-d34828e,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-ea85267,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-d34828e {
  margin-bottom: 16px !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-ea85267 .stk--svg-wrapper .stk--inner-svg svg:last-child,
body.page-id-765 .mc-site-main .stk-3b6674e .stk-d34828e .stk--svg-wrapper .stk--inner-svg svg:last-child,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-ea85267 .stk--svg-wrapper .stk--inner-svg svg:last-child,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-d34828e .stk--svg-wrapper .stk--inner-svg svg:last-child {
  width: 34px !important;
  height: 34px !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-592ef48,
body.page-id-765 .mc-site-main .stk-3b6674e .stk-9334345,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-592ef48,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-9334345 {
  margin-bottom: 12px !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-block-heading__text,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-block-heading__text {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

body.page-id-765 .mc-site-main .stk-3b6674e .stk-block-text__text,
body.page-id-1005 .mc-site-main .stk-3b6674e .stk-block-text__text {
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.page-id-765 .mc-site-main .stk-93c6013 .mc-auto-icon,
body.page-id-1005 .mc-site-main .stk-93c6013 .mc-auto-icon {
  display: none !important;
}

body.page-id-765 .mc-site-main .stk-93c6013 .stk-409217e .stk-block-heading__text,
body.page-id-1005 .mc-site-main .stk-93c6013 .stk-409217e .stk-block-heading__text {
  font-size: clamp(38px, 3.1vw, 46px) !important;
  line-height: 1.05em !important;
}

body.page-id-765 .mc-site-main .stk-93c6013 .stk-409217e,
body.page-id-1005 .mc-site-main .stk-93c6013 .stk-409217e {
  margin-bottom: 24px !important;
}

body.page-id-765 .mc-site-main .stk-93c6013 .forminator-row,
body.page-id-1005 .mc-site-main .stk-93c6013 .forminator-row {
  margin-bottom: 18px !important;
}

body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-ui,
body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-guttenberg,
body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-row,
body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-col,
body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-field,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-ui,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-guttenberg,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-row,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-col,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-field {
  width: 100% !important;
  max-width: none !important;
}

body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-input,
body.page-id-765 .mc-site-main .mc-contact-form-column .forminator-textarea,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-input,
body.page-id-1005 .mc-site-main .mc-contact-form-column .forminator-textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

body.page-id-765 .mc-site-main .stk-93c6013 .forminator-textarea,
body.page-id-1005 .mc-site-main .stk-93c6013 .forminator-textarea {
  --forminator-textarea-min-height: 118px !important;
}

@media (min-width: 782px) {
  .mc-site-main .mc-seminars-approach-card {
    align-self: stretch !important;
    justify-content: center;
    min-height: 100%;
    padding: clamp(38px, 3.2vw, 48px) !important;
  }
}

@media (min-width: 690px) and (max-width: 899.98px) {
  body.page-id-765 .mc-site-main .stk-1dc5942,
  body.page-id-1005 .mc-site-main .stk-1dc5942 {
    width: min(100% - 8vw, 640px) !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e,
  body.page-id-765 .mc-site-main .stk-93c6013,
  body.page-id-1005 .mc-site-main .stk-3b6674e,
  body.page-id-1005 .mc-site-main .stk-93c6013 {
    flex-basis: 100% !important;
    max-width: 640px !important;
  }
}

.mc-site-main .stk-block-icon,
.mc-site-main .stk--svg-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mc-site-main .stk--svg-wrapper svg,
.mc-site-main .stk-block-icon svg {
  display: block;
  width: 1em;
  height: 1em;
}

.mc-reveal {
  opacity: 1;
  transform: none;
}

.mc-reveal.is-visible {
  animation: mcFadeLift .48s cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes mcFadeLift {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .mc-reveal,
  .mc-reveal.is-visible,
  .mc-enhanced-card,
  .ct-button,
  .wp-element-button,
  .wp-block-button__link {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

@media (min-width: 1000px) and (max-width: 1180px) {
  .mc-header-shell [data-row] > .ct-container {
    width: min(100% - 40px, var(--theme-normal-container-max-width, 1290px));
  }

  .mc-header-shell [data-row="middle"] > .ct-container {
    gap: clamp(14px, 2vw, 26px);
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr) max-content;
  }

  .site-logo-container img {
    width: clamp(76px, 7.6vw, 90px);
  }

  .mc-header-shell .header-menu-1 > ul {
    gap: clamp(12px, 1.5vw, 24px);
  }

  .mc-header-shell .header-menu-1 .ct-menu-link {
    min-height: 44px;
    font-size: clamp(13px, 1.22vw, 15px);
  }

  .mc-header-shell .ct-header-cta .ct-button {
    min-height: 42px;
    padding-inline: clamp(12px, 1.5vw, 20px);
    font-size: 14px;
  }
}

@media (min-width: 1000px) and (max-width: 1180px) {
  .mc-header-shell [data-device="desktop"] {
    display: none !important;
  }

  .mc-header-shell [data-device="mobile"] {
    display: block !important;
  }

  .mc-header-shell.is-inner-header {
    min-height: 104px;
  }

  .mc-header-shell.is-inner-header [data-row="middle"] > .ct-container,
  .mc-header-shell [data-row="middle"] > .ct-container {
    min-height: 70px;
    grid-template-columns: auto auto;
    gap: 20px;
  }

  .site-logo-container img {
    width: 90px;
    max-height: 50px;
  }
}

@media (min-width: 690px) and (max-width: 1180px) {
  .ct-panel {
    align-items: center;
    background: rgba(58, 79, 102, 0.96);
  }

  .ct-panel-content-inner {
    align-items: center;
    justify-content: center;
    padding: clamp(42px, 7vw, 70px);
    text-align: center;
  }

  .mobile-menu {
    margin-top: 32px;
  }

  .mobile-menu > ul {
    gap: clamp(8px, 1.1vw, 12px);
  }

  .mobile-menu .ct-menu-link {
    justify-content: center;
    padding-block: 6px;
    font-size: clamp(32px, 3.5vw, 36px);
    line-height: 1.18;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-subtitle,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof {
    margin-top: 56px !important;
    padding-left: 28px;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof p,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof p {
    font-size: 17px !important;
    line-height: 1.76 !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof p:last-child,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof p:last-child {
    margin-top: 28px !important;
  }
}

@media (max-width: 999.98px) {
  :root {
    --theme-container-width: min(100% - 8vw, var(--theme-normal-container-max-width, 1290px));
    --theme-content-vertical-spacing: 60px;
  }

  .mc-header-shell [data-device="desktop"] {
    display: none;
  }

  .mc-header-shell [data-device="mobile"] {
    display: block;
  }

  .mc-header-shell.is-inner-header {
    min-height: 104px;
  }

  .mc-header-shell.is-inner-header [data-row="top"] > .ct-container {
    min-height: 34px;
  }

  .mc-header-shell.is-inner-header [data-row="middle"] > .ct-container {
    min-height: 70px;
  }

  .mc-header-shell [data-row="middle"] > .ct-container {
    min-height: 70px;
    grid-template-columns: auto auto;
    gap: 20px;
  }

  .site-logo-container img {
    width: 90px;
    max-height: 50px;
  }

  .ct-panel {
    align-items: center;
    background: rgba(58, 79, 102, 0.96);
  }

  .ct-panel-content-inner {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .mobile-menu .ct-menu-link {
    justify-content: center;
    font-size: 30px;
  }

  .mc-site-main .mc-home-hero,
  .editor-styles-wrapper .mc-home-hero {
    min-height: auto;
    align-items: flex-end;
    background-position: 68% center !important;
    /* Il padding superiore lascia scoperta la fascia alta dell'immagine: e li
       che cade il volto (il cover scala la foto sull'altezza, quindi la testa
       occupa sempre il 15-37% dell'altezza della hero). Senza questo spazio il
       titolo finirebbe sopra la faccia. */
    padding: 260px 0 78px !important;
  }

  /* equivalente di `background-position: 68% center` per l'immagine del cover.
     `!important` e obbligatorio: il blocco cover salva il punto focale come
     stile inline sull'<img> (`style="object-position:100% 50%"`), e un inline
     batte qualsiasi regola non `!important`. Senza, sul mobile restava il
     ritaglio desktop (100%), che taglia fuori la testa e inquadra solo il muro
     chiaro alla destra del soggetto. */
  .mc-site-main .mc-home-hero > img.wp-block-cover__image-background,
  .editor-styles-wrapper .mc-home-hero > img.wp-block-cover__image-background {
    object-position: 68% 50% !important;
  }

  /* Overlay tablet. Tre fasce: in alto opaco, perche a questa larghezza il
     ritaglio comprende il soffitto scuro in legno e sotto ci sta il logo; poi
     una finestra chiara (20-27%) dove cade il volto; poi di nuovo opaco sotto,
     dove va il testo. */
  .mc-site-main .mc-home-hero > .wp-block-cover__background,
  .editor-styles-wrapper .mc-home-hero > .wp-block-cover__background {
    background:
      linear-gradient(180deg,
        rgba(255, 255, 255, .82) 0%,
        rgba(255, 255, 255, .78) 13%,
        rgba(255, 255, 255, .30) 20%,
        rgba(255, 255, 255, .30) 27%,
        rgba(255, 255, 255, .86) 34%,
        rgba(255, 255, 255, .93) 100%) !important;
  }

  .mc-site-main .mc-home-hero > .wp-block-cover__inner-container,
  .editor-styles-wrapper .mc-home-hero > .wp-block-cover__inner-container {
    width: var(--theme-container-width) !important;
    max-width: 680px !important;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-content,
  .mc-site-main .mc-home-hero .mc-home-hero-title,
  .mc-site-main .mc-home-hero .mc-home-hero-subtitle,
  .mc-site-main .mc-home-hero .mc-hero-proof,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-content,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-title,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof {
    max-width: 680px;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-title,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
    font-size: clamp(54px, 11vw, 82px) !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof {
    margin-top: 50px !important;
  }

  .mc-header-shell.is-inner-header + .mc-site-main .mc-page-hero,
  .mc-header-shell.is-inner-header + .wp-block-group.mc-site-main .mc-page-hero {
    width: min(100% - 8vw, var(--theme-normal-container-max-width, 1290px));
    margin-top: 18px !important;
    padding-top: clamp(62px, 10vw, 90px) !important;
    padding-bottom: clamp(58px, 9vw, 82px) !important;
  }

  .ct-header-socials .ct-social-box {
    justify-content: center;
    gap: 20px;
  }

  .mc-footer-shell [data-row="middle"] > .ct-container {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-block: 50px;
  }

  .mc-footer-shell [data-row="middle"] [data-column] {
    text-align: center;
    justify-self: center;
  }

  .mc-footer-shell .ct-social-box {
    justify-content: center;
  }

  .mc-site-main .wp-block-group.alignwide,
  .mc-site-main .wp-block-group.alignfull:not(.mc-page-hero) {
    width: min(100% - 8vw, var(--theme-normal-container-max-width, 1290px));
  }

  body.home .ct-special-features {
    width: min(100% - 8vw, 760px);
  }

  .mc-site-main .mc-contact-card-row {
    width: min(100% - 8vw, 690px) !important;
  }

  body.page-id-765 .mc-site-main .stk-a5bc981-column,
  body.page-id-1005 .mc-site-main .stk-a5bc981-column {
    width: min(100% - 8vw, 690px) !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e .stk-a5bc981-column,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-a5bc981-column {
    width: 100% !important;
    max-width: 100% !important;
    --stk-column-gap: 16px !important;
    row-gap: 16px !important;
  }

  body.page-id-765 .mc-site-main .stk-1dc5942,
  body.page-id-1005 .mc-site-main .stk-1dc5942 {
    width: min(100% - 8vw, 960px) !important;
  }

  body.page-id-765 .mc-site-main .stk-1dc5942-column,
  body.page-id-1005 .mc-site-main .stk-1dc5942-column {
    --stk-column-gap: 34px !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e,
  body.page-id-765 .mc-site-main .stk-93c6013,
  body.page-id-1005 .mc-site-main .stk-3b6674e,
  body.page-id-1005 .mc-site-main .stk-93c6013 {
    max-width: 463px !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e .stk-622c7a4,
  body.page-id-765 .mc-site-main .stk-3b6674e .stk-92b5a22,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-622c7a4,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-92b5a22 {
    min-height: 202px;
    padding: 24px 18px !important;
  }

  body.home .ct-special-features .stk-block-column {
    max-width: 100%;
  }

  .mc-enhanced-card {
    align-items: center;
    text-align: center;
  }

  .mc-site-main .mc-roomy-card {
    align-items: flex-start;
    text-align: left;
  }

  body.page-id-768 .mc-site-main .mc-about-credential-columns,
  body.page-id-1006 .mc-site-main .mc-about-credential-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 760px) !important;
  }

  .mc-posts-archive .page-title {
    font-size: 50px;
  }

  .page-description {
    max-width: 100%;
  }
}

@media (min-width: 690px) and (max-width: 999.98px) {
  .ct-panel-content-inner {
    padding: clamp(42px, 7vw, 70px);
  }

  .mobile-menu {
    margin-top: 32px;
  }

  .mobile-menu > ul {
    gap: clamp(8px, 1.1vw, 12px);
  }

  .mobile-menu .ct-menu-link {
    padding-block: 6px;
    font-size: clamp(32px, 3.5vw, 36px);
    line-height: 1.18;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-subtitle,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof {
    margin-top: 56px !important;
    padding-left: 28px;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof p,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof p {
    font-size: 17px !important;
    line-height: 1.76 !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof p:last-child,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof p:last-child {
    margin-top: 28px !important;
  }
}

@media (max-width: 689.98px) {
  :root {
    --theme-container-width: min(100% - 10vw, var(--theme-normal-container-max-width, 1290px));
    --theme-content-vertical-spacing: 50px;
  }

  body.admin-bar .mc-header-shell .ct-header.is-scrolled {
    top: 46px;
  }

  .mc-header-shell [data-row="top"] > .ct-container {
    min-height: 50px;
  }

  .mobile-menu .ct-menu-link {
    font-size: 20px;
  }

  .mc-site-main .mc-home-hero,
  .editor-styles-wrapper .mc-home-hero {
    padding: 300px 0 56px !important;
  }

  /* Overlay telefono. Qui il ritaglio non comprende il soffitto scuro, quindi
     la fascia in cima puo restare piu leggera che sul tablet: dietro al logo
     c'e il muro chiaro. La finestra chiara e 16-25%, dove cade il volto. */
  .mc-site-main .mc-home-hero > .wp-block-cover__background,
  .editor-styles-wrapper .mc-home-hero > .wp-block-cover__background {
    background:
      linear-gradient(180deg,
        rgba(255, 255, 255, .62) 0%,
        rgba(255, 255, 255, .52) 9%,
        rgba(255, 255, 255, .26) 16%,
        rgba(255, 255, 255, .26) 25%,
        rgba(255, 255, 255, .84) 35%,
        rgba(255, 255, 255, .93) 100%) !important;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-content,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-content {
    align-items: flex-start;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-title,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
    margin-bottom: 20px !important;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-title,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
    font-size: clamp(48px, 15vw, 64px) !important;
    text-align: left !important;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-subtitle,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
    margin-bottom: 28px !important;
  }

  .mc-site-main .mc-home-hero .mc-home-hero-subtitle,
  .editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
    font-size: 14px;
    text-align: left !important;
  }

  .mc-site-main .mc-home-hero .wp-block-buttons,
  .editor-styles-wrapper .mc-home-hero .wp-block-buttons {
    justify-content: flex-start !important;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof {
    margin-top: 42px !important;
    padding-left: 18px;
  }

  .mc-site-main .mc-home-hero .mc-hero-proof p:first-child,
  .editor-styles-wrapper .mc-home-hero .mc-hero-proof p:first-child {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .mc-header-shell.is-inner-header + .mc-site-main .mc-page-hero,
  .mc-header-shell.is-inner-header + .wp-block-group.mc-site-main .mc-page-hero {
    width: min(100% - 10vw, var(--theme-normal-container-max-width, 1290px));
    margin-top: 16px !important;
  }

  body.home .ct-special-features {
    width: min(100% - 10vw, 430px);
  }

  .mc-site-main .mc-contact-card-row {
    width: min(100% - 10vw, 430px) !important;
  }

  body.page-id-765 .mc-site-main .stk-a5bc981-column,
  body.page-id-1005 .mc-site-main .stk-a5bc981-column {
    width: min(100% - 10vw, 430px) !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e .stk-a5bc981-column,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-a5bc981-column {
    width: 100% !important;
    max-width: 100% !important;
    --stk-column-gap: 18px !important;
    row-gap: 18px !important;
  }

  body.page-id-765 .mc-site-main .stk-1dc5942,
  body.page-id-1005 .mc-site-main .stk-1dc5942 {
    width: min(100% - 10vw, 430px) !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e,
  body.page-id-765 .mc-site-main .stk-93c6013,
  body.page-id-1005 .mc-site-main .stk-3b6674e,
  body.page-id-1005 .mc-site-main .stk-93c6013 {
    max-width: 100% !important;
  }

  body.page-id-765 .mc-site-main .stk-93c6013.mc-enhanced-card,
  body.page-id-1005 .mc-site-main .stk-93c6013.mc-enhanced-card {
    padding: 32px 26px !important;
  }

  body.page-id-765 .mc-site-main .stk-3b6674e .stk-622c7a4,
  body.page-id-765 .mc-site-main .stk-3b6674e .stk-92b5a22,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-622c7a4,
  body.page-id-1005 .mc-site-main .stk-3b6674e .stk-92b5a22 {
    min-height: 0;
    padding: 34px 24px !important;
  }

  body.page-id-765 .mc-site-main .stk-93c6013 .stk-409217e .stk-block-heading__text,
  body.page-id-1005 .mc-site-main .stk-93c6013 .stk-409217e .stk-block-heading__text {
    font-size: 36px !important;
  }

  .mc-site-main .mc-contact-card {
    padding: 44px 28px !important;
  }

  body.page-id-768 .mc-site-main .mc-about-credential-columns,
  body.page-id-1006 .mc-site-main .mc-about-credential-columns {
    grid-template-columns: 1fr;
    width: min(100%, 430px) !important;
    gap: 22px !important;
  }

  body.page-id-768 .mc-site-main .mc-about-benefit-card,
  body.page-id-1006 .mc-site-main .mc-about-benefit-card {
    min-height: 0;
    padding: 30px 26px !important;
  }

  .ct-panel-actions {
    padding: 20px 25px 0;
  }

  .ct-panel-content-inner {
    padding: 25px;
  }

  .mc-footer-shell [data-row="middle"] > .ct-container {
    padding-block: 40px;
  }

  .mc-footer-shell [data-row="bottom"] > .ct-container {
    padding-block: 0 25px;
  }

  .mc-posts-archive .page-title {
    font-size: 25px;
  }
}

/* Lo spacer in fondo alla home era un blocco Stackable con <style> inline e
   soglia a 767px. La soglia viene mantenuta identica; `!important` serve per
   avere la meglio sull'altezza inline scritta dal blocco core `spacer`. */
@media (max-width: 767px) {
  .mc-site-main .mc-home-bottom-spacer {
    height: 80px !important;
  }
}

/* --- hero home: struttura a blocchi core --- */
/* La hero della home e un blocco core `cover`. Le regole qui sotto coprono cio
   che prima arrivava dallo <style> inline dentro il contenuto della pagina, piu
   quello che serve specificamente al blocco cover. */

.mc-site-main .mc-home-hero {
  margin-bottom: 0;
  background-color: var(--theme-palette-color-8, #ffffff);
  /* il blocco cover imposta `color: #fff`, ma la hero della home e testo scuro
     su overlay chiaro: senza questo, il testo aggiunto dall'editor sarebbe
     bianco su bianco */
  color: var(--theme-palette-color-6, #2D4159);
}

/* Il cover disegna l'immagine come <img>, non come background: object-position
   replica il vecchio `background-position: center right`. */
.mc-site-main .mc-home-hero > img.wp-block-cover__image-background {
  object-fit: cover;
  object-position: 100% 50%;
}

/* Il container interno del cover porta 50px di padding orizzontale che la hero
   non aveva. */
.mc-site-main .mc-home-hero > .wp-block-cover__inner-container {
  padding-left: 0;
  padding-right: 0;
}

/* Il layout "constrained" centra i figli con margin auto !important: la hero e
   allineata a sinistra. */
.mc-site-main .mc-home-hero > .wp-block-cover__inner-container > *,
.mc-site-main .mc-home-hero .mc-home-hero-content > *,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-content > * {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mc-site-main .mc-home-hero .mc-home-hero-title,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-title {
  font-weight: 800;
}

.mc-site-main .mc-home-hero .mc-home-hero-subtitle,
.editor-styles-wrapper .mc-home-hero .mc-home-hero-subtitle {
  font-weight: 700;
  text-transform: uppercase;
}

.mc-site-main .mc-home-hero .mc-hero-proof p:first-child,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof p:first-child {
  margin-top: 0;
  color: #1f3448;
  font-weight: 500;
}

/* I blocchi core `buttons` e `group` portano margini di layout che il markup
   precedente non aveva: qui si riportano i valori originali. */
.mc-site-main .mc-home-hero .wp-block-buttons {
  margin-bottom: 0;
}

/* Il contenuto della hero e un flex column: lo spacer non deve restringersi. */
.mc-site-main .mc-home-hero .mc-home-hero-top-spacer {
  flex: none;
  width: 100%;
}

.mc-site-main .mc-home-hero .mc-hero-proof p:last-child,
.editor-styles-wrapper .mc-home-hero .mc-hero-proof p:last-child {
  /* 1.5em e non 24px: al tablet il paragrafo va a 17px e il margine originale
     scalava con la dimensione del testo. */
  margin-bottom: 1.5em;
  font-style: italic;
  font-weight: 700;
}

/* hero home: gemelli editor */

/* Il pannello CookieScript si apre in un angolo della finestra. Quando lo si
   riapre dal bottone "Open cookie settings" / "Cookie-Einstellungen öffnen"
   viene evidenziato per un attimo, altrimenti l'utente non si accorge che e
   comparso. */
#cookiescript_injected.mc-cookie-panel-flash {
  animation: mc-cookie-panel-flash 1.4s ease-out 1;
}

@keyframes mc-cookie-panel-flash {
  0%   { box-shadow: 0 0 0 0 rgba(40, 114, 250, .55); }
  60%  { box-shadow: 0 0 0 12px rgba(40, 114, 250, 0); }
  100% { box-shadow: 0 0 0 0 rgba(40, 114, 250, 0); }
}

@media (prefers-reduced-motion: reduce) {
  #cookiescript_injected.mc-cookie-panel-flash {
    animation: none;
    outline: 3px solid rgba(40, 114, 250, .55);
  }
}

/* ==========================================================================
   Parita editor <-> frontend

   Sul frontend una parte dell'aspetto arriva da due sorgenti che nell'editor
   non esistono:

   1. la classe `.mc-enhanced-card`, che `assets/js/mc-theme.js` aggiunge a
      runtime alle colonne che contengono un titolo o un bottone;
   2. le regole agganciate a `body.page-id-...` e a `.mc-site-main`, selettori
      che nella tela dell'editor non ci sono.

   Senza questo blocco l'editor mostrava card trasparenti e senza bordo (home
   "Choose Your Path", Contact) e i colori di fondo salvati nei blocchi (verde
   #eef2ed, beige #f2eee7) che il frontend invece normalizza.
   ========================================================================== */

/* Scala dei titoli.

   Sul frontend la catena e in due pezzi: `assets/compat/blocksy-global.css`
   mette la scala sulle variabili di h1..h6 (`h3 { --theme-font-size: 30px }`) e
   `assets/compat/blocksy-main.css` le consuma. Nell'editor non viene caricato
   nessuno dei due, quindi i titoli restavano sul valore base 16px/400: un h3
   usciva a 21px e peso 400, cioe piu piccolo e piu leggero del paragrafo in
   grassetto che lo segue, e la gerarchia si leggeva al contrario.

   Le variabili restano sull'elemento, come sul frontend. Il consumo invece
   passa da `.wp-block-heading`: la regola di WordPress per l'editor e
   `.editor-styles-wrapper h3` (0,1,1) e batterebbe qualunque selettore di sola
   elemento, quindi serve una classe in piu.

   La dimensione ha una guardia: un titolo che porta gia una misura sua, inline
   o come classe preset `has-*-font-size`, resta come e. Peso, interlinea e
   famiglia non ne hanno bisogno, perche in quel caso arrivano inline e lo stile
   inline vince comunque. */
:where(.editor-styles-wrapper) h1 { --theme-font-size: 40px; --theme-font-weight: 700; --theme-line-height: 1.5; }
:where(.editor-styles-wrapper) h2 { --theme-font-size: 35px; --theme-font-weight: 700; --theme-line-height: 1.5; }
:where(.editor-styles-wrapper) h3 { --theme-font-size: 30px; --theme-font-weight: 700; --theme-line-height: 1.5; }
:where(.editor-styles-wrapper) h4 { --theme-font-size: 25px; --theme-font-weight: 700; --theme-line-height: 1.5; }
:where(.editor-styles-wrapper) h5 { --theme-font-size: 20px; --theme-font-weight: 700; --theme-line-height: 1.5; }
:where(.editor-styles-wrapper) h6 { --theme-font-size: 16px; --theme-font-weight: 700; --theme-line-height: 1.5; }

.editor-styles-wrapper .wp-block-heading {
  font-family: var(--theme-font-family, var(--theme-font-stack-default));
  font-weight: var(--theme-font-weight);
  line-height: var(--theme-line-height);
}

.editor-styles-wrapper .wp-block-heading:not([style*="font-size"]):not([class*="font-size"]) {
  font-size: var(--theme-font-size);
}

/* Variabili corporate: sul frontend stanno su `.mc-site-main`. */
.editor-styles-wrapper .wp-block-column,
.editor-styles-wrapper .wp-block-group {
  --mc-corporate-section-bg: #f6f8fa;
  --mc-corporate-surface: #ffffff;
  --mc-corporate-border: rgba(45, 65, 89, .08);
  --mc-corporate-shadow: 0 16px 38px rgba(45, 65, 89, .055);
}

/* Sezioni a tutta larghezza: il frontend le porta tutte allo stesso grigio
   chiarissimo, a prescindere dal colore salvato nel blocco. Le sezioni scure
   (`has-text-color`) e le hero restano come sono.

   Nell'editor i blocchi allineati a tutta larghezza non ricevono la classe
   `alignfull`: si riconoscono perche sono figli diretti di
   `.is-root-container`, cioe blocchi di primo livello della pagina. */
.editor-styles-wrapper .is-root-container > .wp-block-group.has-background:not(.mc-page-hero):not(.mc-home-hero) {
  border-radius: 10px;
  overflow: hidden;
}

.editor-styles-wrapper .is-root-container > .wp-block-group.has-background:not(.has-text-color):not(.mc-page-hero):not(.mc-home-hero) {
  background-color: var(--mc-corporate-section-bg) !important;
  padding-top: clamp(76px, 6vw, 92px) !important;
  padding-bottom: clamp(76px, 6vw, 92px) !important;
}

/* Card interne alle sezioni: bordo e ombra come sul frontend. Sono i gruppi con
   fondo che NON stanno al primo livello. */
.editor-styles-wrapper .wp-block-column.has-background,
.editor-styles-wrapper *:not(.is-root-container) > .wp-block-group.has-background:not(.mc-legal-card):not(.mc-cookie-settings-card):not(.mc-hero-proof) {
  border: 1px solid var(--mc-corporate-border) !important;
  border-radius: 8px !important;
  background: var(--mc-corporate-surface) !important;
  box-shadow: var(--mc-corporate-shadow) !important;
}

/* Aspetto base della card, equivalente di `.mc-enhanced-card`. */
.editor-styles-wrapper .ct-special-features.mc-home-editable-path > .wp-block-column,
.editor-styles-wrapper .mc-contact-form-column {
  border: 1px solid rgba(45, 65, 89, .06) !important;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
    var(--theme-palette-color-8, #fff);
  box-shadow: 0 16px 38px rgba(45, 65, 89, .055);
}

/* Home, "Choose Your Path": misure e centratura delle tre card. */
.editor-styles-wrapper .ct-special-features.mc-home-editable-path {
  align-items: stretch !important;
  justify-content: center;
  gap: clamp(24px, 3vw, 35px) !important;
}

.editor-styles-wrapper .ct-special-features.mc-home-editable-path > .wp-block-column {
  display: flex !important;
  flex-direction: column;
  max-width: 430px;
  min-height: clamp(245px, 21vw, 300px);
  justify-content: center;
  padding: clamp(40px, 5vw, 80px) clamp(30px, 4vw, 60px) !important;
  margin-bottom: 50px !important;
}

.editor-styles-wrapper .ct-special-features.mc-home-editable-path .wp-block-heading {
  margin: 0 0 30px !important;
  font-weight: 800 !important;
}

.editor-styles-wrapper .ct-special-features.mc-home-editable-path .wp-block-buttons {
  justify-content: center !important;
  margin-top: auto;
}

/* Contact: colonne, card indirizzo/email, foto e intestazioni del form. */
.editor-styles-wrapper .mc-contact-media-column,
.editor-styles-wrapper .mc-contact-form-column {
  flex-basis: 0;
  max-width: 512px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.editor-styles-wrapper .mc-contact-media-column figure {
  margin: 0 !important;
}

.editor-styles-wrapper .mc-contact-media-column img {
  display: block;
  width: 100%;
  border-radius: 10px !important;
  box-shadow: 0 20px 46px rgba(45, 65, 89, .09);
}

.editor-styles-wrapper .mc-contact-card-row {
  width: 100% !important;
  max-width: 100% !important;
  margin: clamp(22px, 2.4vw, 28px) 0 0 !important;
  gap: 18px !important;
}

.editor-styles-wrapper .mc-contact-card {
  min-height: clamp(202px, 14.3vw, 206px);
  padding: 24px 20px !important;
  border: 1px solid rgba(45, 65, 89, .05) !important;
  border-radius: 8px !important;
  background: var(--theme-palette-color-8, #fff) !important;
  box-shadow: 0 14px 34px rgba(45, 65, 89, .045) !important;
}

.editor-styles-wrapper .mc-contact-card h5 {
  margin-bottom: 12px !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.editor-styles-wrapper .mc-contact-card p {
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.editor-styles-wrapper .mc-contact-form-column {
  padding: clamp(26px, 2.6vw, 34px) !important;
}

.editor-styles-wrapper .mc-contact-eyebrow {
  margin-bottom: 16px !important;
  color: var(--theme-palette-color-1, #2872fa) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  text-transform: uppercase !important;
}

.editor-styles-wrapper .mc-contact-form-heading {
  margin-bottom: 24px !important;
  font-size: clamp(38px, 3.1vw, 46px) !important;
  line-height: 1.05em !important;
  font-weight: 800 !important;
}

/* Colonne trasformate in card.

   Sul frontend `mc-theme.js` aggiunge `.mc-enhanced-card` a ogni colonna che
   contiene un titolo o un bottone, escludendo hero, colonne con un H1 e quella
   con la foto di Norbert. Nell'editor il JS non gira: le stesse condizioni sono
   riscritte qui con `:has()`, cosi le card si vedono anche in fase di modifica. */
.editor-styles-wrapper .wp-block-column:is(:has(h2), :has(h3), :has(h4), :has(h5), :has(h6), :has(.wp-block-button__link)):not(:has(h1)):not(:has(img[src*="Bild_Norbert_scnzso"])):not(:has(h3 ~ h3 ~ h3)) {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid var(--mc-corporate-border);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .94)),
    var(--theme-palette-color-8, #fff);
  box-shadow: 0 16px 38px rgba(45, 65, 89, .055);
}

/* Dentro le sezioni a tutta larghezza il frontend usa il bordo corporate,
   leggermente piu marcato. */
.editor-styles-wrapper .is-root-container > .wp-block-group.has-background .wp-block-column:is(:has(h2), :has(h3), :has(h4), :has(h5), :has(h6), :has(.wp-block-button__link)):not(:has(h1)) {
  border: 1px solid var(--mc-corporate-border) !important;
  border-radius: 8px !important;
  background: var(--mc-corporate-surface) !important;
  box-shadow: var(--mc-corporate-shadow) !important;
}

/* La colonna con la foto di Norbert resta senza cornice, come sul frontend. */
.editor-styles-wrapper .mc-contact-media-column {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* About: le colonne delle qualifiche non sono card. Sul frontend il JS avvolge
   ogni coppia titolo+testo e le sei voci diventano celle di una griglia a tre
   colonne, mentre la colonna stessa passa a `display: contents`. Nell'editor
   quei contenitori non esistono, quindi la cosa piu fedele e non disegnarle
   come card: sono riconoscibili perche contengono tre H3 di seguito.
   L'esclusione e gia nel selettore generico (`:not(:has(h3 ~ h3 ~ h3))`);
   qui si annulla anche l'eventuale fondo ereditato. */
.editor-styles-wrapper .wp-block-column:has(h3 ~ h3 ~ h3) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
