/* ============================================================
   OVERALL PROJECT — patch-live-v1.css
   Correctifs ciblés pour le site live (thème v1.0.1).
   À charger APRÈS tokens.css. Ne contient QUE des overrides —
   toutes les valeurs restent en var(--pu-*).

   wp_enqueue_style('pu-patch',
     get_stylesheet_directory_uri().'/tokens/patch-live-v1.css',
     ['pu-tokens'], '1.1');
   ============================================================ */

/* ------------------------------------------------------------
   1) FORMULAIRES DE PLUGIN (Contact Form 7 / WPForms / natifs)
   Le plugin génère ses propres champs sans les classes .pu-*.
   On recible ses sélecteurs pour reprendre le style .pu-input.
   ------------------------------------------------------------ */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="date"],
.wpcf7 input[type="number"],
.wpcf7 textarea,
.wpcf7 select,
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select,
form:not(.pu-exempt) input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
form:not(.pu-exempt) textarea,
form:not(.pu-exempt) select {
  width: 100%;
  min-height: var(--pu-hit);
  background: var(--pu-bg);
  color: var(--pu-text-1);
  border: 1px solid var(--pu-border-strong);
  border-radius: var(--pu-radius-md);
  padding: var(--pu-space-3) var(--pu-space-4);
  font-family: var(--pu-font-body);
  font-size: var(--pu-fs-sm);
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.wpcf7 textarea,
.wpforms-field textarea,
form:not(.pu-exempt) textarea { min-height: 140px; resize: vertical; }

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder,
form:not(.pu-exempt) input::placeholder,
form:not(.pu-exempt) textarea::placeholder { color: var(--pu-text-3); }

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus,
form:not(.pu-exempt) input:focus,
form:not(.pu-exempt) textarea:focus,
form:not(.pu-exempt) select:focus {
  outline: 2px solid var(--pu-focus);
  outline-offset: 2px;
  border-color: transparent;
}

/* Labels des champs plugin */
.wpcf7 label,
.wpforms-field-label,
form:not(.pu-exempt) label {
  font-family: var(--pu-font-mono);
  font-size: var(--pu-fs-xs);
  letter-spacing: .04em;
  color: var(--pu-text-3);
}

/* Bouton d'envoi -> bouton holographique primaire */
.wpcf7 input[type="submit"],
.wpforms-submit,
form:not(.pu-exempt) button[type="submit"],
form:not(.pu-exempt) input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--pu-hit);
  padding: 0 var(--pu-space-6);
  border: 0; border-radius: var(--pu-radius-pill);
  background: var(--pu-holo); background-size: var(--pu-holo-size);
  animation: pu-iri var(--pu-holo-anim) linear infinite;
  color: var(--pu-text-inverse);
  font-family: var(--pu-font-body); font-weight: 700; font-size: var(--pu-fs-sm);
  cursor: pointer; transition: filter var(--pu-dur-fast) var(--pu-ease);
  -webkit-appearance: none; appearance: none; box-shadow: none;
}
.wpcf7 input[type="submit"]:hover,
.wpforms-submit:hover,
form:not(.pu-exempt) button[type="submit"]:hover,
form:not(.pu-exempt) input[type="submit"]:hover { filter: brightness(1.08); }

/* Messages d'état CF7 */
.wpcf7-response-output {
  border-radius: var(--pu-radius-md) !important;
  border-color: var(--pu-border-strong) !important;
  color: var(--pu-text-2) !important;
  font-size: var(--pu-fs-sm);
}
.wpcf7-not-valid-tip { color: var(--pu-danger) !important; font-family: var(--pu-font-mono); font-size: var(--pu-fs-xs); }
.wpcf7-not-valid { border-color: var(--pu-danger) !important; }

/* ------------------------------------------------------------
   2) TITRES DÉLAVÉS — forcer le plein contraste
   Sur le live, les H2/H3 sortent en dégradé taupe (background-clip)
   qui ressemble à du texte désactivé. On rétablit le blanc plein.
   L'holo reste réservé à .pu-holo-text (accents ponctuels).
   ------------------------------------------------------------ */
h2:not(.pu-holo-text), h3:not(.pu-holo-text), .pu-h2:not(.pu-holo-text), .pu-h3:not(.pu-holo-text),
.pu-card__title:not(.pu-holo-text), .pu-section-head h2:not(.pu-holo-text) {
  color: var(--pu-text-1);
  background: none !important;
  -webkit-text-fill-color: currentColor;
  -webkit-background-clip: border-box;
  background-clip: border-box;
}
/* Ré-autoriser explicitement le holo là où il est voulu.
   v1.7.0 : longhands SANS !important sur le shorthand `background` —
   un `background:…!important` fige background-position et tue
   l'animation pu-iri (les keyframes perdent contre author !important). */
.pu-holo-text {
  background-image: var(--pu-holo);
  background-size: var(--pu-holo-size);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ------------------------------------------------------------
   3) HALOS DE SÉRIE SANS LOGO — effet « image cassée »
   Remplace le blob radial diffus par un aplat net + initiales.
   Appliquer .pu-serie-halo comme avant ; ce bloc le rend franc.
   ------------------------------------------------------------ */
.pu-serie-halo {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--pu-serie-default) 22%, var(--pu-surface-3)),
      var(--pu-surface-3));
  border: 1px solid color-mix(in srgb, var(--pu-serie-default) 35%, transparent);
}
@supports not (background: color-mix(in srgb, red, blue)) {
  .pu-serie-halo { background: var(--pu-surface-3); border-color: var(--pu-border); }
}
/* Initiales lisibles au centre du halo (si pas de logo) */
.pu-serie-halo .pu-holo-text { opacity: 1; }

/* ------------------------------------------------------------
   4) LIGNES D'ÉVÉNEMENTS — titres en « faux liens » + trop aérées
   ------------------------------------------------------------ */
.pu-item { padding-block: var(--pu-space-4); }
.pu-item .pu-item__title,
.pu-item .pu-display { color: var(--pu-text-1); }   /* titres blancs, pas teal */
.pu-item .pu-item__date { font-size: var(--pu-fs-sm); font-weight: 700; }

/* ------------------------------------------------------------
   5) COMPTEUR « 0 événement(s) » — masquer quand vide
   Ajouter la classe .pu-count--zero côté template si count===0.
   ------------------------------------------------------------ */
.pu-count--zero { display: none; }

/* ------------------------------------------------------------
   6) PORTRAIT ARTISTE surdimensionné — borner la hauteur
   ------------------------------------------------------------ */
.pu-artist-media { max-height: 78vh; aspect-ratio: var(--pu-ratio-poster); }
.pu-artist-media .pu-photo-fallback { height: 100%; }
