/* ════════════════════════════════════════════════════════
   JRS ENGINEERING — CSS WORDPRESS DÉFINITIF v4
   Apparence > Personnaliser > CSS additionnel
   Remplace tout le CSS précédent
   ════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Barlow:wght@300;400;500&family=Source+Code+Pro:wght@400;600&display=swap');

/* ── Variables charte ── */
:root {
  --jrs-navy:   #1A3A5C;
  --jrs-blue:   #025B8E;
  --jrs-sky:    #5DADE2;
  --jrs-ice:    #AED6F1;
  --jrs-signal: #00C9A7;
  --jrs-alert:  #F39C12;
  --jrs-white:  #FFFFFF;
  --jrs-off:    #F4F8FB;
  --jrs-light:  #E8F1F8;
  --jrs-grey:   #7F8C8D;
  --jrs-dark:   #1C2833;
}

/* ════════════════════════════════════════════════════════
   A — RESET ASTRA COMPLET
   Astra n'impose plus rien sur le contenu des pages
   ════════════════════════════════════════════════════════ */

/* Conteneurs Astra — pleine largeur, zéro marge */
.ast-container, .ast-row, .ast-grid-row,
.ast-separate-container .ast-article-single,
.ast-separate-container, .entry-content,
.entry-summary, .post-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* Page content — compenser hauteur header fixe */
.site-content, #content, .hfeed,
.ast-page-builder-template .site-content {
  padding: 0 !important;
  margin: 0 !important;
  padding-top: 64px !important;
  background: transparent !important;
}

/* Titres — Astra n'impose plus rien, Elementor contrôle tout */
h1, h2, h3, h4, h5, h6 {
  font-family: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Paragraphes */
p {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  margin: 0 !important;
}

/* Liens Elementor */
.elementor a, .elementor-widget a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Éléments Astra masqués */
.entry-title, .page-title, .ast-page-title,
.ast-breadcrumbs-wrapper, .ast-breadcrumbs {
  display: none !important;
}

/* Footer Astra masqué — Elementor gère le footer */
.site-footer, .ast-footer-overlay,
.footer-widget-area, .ast-small-footer,
footer.site-footer {
  display: none !important;
}

/* Article wrapper propre */
article.page, article.post, .post-inner {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Sidebar désactivée sur pages Elementor */
.elementor-page #secondary,
.elementor-page .ast-right-sidebar,
.elementor-page .ast-left-sidebar {
  display: none !important;
}
.elementor-page #primary {
  width: 100% !important;
  float: none !important;
}

/* Sections Elementor — pas d'espace entre elles */
.elementor-section { margin: 0 !important; }
.elementor-section + .elementor-section { margin-top: 0 !important; }

/* ════════════════════════════════════════════════════════
   B — HEADER FIXE CHARTE NAVY
   ════════════════════════════════════════════════════════ */

#masthead, .site-header, .ast-site-header-wrap {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background-color: var(--jrs-navy) !important;
  border-bottom: 1px solid rgba(93,173,226,0.15) !important;
  box-shadow: none !important;
}

/* Contenu header centré 1200px */
#masthead .ast-container,
#masthead .main-header-container,
.site-header .ast-container,
.site-header .main-header-container {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* Navigation — Barlow Condensed charte */
#masthead .main-navigation a,
#masthead .ast-builder-menu a,
.site-header .menu-link,
#ast-desktop-header .menu-link {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--jrs-ice) !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}

#masthead .main-navigation a:hover,
.site-header .menu-link:hover,
#ast-desktop-header .menu-link:hover {
  color: var(--jrs-white) !important;
  background: transparent !important;
}

.main-navigation .current-menu-item > a,
#ast-desktop-header .current-menu-item .menu-link {
  color: var(--jrs-sky) !important;
}

/* Logo texte */
.site-branding .site-title a,
.ast-site-identity .site-title a {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: var(--jrs-white) !important;
  text-decoration: none !important;
}

/* Sticky Astra 4 */
.ast-desktop-header, #ast-desktop-header,
.ast-primary-header-bar, .ast-sticky-active {
  background-color: var(--jrs-navy) !important;
}

/* Sous-menus */
.main-navigation .sub-menu {
  background: var(--jrs-navy) !important;
  border: 1px solid rgba(93,173,226,0.15) !important;
  border-top: 2px solid var(--jrs-sky) !important;
}
.main-navigation .sub-menu a {
  color: var(--jrs-ice) !important;
  font-size: 12px !important;
}
.main-navigation .sub-menu a:hover {
  color: var(--jrs-white) !important;
  background: rgba(93,173,226,0.08) !important;
}

/* ════════════════════════════════════════════════════════
   C — WIDGETS ELEMENTOR — CHARTE APPLIQUÉE
   ════════════════════════════════════════════════════════ */

/* Titres — Barlow Condensed 800 */
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.5px !important;
}

/* Corps de texte — Barlow */
.elementor-widget-text-editor .elementor-text-editor,
.elementor-widget-text-editor .elementor-text-editor p {
  font-family: 'Barlow', sans-serif !important;
  line-height: 1.7 !important;
}

/* Boutons — Barlow Condensed 700 */
.elementor-widget-button .elementor-button {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  transition: transform 0.15s, opacity 0.2s !important;
}
.elementor-widget-button .elementor-button:hover {
  transform: translateY(-1px) !important;
  opacity: 0.92 !important;
}

/* Compteurs — Barlow Condensed + Source Code Pro */
.elementor-counter-number-wrapper {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
}
.elementor-counter-title {
  font-family: 'Source Code Pro', monospace !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Boîtes d'icônes */
.elementor-widget-icon-box .elementor-icon-box-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
}

/* Images — object-fit cover */
.elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* ════════════════════════════════════════════════════════
   D — LARGEURS — 1200px centré, fonds pleine largeur
   ════════════════════════════════════════════════════════ */

.elementor-widget-wrap {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ════════════════════════════════════════════════════════
   E — MOBILE
   ════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
  .elementor-widget-wrap {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #masthead .ast-container,
  .site-header .ast-container {
    padding: 0 16px !important;
  }
}

@media (max-width: 768px) {
  .site-content, #content, .hfeed {
    padding-top: 56px !important;
  }
}
