/*
Theme Name:   GeneratePress Child
Theme URI:    https://lamaison360.fr
Description:  Thème enfant GeneratePress — La Maison 360
Author:       La Maison 360
Template:     generatepress
Version:      1.0.0
Text Domain:  generatepress-child
*/

/* ============================================================
   DESIGN TOKENS — La Maison 360
   ============================================================ */
:root {
  --lm-olive:       #5E7D3A;
  --lm-forest:      #3E5A2A;
  --lm-sage:        #AFC49A;
  --lm-gold:        #C8B27D;
  --lm-ink:         #1F1F1C;
  --lm-text:        #33342E;
  --lm-text-soft:   #6F726A;
  --lm-ivory:       #F8F6F1;
  --lm-beige:       #E8E1D6;
  --lm-bg:          #FFFFFF;
  --lm-border:      #E2DCCF;
  --lm-overlay:     rgba(31,31,28,.50);
  --lm-maxw:        1200px;
  --lm-radius:      14px;
  --lm-header-h:    66px;
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box !important; }

body {
  font-family: 'Inter', 'Mulish', sans-serif !important;
  color: var(--lm-text) !important;
  background: var(--lm-bg) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

h1,h2,h3,h4,h5,h6 {
  font-family: 'Plus Jakarta Sans', 'Fraunces', serif !important;
  color: var(--lm-ink) !important;
  line-height: 1.2 !important;
}

a { color: var(--lm-olive) !important; text-decoration: none !important; }
a:hover { color: var(--lm-forest) !important; }

img { max-width: 100% !important; height: auto !important; }

ul, ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* ============================================================
   GP OVERRIDES — masquer éléments parents
   ============================================================ */
.generate-columns-container,
.inside-article,
#generate-footer,
#site-navigation,
#masthead {
  /* Les templates enfant remplacent complètement le markup GP */
}

/* Désactiver les marges GP sur le main */
.entry-content, .page .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================
   HEADER — La Maison 360
   ============================================================ */
.lm-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  height: var(--lm-header-h) !important;
  background: #fff !important;
  border-bottom: 1px solid var(--lm-border) !important;
  box-shadow: 0 1px 8px rgba(31,31,28,.06) !important;
}

.lm-header__inner {
  max-width: var(--lm-maxw) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
}

/* Logo */
.lm-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.lm-logo__icon {
  width: 36px !important;
  height: 36px !important;
  background: var(--lm-olive) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.lm-logo__text {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  color: var(--lm-ink) !important;
  line-height: 1.1 !important;
}
.lm-logo__text span { color: var(--lm-olive) !important; }

/* Nav principale */
.lm-nav {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.lm-nav__link {
  font-size: .875rem !important;
  font-weight: 500 !important;
  color: var(--lm-text) !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  transition: background .15s, color .15s !important;
  white-space: nowrap !important;
}
.lm-nav__link:hover {
  background: var(--lm-ivory) !important;
  color: var(--lm-olive) !important;
}

/* Boutons header droite */
.lm-header__actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}

.lm-btn-ghost {
  font-size: .875rem !important;
  font-weight: 500 !important;
  color: var(--lm-text) !important;
  padding: 7px 16px !important;
  border-radius: 8px !important;
  border: 1px solid var(--lm-border) !important;
  background: transparent !important;
  transition: border-color .15s, color .15s !important;
  cursor: pointer !important;
}
.lm-btn-ghost:hover { border-color: var(--lm-olive) !important; color: var(--lm-olive) !important; }

.lm-btn-primary {
  font-size: .875rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  padding: 8px 20px !important;
  border-radius: 8px !important;
  background: var(--lm-olive) !important;
  border: none !important;
  transition: background .15s !important;
  cursor: pointer !important;
  display: inline-block !important;
}
.lm-btn-primary:hover { background: var(--lm-forest) !important; color: #fff !important; }

/* Hamburger mobile */
.lm-burger {
  display: none !important;
  flex-direction: column !important;
  gap: 5px !important;
  cursor: pointer !important;
  background: none !important;
  border: none !important;
  padding: 4px !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}
.lm-burger span {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  background: var(--lm-ink) !important;
  border-radius: 2px !important;
  transition: transform .2s !important;
}

/* Menu mobile */
.lm-mobile-menu {
  display: none !important;
  position: fixed !important;
  top: var(--lm-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid var(--lm-border) !important;
  z-index: 999 !important;
  padding: 16px 24px 24px !important;
  box-shadow: 0 8px 24px rgba(31,31,28,.12) !important;
}
.lm-mobile-menu.is-open { display: block !important; }
.lm-mobile-menu a {
  display: block !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--lm-border) !important;
  font-size: .95rem !important;
  font-weight: 500 !important;
  color: var(--lm-text) !important;
}
.lm-mobile-menu a:last-child { border-bottom: none !important; }
.lm-mobile-menu .lm-btn-primary {
  margin-top: 16px !important;
  display: block !important;
  text-align: center !important;
  width: 100% !important;
}

/* ============================================================
   FOOTER — La Maison 360
   ============================================================ */
.lm-footer {
  background: var(--lm-forest) !important;
  color: rgba(255,255,255,.85) !important;
  padding: 64px 0 0 !important;
}

.lm-footer__inner {
  max-width: var(--lm-maxw) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.lm-footer__grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 48px !important;
}

.lm-footer__brand .lm-logo__text { color: #fff !important; }
.lm-footer__brand .lm-logo__text span { color: var(--lm-sage) !important; }

.lm-footer__tagline {
  margin-top: 12px !important;
  font-size: .875rem !important;
  color: rgba(255,255,255,.7) !important;
  line-height: 1.6 !important;
  max-width: 280px !important;
}

.lm-footer__col h4 {
  color: #fff !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

.lm-footer__col ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.lm-footer__col ul li { margin-bottom: 10px !important; }
.lm-footer__col ul li a {
  color: rgba(255,255,255,.75) !important;
  font-size: .875rem !important;
  transition: color .15s !important;
}
.lm-footer__col ul li a:hover { color: var(--lm-sage) !important; }

.lm-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.15) !important;
  margin-top: 48px !important;
  padding: 24px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.lm-footer__copy {
  font-size: .8rem !important;
  color: rgba(255,255,255,.55) !important;
}

.lm-footer__legal {
  display: flex !important;
  gap: 20px !important;
}
.lm-footer__legal a {
  font-size: .8rem !important;
  color: rgba(255,255,255,.55) !important;
}
.lm-footer__legal a:hover { color: var(--lm-sage) !important; }

/* ============================================================
   HERO — front-page
   ============================================================ */
.lm-hero {
  position: relative !important;
  min-height: 580px !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: var(--lm-ivory) !important;
}

.lm-hero__bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  z-index: 0 !important;
}

.lm-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: var(--lm-overlay) !important;
  z-index: 1 !important;
}

.lm-hero__container {
  position: relative !important;
  z-index: 2 !important;
  max-width: var(--lm-maxw) !important;
  margin: 0 auto !important;
  padding: 80px 24px !important;
  display: grid !important;
  grid-template-columns: 1fr 420px !important;
  gap: 64px !important;
  align-items: center !important;
  width: 100% !important;
}

.lm-hero__eyebrow {
  display: inline-block !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--lm-sage) !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 100px !important;
  padding: 5px 14px !important;
  margin-bottom: 20px !important;
}

.lm-hero h1 {
  font-size: clamp(2rem, 4.5vw, 3.25rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin-bottom: 20px !important;
  line-height: 1.1 !important;
}

.lm-hero h1 em {
  font-style: normal !important;
  color: var(--lm-sage) !important;
}

.lm-hero__sub {
  font-size: 1rem !important;
  color: rgba(255,255,255,.88) !important;
  margin-bottom: 32px !important;
  max-width: 480px !important;
  line-height: 1.65 !important;
}

.lm-hero__cta {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  margin-bottom: 40px !important;
}

.lm-hero__cta .lm-btn-primary {
  padding: 13px 26px !important;
  font-size: .95rem !important;
  border-radius: 10px !important;
}

.lm-hero__cta .lm-btn-outline {
  display: inline-block !important;
  padding: 12px 26px !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.6) !important;
  border-radius: 10px !important;
  background: transparent !important;
  transition: background .15s, border-color .15s !important;
}
.lm-hero__cta .lm-btn-outline:hover { background: rgba(255,255,255,.15) !important; border-color: #fff !important; }

/* Mini stats sous les CTA */
.lm-hero__stats {
  display: flex !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}
.lm-hero__stat {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: .82rem !important;
  color: rgba(255,255,255,.8) !important;
}
.lm-hero__stat svg { flex-shrink: 0 !important; }

/* Mockup app côté droit */
.lm-hero__visual {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.lm-hero__phone {
  width: 220px !important;
  position: relative !important;
  z-index: 2 !important;
}

.lm-phone-frame {
  background: #1a1a1a !important;
  border-radius: 36px !important;
  padding: 12px !important;
  box-shadow: 0 32px 64px rgba(0,0,0,.35), 0 8px 16px rgba(0,0,0,.2) !important;
  border: 2px solid rgba(255,255,255,.15) !important;
}

.lm-phone-screen {
  background: var(--lm-ivory) !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  min-height: 380px !important;
  padding: 16px !important;
}

.lm-phone-notch {
  width: 80px !important;
  height: 20px !important;
  background: #1a1a1a !important;
  border-radius: 0 0 14px 14px !important;
  margin: -16px auto 12px !important;
}

.lm-phone-chat {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.lm-phone-chat__msg {
  background: #fff !important;
  border-radius: 12px 12px 12px 4px !important;
  padding: 8px 12px !important;
  font-size: .72rem !important;
  color: var(--lm-ink) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.08) !important;
  max-width: 85% !important;
}
.lm-phone-chat__header {
  font-weight: 700 !important;
  font-size: .75rem !important;
  color: var(--lm-olive) !important;
  margin-bottom: 4px !important;
}
.lm-phone-chat__room-card {
  background: var(--lm-olive) !important;
  border-radius: 10px !important;
  padding: 8px !important;
  margin-top: 4px !important;
  color: #fff !important;
  font-size: .7rem !important;
}

/* Badge flottant visites 360 */
.lm-hero__badge {
  position: absolute !important;
  right: -30px !important;
  top: 40px !important;
  background: #fff !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  color: var(--lm-ink) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 3 !important;
  white-space: nowrap !important;
}
.lm-hero__badge-icon {
  width: 32px !important;
  height: 32px !important;
  background: var(--lm-olive) !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
}

/* ============================================================
   SECTION COMMUNE — wrappers
   ============================================================ */
.lm-section {
  padding: 80px 0 !important;
}
.lm-section--ivory { background: var(--lm-ivory) !important; }
.lm-section--beige { background: var(--lm-beige) !important; }
.lm-section--white { background: #fff !important; }
.lm-section--forest { background: var(--lm-forest) !important; }

.lm-container {
  max-width: var(--lm-maxw) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.lm-label {
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--lm-olive) !important;
  margin-bottom: 12px !important;
}

.lm-section-title {
  font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
  font-weight: 800 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 16px !important;
  line-height: 1.15 !important;
}

.lm-section-lead {
  font-size: 1rem !important;
  color: var(--lm-text-soft) !important;
  max-width: 520px !important;
  line-height: 1.65 !important;
}

/* ============================================================
   FEATURES — section 2
   ============================================================ */
.lm-features {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
  margin-top: 56px !important;
}

.lm-feature-card {
  background: #fff !important;
  border: 1px solid var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
  padding: 28px 24px !important;
  transition: box-shadow .2s, transform .2s !important;
}
.lm-feature-card:hover {
  box-shadow: 0 8px 32px rgba(94,125,58,.12) !important;
  transform: translateY(-3px) !important;
}

.lm-feature-card__icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  font-size: 1.5rem !important;
}

.lm-feature-card__icon--olive { background: rgba(94,125,58,.12) !important; }
.lm-feature-card__icon--sage  { background: rgba(175,196,154,.2) !important; }
.lm-feature-card__icon--gold  { background: rgba(200,178,125,.2) !important; }
.lm-feature-card__icon--forest{ background: rgba(62,90,42,.1) !important; }

.lm-feature-card h3 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 8px !important;
}

.lm-feature-card p {
  font-size: .85rem !important;
  color: var(--lm-text-soft) !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

.lm-feature-card__link {
  font-size: .82rem !important;
  font-weight: 600 !important;
  color: var(--lm-olive) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.lm-feature-card__link:hover { color: var(--lm-forest) !important; }

/* section intro gauche */
.lm-features-intro {
  max-width: 380px !important;
}
.lm-features-intro .lm-section-lead {
  margin-bottom: 20px !important;
}

/* ============================================================
   APP SHOWCASE — section 3
   ============================================================ */
.lm-app-showcase {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 72px !important;
  align-items: center !important;
}

.lm-app-showcase__visual {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
}

.lm-app-phone {
  width: 260px !important;
  position: relative !important;
  z-index: 2 !important;
}

.lm-app-bg-blob {
  position: absolute !important;
  width: 340px !important;
  height: 340px !important;
  background: var(--lm-sage) !important;
  opacity: .25 !important;
  border-radius: 60% 40% 70% 30% / 50% 60% 40% 50% !important;
  z-index: 1 !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%,-50%) !important;
}

.lm-app-showcase__content h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 16px !important;
}

.lm-app-features {
  margin: 24px 0 32px !important;
}

.lm-app-feature {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin-bottom: 16px !important;
}

.lm-app-feature__check {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--lm-olive) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.lm-app-feature__check svg { width: 12px !important; height: 12px !important; }

.lm-app-feature p {
  font-size: .9rem !important;
  color: var(--lm-text) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.lm-app-btns {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.lm-store-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 18px !important;
  background: var(--lm-ink) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  transition: background .15s !important;
}
.lm-store-btn:hover { background: var(--lm-forest) !important; color: #fff !important; }
.lm-store-btn svg { flex-shrink: 0 !important; }

/* ============================================================
   ETAPES — section 4
   ============================================================ */
.lm-steps-header {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: flex-start !important;
  margin-bottom: 56px !important;
}

.lm-steps-header__cta { margin-top: 20px !important; }

.lm-steps {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  position: relative !important;
}

.lm-steps::before {
  content: '' !important;
  position: absolute !important;
  top: 28px !important;
  left: 60px !important;
  right: 60px !important;
  height: 2px !important;
  background: var(--lm-border) !important;
  z-index: 0 !important;
}

.lm-step {
  position: relative !important;
  z-index: 1 !important;
  text-align: center !important;
}

.lm-step__num {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--lm-ivory) !important;
  border: 2px solid var(--lm-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 18px !important;
  font-size: 1.5rem !important;
  transition: background .2s, border-color .2s !important;
}

.lm-step:hover .lm-step__num {
  background: var(--lm-olive) !important;
  border-color: var(--lm-olive) !important;
}

.lm-step h3 {
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 8px !important;
}

.lm-step p {
  font-size: .82rem !important;
  color: var(--lm-text-soft) !important;
  line-height: 1.55 !important;
}

/* ============================================================
   OFFRES — section 5
   ============================================================ */
.lm-offers-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: center !important;
}

.lm-offers-content h2 {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin-bottom: 16px !important;
}

.lm-offers-content p {
  color: rgba(255,255,255,.8) !important;
  margin-bottom: 28px !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
}

.lm-btn-white {
  display: inline-block !important;
  padding: 13px 28px !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: var(--lm-forest) !important;
  background: #fff !important;
  border-radius: 10px !important;
  border: none !important;
  transition: background .15s !important;
}
.lm-btn-white:hover { background: var(--lm-ivory) !important; color: var(--lm-forest) !important; }

.lm-offers-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

.lm-offer-card {
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: var(--lm-radius) !important;
  padding: 24px 20px !important;
  color: #fff !important;
  position: relative !important;
}

.lm-offer-card--popular {
  background: #fff !important;
  border-color: #fff !important;
}
.lm-offer-card--popular h3,
.lm-offer-card--popular .lm-offer-badge-free {
  color: var(--lm-forest) !important;
}
.lm-offer-card--popular p { color: var(--lm-text-soft) !important; }
.lm-offer-card--popular .lm-btn-offer { background: var(--lm-olive) !important; color: #fff !important; }

.lm-offer-popular-badge {
  position: absolute !important;
  top: -10px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--lm-gold) !important;
  color: var(--lm-ink) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 4px 12px !important;
  border-radius: 100px !important;
  white-space: nowrap !important;
}

.lm-offer-card h3 {
  font-size: .9rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 6px !important;
}

.lm-offer-card p {
  font-size: .78rem !important;
  color: rgba(255,255,255,.7) !important;
  margin-bottom: 16px !important;
  line-height: 1.5 !important;
}

.lm-btn-offer {
  display: block !important;
  text-align: center !important;
  padding: 9px 16px !important;
  border-radius: 8px !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  transition: background .15s !important;
  margin-top: 8px !important;
}
.lm-btn-offer:hover { background: rgba(255,255,255,.35) !important; color: #fff !important; }

/* ============================================================
   BLOG — section 6
   ============================================================ */
.lm-blog-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 36px !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
}

.lm-blog-header .lm-btn-outline-dark {
  display: inline-block !important;
  padding: 10px 22px !important;
  border: 1.5px solid var(--lm-border) !important;
  border-radius: 8px !important;
  font-size: .85rem !important;
  font-weight: 600 !important;
  color: var(--lm-text) !important;
  transition: border-color .15s, color .15s !important;
}
.lm-btn-outline-dark:hover { border-color: var(--lm-olive) !important; color: var(--lm-olive) !important; }

.lm-blog-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
}

.lm-post-card {
  background: #fff !important;
  border: 1px solid var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
  overflow: hidden !important;
  transition: box-shadow .2s, transform .2s !important;
}
.lm-post-card:hover {
  box-shadow: 0 8px 32px rgba(94,125,58,.1) !important;
  transform: translateY(-3px) !important;
}

.lm-post-card__thumb {
  aspect-ratio: 16/10 !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(135deg, var(--lm-olive), var(--lm-sage)) !important;
}
.lm-post-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .3s !important;
  display: block !important;
}
.lm-post-card:hover .lm-post-card__thumb img { transform: scale(1.04) !important; }

.lm-post-card__body { padding: 18px !important; }

.lm-post-card__cat {
  display: inline-block !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--lm-olive) !important;
  margin-bottom: 8px !important;
}

.lm-post-card h3 {
  font-size: .92rem !important;
  font-weight: 700 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 8px !important;
  line-height: 1.35 !important;
}

.lm-post-card__meta {
  font-size: .75rem !important;
  color: var(--lm-text-soft) !important;
}

/* ============================================================
   SOCIAL PROOF — bandeau bas
   ============================================================ */
.lm-trust-bar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px !important;
  padding: 48px 0 !important;
  border-top: 1px solid var(--lm-border) !important;
}

.lm-trust-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 16px !important;
}
.lm-trust-item__icon {
  font-size: 2rem !important;
  flex-shrink: 0 !important;
}
.lm-trust-item h4 {
  font-size: .88rem !important;
  font-weight: 700 !important;
  color: var(--lm-ink) !important;
  margin-bottom: 4px !important;
}
.lm-trust-item p {
  font-size: .8rem !important;
  color: var(--lm-text-soft) !important;
  line-height: 1.5 !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .lm-features {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .lm-hero__container {
    grid-template-columns: 1fr !important;
  }
  .lm-hero__visual { display: none !important; }
  .lm-app-showcase { grid-template-columns: 1fr !important; gap: 40px !important; }
  .lm-app-showcase__visual { display: none !important; }
  .lm-offers-wrap { grid-template-columns: 1fr !important; }
  .lm-offers-cards { grid-template-columns: 1fr !important; }
  .lm-footer__grid { grid-template-columns: 1fr 1fr !important; }
  .lm-steps { grid-template-columns: repeat(2, 1fr) !important; }
  .lm-steps::before { display: none !important; }
}

@media (max-width: 768px) {
  .lm-nav { display: none !important; }
  .lm-header__actions { display: none !important; }
  .lm-burger { display: flex !important; }
  .lm-header__inner { justify-content: space-between !important; }

  .lm-features { grid-template-columns: 1fr !important; }
  .lm-blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .lm-trust-bar { grid-template-columns: repeat(2, 1fr) !important; }
  .lm-footer__grid { grid-template-columns: 1fr !important; }
  .lm-steps { grid-template-columns: 1fr 1fr !important; }
  .lm-steps-header { grid-template-columns: 1fr !important; }
  .lm-hero__container { padding: 56px 24px !important; }
  .lm-section { padding: 56px 0 !important; }
}

@media (max-width: 480px) {
  .lm-blog-grid { grid-template-columns: 1fr !important; }
  .lm-steps { grid-template-columns: 1fr !important; }
  .lm-trust-bar { grid-template-columns: 1fr !important; }
  .lm-hero__cta { flex-direction: column !important; }
}

/* ============================================================
   ANTI-COLLISION GP — supprimer paddings/marges parasites
   ============================================================ */
.site-content, .content-area, .widget-area { padding: 0 !important; margin: 0 !important; }
#page { padding: 0 !important; margin: 0 !important; }
.generate-container { max-width: none !important; padding: 0 !important; }
.inside-navigation { padding: 0 !important; }
.main-nav ul { display: none !important; }
#masthead .inside-header { display: none !important; }
#generate-footer .inside-footer { display: none !important; }

/* ===== Reset conteneur GeneratePress — sections pleine largeur (fix .site-content display:flex) ===== */
.site-content:not(#z), #content:not(#z){ display:block !important; width:100% !important; }
.site-main:not(#z), #primary:not(#z){ display:block !important; width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important; }
.inside-article:not(#z){ padding:0 !important; }


/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .lm-header__inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .lm-header__inner:not(#z) nav{ display:none !important; }
  .lm-burger:not(#z){ display:inline-flex !important; margin-left:auto !important; order:999 !important; flex-shrink:0 !important; }
}

/* ===== Reset padding GeneratePress separate-containers (Mathieu 15/06 — gros padding 30px parasite) ===== */
.separate-containers .inside-article:not(#z),
.one-container .site-content:not(#z),
.inside-page-header:not(#z),
.separate-containers .paging-navigation:not(#z),
.separate-containers .comments-area:not(#z){ padding:0 !important; }

/* ===== STACK MOBILE SINGLE — sidebar sous le contenu, pas de débordement (Mathieu 15/06) ===== */
@media (max-width:1024px){
  .lm-single-sidebar:not(#z){ width:100% !important; max-width:100% !important; margin-top:32px !important; position:static !important; grid-column:1 / -1 !important; order:99 !important; }
}

/* ===== Fix carte offre populaire — texte foncé sur fond blanc (Mathieu 15/06) ===== */
.lm-offer-card--popular:not(#z), 
.lm-offer-card--popular:not(#z) *:not(.lm-btn-offer):not(.lm-offer-popular-badge){ color: var(--lm-ink,#1F1F1C) !important; }
.lm-offer-card--popular:not(#z) .lm-btn-offer{ color:#fff !important; }

/* ===== FIX HAMBURGER v2 — burger pin à droite (absolu), bonnes classes (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .lm-header__inner:not(#z){ position:relative !important; }
  .lm-header__inner:not(#z) nav, .lm-nav, .lm-header__actions{ display:none !important; }
  .lm-burger:not(#z){ display:inline-flex !important; position:absolute !important; right:16px !important; top:50% !important; transform:translateY(-50%) !important; margin:0 !important; z-index:6 !important; }
}
