/* Cartes Postales — états et points de rupture des pages
   Accueil · Dates · Soutiens · Partenaires.
   Toute la mise en page et toutes les valeurs sont EN LIGNE dans les
   pages, copiées des sources site/*.dc.html. Ce fichier ne contient
   que ce qui ne peut pas être en ligne : survols (style-hover de la
   source) et media queries.
   Chargé APRÈS site.css. Ne remplace aucune règle existante. */

/* Survols — source : attributs style-hover des DC */
.hx-red:hover        { background:#8E0001 !important; color:#f5f3ee !important; }
.hx-invert:hover     { background:#f5f3ee !important; color:#0d0d0d !important; }
.hx-gold:hover       { color:#c9a84c !important; }
.hx-gold-fill:hover  { background:#c9a84c !important; color:#0d0d0d !important; }
.hx-dark:hover       { color:#8E0001 !important; border-bottom-color:#8E0001 !important; }
.hx-gray             { filter:grayscale(1); }
.hx-gray:hover       { filter:grayscale(0); }

/* Vignette vidéo de l'accueil — source : style-hover sur l'<img> */
.video-btn img       { transition:filter .6s, transform .8s; }
.video-btn:hover img { filter:grayscale(.3); transform:scale(1.02); }

/* Placeholders — source : bloc <style> des DC */
#inline-email::placeholder, #dates-email::placeholder, #dates-city::placeholder,
#pro-code::placeholder, #p-name::placeholder, #p-email::placeholder,
#p-message::placeholder { color:rgba(245,243,238,.3); }

.form-msg.is-ok { color:rgba(245,243,238,.85) !important;
  font-family:'DM Serif Display',serif; font-style:italic; font-size:24px;
  border-left:2px solid #B61B1F; padding-left:24px; line-height:1.45; }

@media (max-width:900px) {
  .hero-row    { flex-direction:column; align-items:flex-start !important; gap:40px !important; }
  .hero-aside  { width:100% !important; }
  .split-7-5, .split-5-7, .pair-grid { grid-template-columns:1fr !important; gap:48px !important; }
  .rep-grid    { grid-template-columns:1fr !important; gap:48px !important; }
  .rep-grid article { transform:none !important; }
  .vdk-band    { grid-template-columns:1fr !important; padding:40px 32px !important; }
}

/* Teaser carte postale (accueil) */
a[aria-label] > img + span { pointer-events:none; }

/* ═══ Filet de sécurité global ═══ */
html, body { overflow-x: clip; }
img, iframe, video { max-width: 100%; }
@media (max-width: 900px) {
  .pair-grid, .song-grid { grid-template-columns: 1fr !important; }
  .baseline-row { flex-wrap: wrap !important; gap: 10px !important; }
  .vdk-band { padding: 32px 22px !important; }
}

/* ═══ Rythme vertical compressé ═══ */
@media (min-width: 901px) {
  section[style*="padding:160px"] { padding: 104px 48px !important; }
  section[style*="padding:144px"] { padding: 96px 48px !important; }
  section[style*="padding:128px"] { padding: 88px 48px !important; }
}
@media (max-width: 900px) {
  section[style*="padding:160px"], section[style*="padding:144px"], section[style*="padding:128px"] {
    padding: 52px 20px !important; }
}

/* ═══ Audit mobile : empilements et rembourrages manquants ═══ */
@media (max-width: 900px) {
  .split-5-7, .split-7-5 { grid-template-columns: 1fr !important; }
  div[style*="repeat(2,minmax(0,1fr))"] { grid-template-columns: 1fr !important; }
  section[style*="padding:112px"], section[style*="padding:96px"], section[style*="padding:80px"] {
    padding: 48px 20px !important; }
  [style*="font-size:52px"] { font-size: 34px !important; }
}

/* ═══ Audit mobile, passe 2 : grilles anonymes (sélecteurs d'attributs) ═══ */
@media (max-width: 900px) {
  div[style*="minmax(0,5fr) minmax(0,7fr)"],
  div[style*="minmax(0,7fr) minmax(0,5fr)"],
  div[style*="minmax(0,1fr) minmax(0,1fr)"],
  div[style*="repeat(3,minmax(0,1fr))"],
  div[style*="minmax(0,1fr) auto"],
  dl[style*="grid-template-columns:1fr 1fr"],
  dl[style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  div[style*="160px minmax(0,1fr)"] { grid-template-columns: 52px minmax(0,1fr) !important; gap: 16px !important; }
}

/* ═══ Audit mobile, passe 3 : boutons et respirations ═══ */
@media (max-width: 480px) {
  a[style*="white-space:nowrap"] { white-space: normal !important; }
}
@media (max-width: 900px) {
  div[style*="gap:96px"], div[style*="gap:80px"], div[style*="gap:64px"], div[style*="gap:56px"] {
    gap: 28px !important; }
}

/* ═══ Densité mobile : entrée en matière allégée ═══ */
@media (max-width: 900px) {
  section[style*="min-height:100vh"], section[style*="min-height: 100vh"] {
    min-height: 78svh !important; }
  h2[style*="font-size"] { margin-bottom: 10px !important; }
}
