/* ============================================================================
   #abō — Hamon Flag Extension CSS (v2.34.1 / Phase 2d patch)
   ============================================================================
   PATCH v2.34.1 : le drapeau Hamon a sa propre ligne sous .sub-meta dans .sub-info
   au lieu d'être injecté dans .sub-meta — évite l'écrasement de la catégorie.

   États :
     [data-hamon-flag="open"]    → drapeau rouge actif (Hamon ouverte)
     [data-hamon-flag="missing"] → drapeau gris (date à renseigner)
     [data-hamon-flag="none"]    → pas de drapeau
   ============================================================================ */


/* ----- Nouvelle ligne Hamon sous .sub-meta dans .sub-info ----- */

.sub-hamon-line {
  display: flex;
  align-items: center;
  margin-top: 3px;
  line-height: 1;
}

.sub-hamon-flag {
  font-family: var(--font-mono, 'Geist Mono', 'JetBrains Mono', 'SF Mono', Menlo, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}

/* État Hamon ouverte : Boow rouge, visible */
.sub-hamon-line.is-open .sub-hamon-flag {
  color: var(--boow, #F85558);
  opacity: 1;
}

/* État date manquante : gris discret */
.sub-hamon-line.is-missing .sub-hamon-flag {
  color: var(--nuit-soft, #6b7888);
  opacity: 0.55;
  font-weight: 500;
}


/* ----- Marqueur visuel : barre verticale Boow rouge sur card avec Hamon ouverte ----- */

.sub-card[data-hamon-flag="open"] {
  position: relative;
}

.sub-card[data-hamon-flag="open"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 2.5px;
  background: var(--boow, #F85558);
  border-radius: 0 2px 2px 0;
  opacity: 0.85;
  pointer-events: none;
}


/* ----- Cards en pause / cancelled : drapeau atténué ----- */

.sub-card.is-paused .sub-hamon-line,
.sub-card.is-cancelled .sub-hamon-line {
  opacity: 0.45;
}

.sub-card.is-cancelled[data-hamon-flag="open"]::before,
.sub-card.is-paused[data-hamon-flag="open"]::before {
  display: none;
}


/* ----- Mode sombre ----- */

@media (prefers-color-scheme: dark) {
  .sub-hamon-line.is-open .sub-hamon-flag {
    color: var(--boow, #F85558);
  }
  .sub-hamon-line.is-missing .sub-hamon-flag {
    color: var(--ivoire, #F5EFE0);
    opacity: 0.45;
  }
}


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

@media (max-width: 380px) {
  .sub-hamon-flag {
    font-size: 9.5px;
  }
  .sub-hamon-line {
    margin-top: 2px;
  }
}


/* ----- Print ----- */

@media print {
  .sub-hamon-line.is-open .sub-hamon-flag {
    color: #000 !important;
    font-weight: 900;
  }
  .sub-card[data-hamon-flag="open"]::before {
    background: #000 !important;
  }
}
