/*
 Theme Name:   semezca
 Theme URI:    http://elegantthemes.com/
 Description:  Divi Child Theme
 Author:       Yann Calonne
 Author URI:   http://yanncalonne.com
 Template:     Divi
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 
*/

/* --- 0. IMPORTATION POLICE (CRITIQUE POUR WINDOWS/ANDROID) --- */
/* Importation du pack COMPLET (Light, Roman, Bold, Heavy) */
/* Note : Si functions.php chargeait encore la version '55', cela cassait tout. */
@import url("https://fonts.cdnfonts.com/css/helvetica-neue-9");

/* --- 1. NUCLEAR RESET DIVI (NE PAS TOUCHER) --- */
/* Masquer le Header et la Top Bar de Divi */
#main-header,
#top-header {
  display: none !important;
}
#page-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
}

/* --- 2. DESIGN SYSTEM & TYPOGRAPHIE GLOBALE --- */
:root {
  --color-gold: #c59d5f;
  --color-gold-light: #e3c388;
  --color-gold-gradient-start: #c59c6a;
  --color-gold-gradient-end: #b5833a;
  --color-black: #050505;
  --color-white: #ffffff;

  /* STACK ULTRA ROBUSTE : 
     1. "Helvetica Neue" (Standard)
     2. "HelveticaNeue" (Alias parfois utilisé par le système/CDN)
     3. Helvetica (Mac fallback)
     4. Arial (Win fallback propre)
     5. sans-serif
  */
  --font-main: "Helvetica Neue", Helvetica, Arial, sans-serif;

  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-main) !important;
  background-color: var(--color-black) !important;
  color: var(--color-white) !important;
  overflow-x: hidden;

  /* LISSAGE AVANCÉ */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;

  line-height: 1.6 !important;
  font-size: 16px !important;
}

/* TYPOGRAPHIE PARAGRAPHE */
p {
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1.5rem !important;
  /* Couleur gérée par le contexte */
}

/* --- 3. NAVIGATION PRINCIPALE (Top Bar) --- */
body .semez-nav {
  position: fixed !important;
  top: 0 !important;
  width: 100% !important;
  padding: 1.5rem 5% !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  z-index: 100000 !important;
  transition: var(--transition-smooth) !important;
}

/* Note: Règles .admin-bar et .et-fb supprimées pour une intégration native */

body .semez-nav.scrolled {
  background: rgba(5, 5, 5, 0.85) !important;
  backdrop-filter: blur(12px) !important;
  padding: 1rem 5% !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.logo {
  font-size: 1.2rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
  z-index: 102 !important;
  position: relative !important;
  color: white !important;
  line-height: 1 !important;
}

.logo span {
  color: var(--color-gold) !important;
}

.nav-links {
  display: flex !important;
  gap: 2.5rem !important;
}

body .nav-links a {
  color: white !important;
  text-decoration: none !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  position: relative !important;
  transition: color 0.3s ease !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.8) !important;
}

body .nav-links a[style*="var(--color-gold)"],
body .nav-links a:last-child {
  color: var(--color-gold) !important;
}

body .nav-links a:hover {
  color: var(--color-gold) !important;
}

.burger-btn {
  display: none !important;
  cursor: pointer !important;
  color: white !important;
  z-index: 102 !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- 4. NAVIGATION LATERALE (SIDE NAV) --- */
.side-nav {
  position: fixed !important;
  right: 5% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 99990 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.2rem !important;
  align-items: center !important;
  background: rgba(5, 5, 5, 0.6) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 50px !important;
  padding: 1.5rem 0.8rem !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

/* Note: Règle .admin-bar supprimée */

.side-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: rgba(255, 255, 255, 0.4) !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
}

.side-item svg {
  width: 20px !important;
  height: 20px !important;
  transition: all 0.3s ease !important;
}

.side-label {
  position: absolute !important;
  right: 45px !important;
  color: var(--color-gold) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  opacity: 0 !important;
  transform: translateX(10px) !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
  background: rgba(0, 0, 0, 0.9) !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
  pointer-events: none !important;
  border-right: 2px solid var(--color-gold) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important;
}

.side-item:hover {
  color: var(--color-gold) !important;
  transform: scale(1.2) !important;
}

.side-item:hover .side-label {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.side-item.active {
  color: var(--color-gold) !important;
  transform: scale(1.3) !important;
}

.side-item.active svg {
  filter: drop-shadow(0 0 8px rgba(197, 157, 95, 0.6)) !important;
  stroke-width: 2.5px !important;
}

.side-item.active .side-label {
  opacity: 0 !important;
}

/* --- 5. MOBILE MENU --- */
.mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  background: black !important;
  z-index: 100001 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1.5rem !important;
  transform: translateX(100%) !important;
  transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1) !important;
  width: 100vw !important;
  height: 100vh !important;
}

/* Note: padding-top supprimé */

.mobile-menu.active {
  transform: translateX(0) !important;
}

.mobile-menu a {
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  color: white !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
}

.mobile-menu a:hover {
  color: var(--color-gold) !important;
}

.close-menu-btn {
  position: absolute !important;
  top: 2rem !important;
  right: 5% !important;
  background: none !important;
  border: none !important;
  color: white !important;
  cursor: pointer !important;
  z-index: 103 !important;
  padding: 0 !important;
}

.close-menu-btn:hover {
  transform: rotate(90deg) !important;
  color: var(--color-gold) !important;
}

/* --- 6. HERO SECTION --- */
#page-container .hero {
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  position: relative !important;
  background-image: url("/wp-content/uploads/2026/03/earth.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 20px !important;
}

.hero::before {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.4),
    #050505
  ) !important;
  z-index: 0 !important;
}

.hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

/* TYPO HERO (Specifique) */
.hero-content h1 {
  font-size: clamp(3rem, 8vw, 7rem) !important;
  line-height: 0.95 !important;
  font-weight: 800 !important;
  margin-bottom: 1.5rem !important;
  background: linear-gradient(to bottom, #ffffff, #aaaaaa) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.5)) !important;
  opacity: 0;
  transform: translateY(30px);
}

.hero-content p {
  font-size: 1.1rem !important;
  color: #eee !important;
  max-width: 600px !important;
  margin: 0 auto 2.5rem auto !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.8) !important;
  opacity: 0;
  transform: translateY(20px);
}

.hero-content p[style*="var(--color-gold)"] {
  color: var(--color-gold) !important;
}

/* --- BOUTONS --- */
.btn-aaa,
a.btn-aaa {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 1rem 2rem !important;
  background: linear-gradient(90deg, #c59c6a, #b5833a) !important;
  color: white !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  transition: 0.3s !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  position: relative !important;
  overflow: hidden !important;
}

.btn-aaa::after {
  content: "";
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  ) !important;
  transition: 0.5s !important;
}

.btn-aaa:hover::after {
  left: 100% !important;
}

.btn-aaa:hover {
  transform: scale(1.05) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
}

.btn-secondary,
a.btn-secondary {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(5px) !important;
  box-shadow: none !important;
}

.btn-buttons-wrapper {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 1rem !important;
  opacity: 0;
  transform: translateY(20px);
}

/* --- 7. HUB GRID --- */
#page-container .hub-section {
  padding: 8rem 5% !important;
  background-color: #000000 !important;
  position: relative !important;
  z-index: 10 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

#page-container .hub-section h2 {
  color: #ffffff !important;
}

.hub-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  max-width: 1400px !important;
  margin: 3rem auto 0 !important;
}

.hub-card {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 20px !important;
  padding: 2rem !important;
  text-decoration: none !important;
  color: white !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
  backdrop-filter: blur(10px) !important;
  position: relative !important;
  overflow: hidden !important;
}

.hub-card::after {
  content: "";
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  ) !important;
  transition: 0.5s !important;
  pointer-events: none !important;
}

.hub-card:hover::after {
  left: 100% !important;
}

.hub-card:hover {
  transform: translateY(-10px) !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--color-gold) !important;
  box-shadow: 0 10px 30px rgba(197, 157, 95, 0.2) !important;
}

.hub-icon {
  color: var(--color-gold) !important;
  transition: transform 0.3s ease !important;
}

.hub-card:hover .hub-icon {
  transform: scale(1.2) !important;
}

.hub-card h3 {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  margin: 0 !important;
  padding-bottom: 0 !important;
  color: white !important;
}

/* --- 8. SECTIONS STANDARDS & COULEURS --- */
#page-container section.content-block {
  min-height: 100vh !important;
  padding: 6rem 5% !important;
  position: relative !important;
  z-index: 10 !important;
  background-size: cover !important;
  background-position: center !important;
  background-attachment: fixed !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.section-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
}

/* -- SECTION BLANCHE : Fond Blanc, Texte Noir -- */
.bg-white {
  background-color: #fff !important;
  color: #111 !important;
}

.bg-white .section-overlay {
  background: rgba(255, 255, 255, 0.8) !important;
}

/* Titres en noir */
.bg-white h1,
.bg-white h2,
.bg-white h3,
.bg-white h4,
.bg-white h5,
.bg-white h6 {
  color: #111 !important;
}

/* Paragraphes en gris foncé #333 pour contraste */
.bg-white p,
.bg-white li {
  color: #333 !important;
}

/* -- SECTION NOIRE : Fond Noir, Texte Blanc -- */
.bg-black {
  background-color: #050505 !important;
  color: #fff !important;
}

.bg-black h2 {
  color: #ffffff !important;
}

.bg-black .section-overlay {
  background: rgba(0, 0, 0, 0.6) !important;
}

.bg-black .text-col {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9) !important;
}

/* Titres en blanc */
.bg-black h1,
.bg-black h3,
.bg-black h4,
.bg-black h5,
.bg-black h6 {
  color: #fff !important;
}

/* Paragraphes en gris clair #ddd */
.bg-black p,
.bg-black li {
  color: #ddd !important;
}

/* -- IMPACT GLOBAL : Forcer le blanc sur fond sombre -- */
section#impact {
  background-color: #000000 !important;
  color: #ffffff !important;
}

section#impact .section-overlay {
  background: rgba(0, 0, 0, 0.7) !important;
}

/* Force les titres et textes en blanc/gris clair pour cette section spécifique */
section#impact h2,
section#impact h3 {
  color: #ffffff !important;
}

section#impact p,
section#impact li {
  color: #ddd !important;
}

/* --- STRUCTURE CONTENU --- */
.container {
  max-width: 1400px !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 5rem !important;
  position: relative !important;
  z-index: 2 !important;
}

.container::before,
.container::after {
  display: none !important;
  content: none !important;
}

.reverse {
  flex-direction: row-reverse !important;
}

.text-col,
.visual-col {
  flex: 1 !important;
}

.section-number {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  border-bottom: 2px solid var(--color-gold) !important;
  padding-bottom: 5px !important;
  display: inline-block !important;
  margin-bottom: 1.5rem !important;
  color: var(--color-gold) !important;
}

h2 {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  line-height: 1 !important;
  margin-bottom: 1.5rem !important;
  font-weight: 800 !important;
}

/* --- CARD GLASS --- */
.card-glass {
  padding: 3rem !important;
  border-radius: 20px !important;
  backdrop-filter: blur(10px) !important;
  transition: transform 0.4s ease !important;
}

/* Styles spécifiques Card Glass en fonction du fond */
.bg-white .card-glass {
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
}

.bg-black .card-glass {
  background: rgba(0, 0, 0, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5) !important;
}

/* Exception pour Impact Global : Card Glass toujours style sombre */
section#impact .card-glass {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(15px) !important;
  color: white !important;
}

.card-glass:hover {
  transform: translateY(-5px) !important;
}

.card-icon {
  color: var(--color-gold) !important;
  margin-bottom: 1rem !important;
  filter: drop-shadow(0 0 10px rgba(197, 157, 95, 0.5)) !important;
}

.card-glass h3 {
  font-size: 1.5rem !important;
  margin-bottom: 1rem !important;
  color: inherit !important;
}

.card-glass p {
  margin-bottom: 0 !important;
  /* Couleur héritée */
}

/* SPECIFIQUE IMPACT GLOBAL */
#impact .card-glass .big-number {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: white !important;
  line-height: 1 !important;
}

#impact .card-glass .small-label {
  color: var(--color-gold) !important;
  text-transform: uppercase !important;
  font-size: 0.8rem !important;
  letter-spacing: 1px !important;
  margin-bottom: 1.5rem !important;
}

.info-list li {
  margin-bottom: 0.8rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.info-list li::before {
  content: "›" !important;
  color: var(--color-gold) !important;
  font-weight: bold !important;
  font-size: 1.5rem !important;
}

/* --- 9. FOOTER --- */
footer {
  background: #0a0a0a !important;
  padding: 5rem 5% !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  position: relative !important;
  z-index: 10 !important;
}

.scripture {
  border-left: 3px solid var(--color-gold) !important;
  padding-left: 2rem !important;
}

.scripture p {
  font-size: 1.3rem !important;
  font-style: italic !important;
  color: #aaa !important;
  margin-bottom: 1rem !important;
}

.scripture cite {
  color: var(--color-gold) !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}

/* --- 10. RESPONSIVE --- */
@media (max-width: 1100px) {
  .nav-links {
    display: none !important;
  }
  .burger-btn {
    display: block !important;
  }

  .side-nav {
    flex-direction: row !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 100% !important;
    height: 85px !important;
    background: rgba(5, 5, 5, 0.95) !important;
    backdrop-filter: blur(15px) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 10px 0 20px 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    z-index: 99999 !important;
    box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.5) !important;
  }

  .side-nav::-webkit-scrollbar {
    display: none !important;
  }
  .side-nav {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }

  .side-item {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    min-width: 70px !important;
    height: 100% !important;
    padding: 0 5px !important;
    justify-content: flex-end !important;
    align-items: center !important;
    border-radius: 0 !important;
    transition: all 0.3s ease !important;
  }
  .side-item svg {
    width: 26px !important;
    height: 26px !important;
    margin-top: 4px !important;
  }
  .side-label {
    display: none !important;
  }

  .side-item.active .side-label {
    display: block !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    color: var(--color-gold) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    margin-bottom: 2px !important;
    text-align: center !important;
  }
  .side-item.active {
    background: transparent !important;
    border: none !important;
    transform: scale(1.1) !important;
  }
  .side-item.active svg {
    filter: drop-shadow(0 0 8px rgba(197, 157, 95, 0.6)) !important;
    stroke: var(--color-gold) !important;
  }
  body {
    padding-bottom: 90px !important;
  }
}

@media (max-width: 960px) {
  #page-container .hero,
  #page-container section.content-block {
    background-attachment: scroll !important;
  }
  .container {
    flex-direction: column !important;
    text-align: left !important;
    gap: 3rem !important;
  }
  .reverse {
    flex-direction: column !important;
  }
  .hero-content h1 {
    font-size: 3rem !important;
  }
  section.content-block {
    padding: 4rem 1.5rem !important;
    min-height: auto !important;
  }
  .text-col {
    width: 100% !important;
  }
  .visual-col {
    width: 100% !important;
  }
  .card-glass {
    padding: 2rem !important;
  }
  .card-glass h3 {
    font-size: 1.3rem !important;
  }
  .hub-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
  }
  .hub-card {
    padding: 1.5rem !important;
  }
  .hub-card h3 {
    font-size: 0.9rem !important;
  }
}

/* --- 12. INTEGRATION DIVI BUILDER (DEFAULT STYLES) --- */
/* Automatisation : Force les modules Divi à respecter le Design System Semez.ca */

/* 1. CONFIGURATION GÉNÉRALE & LARGEUR */
/* Force la largeur à 90% (padding 5% gauche/droite) pour s'aligner au header */
.et_pb_row {
  width: 90% !important;
  max-width: 1400px !important; /* Même max-width que tes containers custom */
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* Typographie globale Divi */
.et_pb_text,
.et_pb_module {
  font-family: var(--font-main) !important;
  font-size: 1.1rem !important;
  line-height: 1.6 !important;
}

/* 2. TITRES (H1 - H6) */

/* Style de base pour tous les titres dans Divi */
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6 {
  font-family: var(--font-main) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: 1.1 !important;
  margin-bottom: 1.5rem !important;
  color: white !important; /* Couleur par défaut sur fond noir */
}

/* H1 : Style Hero (Dégradé Blanc/Gris + Clamp) */
.et_pb_module h1 {
  font-size: clamp(3rem, 8vw, 7rem) !important;
  background: linear-gradient(to bottom, #ffffff, #aaaaaa) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.8)) !important;
  padding-bottom: 10px !important; /* Pour ne pas couper l'ombre */
}

/* H2 : Titres de section */
.et_pb_module h2 {
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
}

/* H3 : Titres de cartes */
.et_pb_module h3 {
  font-size: 1.5rem !important;
  letter-spacing: 1px !important;
  font-weight: 700 !important;
  color: white !important; /* Blanc par défaut */
}

/* H4/H5/H6 : Surtitres dorés */
.et_pb_module h4, 
.et_pb_module h5, 
.et_pb_module h6,
.et_pb_module .gold-subtitle, /* Classe générique pour Divi */
span.gold-subtitle {
  font-size: 0.9rem !important;
  color: var(--color-gold) !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  display: block !important;
  font-family: var(--font-main) !important;
}

/* 3. BOUTONS DIVI (Remplacement automatique) */

/* Bouton Principal (Style .btn-aaa) */
.et_pb_button,
.et_pb_button.et_pb_custom_button_icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 1rem 2rem !important;
  background: linear-gradient(
    90deg,
    var(--color-gold-gradient-start),
    var(--color-gold-gradient-end)
  ) !important;
  color: white !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: var(--font-main) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 0.85rem !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
  transition: 0.3s !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

/* Effet Shine (Reflet) */
.et_pb_button::after,
.et_pb_button.et_pb_custom_button_icon::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  ) !important;
  transition: 0.5s !important;
}

/* Animation au survol */
.et_pb_button:hover,
.et_pb_button.et_pb_custom_button_icon:hover {
  transform: scale(1.05) !important;
  padding: 1rem 2rem !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
}

.et_pb_button:hover::after,
.et_pb_button.et_pb_custom_button_icon:hover::after {
  left: 100% !important;
}

/* BOUTON SECONDAIRE (GHOST) */
/* Ajouter la classe CSS 'btn-secondary' au module Bouton dans Divi */
.et_pb_button.btn-secondary {
  background: rgba(255, 255, 255, 0.15) !important; /* Fond transparent */
  background-image: none !important; /* Supprime le gradient */
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  box-shadow: none !important;
}

.et_pb_button.btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.25) !important;
  background-image: none !important;
}

/* 4. PARAGRAPHES & TEXTES */
.et_pb_text_inner p,
.et_pb_module p {
  font-family: var(--font-main) !important;
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1.5rem !important;
  font-weight: 400 !important;
}

/* Liens dans le texte */
.et_pb_text a,
.et_pb_module p a {
  color: var(--color-gold) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  transition: 0.3s ease;
  border-bottom: 1px solid transparent;
}

.et_pb_text a:hover,
.et_pb_module p a:hover {
  color: white !important;
  border-bottom: 1px solid var(--color-gold);
}

/* Listes à puces */
.et_pb_module ul,
.et_pb_module ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.et_pb_module li {
  margin-bottom: 0.5rem !important;
}

.et_pb_module ul li::marker {
  color: var(--color-gold) !important;
  font-size: 1.2em;
}

/* FIX: Reset taille titre filtre média (pour éviter que le titre de la galerie soit géant) */
.media-attachments-filter-heading {
  font-size: 1.5rem !important;
  line-height: 1.4 !important;
  margin-bottom: 1rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* FIX POUR LE THEME BUILDER DIVI (FOOTER) */
/* C'est le conteneur généré automatiquement par Divi */
.et-l.et-l--footer {
  background-color: #050505 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 10 !important;
  position: relative !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
