/* ==========================================================================
   AudiVid Theme — Utilitaires (préfixe .av-u-)
   ========================================================================== */

.av-u-display { font-family: var(--av-font-display) !important; }
.av-u-body    { font-family: var(--av-font-body) !important; }
.av-u-upper   { text-transform: uppercase; letter-spacing: .12em; }

.av-u-primary { color: var(--av-primary) !important; }
.av-u-muted   { color: var(--av-text-muted) !important; }
.av-u-soft    { color: var(--av-text-soft) !important; }
.av-u-text    { color: var(--av-text) !important; }

.av-u-bg        { background: var(--av-bg) !important; }
.av-u-surface   { background: var(--av-surface) !important; }
.av-u-surface-2 { background: var(--av-surface-2) !important; }
.av-u-brand     { background: var(--av-gradient-brand) !important; color: #fff !important; }

.av-u-rounded      { border-radius: var(--av-radius) !important; }
.av-u-rounded-lg   { border-radius: var(--av-radius-lg) !important; }
.av-u-rounded-pill { border-radius: var(--av-radius-pill) !important; }
.av-u-border       { border: 1px solid var(--av-border) !important; }

.av-u-shadow     { box-shadow: var(--av-shadow) !important; }
.av-u-shadow-red { box-shadow: var(--av-shadow-red) !important; }

.av-u-center { text-align: center !important; }
.av-u-truncate { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.av-u-nums { font-variant-numeric: tabular-nums; }

.av-u-sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.av-u-hide-mobile { }
@media (max-width: 767px) { .av-u-hide-mobile { display: none !important; } }
.av-u-show-mobile { display: none !important; }
@media (max-width: 767px) { .av-u-show-mobile { display: initial !important; } }

/* Iframe YouTube responsive (remplace les tailles fixes de .iframe-youtube) */
.iframe-youtube,
.av-embed {
  width: 100% !important;
  max-width: 840px;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: var(--av-radius-lg);
  display: block;
  margin-inline: auto;
  background: #000;
}
