/* New Styles - LDS 3.0 */
/* Extra Large Display Style */
.lds-ringside-display-extra-large {
  /* Ringside/Display 1 */
  font: var(--lds-g-typography-ringside-display-1-default);
  letter-spacing: var(--lds-g-typography-ringside-display-1-letter-spacing);
}

/* Extra Display Style */
.lds-ringside-display-extra {
  /* Ringside/Display 2 */
  font: var(--lds-g-typography-ringside-display-2-default);
  letter-spacing: var(--lds-g-typography-ringside-display-2-letter-spacing);
}

/* Heading Styles */
.lds-ringside-heading-1 {
  /* Ringside/Heading 1 */
  font: var(--lds-g-typography-ringside-heading-1-default);
  letter-spacing: var(--lds-g-typography-ringside-heading-1-letter-spacing);
}

.lds-ringside-heading-2 {
  /* Ringside/Heading 2 */
  font: var(--lds-g-typography-ringside-heading-2-default);
  letter-spacing: var(--lds-g-typography-ringside-heading-2-letter-spacing);
}

.lds-ringside-heading-3 {
  /* Ringside/Heading 3 */
  font: var(--lds-g-typography-ringside-heading-3-default);
  letter-spacing: var(--lds-g-typography-ringside-heading-3-letter-spacing);
}

.lds-ringside-heading-3-desktop {
  /* Ringside/Heading 3 */
  font: var(--lds-g-typography-ringside-heading-3-desktop);
  letter-spacing: var(--lds-g-typography-ringside-heading-3-letter-spacing);
}

.lds-ringside-heading-4 {
  /* Ringside/Heading 4 */
  font: var(--lds-g-typography-ringside-heading-4-default);
  letter-spacing: var(--lds-g-typography-ringside-heading-4-letter-spacing);
}

.lds-ringside-heading-5 {
  /* Ringside/Heading 5 */
  font: var(--lds-g-typography-ringside-heading-5-default);
}

.lds-ringside-heading-6 {
  /* Ringside/Heading 6 */
  font: var(--lds-g-typography-ringside-heading-6-default);
}

/* Body Text Styles */
.lds-ringside-body-large {
  /* Ringside/Body Large */
  font: var(--lds-g-typography-ringside-body-large);
}

.lds-ringside-body-medium {
  /* Ringside/Body Medium */
  font: var(--lds-g-typography-ringside-body-medium);
}

.lds-ringside-body-small {
  /* Ringside/Body Small */
  font: var(--lds-g-typography-ringside-body-small);
}

/* CTA Styles */
.lds-ringside-cta-button {
  /* Ringside/CTA Button */
  font: var(--lds-g-typography-ringside-special-cta-button-default);
}

.lds-ringside-cta-text-link {
  /* Ringside/CTA Text Link */
  font: var(--lds-g-typography-ringside-special-cta-text-link-default);
}

/* Caption Style */
.lds-ringside-caption {
  /* Ringside/Caption */
  font: var(--lds-g-typography-ringside-special-caption-default);
}

/* Garamond Styles */
.lds-ringside-garamond-extra {
  /* Garamond/Display 1 */
  font: var(--lds-g-typography-garamond-display-1-default);
  letter-spacing: var(--lds-g-typography-garamond-display-1-letter-spacing);
}

.lds-garamond-heading-1 {
  /* Garamond/Heading 1 */
  font: var(--lds-g-typography-garamond-heading-1-default);
  letter-spacing: var(--lds-g-typography-garamond-heading-1-letter-spacing);
}

.lds-garamond-heading-2 {
  /* Garamond/Heading 2 */
  font: var(--lds-g-typography-garamond-heading-2-default);
  letter-spacing: var(--lds-g-typography-garamond-heading-2-letter-spacing);
}

.lds-garamond-heading-3 {
  /* Garamond/Heading 3 */
  font: var(--lds-g-typography-garamond-heading-3-default);
  letter-spacing: var(--lds-g-typography-garamond-heading-3-letter-spacing);
}

.lds-garamond-heading-4 {
  /* Garamond/Heading 4 */
  font: var(--lds-g-typography-garamond-heading-4-default);
}

.lds-garamond-heading-5 {
  /* Garamond/Heading 5 */
  font: var(--lds-g-typography-garamond-heading-5-default);
}

.lds-garamond-heading-6 {
  /* Garamond/Heading 6 */
  font: var(--lds-g-typography-garamond-heading-6-default);
}

.lds-rte-garamond-font-14 {
  font-family: var(--lds-g-font-family-serif);
  font-size: var(--lds-g-font-size-neg-1);
  line-height: var(--lds-g-font-line-height-3);
}

.lds-rte-garamond-font-16 {
  font-family: var(--lds-g-font-family-serif);
  font-size: var(--lds-g-font-size-base);
  line-height: var(--lds-g-font-line-height-5);
}

.lds-rte-garamond-font-20 {
  font-family: var(--lds-g-font-family-serif);
  font-size: var(--lds-g-font-size-1);
  line-height: var(--lds-g-font-line-height-7);
}

/* Desktop Transformations */
@media (min-width: 768px) {
  /* Extra Large Display Style */
  .lds-ringside-display-extra-large {
    font: var(--lds-g-typography-ringside-display-1-desktop);
    letter-spacing: var(--lds-g-typography-ringside-display-1-letter-spacing);
  }

  /* Extra Display Style */
  .lds-ringside-display-extra {
    font: var(--lds-g-typography-ringside-display-2-desktop);
    letter-spacing: var(--lds-g-typography-ringside-display-2-letter-spacing);
  }

  /* Heading Styles */
  .lds-ringside-heading-1 {
    font: var(--lds-g-typography-ringside-heading-1-desktop);
    letter-spacing: var(--lds-g-typography-ringside-heading-1-letter-spacing);
  }

  .lds-ringside-heading-2 {
    font: var(--lds-g-typography-ringside-heading-2-desktop);
    letter-spacing: var(--lds-g-typography-ringside-heading-2-letter-spacing);
  }

  .lds-ringside-heading-3 {
    font: var(--lds-g-typography-ringside-heading-3-desktop);
    letter-spacing: var(--lds-g-typography-ringside-heading-3-letter-spacing);
  }

  .lds-ringside-heading-4 {
    font: var(--lds-g-typography-ringside-heading-4-desktop);
    letter-spacing: var(--lds-g-typography-ringside-heading-4-letter-spacing);
  }

  .lds-ringside-heading-5 {
    font: var(--lds-g-typography-ringside-heading-5-desktop);
  }

  .lds-ringside-heading-6 {
    font: var(--lds-g-typography-ringside-heading-6-desktop);
  }

  /* Body Text Styles */
  .lds-ringside-body-large {
    font: var(--lds-g-typography-ringside-body-large-desktop);
  }

  .lds-ringside-body-medium {
    font: var(--lds-g-typography-ringside-body-medium-desktop);
  }

  .lds-ringside-body-small {
    font: var(--lds-g-typography-ringside-body-small-desktop);
  }

  .lds-ringside-body-xsmall {
    font: var(--lds-g-typography-ringside-body-xsmall);
  }

  /* CTA Styles */
  .lds-ringside-cta-button {
    font: var(--lds-g-typography-ringside-special-cta-button-desktop);
  }

  .lds-ringside-cta-text-link {
    font: var(--lds-g-typography-ringside-special-cta-text-link-desktop);
  }

  /* Caption Style */
  .lds-ringside-caption {
    font: var(--lds-g-typography-ringside-special-caption-desktop);
  }

  /* Garamond Styles */
  .lds-ringside-garamond-extra {
    font: var(--lds-g-typography-garamond-display-1-desktop);
    letter-spacing: var(--lds-g-typography-garamond-display-1-letter-spacing);
  }

  .lds-garamond-heading-1 {
    /* Garamond/Heading 1 */
    font: var(--lds-g-typography-garamond-heading-1-desktop);
    letter-spacing: var(--lds-g-typography-garamond-heading-1-letter-spacing);
  }

  .lds-garamond-heading-2 {
    /* Garamond/Heading 2 */
    font: var(--lds-g-typography-garamond-heading-2-desktop);
    letter-spacing: var(--lds-g-typography-garamond-heading-2-letter-spacing);
  }

  .lds-garamond-heading-3 {
    /* Garamond/Heading 3 */
    font: var(--lds-g-typography-garamond-heading-3-desktop);
    letter-spacing: var(--lds-g-typography-garamond-heading-3-letter-spacing);
  }

  .lds-garamond-heading-4 {
    /* Garamond/Heading 4 */
    font: var(--lds-g-typography-garamond-heading-4-desktop);
  }

  .lds-garamond-heading-5 {
    /* Garamond/Heading 5 */
    font: var(--lds-g-typography-garamond-heading-5-desktop);
  }

  .lds-garamond-heading-6 {
    /* Garamond/Heading 6 */
    font: var(--lds-g-typography-garamond-heading-6-desktop);
  }

  .lds-rte-garamond-font-14 {
    font-family: var(--lds-g-font-family-serif);
    font-size: var(--lds-g-font-size-neg-1);
    line-height: var(--lds-g-font-line-height-3);
  }

  .lds-rte-garamond-font-16 {
    font-family: var(--lds-g-font-family-serif);
    font-size: var(--lds-g-font-size-base);
    line-height: var(--lds-g-font-line-height-5);
  }

  .lds-rte-garamond-font-20 {
    font-family: var(--lds-g-font-family-serif);
    font-size: var(--lds-g-font-size-2);
    line-height: var(--lds-g-font-line-height-8);
  }
}

em {
  font-style: italic !important;
}

u {
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
}

strong > u,
u > strong,
strong > a > u {
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
  font-weight: var(--lds-g-font-weight-900) !important;
}

em > u,
u > em,
em > a > u {
  text-decoration: underline !important;
  font-style: italic !important;
  text-decoration-thickness: 4% !important;
}

em > strong,
strong > em {
  font-style: italic !important;
  font-weight: var(--lds-g-font-weight-900) !important;
}

a > strong,
strong > a {
  font-weight: var(--lds-g-font-weight-900) !important;
}

em > a,
a > em {
  font-style: italic !important;
}

a > u,
u > a,
em > a > u {
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
}

em > strong > u,
em > u > strong,
strong > em > u,
strong > u > em,
u > em > strong,
u > strong > em,
em > strong > a,
strong > em > a {
  font-style: italic !important;
  font-weight: var(--lds-g-font-weight-900) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
}
sub,
sup {
  font-size: smaller !important;
}

/* Double combinations with sub/sup at end */
strong > sub,
strong > sup {
  font-weight: var(--lds-g-font-weight-900) !important;
  font-size: smaller !important;
}

strong > sub {
  vertical-align: sub !important;
}

strong > sup {
  vertical-align: super !important;
}

em > sub,
em > sup {
  font-style: italic !important;
  font-size: smaller !important;
}

em > sub {
  vertical-align: sub !important;
}

em > sup {
  vertical-align: super !important;
}

u > sub,
u > sup {
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
  font-size: smaller !important;
}

u > sub {
  vertical-align: sub !important;
}

u > sup {
  vertical-align: super !important;
}

/* Triple combinations with sub/sup at end */
strong > em > sub,
strong > em > sup,
em > strong > sub,
em > strong > sup {
  font-style: italic !important;
  font-weight: var(--lds-g-font-weight-900) !important;
  font-size: smaller !important;
}

strong > em > sub,
em > strong > sub {
  vertical-align: sub !important;
}

strong > em > sup,
em > strong > sup {
  vertical-align: super !important;
}

strong > u > sub,
strong > u > sup,
u > strong > sub,
u > strong > sup {
  font-weight: var(--lds-g-font-weight-900) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
  font-size: smaller !important;
}

strong > u > sub,
u > strong > sub {
  vertical-align: sub !important;
}

strong > u > sup,
u > strong > sup {
  vertical-align: super !important;
}

em > u > sub,
em > u > sup,
u > em > sub,
u > em > sup {
  font-style: italic !important;
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
  font-size: smaller !important;
}

em > u > sub,
u > em > sub {
  vertical-align: sub !important;
}

em > u > sup,
u > em > sup {
  vertical-align: super !important;
}

/* Quadruple combinations with sub/sup at end */
strong > em > u > sub,
strong > em > u > sup,
strong > u > em > sub,
strong > u > em > sup,
em > strong > u > sub,
em > strong > u > sup,
em > u > strong > sub,
em > u > strong > sup,
u > strong > em > sub,
u > strong > em > sup,
u > em > strong > sub,
u > em > strong > sup {
  font-style: italic !important;
  font-weight: var(--lds-g-font-weight-900) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 4% !important;
  font-size: smaller !important;
}

strong > em > u > sub,
strong > u > em > sub,
em > strong > u > sub,
em > u > strong > sub,
u > strong > em > sub,
u > em > strong > sub {
  vertical-align: sub !important;
}

strong > em > u > sup,
strong > u > em > sup,
em > strong > u > sup,
em > u > strong > sup,
u > strong > em > sup,
u > em > strong > sup {
  vertical-align: super !important;
}

/* ===== :has() SELECTOR RULES FOR UNDERLINE MANAGEMENT ===== */
/* These rules remove underline from u elements when they contain sup/sub, 
   ensuring only the sup/sub elements themselves are underlined */

/* Remove underline from u elements containing sub/sup at any nesting level */
u:has(> sub),
u:has(> sup),
u:has(> strong > sub),
u:has(> strong > sup),
u:has(> em > sub),
u:has(> em > sup),
u:has(> strong > em > sub),
u:has(> strong > em > sup),
u:has(> em > strong > sub),
u:has(> em > strong > sup),
strong > u:has(> sub),
strong > u:has(> sup),
strong > u:has(> em > sub),
strong > u:has(> em > sup),
em > u:has(> sub),
em > u:has(> sup),
em > u:has(> strong > sub),
em > u:has(> strong > sup),
em > strong > u:has(> sub),
em > strong > u:has(> sup),
strong > em > u:has(> sub),
strong > em > u:has(> sup) {
  text-decoration: none !important;
}

/* Remove underline from intermediate em/strong elements inside u that contain sub/sup */
u > em:has(sub),
u > em:has(sup),
u > em:has(> sub),
u > em:has(> sup),
u > em:has(> strong > sub),
u > em:has(> strong > sup),
u > strong:has(sub),
u > strong:has(sup),
u > strong:has(> sub),
u > strong:has(> sup),
u > strong:has(> em > sub),
u > strong:has(> em > sup),
u > em > strong:has(sub),
u > em > strong:has(sup),
u > strong > em:has(sub),
u > strong > em:has(sup),
strong > u > em:has(sub),
strong > u > em:has(sup),
em > u > strong:has(sub),
em > u > strong:has(sup) {
  text-decoration: none !important;
}
