/* ====================================================================
   IVANN EMPTY PILLS FIX #42 — Retire les pastilles vides + fix barre
   ==================================================================== */

/* ============================================================
   1. PARCOURS PROGRESS BAR : fix le rendu (était invisible/vide)
   ============================================================ */

html body[class] .parcours-progress__bar {
  height: 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: none !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 12px 0 !important;
  position: relative;
}

html body[class] .parcours-progress__fill {
  height: 100% !important;
  background: linear-gradient(90deg, #00e1ff 0%, #4f7cff 50%, #a855f7 100%) !important;
  border: none !important;
  border-radius: 9999px !important;
  box-shadow: 0 0 6px rgba(0, 225, 255, 0.4) !important;
  min-width: 6px;
  display: block !important;
  /* width controlee par inline style */
}

/* Le percent text à droite */
html body[class] .parcours-progress__percent {
  color: var(--g-cyan, #00e1ff) !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-weight: 700;
}

/* ============================================================
   2. HIDE blocks Drupal de fields VIDES
   Les blocks où le field interne n'a pas de contenu doivent disparaître
   au lieu de rendre comme des pills vides.
   ============================================================ */

/* TITRE COURS field : redondant avec h1.page-title → masquer toujours */
html body[class] .node--type-cours .layout__region--content > .block.block-field-blocknodecoursfield-titre-cours,
html body[class] .block.block-field-blocknodecoursfield-titre-cours,
html body[class] .field.field--name-field-titre-cours,
html body[class] .field--name-field-titre-cours,
/* LANGAGE field : redondant avec body.course-theme-X et l'URL → masquer */
html body[class] .node--type-cours .layout__region--content > .block.block-field-blocknodecoursfield-langage,
html body[class] .block.block-field-blocknodecoursfield-langage,
html body[class] .field.field--name-field-langage,
html body[class] .field--name-field-langage {
  display: none !important;
}

/* Hide tout block où le field interne n'a pas de field__item (Drupal field vide) */
html body[class] [class*="block-field-blocknodecoursfield-"]:not(:has(.field__item)),
html body[class] [class*="block-field-blocknodecoursfield-"]:not(:has(img)):not(:has(a)):not(:has(span)):not(:has(div.field-content)):not(:has(.field__items > .field__item)) {
  display: none !important;
}

/* Empty fallback simple : tout block-field qui n'a pas de h2/p/img/text inside */
html body[class] [class*="block-field-blocknodecoursfield-"]:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* ============================================================
   3. EMPTY DRUPAL FIELDS génériques (paragraphes Layout Builder)
   Si un .block est totalement empty, hide.
   ============================================================ */

html body[class] .block:empty,
html body[class] .field:empty,
html body[class] .field__items:empty,
html body[class] .field__item:empty,
html body[class] .views-field:empty,
html body[class] .views-row:empty,
html body[class] [class*="block-field-"]:empty {
  display: none !important;
}

/* Block avec seulement un wrapper vide (.field-content vide) */
html body[class] [class*="block-field-"] > .field:only-child:empty {
  display: none !important;
}

/* ============================================================
   4. PROTECTION : ne pas masquer les blocks non-empty même si small
   ============================================================ */

/* Si le contenu visible d'un meta block est juste un nbsp ou whitespace,
   on peut quand même choisir de le hider — mais on prend le risque ici */

/* ============================================================
   5. TOUTES LES META PILLS : ne pas styler si vides
   Override conditionnel : ne pas appliquer le pill style si :empty
   ============================================================ */

html body[class] .block-field-blocknodecoursfield-ivann-niveau-du-cours:empty,
html body[class] .block-field-blocknodecoursfield-ivann-duree-estimee:empty,
html body[class] .block-field-blocknodecoursfield-ivann-ordre-du-cours:empty,
html body[class] .block-field-blocknodecoursfield-ivann-difficulte:empty,
html body[class] .block-field-blocknodecoursfield-langage:empty,
html body[class] .block-field-blocknodecoursfield-phase-du-parcours:empty {
  display: none !important;
}

/* Si le field child est empty */
html body[class] .field--name-field-ivann-niveau-du-cours:empty,
html body[class] .field--name-field-ivann-duree-estimee:empty,
html body[class] .field--name-field-ivann-ordre-du-cours:empty,
html body[class] .field--name-field-ivann-difficulte:empty {
  display: none !important;
}

/* Plus permissif : si .field__item est vide, hide le block */
html body[class] [class*="block-field-blocknodecoursfield-"] .field__item:empty {
  display: none !important;
}

html body[class] [class*="block-field-blocknodecoursfield-"]:has(> .field > .field__items > .field__item:empty:only-child) {
  display: none !important;
}
