/* ==========================================================================
   LCDB Club — Fiches recette des cours (FluentCommunity)
   Design : papier crème + navy/doré, typographie éditoriale.
   Scopé sur .fcom_lesson_body / .lcdb-recipe — n'affecte que les leçons.
   ========================================================================== */

.fluent_com {
  --lcdb-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;
  --lcdb-gold: #c8a97e;
  --lcdb-gold-deep: #8f6f42;
  --lcdb-gold-soft: #e8dcc4;
  --lcdb-navy: #1f2a44;
  --lcdb-ink: #2a2f3a;
  --lcdb-ink-soft: #5a5f6b;
  --lcdb-paper: #fdfaf3;
  --lcdb-paper-2: #f7f0e1;
  --lcdb-line: #e7dcc4;
  --lcdb-dots: #cdbb92;
  --lcdb-card-shadow: 0 1px 2px rgba(31, 42, 68, .06), 0 14px 34px -18px rgba(31, 42, 68, .25);
}

html.dark .fluent_com {
  --lcdb-gold-deep: #cfa970;
  --lcdb-navy: #ece7db;
  --lcdb-ink: #e6e3dc;
  --lcdb-ink-soft: #a9aab2;
  --lcdb-paper: #24272e;
  --lcdb-paper-2: #2b2f38;
  --lcdb-line: rgba(255, 255, 255, .10);
  --lcdb-dots: rgba(255, 255, 255, .28);
  --lcdb-gold-soft: rgba(179, 144, 94, .35);
  --lcdb-card-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 34px -18px rgba(0, 0, 0, .5);
}

/* --------------------------------------------------------------------------
   1. Typographie générale des leçons (tous cours)
   -------------------------------------------------------------------------- */

.fcom_lesson_details .fcom_lesson_title {
  font-family: var(--lcdb-serif);
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: .01em;
}

.fcom_lesson_body.feed_texts {
  font-size: 1.0625rem;
  line-height: 1.75;
}

.fcom_lesson_body h2,
.fcom_lesson_body h3 {
  font-family: var(--lcdb-serif);
  color: var(--lcdb-navy);
  letter-spacing: .01em;
}

.fcom_lesson_body img {
  border-radius: 12px;
}

/* --------------------------------------------------------------------------
   2. Fiche recette (.lcdb-recipe, classes posées par recipe-ui.js)
   -------------------------------------------------------------------------- */

.lcdb-recipe figure:first-of-type {
  margin: 0 0 18px;
}

.lcdb-recipe figure:first-of-type img {
  width: 100%;
  max-height: 430px;
  object-fit: cover;
  border-radius: 14px !important;
  box-shadow: var(--lcdb-card-shadow);
}

/* Pays — eyebrow lettré or */
.lcdb-recipe .lcdb-recipe-country {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0 10px;
  color: var(--lcdb-gold-deep);
}

.lcdb-recipe .lcdb-recipe-country em {
  font-style: normal;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
}

.lcdb-recipe .lcdb-recipe-country::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--lcdb-line), transparent);
}

.lcdb-recipe .lcdb-recipe-country svg {
  width: 15px;
  height: 15px;
  flex: none;
}

/* Chapeau éditorial avec lettrine */
.lcdb-recipe .lcdb-recipe-intro {
  font-family: var(--lcdb-serif);
  font-size: 1.14em;
  line-height: 1.8;
  color: var(--lcdb-ink);
}

.lcdb-recipe .lcdb-recipe-intro-first::first-letter {
  font-family: var(--lcdb-serif);
  font-size: 3.1em;
  line-height: .82;
  float: left;
  padding: 6px 10px 0 0;
  color: var(--lcdb-gold);
  font-weight: 600;
}

/* Bandeau méta : portions / préparation / cuisson + impression */
.lcdb-recipe-metabar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin: 24px 0 26px;
  padding: 15px 20px;
  background: var(--lcdb-paper);
  border: 1px solid var(--lcdb-line);
  border-radius: 14px;
}

.lcdb-meta-items {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
}

.lcdb-meta-chip {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.lcdb-meta-icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--lcdb-gold-deep);
  background: var(--lcdb-paper-2);
  box-shadow: inset 0 0 0 1px var(--lcdb-gold-soft);
}

.lcdb-meta-icon svg {
  width: 19px;
  height: 19px;
}

.lcdb-meta-chip dt {
  margin: 0;
  font-size: .655rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--lcdb-ink-soft);
}

.lcdb-meta-chip dd {
  margin: 1px 0 0;
  font-size: .96rem;
  font-weight: 650;
  color: var(--lcdb-navy);
  font-variant-numeric: tabular-nums;
}

.lcdb-meta-chip dl {
  margin: 0;
}

.lcdb-print-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  font: inherit;
  font-size: .85rem;
  font-weight: 600;
  color: var(--lcdb-gold-deep);
  background: transparent;
  border: 1px solid var(--lcdb-gold);
  border-radius: 10px;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.lcdb-print-btn svg {
  width: 16px;
  height: 16px;
}

.lcdb-print-btn:hover,
.lcdb-print-btn:focus-visible {
  background: var(--lcdb-gold);
  color: #fff;
  outline: none;
}

/* Têtes de section (Ingrédients / La méthode) */
.lcdb-section-head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 0 0 16px;
}

.lcdb-section-head h2,
.lcdb-section-head h3 {
  margin: 0 !important;
  font-family: var(--lcdb-serif);
  font-size: 1.45rem;
  color: var(--lcdb-navy);
}

.lcdb-section-head::before {
  content: "";
  flex: none;
  align-self: center;
  width: 26px;
  height: 2px;
  background: var(--lcdb-gold);
  border-radius: 2px;
}

/* Carte ingrédients */
.lcdb-recipe-ingredients {
  margin: 26px 0 30px;
  padding: 24px 26px 14px;
  background: linear-gradient(180deg, var(--lcdb-paper), var(--lcdb-paper-2));
  border: 1px solid var(--lcdb-line);
  border-radius: 16px;
  box-shadow: var(--lcdb-card-shadow);
}

.lcdb-ing-groups {
  column-count: 2;
  column-gap: 40px;
}

@media (max-width: 900px) {
  .lcdb-ing-groups {
    column-count: 1;
  }
}

.lcdb-ing-group {
  break-inside: avoid;
  margin: 0 0 18px;
}

.lcdb-ing-group-title {
  margin: 2px 0 8px;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: var(--lcdb-gold-deep);
}

.lcdb-recipe-ingredients ul.lcdb-ing-list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.lcdb-ing-item {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--lcdb-line) 55%, transparent);
}

.lcdb-ing-item:last-child {
  border-bottom: none;
}

.lcdb-ing-item label {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 7px 2px;
  cursor: pointer;
  font-size: .96rem;
}

.lcdb-ing-check {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  align-self: center;
  width: 17px;
  height: 17px;
  margin: 0;
  border: 1.5px solid var(--lcdb-gold);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease;
  position: relative;
}

.lcdb-ing-check:checked {
  background: var(--lcdb-gold);
}

.lcdb-ing-check:checked::after {
  content: "";
  position: absolute;
  left: 4.5px;
  top: 1.5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.lcdb-ing-check:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--lcdb-gold-soft);
}

.lcdb-ing-name {
  color: var(--lcdb-ink);
}

.lcdb-ing-dots {
  flex: 1;
  min-width: 16px;
  border-bottom: 1px dotted var(--lcdb-dots);
  transform: translateY(-4px);
}

.lcdb-ing-qty {
  white-space: nowrap;
  font-weight: 650;
  color: var(--lcdb-navy);
  font-variant-numeric: tabular-nums;
}

.lcdb-ing-item label:has(.lcdb-ing-check:checked) .lcdb-ing-name,
.lcdb-ing-item label:has(.lcdb-ing-check:checked) .lcdb-ing-qty {
  opacity: .42;
  text-decoration: line-through;
  text-decoration-color: var(--lcdb-gold);
}

.lcdb-ing-note {
  font-size: .9rem;
  color: var(--lcdb-ink-soft);
  font-style: italic;
  margin: 6px 0 10px !important;
}

/* La méthode — étapes numérotées */
.lcdb-recipe-method {
  margin: 8px 0 26px;
}

.lcdb-recipe ol.lcdb-steps {
  list-style: none;
  counter-reset: lcdb-step;
  margin: 0 !important;
  padding: 0 !important;
}

.lcdb-recipe ol.lcdb-steps > li {
  counter-increment: lcdb-step;
  position: relative;
  margin: 0 !important;
  padding: 4px 0 22px 54px !important;
}

.lcdb-recipe ol.lcdb-steps > li::before {
  content: counter(lcdb-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--lcdb-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--lcdb-gold-deep);
  background: var(--lcdb-paper);
  border: 1.5px solid var(--lcdb-gold);
  border-radius: 50%;
  box-sizing: border-box;
}

.lcdb-recipe ol.lcdb-steps > li::after {
  content: "";
  position: absolute;
  left: 17.5px;
  top: 42px;
  bottom: 4px;
  width: 1px;
  background: var(--lcdb-line);
}

.lcdb-recipe ol.lcdb-steps > li:last-child {
  padding-bottom: 4px !important;
}

.lcdb-recipe ol.lcdb-steps > li:last-child::after {
  display: none;
}

/* Crédit / colophon */
.lcdb-recipe hr.lcdb-credit-rule {
  margin: 34px auto 0;
  width: 90px;
  border: none;
  border-top: 1px solid var(--lcdb-gold);
  opacity: .55;
}

.lcdb-recipe .lcdb-recipe-credit {
  margin: 14px 0 0;
  text-align: center;
  font-size: .8rem !important;
  font-style: italic;
  color: var(--lcdb-ink-soft) !important;
}

/* Réduction de mouvement */
@media (prefers-reduced-motion: reduce) {
  .lcdb-print-btn,
  .lcdb-ing-check {
    transition: none;
  }
}

/* --------------------------------------------------------------------------
   3. Design global du portail Club
   Catalogue des cours, page cours, leçons vidéo, sidebar, discussions.
   -------------------------------------------------------------------------- */

/* En-têtes de page (Cours, Espaces, etc.) */
.feed_layout .fhr_content_layout_header h1,
.feed_layout .fhr_content_layout_header h2 {
  font-family: var(--lcdb-serif);
  font-size: 1.2em;
  letter-spacing: .01em;
}

/* Cartes du catalogue (cours + espaces) */
.fcom_box_card_list .fcom_each_box_card {
  border-radius: 14px;
  overflow: hidden;
  transition: transform .25s var(--lcdb-ease, ease), box-shadow .25s ease;
  box-shadow: 0 1px 2px rgba(31, 42, 68, .05);
}

.fcom_box_card_list .fcom_each_box_card:hover {
  transform: translateY(-3px);
  box-shadow: 0 2px 4px rgba(31, 42, 68, .06), 0 18px 38px -16px rgba(31, 42, 68, .28);
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_avatar {
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_avatar img {
  transition: transform .45s ease;
}

.fcom_box_card_list .fcom_each_box_card:hover .fcom_box_card_avatar img {
  transform: scale(1.04);
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_info {
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
  border-color: var(--lcdb-line);
  padding: 16px;
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_name,
.fcom_box_card_list .fcom_each_box_card .fcom_box_card_name a {
  font-family: var(--lcdb-serif);
  font-size: 1.13rem;
  line-height: 1.3;
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_action .fcom_primary_button,
.fcom_box_card_list .fcom_each_box_card .fcom_box_card_action button {
  border-radius: 10px;
  width: 100%;
  justify-content: center;
  transition: filter .2s ease;
}

.fcom_box_card_list .fcom_each_box_card .fcom_box_card_action button:hover {
  filter: brightness(1.06);
}

/* Page d'un cours (accueil / programme) */
.fcom_feed_box.course_box {
  border-radius: 14px;
  border: 1px solid var(--lcdb-line);
}

.fcom_course_media .feed_media,
.fcom_course_media .feed_media img,
.fcom_course_media iframe {
  border-radius: 14px;
}

.fcom_course_media .feed_media img {
  box-shadow: var(--lcdb-card-shadow);
}

.fcom_course_details h1,
.fcom_course_details h2,
.fcom_course_details h3,
.fcom_course_intro h1,
.fcom_course_intro h2 {
  font-family: var(--lcdb-serif);
  color: var(--lcdb-navy);
  letter-spacing: .01em;
}

/* Badges d'infos du cours (leçons, inscrits, durée) */
.fcom_course_intro .fcom_course_labels .fcom_course_info {
  background: var(--lcdb-paper);
  border: 1px solid var(--lcdb-line);
  border-radius: 999px;
  padding: 5px 13px;
  color: var(--lcdb-ink-soft);
}

/* Programme du cours : sections et leçons */
.fcom_course_sections .fcom_card_section_heading,
.fcom_course_lessons .fcom_card_section_heading {
  font-family: var(--lcdb-serif);
  color: var(--lcdb-navy);
}

.fcom_course_sections .fcom_card_sections .fcom_section_item,
.fcom_course_lessons .fcom_card_sections .fcom_section_primary_item {
  border-radius: 10px;
  transition: background-color .2s ease;
}

.fcom_course_sections .fcom_card_sections .fcom_section_item:hover {
  background: var(--lcdb-paper-2);
}

.fcom_course_sections .lesson_feature_media,
.fcom_course_sections .lesson_feature_media img {
  border-radius: 8px;
}

.fcom_course_sections .lesson_feature_media .play_icon {
  color: var(--lcdb-gold-deep);
}

.fcom_course_sections .lesson_title .lesson_duration {
  color: var(--lcdb-ink-soft);
  font-variant-numeric: tabular-nums;
}

.fcom_course_sections .fcom_card_sections .fcom_section_item.is_locked {
  opacity: .62;
}

/* Sidebar des leçons (liste Leçons) */
.fcom_lesson_sidebar .fcom_section_primary_item_title,
.fcom_lesson_sidebar h3,
.fcom_lesson_sidebar h4 {
  font-family: var(--lcdb-serif);
  letter-spacing: .01em;
}

.fcom_lesson_sidebar .fcom_section_item,
.fcom_lesson_sidebar .fcom_section_primary_item {
  border-radius: 8px;
  transition: background-color .2s ease;
}

.fcom_lesson_sidebar .fcom_section_item:hover {
  background: var(--lcdb-paper-2);
}

.fcom_lesson_sidebar .fcom_section_item a.router-link-exact-active,
.fcom_lesson_sidebar .fcom_section_item.active {
  background: var(--lcdb-paper-2);
  box-shadow: inset 2.5px 0 0 var(--lcdb-gold);
}

/* Navigation entre leçons (précédent / suivant) */
.fcom_lesson_nav button,
.fcom_lesson_nav a {
  border-radius: 10px;
  transition: background-color .2s ease, color .2s ease;
}

.fcom_lesson_nav button:hover,
.fcom_lesson_nav a:hover {
  background: var(--lcdb-paper-2);
  color: var(--lcdb-gold-deep);
}

.fcom_lesson_details .fcom_lesson_number {
  color: var(--lcdb-gold-deep);
  font-variant-numeric: tabular-nums;
}

/* Vidéos de leçon (cours vidéo : chocolat, pâte feuilletée, etc.) */
.fcom_lesson_details iframe,
.fcom_lesson_details video,
.fcom_lesson_body .fluent-player,
.fcom_lesson_body .plyr {
  border-radius: 14px;
  overflow: hidden;
}

.fcom_lesson_details > div > iframe,
.fcom_lesson_details .feed_media iframe {
  box-shadow: var(--lcdb-card-shadow);
}

/* Discussions de la leçon / du cours */
.fcom_course_comments_header,
.fcom_lesson_comments h3,
.fcom_lesson_comments h4 {
  font-family: var(--lcdb-serif);
  color: var(--lcdb-navy);
}

.fcom_lesson_comments,
.course_comments {
  border-top: 1px solid var(--lcdb-line);
  margin-top: 30px;
  padding-top: 8px;
}

.fcom_course_comment.each_comment {
  border-radius: 12px;
}

/* Fil d'actualité et posts : arrondis harmonisés */
.fcom_feed_box {
  border-radius: 12px;
}

/* Réduction de mouvement : couper les micro-animations du portail */
@media (prefers-reduced-motion: reduce) {
  .fcom_box_card_list .fcom_each_box_card,
  .fcom_box_card_list .fcom_each_box_card .fcom_box_card_avatar img {
    transition: none;
  }

  .fcom_box_card_list .fcom_each_box_card:hover {
    transform: none;
  }

  .fcom_box_card_list .fcom_each_box_card:hover .fcom_box_card_avatar img {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   4. Impression — fiche recette propre
   -------------------------------------------------------------------------- */

@media print {
  #wpadminbar,
  .fcom_top_menu,
  .spaces,
  .fcom_mobile_menu,
  .fhr_content_layout_header,
  .fcom_lesson_sidebar,
  .fcom_lesson_nav,
  .fcom_lesson_comments,
  .fcom_lesson_documents,
  .fcom_lesson_quiz,
  .lcdb-print-btn,
  .fcom_side_footer {
    display: none !important;
  }

  body,
  .fluent_com {
    background: #fff !important;
  }

  .feed_layout {
    padding-left: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .fcom_lesson_container,
  .fcom_lesson_details {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .lcdb-recipe figure:first-of-type img {
    max-height: 250px;
    box-shadow: none;
  }

  .lcdb-recipe-ingredients {
    break-inside: avoid;
    box-shadow: none;
  }

  .lcdb-recipe ol.lcdb-steps > li {
    break-inside: avoid;
  }
}

/* --------------------------------------------------------------------------
   4. Syllabus de la page cours : intro enrichie + sous-titres de sections
   -------------------------------------------------------------------------- */

.fluent_com .fcom_course_intro .lcdb-course-desc {
  margin-top: 14px;
  max-width: 62ch;
  font-family: var(--lcdb-serif);
  font-size: 1.05rem;
  line-height: 1.62;
  color: var(--lcdb-ink);
}

.fluent_com .lcdb-course-desc p {
  margin: 0 0 .55em;
}

.fluent_com .lcdb-course-desc p:last-child {
  margin-bottom: 0;
}

.fluent_com .lcdb-course-desc strong {
  color: var(--lcdb-navy);
  font-weight: 600;
}

/* Sous-titre descriptif sous le titre de chaque section */
.fluent_com .fcom_section_primary_item_title .lcdb-section-sub {
  flex-basis: 100%;
  width: 100%;
  margin: 5px 0 0;
  max-width: 74ch;
  font-size: .875rem;
  line-height: 1.5;
  font-style: italic;
  color: var(--lcdb-ink-soft);
}

/* Sections placeholder sans leçon : masquées proprement */
.fluent_com .fcom_section_items.lcdb-section-empty {
  display: none !important;
}

/* Pictogramme devant la durée : ▶ vidéo / ⏱ lecture */
.fluent_com .lesson_duration {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.fluent_com .lcdb-dur-ico {
  display: inline-flex;
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  opacity: .85;
}

.fluent_com .lcdb-dur-ico svg {
  width: 100%;
  height: 100%;
  display: block;
}

.fluent_com .lcdb-dur-video .lcdb-dur-ico {
  color: var(--lcdb-gold-deep);
}

.fluent_com .lcdb-dur-read .lcdb-dur-ico {
  color: var(--lcdb-ink-soft);
}

@media (prefers-reduced-motion: no-preference) {
  .fluent_com .lcdb-course-desc {
    animation: lcdb-fade-in var(--fcom-transition, .3s) ease both;
  }
}

@keyframes lcdb-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: none; }
}

/* ==========================================================================
   5. Header photo (hero) — posé par recipe-ui.js sur toutes les pages du Club
   Bandeau full-bleed en tête de .fcom_main : photo du cours/leçon, dégradé de
   lisibilité, filet doré + titre éditorial. Dark mode et impression gérés.
   ========================================================================== */

.fluent_com .lcdb-hero {
  position: relative;
  margin: 0 0 22px;
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
  min-height: clamp(200px, 30vw, 330px);
  display: flex;
  align-items: flex-end;
  background-color: #1b2436;
  box-shadow: var(--lcdb-card-shadow);
}

.fluent_com .lcdb-hero.lcdb-hero-compact {
  min-height: clamp(140px, 20vw, 205px);
}

/* Couche image */
.fluent_com .lcdb-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  will-change: transform;
}

/* Variante floutée pour les petites photos de leçon (anti-pixelisation) */
.fluent_com .lcdb-hero-bg.lcdb-hero-blur {
  filter: blur(4px) saturate(1.06);
  transform: scale(1.14);
}

/* Couche vidéo (boucle muette) — au-dessus de l'image de repli, sous le dégradé */
.fluent_com .lcdb-hero-video {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.06);
  pointer-events: none;
  border: 0;
  background: transparent;
}

/* Sécurité : jamais de vidéo si l'utilisateur préfère moins de mouvement
   (le JS ne l'insère déjà pas, ceci couvre le changement de préférence à chaud) */
@media (prefers-reduced-motion: reduce) {
  .fluent_com .lcdb-hero-video { display: none !important; }
}

@media print {
  .fluent_com .lcdb-hero-video { display: none !important; }
}

/* Dégradé de lisibilité (coin bas-gauche = texte) */
.fluent_com .lcdb-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(102deg, rgba(16, 22, 36, .88) 0%, rgba(16, 22, 36, .58) 40%, rgba(16, 22, 36, .12) 76%, rgba(16, 22, 36, 0) 100%),
    linear-gradient(to top, rgba(16, 22, 36, .70) 0%, rgba(16, 22, 36, 0) 52%);
}

/* Grain léger pour l'atmosphère */
.fluent_com .lcdb-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .05;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .8) .5px, transparent .5px);
  background-size: 4px 4px;
}

.fluent_com .lcdb-hero-inner {
  position: relative;
  padding: clamp(20px, 3vw, 36px);
  max-width: min(660px, 88%);
  color: #fff;
}

.fluent_com .lcdb-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  margin: 0 0 .75em;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-weight: 600;
  font-size: .72rem;
  line-height: 1;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #f1ddb8;
}

.fluent_com .lcdb-hero-eyebrow svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.fluent_com a.lcdb-hero-eyebrow:hover {
  color: #fff;
}

.fluent_com .lcdb-hero-title {
  margin: 0;
  font-family: var(--lcdb-serif);
  font-weight: 600;
  font-size: clamp(1.5rem, 1rem + 2.7vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: .01em;
  color: #fff;
  text-shadow: 0 1px 26px rgba(0, 0, 0, .38);
}

.fluent_com .lcdb-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1em;
  margin: .85em 0 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: .875rem;
  color: rgba(255, 255, 255, .88);
}

.fluent_com .lcdb-hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: .4em;
}

.fluent_com .lcdb-hero-meta svg {
  width: 15px;
  height: 15px;
  opacity: .9;
}

/* Titres natifs dupliqués par le hero : masqués proprement */
.fluent_com .lcdb-hero-dup {
  display: none !important;
}

/* Entrées animées */
@keyframes lcdbHeroBg {
  from { transform: scale(1.16); }
  to   { transform: scale(1.06); }
}

@keyframes lcdbHeroText {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .fluent_com .lcdb-hero-bg { animation: lcdbHeroBg 1.7s cubic-bezier(.16, 1, .3, 1) both; }
  .fluent_com .lcdb-hero-inner { animation: lcdbHeroText .7s cubic-bezier(.16, 1, .3, 1) both .08s; }
}

@media (max-width: 600px) {
  .fluent_com .lcdb-hero-inner { max-width: 100%; }
  .fluent_com .lcdb-hero { border-radius: 14px; }
}

@media print {
  .fluent_com .lcdb-hero { display: none !important; }
}
