/**
 * Theme Name: Michel Adrian
 * Theme URI:  http://www.micheladrian.com
 * Description: 
 * Author:     Michel Adrian & Christophe Pardo
 * Author URI: http://www.inahya.com
 * Template:   Divi
 * Version:    1.0.0
 * License:    GNU General Public License v2 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: michel-adrian
 * Generated by WPMasterToolKit
 * @link https://wordpress.org/plugins/wpmastertoolkit/
 */


/* =========================================================
   GENERAL
   ========================================================= */

/* ------------------------------------
   FONTS – Local GDPR-compliant hosting
--------------------------------------- */  

/* FONTS
   Fonts loaded :
   - Montserrat : normal, italic, bold 700, extra bold 800
   - Playfair display : bold italic 700
*/

/* Montserrat - Regular */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/montserrat-v31-latin-regular.woff2') format('woff2');
}

/* Montserrat - Italic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/montserrat-v31-latin-italic.woff2') format('woff2');
}

/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/montserrat-v31-latin-600.woff2') format('woff2'); 
}

/* Montserrat - Bold (700) */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/montserrat-v31-latin-700.woff2') format('woff2');
}

/* Montserrat - Extra Bold (800) */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./fonts/montserrat-v31-latin-800.woff2') format('woff2');
}

/* Playfair Display - Bold Italic (700italic) */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/playfair-display-v40-latin-700italic.woff2') format('woff2');
}


/* ------------------------------------
   CONFIGURATION TYPOGRAPHIQUE GLOBALE
--------------------------------------- */  

/* Corps de texte (p) */
body, p {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400;
    font-size: clamp(16px, 1.2vw, 18px) !important;
    line-height: 1.7em !important;
    color: #222222;
}

/* Titre Principal (H1) */
h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important; /* Extra Bold */
    font-size: clamp(32px, 5vw, 60px) !important;
    line-height: 1.2em !important;
    margin-bottom: 20px;
}

/* Titres de Sections (H2) */
h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important; /* Bold */
    font-size: clamp(26px, 4vw, 42px) !important;
    line-height: 1.3em !important;
    margin-bottom: 15px;
}

/* Sous-titres (H3) */
h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important; /* Bold */
    font-size: clamp(22px, 3vw, 32px) !important;
    line-height: 1.4em !important;
}

/* Accroches / Citations (Via une classe dédiée) */
.ma-quote, blockquote {
    font-family: 'Playfair Display', serif !important;
    font-style: italic !important;
    font-weight: 700 !important;
    font-size: clamp(20px, 2.5vw, 28px) !important;
    line-height: 1.5em !important;
}

/* Petites Notes / Légendes */
.ma-caption {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(14px, 1vw, 16px) !important;
}

/* --- BOUTONS --- */
.et_pb_button {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}



/* =========================================================
   HEADER
   ========================================================= */

/* ------------------------------------   
   MOBILE MENU
   Afficher le menu verticalement sans passer par l'icone Hamburger
   --------------------------------------- */ 

/* 1. On cache l'icône hamburger générée par Divi dans le module */
.mobile-menu-vertical .et_mobile_nav_menu {
    display: none !important;
}

/* 2. On force l'affichage de la liste et on la met en colonne */
.mobile-menu-vertical ul.et-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centre horizontalement les items */
    justify-content: center !important;
    gap: 25px; /* Espace régulier entre chaque lien */
}

/* 3. Style des liens (Montserrat 600 comme convenu) */
.mobile-menu-vertical .et-menu li a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important; /* Un peu plus grand pour le confort mobile */
    text-transform: uppercase;
    color: #2D4F41 !important; /* Ton Vert Forêt */
    letter-spacing: 1px;
}


/* ------------------------------------   
   MEGA MENU CONTAINER
   - Handles visibility, positioning, and fade effects.
   - Ensure your Section has the class: dm-mega-menu
   --------------------------------------- */ 

.dm-mega-menu {
  /* Hides the menu by default on the live site */
  display: none !important;
  opacity: 0 !important;

  /* FADE SPEED: Adjust '100ms' to change how fast the menu appears */
  transition: opacity 100ms ease !important;

  /* Positioning: Floats the menu over page content */
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

/* Shows the menu when the JavaScript triggers the hover state */
.dm-mega-menu.show {
  display: block !important;
  opacity: 1 !important;
}

/* ------------------------------------   
   2. LAYOUT & ALIGNMENT
   - Centers the content row within the full-width menu.
   --------------------------------------- */ 
.dm-mega-menu .inner-mm {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ------------------------------------   
   3. ANIMATION SETUP (INITIAL STATE)
   - Prepares the columns to slide up by hiding them 
     and pushing them down 30px.
   --------------------------------------- */ 
.dm-mega-menu .inner-mm .left-column,
.dm-mega-menu .inner-mm .top-1,
.dm-mega-menu .inner-mm .top-2,
.dm-mega-menu .inner-mm .top-3,
.dm-mega-menu .inner-mm .bottom-1,
.dm-mega-menu .inner-mm .bottom-2,
.dm-mega-menu .inner-mm .bottom-3 {
  opacity: 0;
  transform: translateY(30px);
}

/* ------------------------------------   
   4. ANIMATION TIMING (STAGGER EFFECT)
   - Defines the upward slide duration (600ms).
   - Adds delays to specific columns to create a wave effect.
   --------------------------------------- */ 

/* Left Column - Appears immediately */
.dm-mega-menu.show .inner-mm .left-column {
  animation: slideUp 600ms ease forwards;
  animation-delay: 0ms;
}

/* Top Row - Staggered delays */
.dm-mega-menu.show .inner-mm .top-1 {
  animation: slideUp 600ms ease forwards;
  animation-delay: 100ms;
}
.dm-mega-menu.show .inner-mm .top-2 {
  animation: slideUp 600ms ease forwards;
  animation-delay: 200ms;
}
.dm-mega-menu.show .inner-mm .top-3 {
  animation: slideUp 600ms ease forwards;
  animation-delay: 300ms;
}

/* Bottom Row - Staggered delays */
.dm-mega-menu.show .inner-mm .bottom-1 {
    animation: slideUp 600ms ease forwards;
    animation-delay: 400ms;
}
.dm-mega-menu.show .inner-mm .bottom-2 {
  animation: slideUp 600ms ease forwards;
  animation-delay: 500ms;
}
.dm-mega-menu.show .inner-mm .bottom-3 {
  animation: slideUp 600ms ease forwards;
  animation-delay: 600ms;
}

/* The Motion Keyframes */
@keyframes slideUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ------------------------------------   
   5. VISUAL BUILDER VISIBILITY
   - Ensures the menu and its contents are fully visible
     while editing in the Divi Visual Builder.
   --------------------------------------- */ 

body.et-fb .dm-mega-menu, 
body.et-pb-preview .dm-mega-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important; 
  top: auto !important;
  z-index: auto !important;
}

/* Resets column transparency/position for editing */
body.et-fb .dm-mega-menu .inner-mm .left-column,
body.et-fb .dm-mega-menu .inner-mm .top-1,
body.et-fb .dm-mega-menu .inner-mm .top-2,
body.et-fb .dm-mega-menu .inner-mm .top-3,
body.et-fb .dm-mega-menu .inner-mm .bottom-1,
body.et-fb .dm-mega-menu .inner-mm .bottom-2,
body.et-fb .dm-mega-menu .inner-mm .bottom-3 {
  opacity: 1 !important;
  transform: none !important;
}

