/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://objectif-detente.fr
 Description:  Thème enfant GeneratePress — Objectif Détente (bien-être / massage)
 Author:       Objectif Détente
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/

/* ============================================================
   0. RESET CONTENEUR GENERATEPRESS (obligatoire)
   ============================================================ */
.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;
}

/* ============================================================
   1. VARIABLES — PALETTE SPA OBJECTIF DÉTENTE
   ============================================================ */
:root {
  --od-ivory: #F7F3EE;
  --od-beige: #E8DCCB;
  --od-sand: #D6C2A8;
  --od-sage: #6F7B5C;
  --od-olive: #4E5A43;
  --od-taupe: #B8A58F;
  --od-ink: #2F2A26;
  --od-text: #3A352F;
  --od-text-soft: #7A736A;
  --od-bg: #FFFFFF;
  --od-border: #E4DACB;
  --od-overlay: rgba(47, 42, 38, .55);
  --od-maxw: 1200px;
  --od-radius: 10px;
  --od-header-h: 66px;
}

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

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

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

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

/* ============================================================
   3. TYPOGRAPHIE GLOBALE
   ============================================================ */
h1, h2, h3, h4 {
  font-family: 'Cormorant Garamond', 'Fraunces', Georgia, serif !important;
  color: var(--od-ink) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

h1 { font-size: clamp(2.4rem, 5vw, 3.8rem) !important; }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important; }

p {
  color: var(--od-text) !important;
  font-family: 'Inter', 'Mulish', sans-serif !important;
}

/* Surtitres catégorie (small caps) */
.od-surtitle {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--od-text-soft) !important;
  display: block !important;
  margin-bottom: 0.6rem !important;
}

/* ============================================================
   4. HEADER
   ============================================================ */
.od-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  height: var(--od-header-h) !important;
  background: rgba(255, 255, 255, .97) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid var(--od-border) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 2rem !important;
}

.od-header__inner {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
  gap: 1.5rem !important;
}

/* Logo */
.od-logo {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  max-width: calc(100% - 100px) !important;
}

.od-logo__icon {
  width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
}

.od-logo__text {
  font-family: 'Cormorant Garamond', 'Fraunces', Georgia, serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--od-ink) !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.od-logo__sub {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--od-text-soft) !important;
}

/* Navigation principale */
.od-nav {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.od-nav__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 2rem !important;
}

.od-nav__list li {
  margin: 0 !important;
  padding: 0 !important;
}

.od-nav__list a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: var(--od-text) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  transition: color .2s !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.od-nav__list a:hover,
.od-nav__list a:focus {
  color: var(--od-sage) !important;
}

/* Zone droite header : recherche + CTA */
.od-header__actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-shrink: 0 !important;
}

.od-search-btn {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  color: var(--od-text) !important;
}

.od-search-btn svg {
  flex-shrink: 0 !important;
  display: block !important;
}

.od-search-btn:hover {
  color: var(--od-sage) !important;
}

/* Bouton CTA header */
.od-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.6rem 1.4rem !important;
  border-radius: 50px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s, color .2s, transform .15s !important;
  border: none !important;
  white-space: nowrap !important;
}

.od-btn--primary {
  background: var(--od-sage) !important;
  color: #fff !important;
}

.od-btn--primary:hover {
  background: var(--od-olive) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.od-btn--outline {
  background: transparent !important;
  color: var(--od-sage) !important;
  border: 1.5px solid var(--od-sage) !important;
}

.od-btn--outline:hover {
  background: var(--od-sage) !important;
  color: #fff !important;
}

.od-btn--ghost {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,.55) !important;
}

.od-btn--ghost:hover {
  background: rgba(255,255,255,.32) !important;
  color: #fff !important;
}

/* Burger mobile */
.od-burger {
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  color: var(--od-ink) !important;
}

/* Menu mobile overlay */
.od-mobile-nav {
  display: none !important;
  position: fixed !important;
  top: var(--od-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(247, 243, 238, .98) !important;
  z-index: 9998 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.8rem !important;
}

.od-mobile-nav.is-open {
  display: flex !important;
}

.od-mobile-nav a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.8rem !important;
  font-weight: 600 !important;
  color: var(--od-ink) !important;
  text-decoration: none !important;
}

.od-mobile-nav a:hover {
  color: var(--od-sage) !important;
}

/* Offset body pour header fixe */
body {
  padding-top: var(--od-header-h) !important;
}

/* ============================================================
   5. HERO
   ============================================================ */
.od-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 88vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}

.od-hero__bg {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, var(--od-sand) 0%, var(--od-beige) 50%, var(--od-ivory) 100%) !important;
  background-size: cover !important;
  background-position: center !important;
  z-index: 0 !important;
}

.od-hero__bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

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

.od-hero__content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
  padding: 6rem 2rem 5rem !important;
}

.od-hero__surtitle {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.75) !important;
  display: block !important;
  margin-bottom: 1rem !important;
}

.od-hero__title {
  font-family: 'Cormorant Garamond', 'Fraunces', Georgia, serif !important;
  font-size: clamp(2.8rem, 6vw, 4.5rem) !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin: 0 0 1.2rem !important;
  max-width: 560px !important;
}

.od-hero__desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  color: rgba(255, 255, 255, .85) !important;
  max-width: 400px !important;
  line-height: 1.7 !important;
  margin-bottom: 2rem !important;
}

.od-hero__ctas {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 3rem !important;
}

/* Badges confiance sous le hero */
.od-hero__badges {
  display: flex !important;
  align-items: center !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
}

.od-hero__badge {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: rgba(255,255,255,.85) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
}

.od-hero__badge svg {
  flex-shrink: 0 !important;
  opacity: .9 !important;
}

/* ============================================================
   6. SECTIONS COMMUNES
   ============================================================ */
.od-section {
  padding: 5rem 2rem !important;
  width: 100% !important;
}

.od-section--ivory {
  background: var(--od-ivory) !important;
}

.od-section--beige {
  background: var(--od-beige) !important;
}

.od-section--white {
  background: var(--od-bg) !important;
}

.od-section--sage {
  background: var(--od-sage) !important;
}

.od-inner {
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
}

.od-section-head {
  text-align: center !important;
  margin-bottom: 3rem !important;
}

.od-section-head h2 {
  margin: 0 0 0.5rem !important;
}

.od-section-head p {
  color: var(--od-text-soft) !important;
  max-width: 520px !important;
  margin: 0.5rem auto 0 !important;
  font-size: 1rem !important;
}

/* ============================================================
   7. SECTION PRESTATIONS (cards catégories)
   ============================================================ */
.od-prestations-strip {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  margin-top: 3rem !important;
}

.od-presta-card {
  position: relative !important;
  border-radius: var(--od-radius) !important;
  overflow: hidden !important;
  aspect-ratio: 3/4 !important;
  display: block !important;
  text-decoration: none !important;
  transition: transform .3s !important;
}

.od-presta-card:hover {
  transform: translateY(-4px) !important;
}

.od-presta-card__bg {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(145deg, var(--od-sand) 0%, var(--od-taupe) 60%, var(--od-sage) 100%) !important;
}

.od-presta-card__bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.od-presta-card__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(47,42,38,.75) 0%, rgba(47,42,38,.15) 60%) !important;
}

.od-presta-card__body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 1.5rem !important;
  z-index: 2 !important;
}

.od-presta-card__name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}

.od-presta-card__count {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,.7) !important;
  display: block !important;
  margin-bottom: 0.7rem !important;
}

.od-presta-card__link {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.9) !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}

/* ============================================================
   8. SECTION À PROPOS (split 2 colonnes)
   ============================================================ */
.od-about {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 5rem !important;
  align-items: center !important;
}

.od-about__img-wrap {
  position: relative !important;
  border-radius: var(--od-radius) !important;
  overflow: hidden !important;
  aspect-ratio: 4/5 !important;
}

.od-about__img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.od-about__img-fallback {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(145deg, var(--od-sand) 0%, var(--od-taupe) 100%) !important;
}

.od-about__content {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

.od-about__content h2 {
  margin: 0 !important;
}

.od-about__badges {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin: 0.5rem 0 !important;
}

.od-about__badge-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.88rem !important;
  color: var(--od-text) !important;
}

.od-about__badge-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: var(--od-beige) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  color: var(--od-sage) !important;
}

/* ============================================================
   9. SECTION TARIFS (bandeau CTA)
   ============================================================ */
.od-tarifs-section {
  position: relative !important;
  overflow: hidden !important;
}

.od-tarifs-inner {
  display: flex !important;
  align-items: center !important;
  gap: 4rem !important;
}

.od-tarifs-content {
  flex: 1 !important;
}

.od-tarifs-cards {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.25rem !important;
  flex: 1 !important;
}

.od-tarif-card {
  background: rgba(255,255,255,.65) !important;
  border-radius: var(--od-radius) !important;
  border: 1px solid var(--od-border) !important;
  padding: 1.5rem !important;
  text-align: center !important;
  backdrop-filter: blur(4px) !important;
}

.od-tarif-card__name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--od-ink) !important;
  display: block !important;
  margin-bottom: 0.5rem !important;
}

.od-tarif-card__desc {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--od-text-soft) !important;
  line-height: 1.5 !important;
  margin-bottom: 1rem !important;
}

/* ============================================================
   10. SECTION BLOG / ARTICLES RÉCENTS
   ============================================================ */
.od-blog-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 2.5rem !important;
}

.od-blog-header h2 {
  margin: 0 !important;
}

.od-blog-header .od-link-all {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--od-sage) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.od-blog-header .od-link-all:hover {
  color: var(--od-olive) !important;
}

.od-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
}

.od-cards-grid--4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.od-article-card {
  background: var(--od-bg) !important;
  border-radius: var(--od-radius) !important;
  overflow: hidden !important;
  border: 1px solid var(--od-border) !important;
  transition: box-shadow .25s, transform .25s !important;
  display: flex !important;
  flex-direction: column !important;
}

.od-article-card:hover {
  box-shadow: 0 8px 28px rgba(47,42,38,.1) !important;
  transform: translateY(-3px) !important;
}

.od-article-card__thumb {
  position: relative !important;
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}

.od-article-card__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s !important;
}

.od-article-card:hover .od-article-card__thumb img {
  transform: scale(1.04) !important;
}

.od-article-card__thumb-fallback {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(145deg, var(--od-beige) 0%, var(--od-sand) 100%) !important;
}

.od-article-card__cat {
  position: absolute !important;
  top: 0.75rem !important;
  left: 0.75rem !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: rgba(255,255,255,.92) !important;
  color: var(--od-sage) !important;
  padding: 0.25rem 0.6rem !important;
  border-radius: 50px !important;
}

.od-article-card__body {
  padding: 1.25rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.od-article-card__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--od-ink) !important;
  line-height: 1.3 !important;
  margin: 0 0 0.5rem !important;
  text-decoration: none !important;
  display: block !important;
}

.od-article-card__title:hover {
  color: var(--od-sage) !important;
}

.od-article-card__excerpt {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--od-text-soft) !important;
  line-height: 1.6 !important;
  flex: 1 !important;
  margin-bottom: 0.75rem !important;
}

.od-article-card__more {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--od-sage) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
  margin-top: auto !important;
}

.od-article-card__more:hover {
  color: var(--od-olive) !important;
}

/* ============================================================
   11. SECTION BANDEAU CTA (Prenez rendez-vous)
   ============================================================ */
.od-cta-band {
  background: var(--od-sage) !important;
  position: relative !important;
  overflow: hidden !important;
}

.od-cta-band__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
  padding: 3.5rem 2rem !important;
}

.od-cta-band__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.od-cta-band__icon {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: rgba(255,255,255,.75) !important;
  margin-bottom: 0.5rem !important;
}

.od-cta-band__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 !important;
}

.od-cta-band__sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  color: rgba(255,255,255,.8) !important;
  margin: 0 !important;
}

.od-btn--white {
  background: #fff !important;
  color: var(--od-sage) !important;
  border: none !important;
}

.od-btn--white:hover {
  background: var(--od-ivory) !important;
  color: var(--od-olive) !important;
}

/* ============================================================
   12. TEXTE SEO
   ============================================================ */
.od-seo-text {
  max-width: 780px !important;
  margin: 0 auto !important;
}

.od-seo-text p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.92rem !important;
  color: var(--od-text-soft) !important;
  line-height: 1.8 !important;
  margin-bottom: 1rem !important;
}

.od-seo-text strong {
  color: var(--od-text) !important;
  font-weight: 600 !important;
}

.od-seo-text a {
  color: var(--od-sage) !important;
  text-decoration: underline !important;
}

/* ============================================================
   13. FOOTER
   ============================================================ */
.od-footer {
  background: var(--od-ink) !important;
  color: rgba(255,255,255,.8) !important;
  padding: 4rem 2rem 0 !important;
  margin-top: 0 !important;
}

.od-footer__grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.2fr !important;
  gap: 3rem !important;
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
  padding-bottom: 3rem !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}

.od-footer__logo {
  color: #fff !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-bottom: 0.75rem !important;
  text-decoration: none !important;
}

.od-footer__tagline {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 1.6 !important;
  margin-bottom: 1.25rem !important;
}

.od-footer__social {
  display: flex !important;
  gap: 0.75rem !important;
}

.od-footer__social a {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.7) !important;
  transition: background .2s !important;
  text-decoration: none !important;
}

.od-footer__social a:hover {
  background: var(--od-sage) !important;
  color: #fff !important;
}

.od-footer__col h4 {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.45) !important;
  margin: 0 0 1rem !important;
}

.od-footer__col ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.6rem !important;
}

.od-footer__col ul li {
  margin: 0 !important;
  padding: 0 !important;
}

.od-footer__col a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: rgba(255,255,255,.65) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}

.od-footer__col a:hover {
  color: #fff !important;
}

.od-footer__col p,
.od-footer__address {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.od-footer__hours {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.85rem !important;
  color: rgba(255,255,255,.65) !important;
  line-height: 1.7 !important;
}

.od-footer__bottom {
  max-width: var(--od-maxw) !important;
  margin: 0 auto !important;
  padding: 1.25rem 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

.od-footer__copy {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,.35) !important;
}

.od-footer__legal {
  display: flex !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
}

.od-footer__legal a {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  color: rgba(255,255,255,.35) !important;
  text-decoration: none !important;
}

.od-footer__legal a:hover {
  color: rgba(255,255,255,.7) !important;
}

/* ============================================================
   14. ARTICLES (single.php) — CONTENEUR + PUCES
   ============================================================ */
.entry-content {
  max-width: 780px !important;
}

.entry-content ul:not(.page-numbers) {
  list-style: disc outside !important;
  padding-left: 1.4em !important;
}

.entry-content ol:not(.page-numbers) {
  list-style: decimal outside !important;
  padding-left: 1.4em !important;
}

.entry-content ul:not(.page-numbers) li,
.entry-content ol:not(.page-numbers) li {
  margin-bottom: 0.4em !important;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  font-family: 'Inter', 'Mulish', sans-serif !important;
  color: var(--od-ink) !important;
  font-weight: 700 !important;
}

.entry-content table {
  margin: 14px 0 !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

.entry-content table td,
.entry-content table th {
  padding: 8px 12px !important;
  border: 1px solid var(--od-border) !important;
  font-size: 0.9rem !important;
}

.od-table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* ============================================================
   15. UTILITIES
   ============================================================ */
.od-divider {
  border: none !important;
  height: 1px !important;
  background: var(--od-border) !important;
  margin: 0 !important;
}

.od-leaf-icon {
  display: inline-block !important;
  margin-right: 0.3rem !important;
  opacity: .8 !important;
}

/* ============================================================
   16. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .od-prestations-strip {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .od-footer__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }

  .od-about {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  .od-tarifs-inner {
    flex-direction: column !important;
    gap: 2rem !important;
  }
}

@media (max-width: 768px) {
  /* Header */
  .od-nav,
  .od-header__actions .od-btn--primary,
  .od-logo__sub {
    display: none !important;
  }

  .od-burger {
    display: flex !important;
  }

  .od-header {
    padding: 0 1rem !important;
  }

  /* Grilles */
  .od-prestations-strip {
    grid-template-columns: 1fr !important;
  }

  .od-cards-grid {
    grid-template-columns: 1fr !important;
  }

  .od-cards-grid--4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .od-tarifs-cards {
    grid-template-columns: 1fr !important;
  }

  /* CTA band */
  .od-cta-band__inner {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
  }

  /* Blog header */
  .od-blog-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
  }

  /* Footer */
  .od-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .od-footer__bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 0.75rem !important;
  }

  /* Hero badges */
  .od-hero__badges {
    gap: 1rem !important;
  }

  .od-hero__badge span {
    display: none !important;
  }

  /* Section */
  .od-section {
    padding: 3.5rem 1.25rem !important;
  }
}

@media (max-width: 480px) {
  .od-cards-grid--4 {
    grid-template-columns: 1fr !important;
  }

  .od-hero__ctas {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .od-header__inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .od-header__inner:not(#z) nav{ display:none !important; }
  .od-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){
  .od-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 HAMBURGER v2 — burger pin à droite (absolu), bonnes classes (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .od-header__inner:not(#z){ position:relative !important; }
  .od-header__inner:not(#z) nav, .od-nav, .od-header__actions{ display:none !important; }
  .od-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 archive : hero couleur propre + titre + pagination 1 ligne — Mathieu 15/06 ===== */
.od-arc-hero:not(#z)::before{ background:linear-gradient(135deg,#4E5A43,#6F7B5C) !important; }
.od-arc-hero:not(#z) h1{ font-size:clamp(1.5rem,3vw,2.1rem) !important; }
.od-pagination:not(#z) .page-numbers{ flex-wrap:nowrap !important; overflow-x:auto !important; max-width:100% !important; }
.od-pagination:not(#z) .page-numbers li a, .od-pagination:not(#z) .page-numbers li span, .od-pagination:not(#z) a.page-numbers, .od-pagination:not(#z) span.page-numbers{ padding:.35rem .6rem !important; font-size:.88rem !important; min-width:auto !important; }
