/* =========================================
   INGROUP SARL - Custom Professional Design
   Inspired by: Siemens, ABB, Schneider Electric
   ========================================= */

/* ---- MASQUER LES ÉLÉMENTS DU THÈME ORIGINAL ---- */
/* Masquer tout le contenu du slider NivoSlider original */
#slidera .nivo-slider,
#slidera #slider,
#slidera .nivoSlider,
#slidera .nivo-html-caption,
#slidera .nivo-controlNav,
#slidera .nivo-directionNav,
#slidera .layer-slider,
#slidera .rev-slider,
#slidera section.slider_wrap,
#slidera .slider_wrap { display: none !important; }
/* Laisser #slidera visible (il ne contient que le slider, nos sections ig-* sont APRÈS) */
#slidera { overflow: hidden !important; }

/* Top bar originale */
.top_bar_area, .head_top { display: none !important; }

/* Wrapper fixe du thème */
.fixed_site, .fixed_wrap { padding: 0 !important; margin: 0 !important; }
.fixed_site .fixed_wrap { background: transparent !important; }

/* Pages de démo dans le menu */
#menu-item-4935, #menu-item-4936, #menu-item-4937,
#menu-item-4938, #menu-item-4939, #menu-item-4947,
#menu-item-4948, #menu-item-4949, #menu-item-4950,
#menu-item-4951, #menu-item-4952, #menu-item-4953,
li.menu-item a[href*="shortcode"],
li.menu-item a[href*="slider"],
li.menu-item a[href*="demo"],
li.menu-item a[href*="sample"],
li.menu-item a[href*="featured-section"],
li.menu-item a[href*="blog-posts-grid"],
li.menu-item a[href*="blog-posts-timeline"],
li.menu-item a[href*="services-blocks"],
li.menu-item a[href*="flip-box"],
li.menu-item a[href*="rtl-tested"] { display: none !important; }

/* Header original - on garde juste le nav */
.header_wrap { background: #fff !important; box-shadow: 0 2px 20px rgba(10,36,99,0.08) !important; }

/* ---- MASQUER TOUS LES ÉLÉMENTS PARASITES ---- */
.head_top, .head_top_wrap, .top_info_bar, .top-bar,
.head-info-area,
.phntp, .sintp, .emltp, .suptp,
.head_top .center, div[class*="head_top"],
.social_buttons { display: none !important; }

/* Menu pages de démo */
.nav_wrap ul li a[href*="shortcode"],
.nav_wrap ul li a[href*="slider-below"],
.nav_wrap ul li a[href*="rtl-tested"],
.nav_wrap ul li a[href*="sample-page"],
.nav_wrap ul li a[href*="featured-section"],
.nav_wrap ul li a[href*="blog-posts-grid"],
.nav_wrap ul li a[href*="blog-posts-timeline"],
.nav_wrap ul li a[href*="services-blocks"],
.nav_wrap ul li a[href*="flip-box"] { display: none !important; }

/* Masquer le parent li aussi */
.nav_wrap ul li:has(a[href*="shortcode"]),
.nav_wrap ul li:has(a[href*="slider-below"]),
.nav_wrap ul li:has(a[href*="rtl-tested"]),
.nav_wrap ul li:has(a[href*="sample-page"]),
.nav_wrap ul li:has(a[href*="featured-section"]),
.nav_wrap ul li:has(a[href*="blog-posts"]),
.nav_wrap ul li:has(a[href*="services-blocks"]),
.nav_wrap ul li:has(a[href*="flip-box"]) { display: none !important; }

/* Reset du layout du thème pour la homepage */
body.home .fixed_site { padding: 0 !important; }
body.home .fixed_wrap { padding: 0 !important; background: none !important; }
body.home .center { width: 100% !important; max-width: 1200px !important; padding: 0 24px !important; }

/* Force le hero à prendre tout l'écran */
body.home .ig-hero { margin-top: 0 !important; }

/* ---- VARIABLES ---- */
:root {
  --primary:     #336600;   /* Bleu marine profond */
  --accent:      #e63946;   /* Rouge vif INGROUP */
  --gold:        #f4a261;   /* Or chaud */
  --light:       #f8f9fa;
  --dark:        #0d0d0d;
  --gray:        #6c757d;
  --white:       #ffffff;
  --shadow:      0 8px 40px rgba(10,36,99,0.13);
  --radius:      8px;
  --transition:  all 0.3s cubic-bezier(0.4,0,0.2,1);
  --font-main:   'Montserrat', 'Roboto', sans-serif;
  --font-body:   'Open Sans', 'Roboto', sans-serif;
}

/* ---- GOOGLE FONTS ---- */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Open+Sans:wght@300;400;600&display=swap');

/* ---- RESET & BASE ---- */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--font-body) !important;
  background: var(--white) !important;
  color: #222 !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-main) !important;
  font-weight: 700 !important;
  color: var(--primary) !important;
  line-height: 1.2 !important;
}

a { transition: var(--transition); }
img { max-width: 100%; height: auto; }

/* ---- TOP BAR ---- */
.top_bar_wrap, .topbar_wrap {
  background: var(--primary) !important;
  padding: 8px 0 !important;
  font-size: 13px !important;
}
.top_bar_wrap *, .topbar_wrap * {
  color: rgba(255,255,255,0.85) !important;
}
.top_bar_wrap a:hover, .topbar_wrap a:hover {
  color: var(--gold) !important;
}

/* ====================================================
   HEADER INGROUP - Design professionnel avec animations
   ==================================================== */

/* Conteneur header */
.header_wrap, .header_wrap .center, .header, #topmenu {
  overflow: visible !important;
}

.header_wrap {
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 2px 30px rgba(0,0,0,0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 99990 !important;
  transition: box-shadow 0.3s ease, background 0.3s ease !important;
  border-bottom: 1px solid rgba(51,102,0,0.08) !important;
}

/* Effet scroll : header plus compact */
.header_wrap.scrolled {
  box-shadow: 0 4px 40px rgba(0,0,0,0.13) !important;
  background: rgba(255,255,255,0.99) !important;
}

.header_wrap .center {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 32px !important;
  height: 80px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Logo */
.header_wrap .logo, .header_wrap .logo a {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.header_wrap .logo img, #logo img {
  max-height: 52px !important;
  width: auto !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
  display: block !important;
}
.header_wrap .logo img:hover, #logo img:hover {
  transform: scale(1.04) !important;
  opacity: 0.9 !important;
}

/* ---- NAVIGATION ---- */
.ig-nav {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  z-index: 99991 !important;
}

.ig-nav__menu {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
}

.ig-nav__menu > li {
  position: relative !important;
  display: inline-block !important;
}

/* Liens du menu principal */
.ig-nav__menu > li > a {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: var(--font-main) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
  position: relative !important;
}

.ig-nav__menu > li > a:hover {
  color: #336600 !important;
  background: rgba(51,102,0,0.07) !important;
}

/* Underline animé au survol */
.ig-nav__menu > li > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: 4px !important;
  left: 18px !important;
  right: 18px !important;
  height: 2px !important;
  background: #336600 !important;
  border-radius: 2px !important;
  transform: scaleX(0) !important;
  transition: transform 0.25s ease !important;
  transform-origin: left !important;
}
.ig-nav__menu > li > a:hover::after { transform: scaleX(1) !important; }

/* Item page courante */
.ig-nav__menu > li.current-menu-item > a,
.ig-nav__menu > li.current-menu-parent > a {
  color: #336600 !important;
  background: rgba(51,102,0,0.07) !important;
}
.ig-nav__menu > li.current-menu-item > a::after,
.ig-nav__menu > li.current-menu-parent > a::after {
  transform: scaleX(1) !important;
}

/* Bouton CONTACT mis en valeur */
.ig-nav__menu > li:last-child > a {
  background: #336600 !important;
  color: #fff !important;
  padding: 11px 22px !important;
  border-radius: 50px !important;
  margin-left: 10px !important;
  letter-spacing: 1.2px !important;
  box-shadow: 0 4px 15px rgba(51,102,0,0.25) !important;
  transition: all 0.25s ease !important;
}
.ig-nav__menu > li:last-child > a::after { display: none !important; }
.ig-nav__menu > li:last-child > a:hover {
  background: #e63946 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230,57,70,0.35) !important;
}

/* Flèche dropdown */
.ig-nav__arrow {
  font-size: 9px !important;
  opacity: 0.5 !important;
  transition: transform 0.25s ease, opacity 0.25s ease !important;
  display: inline-block !important;
}
.ig-nav__has-sub:hover .ig-nav__arrow {
  transform: rotate(180deg) !important;
  opacity: 1 !important;
}

/* ---- SOUS-MENU (style - position/display gérés par JS) ---- */
.ig-nav__sub {
  display: none;
  min-width: 240px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.05);
  padding: 8px;
  list-style: none;
  margin: 0;
  animation: dropFadeIn 0.2s ease;
}

@keyframes dropFadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.ig-nav__sub li { display: block !important; }

.ig-nav__sub li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  font-family: var(--font-main) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.ig-nav__sub li a::before {
  content: '›' !important;
  color: #336600 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  transition: all 0.2s ease !important;
}

.ig-nav__sub li a:hover {
  background: rgba(51,102,0,0.06) !important;
  color: #336600 !important;
  padding-left: 20px !important;
}
.ig-nav__sub li a:hover::before {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* ---- BURGER MOBILE ---- */
.ig-nav__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: 2px solid #336600;
  border-radius: 8px;
  cursor: pointer;
  padding: 8px 10px;
  transition: all 0.2s ease;
}
.ig-nav__burger:hover { background: #336600; }
.ig-nav__burger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #336600;
  border-radius: 2px;
  transition: all 0.3s ease;
}
.ig-nav__burger:hover span { background: #fff; }

/* ---- RESPONSIVE MOBILE ---- */
@media (max-width: 1023px) {
  .header_wrap .center { padding: 0 20px !important; height: 70px !important; }
  .ig-nav__menu { display: none !important; }
  .ig-nav__burger { display: flex !important; }
  .ig-nav__menu.ig-nav--open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: fixed !important;
    top: 70px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100vh - 70px) !important;
    overflow-y: auto !important;
    background: #fff !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.25) !important;
    padding: 12px !important;
    z-index: 999999 !important;
    gap: 4px !important;
    animation: dropFadeIn 0.25s ease !important;
  }
  .ig-nav__menu.ig-nav--open > li > a {
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }
  .ig-nav__menu.ig-nav--open > li > a::after { display: none !important; }
  .ig-nav__menu > li:last-child > a { margin-left: 0 !important; border-radius: 8px !important; }
  .ig-nav__sub {
    position: static !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    background: #f8faf5 !important;
    margin: 4px 0 !important;
    padding: 4px 0 !important;
    animation: none !important;
  }
}

/* Masquer tagline partout */
.header_wrap .desc,
.logo .desc,
span.desc,
.logoimga + span,
.logoimga ~ span,
.site-description,
.header .desc,
div.logo span,
.head_inner .desc { display: none !important; }
#topmenu { display: none !important; }
#menu-button { display: none !important; }
#simple-menu { display: none !important; }

/* Contenu de page sous le header */
.layer_wrapper:not(.header_wrap),
#slidera, .ig-hero, .igs-hero, .igp-hero,
.ig-services, .ig-about, .ig-why, .ig-partners, .ig-cta,
.igs-wrap, .igp-page {
  position: relative !important;
  z-index: 1 !important;
}

/* ---- DROPDOWN ANCIEN (désactivé) ---- */
/* Dropdown */
nav ul ul, #site-navigation ul ul {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: var(--white) !important;
  box-shadow: var(--shadow) !important;
  border-radius: var(--radius) !important;
  border-top: 3px solid var(--accent) !important;
  min-width: 220px !important;
  flex-direction: column !important;
  gap: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(10px) !important;
  transition: var(--transition) !important;
  z-index: 999 !important;
}
nav ul li:hover > ul,
#site-navigation ul li:hover > ul {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
nav ul ul li a {
  padding: 10px 20px !important;
  border-radius: 0 !important;
  font-size: 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* ---- HERO SLIDER ---- */
#slidera, .slider_wrap {
  position: relative !important;
  overflow: hidden !important;
}

.slide_content_wrap, .slider-content {
  position: relative !important;
  z-index: 2 !important;
}

.slide_title, .slider-title, .home_slide_title {
  font-family: var(--font-main) !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  font-weight: 900 !important;
  color: var(--white) !important;
  line-height: 1.1 !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
  margin-bottom: 20px !important;
}

.slide_desc, .slider-description {
  font-size: 18px !important;
  color: rgba(255,255,255,0.92) !important;
  max-width: 600px !important;
  margin-bottom: 32px !important;
  line-height: 1.6 !important;
}

/* ---- BOUTONS ---- */
.slide_btn a, .btn-primary, .more_btn a,
.complete_button, input[type="submit"],
.wpcf7 input[type="submit"],
.button, button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--accent) !important;
  color: var(--white) !important;
  font-family: var(--font-main) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  border: 2px solid var(--accent) !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
  cursor: pointer !important;
}

.slide_btn a:hover, .btn-primary:hover,
.complete_button:hover, input[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover {
  background: transparent !important;
  color: var(--accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(230,57,70,0.3) !important;
}

/* Bouton secondaire */
.btn-secondary, .slide_btn2 a {
  background: transparent !important;
  color: var(--white) !important;
  border-color: var(--white) !important;
}
.btn-secondary:hover, .slide_btn2 a:hover {
  background: var(--white) !important;
  color: var(--primary) !important;
}

/* ---- SECTIONS GÉNÉRALES ---- */
.layer_wrapper, .section_wrap {
  width: 100% !important;
  overflow: hidden !important;
}

.center {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

section, .home_section_wrap {
  padding: 80px 0 !important;
}

/* ---- SECTION TITRE ---- */
.section_title, .home_section_title,
.complete_section_title {
  text-align: center !important;
  margin-bottom: 60px !important;
}

.section_title h2, .home_section_title h2,
.complete_section_title h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  font-weight: 800 !important;
  color: var(--primary) !important;
  position: relative !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
}

.section_title h2::after,
.complete_section_title h2::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--accent), var(--gold)) !important;
  border-radius: 2px !important;
  margin: 12px auto 0 !important;
}

.section_title p, .complete_section_title p {
  color: var(--gray) !important;
  font-size: 16px !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* ---- SERVICES / FEATURE BOXES ---- */
.featured_area, .home_section1_wrap,
.services_wrap {
  background: var(--light) !important;
  padding: 80px 0 !important;
}

.featured_box, .service_box, .feature_col,
.home_section1_col {
  background: var(--white) !important;
  border-radius: 12px !important;
  padding: 36px 28px !important;
  box-shadow: var(--shadow) !important;
  transition: var(--transition) !important;
  border-bottom: 4px solid transparent !important;
  height: 100% !important;
}

.featured_box:hover, .service_box:hover,
.home_section1_col:hover {
  transform: translateY(-8px) !important;
  border-bottom-color: var(--accent) !important;
  box-shadow: 0 20px 60px rgba(10,36,99,0.15) !important;
}

.featured_box .icon, .service_icon,
.home_section1_col .icon {
  width: 64px !important;
  height: 64px !important;
  background: linear-gradient(135deg, var(--primary), #4d8c00) !important;
  border-radius: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
  font-size: 28px !important;
  color: var(--white) !important;
}

.featured_box h3, .service_box h3,
.home_section1_col h3 {
  font-size: 18px !important;
  color: var(--primary) !important;
  margin-bottom: 12px !important;
}

.featured_box p, .service_box p,
.home_section1_col p {
  color: var(--gray) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* ---- STATS SECTION ---- */
.stat_bg, .counter_section, .stat_section {
  background: linear-gradient(135deg, var(--primary) 0%, #4d8c00 100%) !important;
  padding: 70px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

.stat_bg::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -10% !important;
  width: 500px !important;
  height: 500px !important;
  background: rgba(255,255,255,0.03) !important;
  border-radius: 50% !important;
}

.stat_box, .counter_box, .stat_col {
  text-align: center !important;
  padding: 20px !important;
}

.stat_box .count, .counter_number,
.stat_col .number {
  font-family: var(--font-main) !important;
  font-size: clamp(2.5rem, 4vw, 4rem) !important;
  font-weight: 900 !important;
  color: var(--white) !important;
  line-height: 1 !important;
  display: block !important;
}

.stat_box .count span, .counter_number span {
  color: var(--gold) !important;
}

.stat_box p, .counter_label, .stat_col p {
  color: rgba(255,255,255,0.75) !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-top: 8px !important;
  font-weight: 600 !important;
}

/* ---- ABOUT SECTION ---- */
.about_section, .about_wrap,
.home_section2_wrap {
  padding: 80px 0 !important;
  background: var(--white) !important;
}

.about_image img {
  border-radius: 12px !important;
  box-shadow: var(--shadow) !important;
  width: 100% !important;
  object-fit: cover !important;
}

.about_content h2 {
  font-size: clamp(1.8rem, 2.5vw, 2.4rem) !important;
  color: var(--primary) !important;
  margin-bottom: 16px !important;
}

.about_content p {
  color: var(--gray) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  margin-bottom: 16px !important;
}

/* ---- PARTNERS / CLIENTS ---- */
.partners_section, .clients_wrap,
.home_section_partners {
  background: var(--light) !important;
  padding: 60px 0 !important;
}

.partner_logo img, .client_logo img {
  filter: grayscale(100%) !important;
  opacity: 0.5 !important;
  transition: var(--transition) !important;
  max-height: 55px !important;
  width: auto !important;
}

.partner_logo img:hover, .client_logo img:hover {
  filter: grayscale(0%) !important;
  opacity: 1 !important;
}

/* ---- TESTIMONIALS ---- */
.testimonial_section, .testimonials_wrap {
  background: var(--primary) !important;
  padding: 80px 0 !important;
}

.testimonial_box {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  text-align: center !important;
}

.testimonial_text, .testimonial_content {
  color: rgba(255,255,255,0.9) !important;
  font-size: 16px !important;
  font-style: italic !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}

.testimonial_author {
  color: var(--gold) !important;
  font-weight: 700 !important;
  font-family: var(--font-main) !important;
  font-size: 14px !important;
}

/* ---- CTA SECTION ---- */
.cta_section, .call_to_action {
  background: linear-gradient(135deg, var(--accent), #c1121f) !important;
  padding: 70px 0 !important;
  text-align: center !important;
}

.cta_section h2, .call_to_action h2 {
  color: var(--white) !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  margin-bottom: 12px !important;
}

.cta_section p, .call_to_action p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 16px !important;
  margin-bottom: 28px !important;
}

.cta_section .btn, .call_to_action .btn {
  background: var(--white) !important;
  color: var(--accent) !important;
  border-color: var(--white) !important;
}

/* ---- BLOG / NEWS ---- */
.blog_section, .news_wrap, .posts_wrap {
  padding: 80px 0 !important;
  background: var(--white) !important;
}

.post_card, .blog_card, article.post {
  background: var(--white) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
  transition: var(--transition) !important;
  height: 100% !important;
}

.post_card:hover, .blog_card:hover, article.post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(10,36,99,0.15) !important;
}

.post_card img, .blog_card img, article.post img {
  width: 100% !important;
  height: 200px !important;
  object-fit: cover !important;
  transition: var(--transition) !important;
}

.post_card:hover img { transform: scale(1.05) !important; }

.post_content, .blog_content, .post_body {
  padding: 24px !important;
}

.post_content h3, .blog_content h3 {
  font-size: 17px !important;
  color: var(--primary) !important;
  margin-bottom: 10px !important;
}

.post_content h3 a, .blog_content h3 a {
  color: var(--primary) !important;
  text-decoration: none !important;
}

.post_content h3 a:hover {
  color: var(--accent) !important;
}

/* ---- CONTACT SECTION ---- */
.contact_section, .contact_wrap {
  padding: 80px 0 !important;
  background: var(--light) !important;
}

.contact_form input, .contact_form textarea,
.wpcf7 input:not([type="submit"]),
.wpcf7 textarea {
  width: 100% !important;
  padding: 14px 18px !important;
  border: 2px solid #e9ecef !important;
  border-radius: var(--radius) !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: #333 !important;
  background: var(--white) !important;
  transition: var(--transition) !important;
  outline: none !important;
  margin-bottom: 16px !important;
}

.contact_form input:focus,
.wpcf7 input:not([type="submit"]):focus,
.wpcf7 textarea:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 4px rgba(10,36,99,0.08) !important;
}

.contact_info_box {
  background: var(--primary) !important;
  border-radius: 12px !important;
  padding: 36px 28px !important;
  color: var(--white) !important;
  height: 100% !important;
}

.contact_info_box h3 { color: var(--gold) !important; }
.contact_info_box p { color: rgba(255,255,255,0.85) !important; }

/* ---- FOOTER ---- */
.footer_wrap, #colophon, footer {
  background: #060e1e !important;
  padding: 60px 0 30px !important;
}

.footer_widget h3, .footer_widget h4,
.widget-title {
  font-family: var(--font-main) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--accent) !important;
  display: inline-block !important;
}

.footer_widget p, .footer_widget li,
.footer_widget a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

.footer_widget a:hover {
  color: var(--gold) !important;
  padding-left: 4px !important;
}

.footer_bottom, .copyright_bar {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  margin-top: 40px !important;
  padding-top: 24px !important;
  text-align: center !important;
}

.footer_bottom p, .copyright_bar p {
  color: rgba(255,255,255,0.4) !important;
  font-size: 13px !important;
}

.footer_bottom a { color: var(--gold) !important; }

/* ---- SOCIAL ICONS ---- */
.social_icons a, .social_links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.7) !important;
  font-size: 15px !important;
  margin: 0 4px !important;
  transition: var(--transition) !important;
}

.social_icons a:hover, .social_links a:hover {
  background: var(--accent) !important;
  color: var(--white) !important;
  transform: translateY(-3px) !important;
}

/* ---- PAGE HEADER ---- */
.page_head {
  background: linear-gradient(135deg, var(--primary), #4d8c00) !important;
  padding: 60px 0 !important;
  text-align: center !important;
}

.page_head .postitle, .page_head h1 {
  color: var(--white) !important;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  margin-bottom: 8px !important;
}

.layerbread, .breadcrumb {
  color: rgba(255,255,255,0.65) !important;
  font-size: 13px !important;
}

.layerbread a { color: rgba(255,255,255,0.65) !important; }
.layerbread a:hover { color: var(--gold) !important; }

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb {
  background: var(--primary);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

/* ---- SCROLL TO TOP ---- */
#scrollup, .scroll_top {
  background: var(--accent) !important;
  border-radius: 50% !important;
  width: 46px !important;
  height: 46px !important;
  box-shadow: 0 4px 15px rgba(230,57,70,0.4) !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1024px) {
  .center { padding: 0 24px !important; }
}

@media (max-width: 768px) {
  section, .home_section_wrap { padding: 56px 0 !important; }
  .header_wrap .center { height: 65px !important; }
  .site-title { font-size: 20px !important; }
  nav ul { display: none !important; }

  .mobile_menu_icon, .menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    background: var(--primary) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
  }

  .featured_box, .service_box { margin-bottom: 20px !important; }
  .stat_box .count { font-size: 2.2rem !important; }
}

@media (max-width: 480px) {
  .slide_title { font-size: 1.8rem !important; }
  .section_title h2 { font-size: 1.6rem !important; }
  .center { padding: 0 16px !important; }
}

/* ---- ANIMATIONS ---- */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

.featured_box, .service_box, .stat_box, .post_card {
  animation: fadeInUp 0.6s ease both !important;
}

/* ---- ACCENT BAR ---- */
.header_wrap::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--primary), var(--accent), var(--gold)) !important;
}

/* ---- DROPDOWN SOUS-MENU ---- */
/* Le JS (hoverIntent + menumaker) gère display via .menushow et .show()/.hide()
   On ne touche PAS à display. On stylise position, apparence, et overflow. */

#topmenu ul li.menu-item-has-children,
#topmenu ul li.has-sub {
  position: relative !important;
  overflow: visible !important;
}

/* Style du sous-menu quand il est affiché par le JS */
#topmenu ul li ul.sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 260px !important;
  background: #fff !important;
  border-top: 3px solid #336600 !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.18) !important;
  z-index: 99999 !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Items du sous-menu */
#topmenu ul li ul.sub-menu li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  border-right: none !important;
}

#topmenu ul li ul.sub-menu li a {
  display: block !important;
  padding: 11px 22px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #333 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
}

#topmenu ul li ul.sub-menu li a:hover {
  background: rgba(51,102,0,0.07) !important;
  color: #336600 !important;
  border-left-color: #336600 !important;
  padding-left: 28px !important;
}
