/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
Description: Thème enfant GeneratePress — Ateliers LODJ, magazine déco/maison.
*/

/* =========================================================
   DESIGN TOKENS — Ateliers LODJ (organic luxury déco)
   ========================================================= */
:root {
  --al-sage:         #5E6B4A;
  --al-sage-dark:    #4E5A3D;
  --al-olive:        #3F4A34;
  --al-oak:          #C8A27A;
  --al-ink:          #1F1F1B;
  --al-text:         #3A3A33;
  --al-text-soft:    #7A776E;
  --al-ivory:        #F7F3ED;
  --al-sand:         #E9DFD2;
  --al-bg:           #FFFFFF;
  --al-border:       #D9D2C8;
  --al-overlay:      rgba(31,31,27,.55);
  --al-maxw:         1200px;
  --al-radius:       6px;
  --al-header-h:     66px;
}

/* =========================================================
   RESET GP — OBLIGATOIRE (évite colonnes parasites)
   ========================================================= */
.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;
}
.inside-article:not(#z) {
  padding: 0 !important;
}

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

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

/* Compense la admin-bar WP */
body.admin-bar { padding-top: 32px !important; }
@media (max-width: 782px) { body.admin-bar { padding-top: 46px !important; } }

a { color: var(--al-sage) !important; text-decoration: none !important; }
a:hover { color: var(--al-sage-dark) !important; }
img { max-width: 100%; height: auto; display: block; }

/* =========================================================
   TYPOGRAPHIE
   ========================================================= */
h1, h2, h3, h4 {
  font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif !important;
  color: var(--al-ink) !important;
  line-height: 1.2 !important;
  margin: 0 0 .5em !important;
}
h1 { font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 700 !important; }
h2 { font-size: clamp(1.4rem, 2.5vw, 2rem) !important; font-weight: 600 !important; }
h3 { font-size: clamp(1rem, 1.8vw, 1.2rem) !important; font-weight: 600 !important; }

/* =========================================================
   LAYOUT WRAPPERS
   ========================================================= */
.al-container {
  max-width: var(--al-maxw);
  margin: 0 auto;
  padding: 0 24px;
}

/* =========================================================
   HEADER
   ========================================================= */
#al-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: var(--al-bg) !important;
  border-bottom: 1px solid var(--al-border) !important;
  height: var(--al-header-h) !important;
}
body.admin-bar #al-header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar #al-header { top: 46px !important; } }

.al-header-inner {
  display: flex !important;
  align-items: center !important;
  height: var(--al-header-h) !important;
  gap: 0 !important;
}

/* Logo */
.al-logo {
  flex-shrink: 0 !important;
  margin-right: 32px !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--al-ink) !important;
  text-decoration: none !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
}
.al-logo span { font-weight: 400 !important; }
.al-logo:hover { color: var(--al-sage) !important; }

/* Nav principale */
.al-nav { display: flex !important; align-items: center !important; flex: 1 !important; justify-content: center !important; }
.al-nav ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; gap: 28px !important; }
.al-nav ul li a {
  font-size: .8rem !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--al-text) !important;
  text-decoration: none !important;
  transition: color .2s !important;
  white-space: nowrap !important;
}
.al-nav ul li a:hover { color: var(--al-sage) !important; }

/* Actions header : loupe + bouton */
.al-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}
.al-search-btn {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  color: var(--al-ink) !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.al-search-btn svg { width: 20px !important; height: 20px !important; flex-shrink: 0 !important; }
.al-subscribe-btn {
  background: var(--al-sage) !important;
  color: #fff !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: 9px 18px !important;
  border-radius: 30px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transition: background .2s !important;
}
.al-subscribe-btn:hover { background: var(--al-sage-dark) !important; color: #fff !important; }

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

/* Overlay recherche */
.al-search-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(31,31,27,.7) !important;
  z-index: 99999 !important;
  align-items: center !important;
  justify-content: center !important;
}
.al-search-overlay.active { display: flex !important; }
.al-search-form { display: flex !important; gap: 0 !important; width: clamp(280px, 60vw, 600px) !important; }
.al-search-form input {
  flex: 1 !important;
  padding: 14px 18px !important;
  border: none !important;
  font-size: 1.1rem !important;
  outline: none !important;
  background: #fff !important;
  color: var(--al-ink) !important;
  border-radius: 4px 0 0 4px !important;
}
.al-search-form button {
  background: var(--al-sage) !important;
  color: #fff !important;
  border: none !important;
  padding: 0 20px !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  border-radius: 0 4px 4px 0 !important;
  font-family: 'Inter', sans-serif !important;
}

/* Mobile nav menu */
.al-mobile-menu {
  display: none !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background: var(--al-bg) !important;
  z-index: 99998 !important;
  flex-direction: column !important;
  padding: 80px 32px 32px !important;
  overflow-y: auto !important;
}
.al-mobile-menu.open { display: flex !important; }
.al-mobile-menu ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.al-mobile-menu ul li { border-bottom: 1px solid var(--al-border) !important; }
.al-mobile-menu ul li a {
  display: block !important;
  padding: 16px 0 !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  color: var(--al-ink) !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.al-close-menu {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 1.6rem !important;
  color: var(--al-ink) !important;
}

/* =========================================================
   HERO
   ========================================================= */
.al-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 480px !important;
  background: var(--al-ink) !important;
  overflow: hidden !important;
}
.al-hero-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.al-hero-gradient {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, rgba(31,31,27,.72) 0%, rgba(31,31,27,.35) 55%, rgba(31,31,27,.05) 100%) !important;
}
.al-hero-content {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  height: 100% !important;
  min-height: 480px !important;
  padding: 48px 0 !important;
  max-width: 580px !important;
}
.al-hero-wrap {
  position: relative !important;
  z-index: 1 !important;
}

.al-eyebrow {
  display: inline-block !important;
  background: var(--al-oak) !important;
  color: #fff !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .12em !important;
  padding: 4px 10px !important;
  border-radius: 2px !important;
  margin-bottom: 14px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-hero h1 {
  color: #fff !important;
  font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin-bottom: 16px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.18) !important;
}
.al-hero-excerpt {
  color: rgba(255,255,255,.88) !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
  margin-bottom: 28px !important;
  max-width: 460px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-btn {
  display: inline-block !important;
  padding: 12px 28px !important;
  border-radius: 30px !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
  transition: background .2s, color .2s !important;
  font-family: 'Inter', sans-serif !important;
}
.al-btn-ivory {
  background: #fff !important;
  color: var(--al-ink) !important;
}
.al-btn-ivory:hover { background: var(--al-sand) !important; color: var(--al-ink) !important; }
.al-btn-sage {
  background: var(--al-sage) !important;
  color: #fff !important;
}
.al-btn-sage:hover { background: var(--al-sage-dark) !important; color: #fff !important; }
.al-btn-outline-white {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.6) !important;
}
.al-btn-outline-white:hover { background: rgba(255,255,255,.15) !important; color: #fff !important; }

/* Hero dots */
.al-hero-dots {
  display: flex !important;
  gap: 6px !important;
  margin-top: 24px !important;
}
.al-hero-dots span {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.4) !important;
  display: block !important;
}
.al-hero-dots span.active { background: #fff !important; }

/* =========================================================
   SECTION : RANGÉE ICÔNES CATÉGORIES
   ========================================================= */
.al-cats-row {
  background: var(--al-bg) !important;
  border-bottom: 1px solid var(--al-border) !important;
  padding: 32px 0 !important;
}
.al-cats-grid {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  flex-wrap: wrap !important;
}
.al-cat-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
  padding: 0 32px !important;
  border-right: 1px solid var(--al-border) !important;
  text-decoration: none !important;
  color: var(--al-text) !important;
  transition: color .2s !important;
}
.al-cat-item:last-child { border-right: none !important; }
.al-cat-item:hover { color: var(--al-sage) !important; }
.al-cat-icon {
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.al-cat-icon svg { width: 36px !important; height: 36px !important; stroke: var(--al-sage) !important; fill: none !important; stroke-width: 1.5 !important; }
.al-cat-label {
  font-size: .78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--al-ink) !important;
  font-family: 'Inter', sans-serif !important;
}
.al-cat-desc {
  font-size: .72rem !important;
  color: var(--al-text-soft) !important;
  font-family: 'Inter', sans-serif !important;
  margin-top: -4px !important;
}

/* =========================================================
   SECTIONS COMMUNES
   ========================================================= */
.al-section {
  padding: 56px 0 !important;
}
.al-section-alt {
  background: var(--al-ivory) !important;
}
.al-section-white {
  background: var(--al-bg) !important;
}
.al-section-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
}
.al-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.3rem, 2.5vw, 1.7rem) !important;
  font-weight: 700 !important;
  color: var(--al-ink) !important;
  margin: 0 !important;
}
.al-see-all {
  font-size: .78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--al-sage) !important;
  white-space: nowrap !important;
  font-family: 'Inter', sans-serif !important;
  text-decoration: none !important;
}
.al-see-all:hover { color: var(--al-sage-dark) !important; }

/* =========================================================
   CARDS
   ========================================================= */
.al-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.al-card {
  background: var(--al-bg) !important;
  border-radius: var(--al-radius) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: var(--al-text) !important;
  transition: box-shadow .25s, transform .25s !important;
}
.al-card:hover {
  box-shadow: 0 6px 24px rgba(31,31,27,.12) !important;
  transform: translateY(-2px) !important;
  color: var(--al-text) !important;
}
.al-card-thumb {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, var(--al-sand) 0%, var(--al-oak) 100%) !important;
  flex-shrink: 0 !important;
}
.al-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s ease !important;
}
.al-card:hover .al-card-thumb img { transform: scale(1.04) !important; }
.al-card-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: var(--al-oak) !important;
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  z-index: 2 !important;
}
.al-card-body {
  padding: 16px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.al-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  color: var(--al-ink) !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}
.al-card-meta {
  font-size: .72rem !important;
  color: var(--al-text-soft) !important;
  font-family: 'Inter', sans-serif !important;
  margin-top: auto !important;
}
.al-card-excerpt {
  font-size: .82rem !important;
  color: var(--al-text-soft) !important;
  line-height: 1.55 !important;
  font-family: 'Inter', sans-serif !important;
}

/* =========================================================
   BANDEAU SAGE (Guide du mois / mise en avant)
   ========================================================= */
.al-promo-band {
  background: var(--al-olive) !important;
  color: #fff !important;
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  min-height: 220px !important;
}
.al-promo-band-inner {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 40px !important;
  min-height: 220px !important;
  padding: 40px 0 !important;
}
.al-promo-eyebrow {
  display: inline-block !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  color: var(--al-oak) !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 10px !important;
}
.al-promo-band h2 {
  color: #fff !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  margin-bottom: 10px !important;
}
.al-promo-desc {
  color: rgba(255,255,255,.78) !important;
  font-size: .9rem !important;
  line-height: 1.6 !important;
  margin-bottom: 20px !important;
  font-family: 'Inter', sans-serif !important;
  max-width: 500px !important;
}
.al-promo-badge {
  background: rgba(255,255,255,.12) !important;
  border: 2px solid rgba(200,162,122,.6) !important;
  border-radius: 50% !important;
  width: 130px !important;
  height: 130px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  font-family: 'Inter', sans-serif !important;
}
.al-promo-badge span { font-size: .72rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .08em !important; color: var(--al-oak) !important; display: block !important; }
.al-promo-badge strong { font-size: .65rem !important; color: rgba(255,255,255,.7) !important; font-weight: 400 !important; }
.al-promo-band-img {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  height: 100% !important;
  width: 45% !important;
  object-fit: cover !important;
  opacity: .35 !important;
}

/* =========================================================
   SECTION IMMOBILIER (cards horizontales/slides)
   ========================================================= */
.al-immo-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}
.al-immo-card {
  background: var(--al-bg) !important;
  border-radius: var(--al-radius) !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: var(--al-text) !important;
  transition: box-shadow .25s !important;
}
.al-immo-card:hover { box-shadow: 0 4px 20px rgba(31,31,27,.1) !important; color: var(--al-text) !important; }
.al-immo-thumb {
  position: relative !important;
  aspect-ratio: 3/2 !important;
  background: linear-gradient(135deg, var(--al-sand) 0%, var(--al-oak) 100%) !important;
  overflow: hidden !important;
}
.al-immo-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.al-immo-tag {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: var(--al-sage) !important;
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 3px 8px !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-immo-body { padding: 14px !important; }
.al-immo-title { font-size: .9rem !important; font-weight: 600 !important; color: var(--al-ink) !important; margin-bottom: 4px !important; font-family: 'Inter', sans-serif !important; }
.al-immo-loc { font-size: .75rem !important; color: var(--al-text-soft) !important; margin-bottom: 8px !important; font-family: 'Inter', sans-serif !important; }
.al-immo-price { font-size: 1rem !important; font-weight: 700 !important; color: var(--al-sage) !important; font-family: 'Inter', sans-serif !important; }

/* =========================================================
   SECTION "INSPIRATIONS" (galerie photo)
   ========================================================= */
.al-inspi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}
.al-inspi-card {
  position: relative !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  border-radius: var(--al-radius) !important;
  background: linear-gradient(135deg, var(--al-sand), var(--al-oak)) !important;
  text-decoration: none !important;
  display: block !important;
}
.al-inspi-card:first-child {
  grid-row: span 2 !important;
  aspect-ratio: auto !important;
}
.al-inspi-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s !important;
}
.al-inspi-card:hover img { transform: scale(1.05) !important; }
.al-inspi-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(31,31,27,.0) !important;
  transition: background .3s !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 12px !important;
}
.al-inspi-card:hover .al-inspi-overlay { background: rgba(31,31,27,.35) !important; }
.al-inspi-title {
  color: #fff !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  line-height: 1.3 !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  transition: opacity .3s, transform .3s !important;
}
.al-inspi-card:hover .al-inspi-title { opacity: 1 !important; transform: translateY(0) !important; }
.al-inspi-insta {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-bottom: 20px !important;
}
.al-inspi-insta a {
  font-size: .8rem !important;
  font-weight: 600 !important;
  color: var(--al-sage) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Inter', sans-serif !important;
}

/* =========================================================
   TEXTE SEO
   ========================================================= */
.al-seo-text {
  background: var(--al-ivory) !important;
  border-top: 1px solid var(--al-border) !important;
  padding: 48px 0 !important;
}
.al-seo-text-inner {
  max-width: 780px !important;
  margin: 0 auto !important;
}
.al-seo-text h2 {
  font-size: 1.3rem !important;
  margin-bottom: 16px !important;
  color: var(--al-ink) !important;
}
.al-seo-text p {
  font-size: .88rem !important;
  color: var(--al-text) !important;
  line-height: 1.75 !important;
  margin-bottom: 12px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-seo-text strong { color: var(--al-ink) !important; }
.al-seo-text a { color: var(--al-sage) !important; text-decoration: underline !important; }

/* =========================================================
   FOOTER
   ========================================================= */
#al-footer {
  background: var(--al-bg) !important;
  border-top: 1px solid var(--al-border) !important;
  padding: 0 !important;
  margin-top: 0 !important;
}
.al-footer-main {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr !important;
  gap: 40px !important;
  padding: 48px 0 !important;
  border-bottom: 1px solid var(--al-border) !important;
}
.al-footer-brand {}
.al-footer-logo {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--al-ink) !important;
  text-decoration: none !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.al-footer-tagline {
  font-size: .83rem !important;
  color: var(--al-text-soft) !important;
  line-height: 1.6 !important;
  font-family: 'Inter', sans-serif !important;
  margin-bottom: 20px !important;
}
.al-footer-social {
  display: flex !important;
  gap: 12px !important;
}
.al-footer-social a {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: var(--al-sand) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--al-ink) !important;
  text-decoration: none !important;
  transition: background .2s !important;
}
.al-footer-social a:hover { background: var(--al-sage) !important; color: #fff !important; }
.al-footer-social svg { width: 16px !important; height: 16px !important; }
.al-footer-col h4 {
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: var(--al-ink) !important;
  margin-bottom: 16px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-footer-col ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.al-footer-col ul li a {
  font-size: .82rem !important;
  color: var(--al-text-soft) !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  transition: color .2s !important;
}
.al-footer-col ul li a:hover { color: var(--al-sage) !important; }
.al-footer-newsletter p {
  font-size: .82rem !important;
  color: var(--al-text-soft) !important;
  line-height: 1.55 !important;
  margin-bottom: 14px !important;
  font-family: 'Inter', sans-serif !important;
}
.al-footer-newsletter-form {
  display: flex !important;
  gap: 0 !important;
}
.al-footer-newsletter-form input {
  flex: 1 !important;
  padding: 10px 14px !important;
  border: 1px solid var(--al-border) !important;
  border-right: none !important;
  border-radius: 4px 0 0 4px !important;
  font-size: .83rem !important;
  outline: none !important;
  background: var(--al-ivory) !important;
  color: var(--al-ink) !important;
  font-family: 'Inter', sans-serif !important;
}
.al-footer-newsletter-form button {
  background: var(--al-sage) !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 18px !important;
  border-radius: 0 4px 4px 0 !important;
  cursor: pointer !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
  white-space: nowrap !important;
}
.al-footer-newsletter-form button:hover { background: var(--al-sage-dark) !important; }
.al-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 0 !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.al-footer-copy {
  font-size: .75rem !important;
  color: var(--al-text-soft) !important;
  font-family: 'Inter', sans-serif !important;
}
.al-footer-legal {
  display: flex !important;
  gap: 20px !important;
}
.al-footer-legal a {
  font-size: .75rem !important;
  color: var(--al-text-soft) !important;
  text-decoration: none !important;
  font-family: 'Inter', sans-serif !important;
  transition: color .2s !important;
}
.al-footer-legal a:hover { color: var(--al-sage) !important; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .al-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .al-immo-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .al-inspi-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .al-footer-main { grid-template-columns: 1fr 1fr !important; }
  .al-inspi-card:first-child { grid-row: span 1 !important; aspect-ratio: 1 !important; }
}

@media (max-width: 768px) {
  .al-nav { display: none !important; }
  .al-header-actions .al-subscribe-btn { display: none !important; }
  .al-header-actions .al-search-btn { display: none !important; }
  .al-burger { display: flex !important; flex-direction: column !important; }
  .al-logo { margin-right: 0 !important; max-width: calc(100% - 60px) !important; }
  .al-cats-grid { gap: 8px 0 !important; }
  .al-cat-item { padding: 0 14px !important; }
  .al-cards-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .al-immo-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .al-inspi-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .al-inspi-card:first-child { grid-row: span 1 !important; aspect-ratio: 1 !important; }
  .al-footer-main { grid-template-columns: 1fr !important; gap: 28px !important; }
  .al-promo-band-inner { grid-template-columns: 1fr !important; }
  .al-promo-badge { display: none !important; }
}

@media (max-width: 480px) {
  .al-cards-grid { grid-template-columns: 1fr !important; }
  .al-immo-grid { grid-template-columns: 1fr !important; }
  .al-inspi-grid { grid-template-columns: 1fr !important; }
  .al-cat-item { padding: 0 8px !important; }
  .al-section { padding: 36px 0 !important; }
  .al-container { padding: 0 16px !important; }
}

/* Kill GP base layout bleed */
body.page-template-front-page .generate-columns-container,
body.home .generate-columns-container {
  display: block !important;
}

/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .al-header-inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .al-header-inner:not(#z) nav{ display:none !important; }
  .al-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){
  .al-s-layout:not(#z){ display:block !important; }
  .al-s-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 HAMBURGER v2 — burger pin à droite (absolu), bonnes classes (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .al-header-inner:not(#z){ position:relative !important; }
  .al-header-inner:not(#z) nav, .al-nav, .al-header-actions{ display:none !important; }
  .al-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; }
}

/* ===== Fix menu mobile : ouvre SOUS le header, logo toujours visible (Mathieu 15/06) ===== */
#al-header:not(#z){ z-index:100000 !important; }
.al-mobile-menu:not(#z){ top:var(--al-header-h,66px) !important; height:calc(100dvh - var(--al-header-h,66px)) !important; max-height:calc(100dvh - var(--al-header-h,66px)) !important; padding:24px 32px 40px !important; }
body.admin-bar .al-mobile-menu:not(#z){ top:calc(var(--al-header-h,66px) + 32px) !important; height:calc(100dvh - var(--al-header-h,66px) - 32px) !important; }
@media (max-width:782px){ body.admin-bar .al-mobile-menu:not(#z){ top:calc(var(--al-header-h,66px) + 46px) !important; height:calc(100dvh - var(--al-header-h,66px) - 46px) !important; } }
