/*
Theme Name: Objectif Group - Divi Child
Template: Divi
Description: Thème enfant Divi personnalisé pour Objectif Group
Version: 1.0.0
Author: Objectif Group
Text Domain: objectif-group-divi
*/

/* ============================================================
   VARIABLES GLOBALES
   ============================================================ */
:root {
  --og-primary:   #034764;
  --og-secondary: #199edc;
  --og-white:     #ffffff;
  --og-light:     #f4f8fb;
  --og-dark:      #0a1628;
  --og-gray:      #6b7c93;
  --og-border:    #dde6ef;
  --og-radius:    10px;
  --og-shadow:    0 4px 24px rgba(3,71,100,0.10);
  --og-shadow-lg: 0 12px 48px rgba(3,71,100,0.16);
}

/* ============================================================
   TYPOGRAPHIE GLOBALE
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap');

body {
  font-family: 'Inter', sans-serif !important;
  color: var(--og-dark) !important;
}

h1, h2, h3, h4, h5, h6,
.et_pb_text h1, .et_pb_text h2,
.et_pb_text h3, .et_pb_text h4 {
  font-family: 'Sora', sans-serif !important;
  color: var(--og-primary) !important;
}

/* ============================================================
   HEADER DIVI
   ============================================================ */
#main-header {
  background: var(--og-primary) !important;
  box-shadow: 0 2px 20px rgba(3,71,100,0.15) !important;
}

#main-header .et_pb_menu a,
#main-header nav a,
#et-top-navigation nav > ul > li > a {
  color: rgba(255,255,255,0.88) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.92rem !important;
  transition: color 0.25s ease !important;
}

#main-header nav > ul > li > a:hover,
#et-top-navigation nav > ul > li > a:hover {
  color: var(--og-secondary) !important;
}

/* Logo */
#logo { max-height: 60px !important; }

/* Header scrolled */
.et-fixed-header {
  background: var(--og-white) !important;
  box-shadow: 0 2px 20px rgba(3,71,100,0.10) !important;
}
.et-fixed-header nav > ul > li > a {
  color: var(--og-primary) !important;
}

/* ============================================================
   BOUTONS DIVI
   ============================================================ */
.et_pb_button,
a.et_pb_button {
  background: var(--og-secondary) !important;
  color: var(--og-white) !important;
  border-color: var(--og-secondary) !important;
  border-radius: var(--og-radius) !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  padding: 14px 32px !important;
  transition: all 0.28s ease !important;
  letter-spacing: 0 !important;
}
.et_pb_button:hover,
a.et_pb_button:hover {
  background: #1186bf !important;
  border-color: #1186bf !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(25,158,220,0.35) !important;
}

/* Bouton outline */
.et_pb_button.og-btn-outline {
  background: transparent !important;
  color: var(--og-primary) !important;
  border: 2px solid var(--og-primary) !important;
}
.et_pb_button.og-btn-outline:hover {
  background: var(--og-primary) !important;
  color: var(--og-white) !important;
}

/* Bouton blanc (sur fond foncé) */
.et_pb_button.og-btn-white {
  background: var(--og-white) !important;
  color: var(--og-primary) !important;
  border-color: var(--og-white) !important;
}
.et_pb_button.og-btn-white:hover {
  background: var(--og-secondary) !important;
  color: var(--og-white) !important;
  border-color: var(--og-secondary) !important;
}

/* ============================================================
   SECTIONS DIVI
   ============================================================ */

/* Section hero */
.og-hero-section {
  background: linear-gradient(135deg, #034764 0%, #05679a 55%, #0a8cc7 100%) !important;
  min-height: 100vh !important;
}
.og-hero-section .et_pb_text *,
.og-hero-section h1,
.og-hero-section h2,
.og-hero-section p {
  color: var(--og-white) !important;
}

/* Section claire */
.og-section-light {
  background: var(--og-light) !important;
}

/* Section primaire */
.og-section-primary {
  background: var(--og-primary) !important;
}
.og-section-primary h1,
.og-section-primary h2,
.og-section-primary h3,
.og-section-primary p,
.og-section-primary .et_pb_text * {
  color: var(--og-white) !important;
}

/* Section secondaire */
.og-section-secondary {
  background: linear-gradient(135deg, var(--og-secondary), #0a8cc7) !important;
}
.og-section-secondary * { color: var(--og-white) !important; }

/* ============================================================
   MODULES DIVI PERSONNALISÉS
   ============================================================ */

/* Blurb (carte service/formation) */
.et_pb_blurb.og-service-card {
  background: var(--og-white) !important;
  border: 1px solid var(--og-border) !important;
  border-radius: 16px !important;
  padding: 36px 28px !important;
  box-shadow: var(--og-shadow) !important;
  transition: all 0.28s ease !important;
  position: relative;
  overflow: hidden;
}
.et_pb_blurb.og-service-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--og-primary), var(--og-secondary));
  opacity: 0;
  transition: opacity 0.28s ease;
}
.et_pb_blurb.og-service-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--og-shadow-lg) !important;
  border-color: rgba(25,158,220,0.25) !important;
}
.et_pb_blurb.og-service-card:hover::before { opacity: 1; }

.et_pb_blurb.og-service-card .et_pb_blurb_container h4 {
  color: var(--og-primary) !important;
  font-size: 1.15rem !important;
}
.et_pb_blurb.og-service-card .et_pb_blurb_container p {
  color: var(--og-gray) !important;
  font-size: 0.92rem !important;
}

/* Carte formation (fond sombre) */
.et_pb_blurb.og-formation-card {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 16px !important;
  padding: 28px 22px !important;
  transition: all 0.28s ease !important;
}
.et_pb_blurb.og-formation-card:hover {
  background: rgba(255,255,255,0.13) !important;
  border-color: var(--og-secondary) !important;
  transform: translateY(-4px) !important;
}
.et_pb_blurb.og-formation-card h4,
.et_pb_blurb.og-formation-card p {
  color: var(--og-white) !important;
}

/* Témoignages */
.et_pb_testimonial.og-testimonial {
  background: var(--og-white) !important;
  border: 1px solid var(--og-border) !important;
  border-radius: 16px !important;
  box-shadow: var(--og-shadow) !important;
  padding: 32px !important;
}
.et_pb_testimonial.og-testimonial .et_pb_testimonial_description {
  color: var(--og-dark) !important;
  font-style: italic !important;
}
.et_pb_testimonial.og-testimonial .et_pb_testimonial_author {
  color: var(--og-primary) !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
}
.et_pb_testimonial.og-testimonial .et_pb_testimonial_company {
  color: var(--og-gray) !important;
}

/* Badge / étiquette */
.og-badge {
  display: inline-block !important;
  background: rgba(25,158,220,0.12) !important;
  color: var(--og-secondary) !important;
  border: 1px solid rgba(25,158,220,0.25) !important;
  border-radius: 100px !important;
  padding: 5px 16px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.og-badge-white {
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.9) !important;
  border-color: rgba(255,255,255,0.2) !important;
}

/* Séparateur coloré */
.et_pb_divider.og-divider-gradient hr {
  background: linear-gradient(90deg, var(--og-primary), var(--og-secondary)) !important;
  height: 3px !important;
  border: none !important;
}

/* Stats compteurs */
.et_pb_number_counter.og-stat .et_pb_counter_amount {
  color: var(--og-white) !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 800 !important;
  font-size: 2.5rem !important;
}
.et_pb_number_counter.og-stat .et_pb_counter_title {
  color: rgba(255,255,255,0.65) !important;
  font-size: 0.85rem !important;
}

/* ============================================================
   FORMULAIRE DE CONTACT
   ============================================================ */
.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_contact_form select {
  border: 2px solid var(--og-border) !important;
  border-radius: var(--og-radius) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  transition: border-color 0.25s ease !important;
  padding: 12px 16px !important;
}
.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus {
  border-color: var(--og-secondary) !important;
  outline: none !important;
}
.et_pb_contact_form .et_pb_contact_submit {
  background: var(--og-secondary) !important;
  border-color: var(--og-secondary) !important;
  border-radius: var(--og-radius) !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 600 !important;
  width: 100% !important;
  padding: 14px !important;
}

/* ============================================================
   MENU MOBILE
   ============================================================ */
@media (max-width: 980px) {
  #main-header {
    background: var(--og-primary) !important;
  }
  .et_mobile_menu {
    background: var(--og-primary) !important;
  }
  .et_mobile_menu li a {
    color: var(--og-white) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  .et_mobile_menu li a:hover {
    color: var(--og-secondary) !important;
    background: rgba(255,255,255,0.05) !important;
  }
}

/* ============================================================
   FOOTER DIVI
   ============================================================ */
#main-footer {
  background: #0a1628 !important;
}
#main-footer .et_pb_widget h4,
#main-footer .footer-widget h4 {
  color: var(--og-white) !important;
  font-family: 'Sora', sans-serif !important;
}
#main-footer .et_pb_widget a,
#main-footer .footer-widget a {
  color: rgba(255,255,255,0.65) !important;
  transition: color 0.25s ease !important;
}
#main-footer .et_pb_widget a:hover,
#main-footer .footer-widget a:hover {
  color: var(--og-secondary) !important;
}
#footer-bottom {
  background: rgba(0,0,0,0.2) !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
}
#footer-bottom p { color: rgba(255,255,255,0.5) !important; }

/* ============================================================
   SCROLL TO TOP
   ============================================================ */
#et-back-to-top {
  background: var(--og-secondary) !important;
  border-radius: 10px !important;
}
#et-back-to-top:hover {
  background: var(--og-primary) !important;
}

/* ============================================================
   ANIMATIONS PERSONNALISÉES
   ============================================================ */
@keyframes og-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.og-animate { animation: og-fade-up 0.6s ease forwards; }
