/* ===========================
   SISTEMA TIPOGRAFICO GLOBALE UCR (OCR Elementor)
   RideMeister Luxury Typography System – Desktop + Responsive Mobile
   =========================== */

/* --- RESET CON CLASSE no-typo --- */
.no-typo, .no-typo h1, .no-typo h2, .no-typo h3, .no-typo h4, .no-typo h5, .no-typo h6, .no-typo p, .no-typo a {
  all: unset !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-transform: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  word-spacing: inherit !important;
  text-decoration: inherit !important;
  box-shadow: none !important;
}

/* ========== TIPOGRAFIA DESKTOP ========== */

/* --- BODY TEXT --- */
body,
.elementor-widget-text-editor p,
.elementor p {
  color: #D1CBC0;
  font-family: 'Inter', sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.6em;
  letter-spacing: 0.01em;
  word-spacing: 0px;
}

/* --- LINK --- */
a,
.elementor-widget-text-editor a {
  color: #FFD369;
  font-family: 'Lato', sans-serif;
  font-size: 0.87rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: color 0.2s;
}

a:hover,
.elementor-widget-text-editor a:hover {
  color: #D4B044;
  font-family: 'Lato', sans-serif;
  font-size: 0.87rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: underline;
}

/* --- H1 --- */
h1,
.elementor-widget-heading h1 {
  color: #FFC013;
  font-family: 'Playfair Display', serif;
  font-size: 3.7rem;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: 0.05em;
  word-spacing: 0px;
}

/* --- H2 --- */
h2,
.elementor-widget-heading h2 {
  color: #F0EDE5;
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 0.03em;
  /* Nessuna letter-spacing o word-spacing specificata */
}

/* --- H3 --- */
h3,
.elementor-widget-heading h3 {
  color: #E1D7B8;
  font-family: 'Playfair Display', serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75rem;
  letter-spacing: 0.02em;
}

/* --- H4 --- */
h4,
.elementor-widget-heading h4 {
  color: #FFFFFF;
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  /* Weight, line-height, letter-spacing default */
}

/* --- H5 --- */
h5,
.elementor-widget-heading h5 {
  color: #FFFFFF;
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  /* Weight, line-height, letter-spacing default */
}

/* --- H6 (coerenza luxury) --- */
h6,
.elementor-widget-heading h6 {
  color: #FFFFFF;
  font-family: 'Playfair Display', serif;
  font-size: 1rem;
}

/* ========== TIPOGRAFIA RESPONSIVE MOBILE ========== */
@media (max-width: 767px) {

  h1,
  .elementor-widget-heading h1 {
    font-size: 2.1rem;
    line-height: 1.18em;
  }
  h2,
  .elementor-widget-heading h2 {
    font-size: 1.45rem;
    line-height: 1.18em;
  }
  h3,
  .elementor-widget-heading h3 {
    font-size: 1.18rem;
    line-height: 1.2em;
  }
  h4,
  .elementor-widget-heading h4 {
    font-size: 1.05rem;
  }
  h5,
  .elementor-widget-heading h5 {
    font-size: 0.99rem;
  }
  h6,
  .elementor-widget-heading h6 {
    font-size: 0.96rem;
  }

  body,
  .elementor-widget-text-editor p,
  .elementor p {
    font-size: 0.96rem;
    line-height: 1.5em;
  }

  a,
  .elementor-widget-text-editor a {
    font-size: 0.79rem;
    letter-spacing: 0.35px;
  }
}

/* ========== END SYSTEM ========== */