/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
:root {
            --primary-blue: #0C124D; /* Bleu nuit profond */
            --secondary-blue: #3409B1; /* Bleu royal */
            --accent-gold: #d4af37; /* Or élégant */
            --blue-petrol: #0A4D68;
            --text-dark: #1a1a1a;
            --bg-light: #f8f9fa;
            --border-eco: #ccc;
            --primary-light: #ffffff;
        }

        body {
            color: var(--text-dark);
            background-color: #fff;
        }

        h1, h2, h3, h4, h5, h6{
            font-family: 'Playfair Display', serif;
            letter-spacing: normal;
        }
        p, li{
            font-family: 'Roboto', sans-serif;
            letter-spacing: normal;
        }

        .card{
            border: 0px solid transparent;
        }
        .economy-main-title a {
          color: #0C124D;
          text-decoration: none;
        }

           PREMIUM MOBILE LOADER STYLES
   /*========================================= */

.mobile-loader-wrapper { display: block; }

@media (min-width: 768px) { 
  .mobile-loader-wrapper { display: none !important; } 
}

#global-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--primary-blue); /* Ta couleur Premium */
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: opacity 0.4s ease; /* Transition un peu plus douce */
  padding: 20px; /* Marge de sécurité sur les bords du téléphone */
  box-sizing: border-box;
}

#global-loader.hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

/* --- LE LOGO --- */
.loader-logo {
  width: 120px; /* Taille idéale sur mobile */
  height: auto;
  object-fit: contain;
  margin-bottom: 20px;
  /* Petite animation de respiration "Premium" */
  animation: pulseLogo 2s infinite ease-in-out;
}

@keyframes pulseLogo {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
  100% { transform: scale(1); opacity: 1; }
}

/* --- LE TEXTE --- */
.loader-text {
  color: #ffffff;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; /* Police propre */
  font-size: 0.85rem; /* ~13-14px, lisible mais discret */
  font-weight: 300; /* Fin et élégant */
  text-align: center;
  line-height: 1.4;
  margin-bottom: 30px; /* Espace avant le spinner */
  max-width: 280px; /* Évite que le texte ne soit trop large */
  opacity: 0.9;
}

/* --- LE SPINNER (BLANC) --- */
.spinner {
  width: 35px;
  height: 35px;
  border: 3px solid rgba(255, 255, 255, 0.2); /* Cercle transparent */
  border-top: 3px solid #ffffff; /* Partie qui tourne en blanc pur */
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin { 
  0% { transform: rotate(0deg); } 
  100% { transform: rotate(360deg); } 
}

/* ====================================== */

        /* --- HEADER --- */
        .bg-echosdeleco{
            background: linear-gradient(45deg, var(--primary-blue), var(--secondary-blue));
            color: white;
        }
        .btn-echosdeleco{
            background-color: var(--primary-blue);
            color: white;
        }
        .top-bar {
            background: linear-gradient(90deg, var(--primary-blue), var(--secondary-blue));
            color: white;
            font-size: 0.9rem;
        }

        .le-logo {
            width: 65%;
            margin: auto;
        }
        
        .brand-sub {
            font-family: 'Inter', sans-serif;
            font-size: 0.8rem;
            color: #666;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        .btn-subscribe {
            background-color: var(--accent-gold);
            color: var(--primary-blue);
            font-weight: 600;
            border: none;
            border-radius: 0;
            padding: 10px 20px;
            transition: all 0.3s ease;
        }

        .btn-subscribe:hover {
            background-color: #c49f2f;
            color: white;
        }

        .navbar-main .nav-link {
            color: var(--text-dark);
            font-weight: 600;
            text-transform: uppercase;
            font-size: 0.85rem;
            padding: 1rem 1.2rem;
            border-bottom: 2px solid transparent;
        }

        .navbar-main .nav-link:hover, .navbar-main .nav-link.active {
            color: var(--primary-blue);
            border-bottom: 2px solid var(--blue-petrol);
        }

        /* ==========================================================================
   MEGA MENU : STRUCTURE & CORRECTIF DE SURVOL
   ========================================================================== */

/* 2. Le dropdown parent en position static */
.mega-dropdown {
  position: static !important;
}

/* 3. Le conteneur du Mega Menu */
.dropdown-menu.mega-menu {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  
  /* COULEURS : Fond sombre avec texte blanc */
  background-color: white;
  color: var(--text-white);
  
  border: none;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
  
  position: absolute !important;
  top: 100%;
  margin-top: 0 !important;
  z-index: 2147483648;
  
  display: block !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: visible !important;
  
  transition: opacity 0.15s ease, visibility 0.15s ease;
  transition-delay: 0.1s;
}

/* 4. LE PONT INVISIBLE */
.dropdown-menu.mega-menu::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  top: -15px;
  height: 15px;
  background: transparent;
  z-index: 10;
}

.dropdown-menu.mega-menu .card {
  background-color: transparent;
  border: none;
}

/* 5. COMPORTEMENT AU SURVOL */
@media all and (min-width: 992px) {
  .hover-dropdown:hover > .dropdown-menu.mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  
  .hover-dropdown:not(:hover) > .dropdown-menu.mega-menu {
    transition-delay: 0.1s;
  }
}

/* ==========================================================================
   CONTENU DU MENU : STYLE & COULEURS
   ========================================================================== */

/* Titres de section en majuscules */
.mega-menu h6 {
  color: black;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 0.75rem;
}

/* Bordure droite blanche */
.mega-menu .border-end {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Liens de sous-catégories : blanc par défaut */
.mega-menu .subcategory-link {
  color: white;
  text-decoration: none;
  display: inline-block;
  padding: 0.25rem 0;
  transition: all 0.2s ease-in-out;
  font-size: 12px;
  text-transform: uppercase;
}

.mega-menu .subcategory-link:hover {
  color: var(--accent-yellow);
  padding-left: 8px;
  transform: translateX(5px);
}

/* Bouton "Tout voir" */
.mega-menu .btn-view-all {
  background-color: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 1px;
  padding: 0.5rem 1rem;
  transition: all 0.3s ease;
}

.mega-menu .btn-view-all:hover {
  background-color: var(--bg-yellow);
  border-color: var(--bg-yellow);
  color: var(--text-black);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(255, 69, 0, 0.3);
}

/* Cartes d'articles */
.mega-menu .article-card {
  transition: transform 0.3s ease;
  background: transparent;
}

.mega-menu .article-card:hover {
  transform: translateY(-5px);
}

/* Titres d'articles : blanc par défaut, orange au survol */
.mega-menu .article-title {
  color: var(--text-white);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.4;
  transition: color 0.2s ease;
}

.mega-menu .article-title:hover {
  color: var(--bg-yellow);
}

/* Date d'article */
.mega-menu .article-date {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
}

/* Image placeholder */
.mega-menu .image-placeholder {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.4);
}

/* Effet zoom sur les images */
.hover-zoom {
  transition: transform 0.3s ease;
}

.article-card:hover .hover-zoom {
  transform: scale(1.05);
}

/* Message "Aucun article" */
.mega-menu .no-content-message {
  color: rgba(255, 255, 255, 0.5);
  font-style: italic;
}

/* ==========================================================================
   COLONNES DYNAMIQUES (SOUS-CATÉGORIES)
   ========================================================================== */

.subcategory-dynamic-list {
  column-count: 1;
  column-gap: 20px;
}

@media (min-width: 992px) {
  .subcategory-dynamic-list {
    column-count: 2;
  }
}

.break-avoid {
  break-inside: avoid-column;
  page-break-inside: avoid;
}

/* Header & Navigation */
/* ====================================== */

.top-menu {
  background-color: var(--bg-terraccotta);
  padding: 0px 0;
  border-bottom: 0px solid rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
}

.theme-toggle {
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: 0.9rem;
  cursor: pointer;
  padding: 8px;
  transition: color 0.3s ease, transform 0.2s ease;
}

.theme-toggle:hover {
  transform: scale(1.1);
  color: var(--accent-pink);
}

[data-theme="dark"] .top-menu {
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.top-menu .le-menu{
  background-color: var(--bg-terraccotta);
  color: white;
  padding-bottom: 0.5%;
  padding-top: 0.5%;
}

.top-menu .le-menu .nav-link {
  color: var(--text-white);
  font-weight: 500;
  margin: 0 15px;
  transition: color 0.3s ease;
}

.top-menu .le-menu .nav-link:hover {
  color: var(--text-white);
}

.top-menu .le-menu .nav-link::first-letter{
  text-transform: capitalize;
}

.logo{
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.3s ease;
}
.le-header {
  background-color: white;
  padding-bottom: 0%;
  padding-top: 1%;
}
.le-header .top-bar {
  background-color: transparent;
  padding: 0px 0;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
  color: var(--text-primary);
}

.le-header .top-bar a{
  color: var(--text-white);
  text-decoration: none;
  font-size: 14px;
}

.le-header .top-bar i{
  color: var(--text-white);
  text-decoration: none;
  font-size: 18px;
}

[data-theme="dark"] .le-header .top-bar {
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.le-header .logo{
  width: 100%;
  height: auto;
}

.le-header-link {
  color: var(--text-secondary);
  font-size: 0.9rem;
  transition: color 0.3s ease;
}

.le-header .nav {
  background-color: transparent;
  padding: 0px 0;
  transition: background-color 0.3s ease;
  margin-top: 1%;
  position: relative;
}
.le-header .nav .nav-link {
  color: var(--text-white);
  font-weight: normal;
  margin: 0 5px;
  transition: color 0.3s ease;
  text-transform: uppercase;
  font-size: 12px;
}

.le-header .nav .nav-link:hover {
  color: var(--accent-yellow);
}

.le-header .theme-toggle {
  background: none;
  border: none;
  color: var(--text-white);
  font-size: 14px;
  cursor: pointer;
  padding: 0px;
  transition: color 0.3s ease, transform 0.2s ease;
}

.le-header .theme-toggle:hover {
  transform: scale(1.1);
  color: var(--accent-yellow);
}

/* ==========================================================================
   RESPONSIVE : MOBILE
   ========================================================================== */

@media (max-width: 991px) {
  /* Sur mobile, le mega-menu devient un dropdown classique */
  .dropdown-menu.mega-menu {
    position: relative !important;
    width: 100% !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: none;
    margin-top: 0.5rem !important;
  }
  
  /* Pas de pont invisible sur mobile */
  .dropdown-menu.mega-menu::before {
    display: none;
  }
  
  /* Colonnes en pleine largeur sur mobile */
  .mega-menu .col-lg-3,
  .mega-menu .col-lg-9 {
    width: 100%;
    border: none !important;
    margin-bottom: 1.5rem;
  }
  
  /* Articles en 1 colonne sur mobile */
  .mega-menu .row-cols-md-3 {
    row-gap: 1rem;
  }
  
  /* Réduction des paddings sur mobile */
  .dropdown-menu.mega-menu .container-fluid {
    padding: 1rem !important;
  }
}

/* Très petits écrans */
@media (max-width: 576px) {
  .mega-menu h6 {
    font-size: 0.7rem;
  }
  
  .mega-menu .subcategory-link {
    font-size: 0.85rem;
    text-transform: uppercase;
  }
  
  .mega-menu .article-title {
    font-size: 0.85rem;
  }
}
/* ====================================== */
/* Header & Navigation fin */
/* ====================================== */
/* ==========================================================================
   OFFCANVAS MOBILE AVANCÉ
   ========================================================================== */

.mobile-offcanvas {
  background: linear-gradient(45deg, var(--primary-blue), var(--secondary-blue));
  color: white;
  border-right: 1px solid rgba(255,255,255,0.1);
}

/* Accordéon Mobile : Reset du style Bootstrap par défaut */
.mobile-offcanvas .accordion-button {
  color: white;
  font-size: 0.95rem;
  letter-spacing: 1px;
}

.mobile-offcanvas .accordion-button:after {
  filter: invert(1); /* Flèche blanche */
  transform: scale(0.8);
}

.mobile-offcanvas .accordion-button:not(.collapsed) {
  background-color: rgba(255, 255, 255, 0.05); /* Fond très léger au clic */
  color: var(--accent-yellow);
  box-shadow: none;
}

/* Fond légèrement plus sombre pour le contenu déroulé */
.bg-black-opacity {
  background-color: rgba(0, 0, 0, 0.2);
}

/* --- CARTE ARTICLE MOBILE (Horizontal Layout) --- */
.mobile-article-card {
  transition: background-color 0.2s ease;
  background-color: rgba(255, 255, 255, 0.02);
}

.mobile-article-card:hover, 
.mobile-article-card:active {
  background-color: rgba(255, 255, 255, 0.1);
}

.text-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal; /* Important pour le multiline clamp */
}

/* --- RÉSEAUX SOCIAUX & UTILITAIRES --- */
.mobile-socials i {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.2rem;
  transition: color 0.3s ease, transform 0.2s ease;
}

.mobile-socials i:hover {
  color: var(--accent-yellow);
  transform: translateY(-3px);
}

/* Supprimer la flèche pour les liens simples qui n'ont pas d'accordéon */
.remove-arrow::after {
  display: none !important;
}

/* Sticky Top pour la barre de nav mobile */
.sticky-top {
  z-index: 1020;
}

        /* --- HERO SECTION --- */
        .hero-section {
            background-color: transparent;
            height:450px;
        }
        .hero-carousel .carousel-item {
            height: 400px;
            position: relative;
            background-color: var(--blue-petrol);
        }

        .hero-carousel img {
            object-fit: cover;
            height: 100%;
            width: 100%;
            filter: brightness(0.9);
        }

        /* L'effet de texte sur l'image (Fond blanc sur texte bleu) */
        .hero-caption-overlay {
          position: absolute;
          bottom: 0;
          left: 0;
          max-width: 70%;
          z-index: 10;
          text-align: left;
        }

        .category-tag {
            background-color: var(--primary-blue);
            color: white;
            padding: 5px 15px;
            text-transform: uppercase;
            font-size: 0.75rem;
            font-weight: 700;
            display: inline-block;
            margin-bottom: 15px;
        }

        .hero-title {
              font-family: "Playfair Display", serif;
              font-optical-sizing: auto;
              font-weight: 900;
              font-style: normal;
              text-transform: lowercase!important;
        }

        .hero-title::first-letter{
              text-transform: uppercase!important;
        }

        .hero-title a{
              text-decoration: none;
        }

        .hero-title span {
            background-color: white;
            color: var(--primary-blue);
            padding: 8px 12px;
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1.4;
            /* Magie CSS pour que le padding s'applique à chaque ligne */
            box-decoration-break: clone;
            -webkit-box-decoration-break: clone;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        /* --- SIDEBAR (EN CONTINU) --- */
        .indicators-container {
  max-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
}

.indicators-container::-webkit-scrollbar {
  width: 4px;
}

.indicators-container::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.indicators-container::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, var(--primary-blue), var(--secondary-blue));
  border-radius: 2px;
}

.indicator-item {
  padding: 1rem;
  border-bottom: 1px solid #e9ecef;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.indicator-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: transparent;
  transition: background 0.3s ease;
}

.indicator-item.trend-up::before {
  background: #dc3545;
}

.indicator-item.trend-down::before {
  background: #198754;
}

.indicator-item:hover {
  background: linear-gradient(to right, rgba(102, 126, 234, 0.03), transparent);
  transform: translateX(2px);
}

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

.indicator-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.indicator-symbol {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--secondary-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.indicator-info {
  flex: 1;
  min-width: 0;
}

.indicator-name {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0;
  color: #2c3e50;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.indicator-category {
  font-size: 10px;
  color: #6c757d;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.indicator-value {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.price-display {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.current-price {
  font-size: 1.25rem;
  font-weight: 700;
  color: #2c3e50;
}

.price-unit {
  font-size: 0.75rem;
  color: #6c757d;
  font-weight: 600;
}

.price-variation {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.03);
}

.variation-value {
  font-weight: 700;
}

/* Mini sparkline */
.indicator-sparkline {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 24px;
  margin-top: 0.5rem;
}

.sparkline-bar {
  flex: 1;
  background: linear-gradient(to top, rgba(102, 126, 234, 0.6), rgba(102, 126, 234, 0.2));
  border-radius: 2px 2px 0 0;
  transition: all 0.3s ease;
}

.indicator-item:hover .sparkline-bar {
  background: linear-gradient(to top, rgba(102, 126, 234, 0.8), rgba(102, 126, 234, 0.4));
}

.indicator-item.trend-down .sparkline-bar {
  background: linear-gradient(to top, rgba(25, 135, 84, 0.6), rgba(25, 135, 84, 0.2));
}

.indicator-item.trend-down:hover .sparkline-bar {
  background: linear-gradient(to top, rgba(25, 135, 84, 0.8), rgba(25, 135, 84, 0.4));
}

/* Card sticky */
.sticky-top {
  position: sticky;
}

/* Animation au chargement */
@keyframes slideInFromRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.indicator-item {
  animation: slideInFromRight 0.4s ease forwards;
}

.indicator-item:nth-child(1) { animation-delay: 0.05s; }
.indicator-item:nth-child(2) { animation-delay: 0.1s; }
.indicator-item:nth-child(3) { animation-delay: 0.15s; }
.indicator-item:nth-child(4) { animation-delay: 0.2s; }
.indicator-item:nth-child(5) { animation-delay: 0.25s; }

/* Responsive */
@media (max-width: 991px) {
  .sticky-top {
    position: relative !important;
  }
  
  .indicators-container {
    max-height: 400px;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .indicator-item {
    border-bottom-color: #444;
  }
  
  .indicator-name {
    color: var(--primary-blue);
  }
  
  .current-price {
    color: var(--primary-blue);
  }
  
  .indicator-item:hover {
    background: linear-gradient(to right, rgba(102, 126, 234, 0.1), transparent);
  }
}
        .timeline-list {
            list-style: none;
            padding: 0;
            height: 500px;
            overflow-y: auto;
        }

        .timeline-item {
            padding: 15px 0;
            border-bottom: 1px solid #eee;
            display: flex;
            gap: 15px;
            transition: background 0.2s;
        }
        .timeline-item:hover {
            background-color: #fcfcfc;
        }

        .timeline-time {
            color: var(--primary-blue);
            font-weight: 700;
            font-size: 0.8rem;
            min-width: 45px;
        }

        .timeline-text {
            font-size: 0.85rem;
            line-height: 1.4;
            color: #333;
        }
        
        .timeline-text:hover {
            color: var(--accent-gold);
            text-decoration: none;
        }

        .section-header {
            border-bottom: 1px solid var(--primary-blue);
            margin-bottom: 1.5rem;
            padding-bottom: 0rem;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
        }
        .section-header h3, h4, h5 {
            margin: 0;
            font-weight: 700;
            background-color: var(--primary-blue);
            color: var(--primary-light);
            padding-left: 0.5rem;
            padding-right: 0.5rem;
            padding-top: 0.3rem;
        }

        .recents-section{
            margin-bottom: 0px;
        }

        /* --- RECENT POSTS GRID --- */
        .featured-vertical-card {
            position: relative;
            height: 100%;
            min-height: 450px;
            overflow: hidden;
            color: white;
        }
        .featured-vertical-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }
        .featured-vertical-card:hover img {
            transform: scale(1.05);
        }
        .featured-vertical-card h3 {
            font-size: 2rem;
            font-weight: 800;
            line-height: 1.2;
            text-transform: lowercase!important;

        }
        .featured-vertical-card h3 a{
            text-decoration: none;
            text-transform: lowercase!important;

        }
        .featured-vertical-card h3::first-letter{
            text-transform: capitalize !important;

        }
        .two-after-column  h6 {
            font-family: 'Playfair Display', serif;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.2;
            text-transform: capitalize !important;

        }
        .two-after-column  h6::first-letter{
            text-transform: capitalize !important;

        }
        .two-after-column  h6  a{
            text-decoration: none;

        }
        .overlay-gradient {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 80%;
            background: linear-gradient(to top,rgb(from var(--primary-blue) r g b / 1),transparent);
            pointer-events: none;
        }
        .card-content-overlay {
            position: absolute;
            bottom: 20px;
            left: 20px;
            right: 20px;
        }

        .news-card {
            border: none;
            margin-bottom: 20px;
            transition: transform 0.3s;
        }
        .news-card:hover {
            transform: translateY(-5px);
        }
        .news-card img {
            border-radius: 0;
            height: 200px;
            object-fit: cover;
        }
        .news-card .card-body {
            padding: 15px 0;
        }
        .news-card .card-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--text-dark);
        }
        .news-card .card-meta {
            font-size: 0.8rem;
            color: #666;
            margin-top: 10px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .author-avatar-sm {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            object-fit: cover;
        }
/* --- INTERVIEW SECTION --- */
.interview-carousel {
  background-color: var(--primary-blue);
  color: white;
  min-height: 450px;
}

  /* Structure split 50/50 */
  .carousel-split {
    display: flex;
    height: 450px;
    align-items: stretch;
  }
  .content-box {
    flex: 0 0 50%;
    padding: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
  }
  .image-box {
    flex: 0 0 50%;
    background-size: cover;
    background-position: center;
  }

  /* Style des titres et liens */
  .category-label {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.2rem;
    display: inline-block;
    margin-bottom: 50px;
    font-family: "Playfair Display", serif;
  }
   .interview-carousel .article-title {
    font-family: "Playfair Display", serif;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 50px;
    font-size: 2rem;
    text-transform: lowercase!important;
  }
   .interview-carousel .article-title::first-letter{
    text-transform: uppercase!important;
  }
  .read-story {
    color: white;
    text-decoration: underline;
    font-weight: 500;
  }

  /* Flèches circulaires en bas à gauche */
  .custom-controls {
    position: absolute;
    bottom: 30px;
    left: 60px;
    display: flex;
    gap: 15px;
    z-index: 10;
  }
  .btn-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.3);
    background: rgba(255,255,255,0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    &:hover { background: white; color: black; }
  }
/* --- FIN  INTERVIEW SECTION --- */

        /* --- STORIES (SWIPER) --- */
        .stories-section {
            background-color: #f0f2f5;
            padding: 40px 0;
            margin: 40px 0;
        }

        .story-card {
            position: relative;
            width: 100%;
            height: 380px;
            border-radius: 12px;
            overflow: hidden;
            cursor: pointer;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        }

        .story-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s;
        }

        .story-card:hover img {
            transform: scale(1.1);
        }

        .story-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, transparent 40%, rgba(26, 35, 126, 0.8));
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 20px;
        }

        .story-tag {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--accent-gold);
            margin-bottom: 5px;
        }

        .story-title {
            color: white;
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            line-height: 1.2;
        }

        /* Bordure autour de l'image pour simuler une "Story" non vue */
        .story-ring {
            position: absolute;
            top: 15px;
            left: 15px;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid var(--accent-gold);
            padding: 2px;
        }
        .story-ring img {
            border-radius: 50%;
            width: 100%;
            height: 100%;
        }

        /* --- ADVERTISEMENTS --- */
        .ad-space {
            background-color: #e9ecef;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #adb5bd;
            text-transform: uppercase;
            letter-spacing: 2px;
            font-size: 0.8rem;
        }
        
        .ad-banner-lg {
            width: 100%;
            height: 120px;
            margin-bottom: 2rem;
        }
        
        .ad-square {
            width: 100%;
            aspect-ratio: 1/1;
        }

        /* --- FOOTER --- */
        footer {
            background-color: var(--primary-blue);
            color: #ddd;
            padding: 60px 0 20px;
            margin-top: 60px;
        }
        footer h5 {
            color: white;
            margin-bottom: 20px;
        }
        footer a {
            color: #999;
            text-decoration: none;
            display: block;
            margin-bottom: 10px;
        }
        footer a:hover {
            color: var(--accent-gold);
        }

        /* --- Show Page --- */
        .larticle-show-row h1{
          font-weight:800;color:var(--primary-blue); 
          font-size: 2.5rem; line-height:1.2; 
          margin-bottom:20px;margin-top:50px;
          text-transform: lowercase!important;
        }

        .larticle-show-row h1::first-letter{
          text-transform: uppercase!important;
        }

         .larticle-show-row p{ 
          font-size: 1.2rem; 
          line-height:1.2; 
          margin-bottom:20px;
          margin-top:50px;
        }

        /* --- Show Page --- */


        @media (min-width: 300px) and (max-width: 410px) {

          /* --- Show Page --- */
        .larticle-show-row h1{
          font-weight:800;color:var(--primary-blue); 
          font-size: 1.2rem; line-height:1.2; 
          margin-bottom:20px;margin-top:50px;
          text-transform: lowercase!important;
        }

        .larticle-show-row h1::first-letter{
          text-transform: uppercase!important;
        }

         .larticle-show-row p{ 
          font-size: 1.2rem; 
          line-height:1.2; 
          margin-bottom:20px;
          margin-top:50px;
        }

        /* --- Show Page --- */
          .le-header {
  background: linear-gradient(45deg, var(--primary-blue), var(--secondary-blue));
            color: white;
  padding-bottom: 0%;
  padding-top: 1%;
}
          
          /* --- INTERVIEW SECTION --- */
.interview-carousel {
  background-color: var(--primary-blue);
  color: white;
  min-height: 150px;
}

/* Structure stack vertical */
.carousel-split {
  display: flex;
  flex-direction: row;
  height: auto;
  align-items: stretch;
  gap: 10px;
}

.content-box {
  flex: 0 0 50%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  font-size: 0.9rem;
}

.image-box {
  flex: 0 0 50%;
  min-height: 100px;
  background-size: cover;
  background-position: center;
}

  /* Style des titres et liens */
  .category-label {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 10px;
    display: inline-block;
    margin-bottom: 20px;
    font-family: "Playfair Display", serif;
  }
   .interview-carousel .article-title {
    font-family: "Playfair Display", serif;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 50px;
    font-size: 14px;
    text-transform: lowercase!important;
  }
   .interview-carousel .article-title::first-letter{
    text-transform: uppercase!important;
  }
  .read-story {
    color: white;
    text-decoration: underline;
    font-weight: 500;
  }

  /* Flèches circulaires en bas à gauche */
  .custom-controls {
    position: absolute;
    bottom: 30px;
    left: 60px;
    display: flex;
    gap: 15px;
    z-index: 10;
  }
  .btn-circle {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.3);
    background: rgba(255,255,255,0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    &:hover { background: white; color: black; }
  }
/* --- FIN  INTERVIEW SECTION --- */

        }