/*
Theme Name: GeneratePress Child
Template:   generatepress
Description: Thème enfant GeneratePress – Magazine jardin & fleurs Rempote
Version:    1.0.0
*/

/* ============================================================
   0. PALETTE & TOKENS
   ============================================================ */
:root {
  --rp-green:       #184C3A;
  --rp-green-dark:  #123A2C;
  --rp-sage:        #6F8F7B;
  --rp-moss:        #8FA77E;
  --rp-terra:       #C97B63;
  --rp-blush:       #E8B7C8;
  --rp-sun:         #D9B86A;
  --rp-ink:         #1F2A24;
  --rp-text:        #2E3A32;
  --rp-text-soft:   #6B746B;
  --rp-ivory:       #F8F5EF;
  --rp-bg:          #FFFFFF;
  --rp-border:      #E6E1D8;
  --rp-overlay:     rgba(24, 40, 32, .50);
  --rp-maxw:        1200px;
  --rp-radius:      8px;
  --rp-header-h:    66px;
}

/* ============================================================
   1. RESET CONTENEUR GP (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;
}

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

html { scroll-behavior: smooth !important; }

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

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

/* ============================================================
   3. TIPOGRAPHIE GLOBALE
   ============================================================ */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Fraunces', 'Cormorant Garamond', Georgia, serif !important;
  color: var(--rp-ink) !important;
  line-height: 1.2 !important;
  margin-top: 0 !important;
}

a {
  color: var(--rp-green) !important;
  text-decoration: none !important;
}
a:hover { color: var(--rp-green-dark) !important; }

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

/* ============================================================
   4. HEADER
   ============================================================ */
.rp-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: var(--rp-ivory) !important;
  border-bottom: 1px solid var(--rp-border) !important;
  height: var(--rp-header-h) !important;
}

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

/* Logo */
.rp-logo {
  font-family: 'Fraunces', 'Cormorant Garamond', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--rp-ink) !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.rp-logo sup {
  font-size: 13px !important;
  color: var(--rp-green) !important;
  line-height: 1 !important;
}

/* Nav */
.rp-nav {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 28px !important;
  flex: 1 !important;
  justify-content: center !important;
}

.rp-nav li { list-style: none !important; }

.rp-nav a {
  font-family: 'Inter', 'Mulish', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--rp-text) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  padding: 4px 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: color .2s, border-color .2s !important;
}
.rp-nav a:hover,
.rp-nav .current-cat > a,
.rp-nav .current-menu-item > a {
  color: var(--rp-green) !important;
  border-bottom-color: var(--rp-green) !important;
}

/* Actions header */
.rp-header__actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-shrink: 0 !important;
}

/* Bouton recherche */
.rp-search-btn {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  color: var(--rp-text) !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}
.rp-search-btn svg {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  stroke: var(--rp-text) !important;
  fill: none !important;
}
.rp-search-btn:hover svg { stroke: var(--rp-green) !important; }

/* Barre recherche déroulante */
.rp-search-bar {
  display: none !important;
  position: absolute !important;
  top: var(--rp-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  background: var(--rp-ivory) !important;
  border-bottom: 1px solid var(--rp-border) !important;
  padding: 12px 24px !important;
  z-index: 999 !important;
}
.rp-search-bar.is-open { display: block !important; }

.rp-search-bar form {
  display: flex !important;
  max-width: var(--rp-maxw) !important;
  margin: 0 auto !important;
  gap: 8px !important;
}
.rp-search-bar input {
  flex: 1 !important;
  padding: 10px 16px !important;
  border: 1px solid var(--rp-border) !important;
  border-radius: var(--rp-radius) !important;
  font-size: 15px !important;
  background: var(--rp-bg) !important;
  color: var(--rp-text) !important;
  clamp: clamp(200px, 40vw, 480px) !important;
}
.rp-search-bar input:focus {
  outline: 2px solid var(--rp-green) !important;
}

/* CTA Newsletter */
.rp-cta-btn {
  background: var(--rp-green) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 9px 18px !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background .2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.rp-cta-btn:hover { background: var(--rp-green-dark) !important; color: #fff !important; }

/* Burger */
.rp-burger {
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
  flex-shrink: 0 !important;
  color: var(--rp-ink) !important;
}
.rp-burger span {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  background: currentColor !important;
  margin: 5px 0 !important;
  border-radius: 2px !important;
  transition: transform .25s !important;
}

/* Mobile nav drawer */
.rp-mobile-nav {
  display: none !important;
  flex-direction: column !important;
  background: var(--rp-ivory) !important;
  border-bottom: 1px solid var(--rp-border) !important;
  padding: 16px 24px 20px !important;
}
.rp-mobile-nav.is-open { display: flex !important; }
.rp-mobile-nav a {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--rp-text) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--rp-border) !important;
}
.rp-mobile-nav a:last-child { border-bottom: none !important; }

/* ============================================================
   5. HERO — "À LA UNE"
   ============================================================ */
.rp-hero {
  position: relative !important;
  min-height: 480px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  overflow: hidden !important;
  background: var(--rp-ivory) !important;
}

.rp-hero__content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 60px 48px 60px 0 !important;
  max-width: 560px !important;
  z-index: 2 !important;
}

.rp-hero__content-inner {
  max-width: var(--rp-maxw) !important;
  margin: 0 auto !important;
  padding-left: calc((100vw - var(--rp-maxw)) / 2 + 24px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
}

.rp-hero__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rp-green) !important;
  margin-bottom: 16px !important;
}
.rp-hero__eyebrow .rp-num {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

.rp-hero h1 {
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  font-weight: 700 !important;
  color: var(--rp-ink) !important;
  margin: 0 0 16px !important;
  line-height: 1.1 !important;
}

.rp-hero__excerpt {
  font-size: 15px !important;
  color: var(--rp-text-soft) !important;
  margin: 0 0 28px !important;
  max-width: 400px !important;
  line-height: 1.6 !important;
}

.rp-btn-primary {
  display: inline-block !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 26px !important;
  border-radius: 50px !important;
  transition: background .2s !important;
  align-self: flex-start !important;
  border: none !important;
}
.rp-btn-primary:hover { background: var(--rp-green-dark) !important; color: #fff !important; }

.rp-hero__badge {
  display: inline-block !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  margin-bottom: 12px !important;
  align-self: flex-start !important;
}

.rp-hero__image {
  position: relative !important;
  overflow: hidden !important;
}
.rp-hero__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.rp-hero__image-fallback {
  width: 100% !important;
  height: 100% !important;
  min-height: 480px !important;
  background: linear-gradient(135deg, var(--rp-sage) 0%, var(--rp-moss) 100%) !important;
}

/* ============================================================
   6. SECTION WRAPPER
   ============================================================ */
.rp-section {
  padding: 64px 24px !important;
}
.rp-section--ivory { background: var(--rp-ivory) !important; }
.rp-section--white { background: var(--rp-bg) !important; }
.rp-section--green { background: var(--rp-green) !important; }

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

/* Section header */
.rp-section-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 32px !important;
}
.rp-section-num {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rp-green) !important;
  margin-bottom: 6px !important;
}
.rp-section-num .rp-num {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}
.rp-section-title {
  font-size: clamp(1.2rem, 2.5vw, 1.6rem) !important;
  font-weight: 700 !important;
  color: var(--rp-ink) !important;
  margin: 0 !important;
}
.rp-see-all {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--rp-green) !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.rp-see-all:hover { color: var(--rp-green-dark) !important; }
.rp-see-all::after { content: " →" !important; }

/* ============================================================
   7. CARDS "DERNIERS ARTICLES"
   ============================================================ */
.rp-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

.rp-card {
  background: var(--rp-bg) !important;
  border-radius: var(--rp-radius) !important;
  overflow: hidden !important;
  transition: transform .2s, box-shadow .2s !important;
}
.rp-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(24,76,58,.12) !important;
}

.rp-card__img {
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  position: relative !important;
}
.rp-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s !important;
}
.rp-card:hover .rp-card__img img { transform: scale(1.04) !important; }
.rp-card__img-fallback {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, var(--rp-sage) 0%, var(--rp-moss) 100%) !important;
}

.rp-card__badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
}

.rp-card__body {
  padding: 14px 16px 18px !important;
}
.rp-card__eyebrow {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--rp-text-soft) !important;
  margin-bottom: 6px !important;
}
.rp-card__title {
  font-family: 'Fraunces', 'Cormorant Garamond', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--rp-ink) !important;
  line-height: 1.3 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.rp-card__meta {
  font-size: 11px !important;
  color: var(--rp-text-soft) !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.rp-card__meta svg {
  width: 12px !important;
  height: 12px !important;
  stroke: currentColor !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

/* ============================================================
   8. CALENDRIER DU JARDINIER (section 3)
   ============================================================ */
.rp-cal {
  background: var(--rp-ivory) !important;
}

.rp-cal__months {
  display: flex !important;
  gap: 4px !important;
  margin-bottom: 36px !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}
.rp-cal__months::-webkit-scrollbar { display: none !important; }

.rp-cal__month-btn {
  flex: 1 !important;
  min-width: 52px !important;
  padding: 8px 4px !important;
  border: 1px solid var(--rp-border) !important;
  border-radius: var(--rp-radius) !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--rp-text-soft) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  cursor: pointer !important;
  transition: background .2s, color .2s, border-color .2s !important;
}
.rp-cal__month-btn:hover {
  background: var(--rp-sage) !important;
  color: #fff !important;
  border-color: var(--rp-sage) !important;
}
.rp-cal__month-btn.is-active {
  background: var(--rp-green) !important;
  color: #fff !important;
  border-color: var(--rp-green) !important;
}

.rp-cal__tasks {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
}

.rp-cal__left { flex: 1; min-width: 240px !important; }
.rp-cal__right {
  flex: 2 !important;
}

.rp-cal__title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px !important;
  font-family: 'Fraunces', Georgia, serif !important;
}
.rp-cal__subtitle {
  font-size: 14px !important;
  color: rgba(255,255,255,.8) !important;
  margin: 0 0 24px !important;
  line-height: 1.5 !important;
}
.rp-cal__cta {
  display: inline-block !important;
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.5) !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: background .2s, border-color .2s !important;
}
.rp-cal__cta:hover {
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* Icons taches calendrier */
.rp-cal__icons {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 8px !important;
}
.rp-cal__icon-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  text-align: center !important;
}
.rp-cal__icon-box {
  width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
}
.rp-cal__icon-box.is-active {
  background: rgba(255,255,255,.3) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.15) !important;
}
.rp-cal__icon-label {
  font-size: 10px !important;
  color: rgba(255,255,255,.85) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

/* ============================================================
   9. SECTION CATÉGORIE (1 bloc par catégorie)
   ============================================================ */
.rp-cat-section { padding: 48px 24px !important; }
.rp-cat-section:nth-child(odd) { background: var(--rp-bg) !important; }
.rp-cat-section:nth-child(even) { background: var(--rp-ivory) !important; }

/* ============================================================
   10. INSPIRATION (2 colonnes)
   ============================================================ */
.rp-inspo-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  min-height: 380px !important;
}

.rp-inspo-card {
  position: relative !important;
  overflow: hidden !important;
}
.rp-inspo-card__img {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  object-fit: cover !important;
  display: block !important;
}
.rp-inspo-card__img-fallback {
  width: 100% !important;
  min-height: 380px !important;
  background: linear-gradient(135deg, var(--rp-sage) 0%, var(--rp-moss) 100%) !important;
}
.rp-inspo-card__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(18,58,44,.8) 0%, transparent 50%) !important;
  pointer-events: none !important;
}
.rp-inspo-card__body {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 32px 32px 28px !important;
  color: #fff !important;
}
.rp-inspo-card__eyebrow {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.75) !important;
  margin-bottom: 8px !important;
}
.rp-inspo-card__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(1.2rem, 2.5vw, 1.75rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 10px !important;
  line-height: 1.2 !important;
}
.rp-inspo-card__excerpt {
  font-size: 13px !important;
  color: rgba(255,255,255,.85) !important;
  margin: 0 0 16px !important;
  line-height: 1.5 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.rp-inspo-card__link {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  border-bottom: 1px solid rgba(255,255,255,.5) !important;
  padding-bottom: 2px !important;
}
.rp-inspo-card__link:hover { color: #fff !important; border-color: #fff !important; }

/* ============================================================
   11. LES BONS CONSEILS (icônes)
   ============================================================ */
.rp-conseils {
  background: var(--rp-bg) !important;
}
.rp-conseils__grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 24px !important;
}
.rp-conseil-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.rp-conseil-item__icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  background: var(--rp-ivory) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  margin-bottom: 4px !important;
}
.rp-conseil-item__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--rp-ink) !important;
  margin: 0 0 4px !important;
}
.rp-conseil-item__text {
  font-size: 13px !important;
  color: var(--rp-text-soft) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ============================================================
   12. CABINET D'INSPIRATION (galerie)
   ============================================================ */
.rp-cabinet {
  background: var(--rp-ivory) !important;
}
.rp-cabinet__head {
  margin-bottom: 24px !important;
}
.rp-cabinet__title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--rp-ink) !important;
  max-width: 360px !important;
  margin: 0 0 12px !important;
}
.rp-cabinet__sub {
  font-size: 14px !important;
  color: var(--rp-text-soft) !important;
  margin: 0 0 16px !important;
  max-width: 340px !important;
}
.rp-cabinet__discover {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--rp-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.rp-cabinet__discover:hover { color: var(--rp-green-dark) !important; }
.rp-cabinet__discover::after { content: " →" !important; }

.rp-cabinet-layout {
  display: grid !important;
  grid-template-columns: 360px 1fr !important;
  gap: 24px !important;
  align-items: start !important;
}

.rp-cabinet__gallery {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: repeat(2, 180px) !important;
  gap: 8px !important;
}

.rp-gal-item {
  border-radius: var(--rp-radius) !important;
  overflow: hidden !important;
  position: relative !important;
}
.rp-gal-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s !important;
}
.rp-gal-item:hover img { transform: scale(1.06) !important; }
.rp-gal-item--fallback {
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(135deg, var(--rp-sage) 0%, var(--rp-moss) 100%) !important;
}
.rp-gal-item:first-child {
  grid-row: span 2 !important;
}

/* ============================================================
   13. TEXTE SEO
   ============================================================ */
.rp-seo-text {
  background: var(--rp-ivory) !important;
  border-top: 1px solid var(--rp-border) !important;
}
.rp-seo-text__inner {
  max-width: 780px !important;
  margin: 0 auto !important;
  font-size: 14px !important;
  color: var(--rp-text-soft) !important;
  line-height: 1.75 !important;
}
.rp-seo-text__inner h2 {
  font-size: 1.15rem !important;
  color: var(--rp-ink) !important;
  margin-bottom: 12px !important;
}
.rp-seo-text__inner p { margin: 0 0 12px !important; }
.rp-seo-text__inner a { color: var(--rp-green) !important; font-weight: 600 !important; }
.rp-seo-text__inner strong { color: var(--rp-ink) !important; font-weight: 600 !important; }

/* ============================================================
   14. FOOTER
   ============================================================ */
.rp-footer {
  background: var(--rp-ivory) !important;
  border-top: 1px solid var(--rp-border) !important;
  padding: 56px 24px 0 !important;
}

.rp-footer__grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr !important;
  gap: 40px !important;
  max-width: var(--rp-maxw) !important;
  margin: 0 auto !important;
  padding-bottom: 48px !important;
}

.rp-footer__brand-name {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--rp-ink) !important;
  margin-bottom: 6px !important;
}
.rp-footer__brand-desc {
  font-size: 13px !important;
  color: var(--rp-text-soft) !important;
  line-height: 1.5 !important;
  margin: 0 0 18px !important;
}
.rp-footer__social {
  display: flex !important;
  gap: 10px !important;
}
.rp-footer__social a {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--rp-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--rp-text-soft) !important;
  font-size: 13px !important;
  transition: background .2s !important;
}
.rp-footer__social a:hover { background: var(--rp-green) !important; color: #fff !important; }

.rp-footer__col-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--rp-ink) !important;
  margin-bottom: 14px !important;
}
.rp-footer__links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.rp-footer__links li { list-style: none !important; }
.rp-footer__links a {
  font-size: 13px !important;
  color: var(--rp-text-soft) !important;
  transition: color .2s !important;
}
.rp-footer__links a:hover { color: var(--rp-green) !important; }

/* Newsletter footer */
.rp-footer__newsletter-title {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--rp-ink) !important;
  margin-bottom: 10px !important;
  line-height: 1.3 !important;
}
.rp-footer__newsletter-sub {
  font-size: 13px !important;
  color: var(--rp-text-soft) !important;
  margin-bottom: 14px !important;
}
.rp-footer__newsletter-cta {
  display: inline-block !important;
  background: var(--rp-green) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  border-radius: 50px !important;
  transition: background .2s !important;
}
.rp-footer__newsletter-cta:hover { background: var(--rp-green-dark) !important; color: #fff !important; }
.rp-footer__illustration {
  margin-top: 12px !important;
  opacity: .18 !important;
  max-width: 80px !important;
}

/* Footer bottom bar */
.rp-footer__bottom {
  border-top: 1px solid var(--rp-border) !important;
  max-width: var(--rp-maxw) !important;
  margin: 0 auto !important;
  padding: 20px 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.rp-footer__copy {
  font-size: 12px !important;
  color: var(--rp-text-soft) !important;
}
.rp-footer__legal {
  display: flex !important;
  gap: 20px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: wrap !important;
}
.rp-footer__legal li { list-style: none !important; }
.rp-footer__legal a {
  font-size: 12px !important;
  color: var(--rp-text-soft) !important;
}
.rp-footer__legal a:hover { color: var(--rp-green) !important; }

/* ============================================================
   15. RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .rp-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .rp-cal__icons { grid-template-columns: repeat(4, 1fr) !important; }
  .rp-footer__grid { grid-template-columns: 1fr 1fr !important; }
  .rp-inspo-grid { grid-template-columns: 1fr !important; }
  .rp-cabinet-layout { grid-template-columns: 1fr !important; }
  .rp-conseils__grid { grid-template-columns: repeat(3, 1fr) !important; }
  .rp-hero { grid-template-columns: 1fr !important; }
  .rp-hero__image { display: none !important; }
  .rp-hero__content { padding: 48px 24px !important; max-width: 100% !important; }
  .rp-hero__content-inner { padding-left: 0 !important; }
}

@media (max-width: 768px) {
  .rp-nav { display: none !important; }
  .rp-header__actions .rp-cta-btn { display: none !important; }
  .rp-burger { display: flex !important; flex-direction: column !important; }
  .rp-cards-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .rp-cal__icons { grid-template-columns: repeat(4, 1fr) !important; }
  .rp-conseils__grid { grid-template-columns: repeat(2, 1fr) !important; }
  .rp-footer__grid { grid-template-columns: 1fr !important; }
  .rp-section { padding: 40px 16px !important; }
  .rp-cabinet__gallery {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: auto !important;
  }
  .rp-gal-item:first-child { grid-row: span 1 !important; }
}

@media (max-width: 480px) {
  .rp-cards-grid { grid-template-columns: 1fr !important; }
  .rp-cal__icons { grid-template-columns: repeat(4, 1fr) !important; }
  .rp-footer__bottom { flex-direction: column !important; align-items: flex-start !important; }
}

/* ============================================================
   16. KILL GP RESIDUELS
   ============================================================ */
.inside-header,
.site-header,
.site-footer { display: none !important; }

/* ::marker global safe */
.rp-footer__links li::marker,
.rp-footer__legal li::marker,
.rp-nav li::marker { content: none !important; display: none !important; }

/* Kill base-3 GP */
:root { --base-3: 0 !important; }

/* Pagination */
.rp-pagination { display: flex !important; gap: 8px !important; justify-content: center !important; margin-top: 40px !important; }
.rp-pagination a,
.rp-pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: var(--rp-radius) !important;
  border: 1px solid var(--rp-border) !important;
  font-size: 13px !important;
  color: var(--rp-text) !important;
  background: var(--rp-bg) !important;
  transition: background .2s, color .2s !important;
}
.rp-pagination .current,
.rp-pagination a:hover {
  background: var(--rp-green) !important;
  color: #fff !important;
  border-color: var(--rp-green) !important;
}

/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .rp-header__inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .rp-header__inner:not(#z) nav{ display:none !important; }
  .rp-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){
  .rp-single-wrap:not(#z){ display:block !important; }
  .rp-article-body:not(#z){ width:100% !important; min-width:0 !important; }
  .rp-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){
  .rp-header__inner:not(#z){ position:relative !important; }
  .rp-header__inner:not(#z) nav, .rp-nav, .rp-cta-btn, .rp-search-btn{ display:none !important; }
  .rp-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 : section calendrier = fond vert (texte blanc lisible), .rp-cal écrasait en ivoire — Mathieu 15/06 ===== */
.rp-cal:not(#z){ background: var(--rp-green) !important; }

/* ===== Fix single : related était en haut (article/sidebar forcés en grid-row:2) + hero trop grand — Mathieu 15/06 ===== */
.rp-article-body:not(#z){ grid-row:1 !important; }
.rp-sidebar:not(#z){ grid-row:1 !important; }
.rp-related:not(#z){ grid-row:auto !important; grid-column:1 / -1 !important; }
.rp-single-hero:not(#z){ aspect-ratio:auto !important; height:clamp(260px,34vw,420px) !important; }
@media (max-width:1024px){
  /* mobile : tout en colonne, ordre article -> related -> sidebar (sidebar en bas) */
  .rp-single-wrap:not(#z){ display:flex !important; flex-direction:column !important; }
  .rp-article-body:not(#z){ order:1 !important; }
  .rp-related:not(#z){ order:2 !important; }
  .rp-sidebar:not(#z){ order:3 !important; position:static !important; width:100% !important; }
  /* hero plus haut sur mobile : l'image n'est plus rikiki ET le contenu (aligné en bas)
     ne déborde plus vers le haut, donc le fil d'ariane ne touche plus le header — Mathieu 16/06 */
  .rp-single-hero:not(#z){ height:clamp(360px,66vw,460px) !important; }
  .rp-single-hero-overlay:not(#z){ padding:1.5rem 1.25rem !important; padding-top:2.5rem !important; }
}
