/*          =========================================
              VARIABILI                           */
/*#region   ========================================= */
:root {
  /* Colori nuovi */
  --hzn-title: #504ab9;
  --hzn-textlink: #353266;
  --hzn-deepgrey: #717171f2;
  --hzn-grey: #525252;
  --hzn-white: #ffffff;

  /* Colori Altra parte del Sito */
  --color-primary: #554fa1f0;
  --color-secondary: #353266;
  --color-tertiary: #6b66ccf0;
  --color-dark: #0d0d1a;
  --color-white: #ffffff;
  --color-offwhite: #f6f5ff;
  --color-background: #d8c9f326;
  --color-grey: #d9d9d9;
  --strong-grey: #525252;

  /* Colori sezioni specifiche */
  --background-pcto: #96da6580;
  --background-esami: #ed9a5b80;
  --background-instuditalia: #074ed680;
  --background-corsi: #b486e180;
  --background-offwhite: #f7f7f7;

  /* Spaziature sezioni */
  --section-spacing-mobile: 50px;
  --section-spacing-desktop: 100px;

  /* Dimensioni Workspace */
  --workspace-width: 1500px;
  --paddinginline-workspace: clamp(16px, 4vw, 64px);
  --hero-high: 100svh;
}

/*#endregion */

/*          =========================================
              TIPOGRAFIA                           */
/*#region   ========================================= */

/* --- NUOVA TIPOGRAFIA (Modern Style) --- */
.c-h1 {
  font-family: "Cal Sans", sans-serif;
  font-weight: 400;
  /* Fluid: 32px a 64px tra 400px e 1500px viewport */
  font-size: clamp(32px, 2.5vw + 22px, 64px);
  line-height: 36px;
  letter-spacing: 0.02em; /* 2% */
}
@media (min-width: 900px) {
  .c-h1 {
    line-height: 70px;
  }
}
.c-h2-inter {
  font-family: "Inter", sans-serif;
  font-weight: 400; /* Regular di base, gestibile via b/i tags o Gutenberg */
  /* Fluid: 24px a 32px */
  font-size: clamp(24px, 0.7vw + 21px, 32px);
  line-height: normal; /* "auto" */
  letter-spacing: 0.02em; /* 2% */
}
.c-h2-cal {
  font-family: "Cal Sans", sans-serif;
  font-weight: 400; /* Regular di base, gestibile via b/i tags o Gutenberg */
  /* Fluid: 24px a 32px */
  font-size: clamp(24px, 0.7vw + 21px, 32px);
  line-height: normal; /* "auto" */
  letter-spacing: 0.02em; /* 2% */
}

.c-h3 {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: normal;
  letter-spacing: 0.02em;
}

.c-p {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  /* Fluid: 16px a 18px */
  font-size: clamp(16px, 0.2vw + 15px, 18px);
  line-height: 22px;
  letter-spacing: 0; /* 0% su Mobile */
}

@media (min-width: 900px) {
  .c-p {
    letter-spacing: 0.02em; /* 2% su Desktop */
  }
}
/* GESTIONE DEI FONT */
.titolo-h1 {
  font-family: "Cal Sans", sans-serif;
  font-size: clamp(28px, 7vw, 64px);
  letter-spacing: 0.05em;
  font-weight: 400;
}
.titolo-h2 {
  font-family: "Cal Sans", sans-serif;
  font-size: clamp(20px, 4vw, 32px);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.titolo-speciale {
  font-family: "Cal Sans", sans-serif;
  font-size: clamp(18px, 4vw, 24px);
  font-weight: 400;
  letter-spacing: 0.08em;
}

.titolo-h3 {
  font-family: "Inter", sans-serif;
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 700;
}

.paragrafo {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: clamp(16px, 3vw, 20px);
  line-height: 25px;
  letter-spacing: 0.05em;
}

.footer-font {
  font-family: "Inter", sans-serif;
  font-size: clamp(13px, 3.7vw, 18px);
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.7px;
}

.header-font {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
}

.same-font-responsive {
  font-family: "Cal Sans", sans-serif;
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 1.6px;
}

/*#endregion */

/*          =========================================
              COLOR                                */
/*#region   ========================================= */

/* Colori Nuovi */
.hzn-title {
  color: var(--hzn-title);
}
.hzn-textlink {
  color: var(--hzn--textlink);
}
.hzn-deepgrey {
  color: var(--hzn-deepgrey);
}
.hzn-grey {
  color: var(--hzn-grey);
}
.hzn-white {
  color: var(--hzn-white);
}
/* Colori Vecchi */
.primary-color {
  color: var(--color-primary);
}

.secondary-color {
  color: var(--color-secondary);
}

.tertiary-color {
  color: var(--color-tertiary);
}

.dark-color {
  color: var(--color-dark);
}

.white-color {
  color: var(--color-white);
}

.offwhite-color {
  color: var(--color-offwhite);
}
.strong-grey {
  color: var(--strong-grey);
}
/* Gradient */

.rosso-blu-180-gradient {
  background: linear-gradient(180deg, #fc46b680 0%, #3f5efb 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.viola-azzurro-90-gradient {
  background: linear-gradient(90deg, #6a64cc 0%, #9fd7fe 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.verde-azzurro-90-gradient {
  background: linear-gradient(90deg, #a8ff69 0%, #92b8ff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.blu-viola-90-gradient {
  background: linear-gradient(90deg, #3f5efb 0%, #928bff 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline;
}

.pcto-90-gradient {
  background: linear-gradient(90deg, #b9ff87 0%, #00b55b 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.esami-90-gradient {
  background: linear-gradient(90deg, #f5e77d 0%, #ff6e00 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.instuditalia-90-gradient {
  background: linear-gradient(90deg, #a9c7ff 0%, #074ed6 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.corsi-90-gradient {
  background: linear-gradient(90deg, #f8d8ff 0%, #b486e1 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.news-180-gradient {
  background: linear-gradient(180deg, #fc466b80 20%, #3f5efb 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* #endregion */

/*          =========================================
              UTILITY                                */
/*#region   ========================================= */

/* GESTIONE SOLO DESKTOP/MOBILE */
.only-desktop {
  display: none !important;
}

.only-mobile {
  display: block !important;
}

/* Specifico per BR tag (utility nuova) */
.desktop-only-br {
  display: none !important;
}

.mobile-only-br {
  display: block !important;
}

@media (min-width: 900px) {
  .only-desktop {
    display: block !important;
  }

  .only-mobile {
    display: none !important;
  }

  .desktop-only-br {
    display: block !important;
  }

  .mobile-only-br {
    display: none !important;
  }
}

/* NASCONDE I TITOLI DELLE PAGINE (singolo vs query loop) */
.wp-block-post-title {
  display: none !important;
}

.wp-block-query .wp-block-post-title {
  display: block !important;
}

/* GESTIONE LINK E CLICCABILITÀ */
.cardwrap {
  position: relative;
  transition: transform 0.2s linear;
}

.cardwrap:hover {
  transform: scale(1.05);
}

.cardwrap .cardlink {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  z-index: 50;
}

.cardwrap .cardlink a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  /* nasconde il testo*/
}

/* FUNZIONE BACK TO TOP DESKTOP */
@media (min-width: 900px) {
  .back-to-top {
    position: fixed !important;
    right: 80px !important;
    bottom: 80px !important;
    z-index: 999999 !important;
    background: #6a64cc;
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 8px 4px 10px rgba(0, 0, 0, 0.15);
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
    transition:
      opacity 0.3s ease,
      transform 0.3s ease;
  }

  .back-to-top.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .back-to-top:hover {
    transform: translateY(-5px);
  }
}

/*#endregion */

/*          =========================================
              EFFETTI                                */
/*#region   ========================================= */

/* EFFETTI OMBRA */
.text-shadow {
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.box-shadow {
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

@media (min-width: 900px) {
  .glass-effect {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 12px;
    color: var(--color-white);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  }
}

/*#endregion */

/*          =========================================
              MODIFICHE TEMPLATE/COMPONENTI GLOBALI                                */
/*#region   ========================================= */

.global-contenuto-sottopagine-didattica {
  margin-top: 0;
}

.projects-template-contenuto {
  margin-top: 0px;
  margin-bottom: 100px;
  background-color: var(--color-background);
}

.contenuto-template-margin {
  margin-top: 0px;
}

/* MODIFICHE BANNER/BOTTONI COOKIEYES */
button.cky-btn,
button.cky-btn.cky-btn-accept,
button.cky-btn.cky-btn-reject,
button.cky-btn.cky-btn-customize {
  border-radius: 20px !important;
  overflow: hidden;
}

button.cky-btn,
.cky-btn,
#cookieyes-banner,
#cky-consent,
#cookieyes-banner * {
  font-family: "Inter", sans-serif !important;
  /* Oppure il tuo font personalizzato*/
}

html body #cookieyes-banner,
html body #cookieyes-banner *,
html body #cky-consent,
html body #cky-consent *,
html body .cky-consent-bar,
html body .cky-consent-bar *,
html body .cky-preference-center,
html body .cky-preference-center *,
html body .cky-preference-modal,
html body .cky-preference-modal * {
  font-family: "Inter", sans-serif !important;
}

.cky-btn-revisit-wrapper {
  width: 32px !important;
  height: 32px !important;
}

.cky-btn-revisit img {
  width: 20px !important;
  height: 20px !important;
}

@media (min-width: 900px) {
  .cky-btn-revisit-wrapper {
    width: 55px !important;
    height: 55px !important;
  }

  .cky-btn-revisit img {
    width: 35px !important;
    height: 35px !important;
  }
}

/*#endregion */

/*          =========================================
              DA RIMUOVERE DOPO REFACTORING                              */
/*#region   ========================================= */

/* GESTIONE SPAZI FRA SEZIONI/BLOCCHI */
.big-section-spacing {
  margin-block-start: 50px !important;
}

.small-section-spacing {
  margin-block-start: 20px !important;
}

.same-section-spacing {
  margin-block-start: 20px !important;
}

@media (min-width: 900px) {
  .big-section-spacing {
    margin-block-start: 100px !important;
  }

  .small-section-spacing {
    margin-block-start: 40px !important;
  }
}

/*#endregion */

/* =========================================
   PROTEZIONE IMMAGINI (Copyright)
   ========================================= */
img,
.magazine-comp,
[class*="__img"],
figure {
  -webkit-touch-callout: none !important; /* Disabilita menu a comparsa su iOS */
  -webkit-user-drag: none !important; /* Impedisce il trascinamento dell'immagine */
  user-select: none !important; /* Impedisce la selezione dell'elemento */
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
