/* ==========================================================================
   FTS: Label
   --------------------------------------------------------------------------
   Small uppercase label / eyebrow text.
   Uses existing Fuller Design System tokens only.
========================================================================== */


/* Base label ------------------------------------------------------------- */

.fts-label p {
  margin: 0 !important;
  color: var(--color-text) !important;
  font-family: var(--font-family-body);
  font-size: var(--font-size-body) !important;
  font-weight: var(--weight-bold) !important;
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}


/* Light / inverse label -------------------------------------------------- */

.lightLabel p,
.light-label p,
.fts-label.lightLabel p,
.fts-label.light-label p {
  color: var(--color-text-on-dark) !important;
}


/* Size modifiers --------------------------------------------------------- */

.small-label p,
.fts-label.small-label p {
  font-size: var(--font-size-small) !important;
}


/* Alignment helpers ------------------------------------------------------ */

.fts-label.fts-label-align-left,
.fts-label.fts-label-align-left p {
  text-align: left !important;
}

.fts-label.fts-label-align-center,
.fts-label.fts-label-align-center p {
  text-align: center !important;
}

.fts-label.fts-label-align-right,
.fts-label.fts-label-align-right p {
  text-align: right !important;
}


/* Medium alignment ------------------------------------------------------- */

@media (max-width: 991px) {
  .fts-label.fts-label-align-md-left,
  .fts-label.fts-label-align-md-left p {
    text-align: left !important;
  }

  .fts-label.fts-label-align-md-center,
  .fts-label.fts-label-align-md-center p {
    text-align: center !important;
  }

  .fts-label.fts-label-align-md-right,
  .fts-label.fts-label-align-md-right p {
    text-align: right !important;
  }
}


/* Mobile alignment ------------------------------------------------------- */

@media (max-width: 768px) {
  .fts-label.fts-label-align-sm-left,
  .fts-label.fts-label-align-sm-left p {
    text-align: left !important;
  }

  .fts-label.fts-label-align-sm-center,
  .fts-label.fts-label-align-sm-center p {
    text-align: center !important;
  }

  .fts-label.fts-label-align-sm-right,
  .fts-label.fts-label-align-sm-right p {
    text-align: right !important;
  }
}


/* Responsive ------------------------------------------------------------- */

@media (max-width: 991px) {
  .fts-label p {
    font-size: var(--font-size-body) !important;
    letter-spacing: 0.075em;
  }
}

@media (max-width: 768px) {
  .fts-label p {
    font-size: var(--font-size-body-lg) !important;
    letter-spacing: 0.075em;
  }
}