/*
Theme Name: GeneratePress Child
Template:   generatepress
Description: Thème enfant Prep Pharma — magazine santé / bien-être / nutrition / beauté
Version:    1.0
*/

/* ============================================================
   VARIABLES & PALETTE
   ============================================================ */
:root {
  --pp-green:       #1F5A45;
  --pp-green-dark:  #16463A;
  --pp-sage:        #AFC3B0;
  --pp-mist:        #EAF3EC;
  --pp-ink:         #1E1E1A;
  --pp-text:        #34362F;
  --pp-text-soft:   #6F746D;
  --pp-ivory:       #F8F5EF;
  --pp-bg:          #FFFFFF;
  --pp-border:      #E4E6DF;
  --pp-peach:       #F2C6A8;
  --pp-lav:         #CFC4E8;
  --pp-sky:         #DCEAF2;
  --pp-overlay:     rgba(20,30,24,.55);
  --pp-maxw:        1200px;
  --pp-radius:      14px;
  --pp-header-h:    66px;
  --pp-font-title:  'DM Serif Display', Georgia, serif;
  --pp-font-body:   'Inter', system-ui, sans-serif;
}

/* ============================================================
   RESET 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;
}

/* Kill base GP globals qui cassent le layout */
.grid-container { max-width: 100% !important; padding: 0 !important; }
body { background: var(--pp-bg) !important; font-family: var(--pp-font-body) !important; color: var(--pp-text) !important; margin: 0 !important; padding: 0 !important; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--pp-font-title) !important;
  color: var(--pp-ink) !important;
  margin: 0 !important;
}
p { margin: 0 0 .75rem !important; }
a { color: var(--pp-green) !important; text-decoration: none !important; }
a:hover { color: var(--pp-green-dark) !important; }
* { box-sizing: border-box; }
img { max-width: 100%; height: auto; display: block; }

/* ============================================================
   ADMIN BAR OFFSET
   ============================================================ */
.admin-bar .pp-header { top: 32px !important; }
@media (max-width:782px) { .admin-bar .pp-header { top: 46px !important; } }

/* ============================================================
   HEADER
   ============================================================ */
.pp-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  background: #fff !important;
  border-bottom: 1px solid var(--pp-border) !important;
  z-index: 9999 !important;
  height: var(--pp-header-h) !important;
}
.pp-header__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Logo */
.pp-logo {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
.pp-logo__text {
  font-family: var(--pp-font-title) !important;
  font-size: 1.25rem !important;
  color: var(--pp-ink) !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
}
.pp-logo__text span { color: var(--pp-green) !important; }
.pp-logo__leaf {
  color: var(--pp-green) !important;
  font-size: 1rem !important;
}

/* Tagline sous logo */
.pp-logo__tagline {
  font-size: .6875rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1 !important;
  margin-top: 2px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-logo__wrap { display: flex; flex-direction: column; }

/* Nav centre */
.pp-nav {
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.pp-nav__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 4px !important;
  align-items: center !important;
}
.pp-nav__list li { position: relative; }
.pp-nav__list a {
  font-family: var(--pp-font-body) !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  color: var(--pp-text) !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  transition: background .15s, color .15s !important;
  white-space: nowrap !important;
}
.pp-nav__list a:hover {
  background: var(--pp-mist) !important;
  color: var(--pp-green) !important;
}

/* Header droite */
.pp-header__right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

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

/* Overlay recherche */
.pp-search-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 10001;
  align-items: flex-start;
  justify-content: center;
  padding-top: 100px;
}
.pp-search-overlay.is-open { display: flex; }
.pp-search-form-wrap {
  background: #fff;
  border-radius: var(--pp-radius);
  padding: 24px;
  width: 100%;
  max-width: 560px;
  margin: 0 16px;
}
.pp-search-form-wrap form { display: flex; gap: 8px; }
.pp-search-form-wrap input[type="search"] {
  flex: 1;
  border: 1.5px solid var(--pp-border);
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 1rem;
  font-family: var(--pp-font-body);
  color: var(--pp-ink);
  outline: none;
  width: clamp(200px, 80%, 400px);
}
.pp-search-form-wrap input[type="search"]:focus { border-color: var(--pp-green); }
.pp-search-form-wrap button[type="submit"] {
  background: var(--pp-green);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 18px;
  font-size: .875rem;
  cursor: pointer;
  font-family: var(--pp-font-body);
}
.pp-search-close {
  display: block;
  margin-bottom: 12px;
  text-align: right;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--pp-text-soft);
  font-size: .875rem;
}

/* CTA Newsletter */
.pp-cta-newsletter {
  background: var(--pp-mist) !important;
  color: var(--pp-green) !important;
  border: 1.5px solid var(--pp-sage) !important;
  border-radius: 8px !important;
  padding: 7px 16px !important;
  font-size: .8125rem !important;
  font-weight: 600 !important;
  font-family: var(--pp-font-body) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  transition: background .15s, color .15s !important;
}
.pp-cta-newsletter:hover {
  background: var(--pp-green) !important;
  color: #fff !important;
  border-color: var(--pp-green) !important;
}

/* Burger */
.pp-burger {
  display: none !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 4px !important;
  flex-shrink: 0 !important;
  color: var(--pp-ink) !important;
}
.pp-burger svg { width: 24px !important; height: 24px !important; flex-shrink: 0 !important; }

/* Mobile nav drawer */
.pp-mobile-nav {
  display: none;
  position: fixed;
  top: var(--pp-header-h);
  left: 0;
  right: 0;
  background: #fff;
  border-bottom: 1px solid var(--pp-border);
  z-index: 9998;
  padding: 16px 0;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
}
.pp-mobile-nav.is-open { display: block; }
.pp-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.pp-mobile-nav ul li a {
  display: block;
  padding: 12px 24px;
  font-size: .9375rem;
  font-weight: 500;
  color: var(--pp-text) !important;
  border-bottom: 1px solid var(--pp-border);
}
.pp-mobile-nav ul li a:hover { background: var(--pp-mist); color: var(--pp-green) !important; }

/* ============================================================
   BODY OFFSET (header sticky)
   ============================================================ */
body { padding-top: var(--pp-header-h) !important; }
.admin-bar body,
.admin-bar.body { padding-top: calc(var(--pp-header-h) + 32px) !important; }

/* ============================================================
   HERO
   ============================================================ */
.pp-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 480px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
}
.pp-hero__bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center top !important;
  background-color: var(--pp-mist) !important;
}
.pp-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: var(--pp-overlay) !important;
}
.pp-hero__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  padding: 60px 24px !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 40px !important;
  align-items: center !important;
}
.pp-hero__badge {
  display: inline-block !important;
  background: var(--pp-green) !important;
  color: #fff !important;
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  margin-bottom: 16px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-hero__eyebrow {
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--pp-sage) !important;
  display: block !important;
  margin-bottom: 6px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-hero h1 {
  font-family: var(--pp-font-title) !important;
  font-size: clamp(2rem, 4.5vw, 3rem) !important;
  color: #fff !important;
  line-height: 1.15 !important;
  margin-bottom: 16px !important;
}
.pp-hero__excerpt {
  font-size: 1rem !important;
  color: rgba(255,255,255,.88) !important;
  line-height: 1.6 !important;
  margin-bottom: 28px !important;
  max-width: 540px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-hero__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--pp-green) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  font-size: .9375rem !important;
  font-family: var(--pp-font-body) !important;
  transition: background .15s !important;
}
.pp-hero__cta:hover { background: var(--pp-green-dark) !important; color: #fff !important; }
.pp-hero__cta svg { flex-shrink: 0 !important; }

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

/* Carte "En bref" */
.pp-hero__card {
  background: rgba(255,255,255,.93) !important;
  border-radius: var(--pp-radius) !important;
  padding: 20px !important;
  backdrop-filter: blur(8px) !important;
}
.pp-hero__card-label {
  font-size: .625rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--pp-green) !important;
  font-family: var(--pp-font-body) !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.pp-hero__card-title {
  font-family: var(--pp-font-title) !important;
  font-size: 1.0625rem !important;
  color: var(--pp-ink) !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}
.pp-hero__card-sub {
  font-size: .8125rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1.5 !important;
  margin-bottom: 12px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-hero__card-cta {
  font-size: .8125rem !important;
  font-weight: 600 !important;
  color: var(--pp-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-hero__card-cta:hover { color: var(--pp-green-dark) !important; }

/* ============================================================
   CAT ICONS ROW
   ============================================================ */
.pp-cat-icons {
  background: var(--pp-bg) !important;
  padding: 32px 24px !important;
  border-bottom: 1px solid var(--pp-border) !important;
}
.pp-cat-icons__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}
.pp-cat-icon {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  color: var(--pp-text) !important;
  min-width: 80px !important;
}
.pp-cat-icon__img {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: var(--pp-mist) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .15s !important;
}
.pp-cat-icon:hover .pp-cat-icon__img { background: var(--pp-sage) !important; }
.pp-cat-icon__img svg { width: 28px !important; height: 28px !important; color: var(--pp-green) !important; }
.pp-cat-icon__name {
  font-size: .8125rem !important;
  font-weight: 600 !important;
  color: var(--pp-text) !important;
  text-align: center !important;
  font-family: var(--pp-font-body) !important;
}
.pp-cat-icon__sub {
  font-size: .6875rem !important;
  color: var(--pp-text-soft) !important;
  text-align: center !important;
  font-family: var(--pp-font-body) !important;
  line-height: 1.3 !important;
  max-width: 80px !important;
}

/* ============================================================
   SECTIONS COMMUNES
   ============================================================ */
.pp-section {
  padding: 56px 24px !important;
}
.pp-section--ivory { background: var(--pp-ivory) !important; }
.pp-section--mist  { background: var(--pp-mist) !important; }
.pp-section--white { background: #fff !important; }

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

.pp-section__head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
}
.pp-section__title {
  font-family: var(--pp-font-title) !important;
  font-size: 1.5rem !important;
  color: var(--pp-ink) !important;
}
.pp-see-all {
  font-size: .875rem !important;
  font-weight: 600 !important;
  color: var(--pp-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.pp-see-all:hover { color: var(--pp-green-dark) !important; }

/* ============================================================
   CARDS GRILLE
   ============================================================ */
.pp-grid-4 {
  display: grid !important;
  grid-template-columns: repeat(4,1fr) !important;
  gap: 20px !important;
}
.pp-grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 20px !important;
}

.pp-card {
  background: #fff !important;
  border-radius: var(--pp-radius) !important;
  overflow: hidden !important;
  border: 1px solid var(--pp-border) !important;
  transition: box-shadow .2s !important;
  display: flex !important;
  flex-direction: column !important;
}
.pp-card:hover { box-shadow: 0 4px 24px rgba(31,90,69,.1) !important; }

.pp-card__img-wrap {
  aspect-ratio: 16/9 !important;
  overflow: hidden !important;
  position: relative !important;
}
.pp-card__img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .3s !important;
}
.pp-card:hover .pp-card__img-wrap img { transform: scale(1.03) !important; }

/* Fallback gradient quand pas d'image */
.pp-card__img-fallback {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, var(--pp-mist) 0%, var(--pp-sage) 100%) !important;
}

.pp-card__body {
  padding: 16px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.pp-badge {
  display: inline-block !important;
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  font-family: var(--pp-font-body) !important;
  align-self: flex-start !important;
}
.pp-badge--sante     { background: #DCEAF2 !important; color: #2563A8 !important; }
.pp-badge--bien-etre { background: #EDE8F6 !important; color: #6D4A9C !important; }
.pp-badge--nutrition { background: #FEF3E2 !important; color: #A25C0E !important; }
.pp-badge--beaute    { background: #FCEAE8 !important; color: #B33A30 !important; }
.pp-badge--prevention{ background: var(--pp-mist) !important; color: var(--pp-green) !important; }
.pp-badge--default   { background: var(--pp-mist) !important; color: var(--pp-green) !important; }

.pp-card__title {
  font-family: var(--pp-font-title) !important;
  font-size: 1rem !important;
  color: var(--pp-ink) !important;
  line-height: 1.35 !important;
  flex: 1 !important;
}
.pp-card__title a { color: var(--pp-ink) !important; }
.pp-card__title a:hover { color: var(--pp-green) !important; }

.pp-card__meta {
  font-size: .75rem !important;
  color: var(--pp-text-soft) !important;
  font-family: var(--pp-font-body) !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.pp-card__excerpt {
  font-size: .8125rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1.5 !important;
  font-family: var(--pp-font-body) !important;
}
.pp-card__read {
  font-size: .75rem !important;
  color: var(--pp-text-soft) !important;
  font-family: var(--pp-font-body) !important;
}

/* ============================================================
   SECTION EXPERTS
   ============================================================ */
.pp-experts {
  background: var(--pp-ivory) !important;
  padding: 56px 24px !important;
}
.pp-experts__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}
.pp-experts__label {
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--pp-green) !important;
  font-family: var(--pp-font-body) !important;
  margin-bottom: 12px !important;
  display: block !important;
}
.pp-experts__heading {
  font-family: var(--pp-font-title) !important;
  font-size: 1.625rem !important;
  color: var(--pp-ink) !important;
  line-height: 1.25 !important;
  margin-bottom: 16px !important;
}
.pp-experts__sub {
  font-size: .9375rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1.6 !important;
  margin-bottom: 24px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-experts__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--pp-green) !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  font-family: var(--pp-font-body) !important;
  transition: background .15s !important;
}
.pp-experts__cta:hover { background: var(--pp-green-dark) !important; color: #fff !important; }

/* Grille profils experts génériques */
.pp-experts__profiles {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}
.pp-expert-card {
  background: #fff !important;
  border-radius: var(--pp-radius) !important;
  border: 1px solid var(--pp-border) !important;
  padding: 20px !important;
  text-align: center !important;
}
.pp-expert-card__avatar {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: var(--pp-mist) !important;
  margin: 0 auto 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pp-expert-card__avatar svg { color: var(--pp-sage) !important; width: 36px !important; height: 36px !important; }
.pp-expert-card__role {
  font-size: .75rem !important;
  color: var(--pp-text-soft) !important;
  font-family: var(--pp-font-body) !important;
  margin-bottom: 4px !important;
}
.pp-expert-card__quote {
  font-size: .8125rem !important;
  color: var(--pp-text) !important;
  line-height: 1.5 !important;
  font-family: var(--pp-font-body) !important;
  margin-bottom: 12px !important;
}
.pp-expert-card__link {
  font-size: .75rem !important;
  font-weight: 600 !important;
  color: var(--pp-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}
.pp-expert-card__link:hover { color: var(--pp-green-dark) !important; }

/* ============================================================
   ROUTINE BIEN-ÊTRE
   ============================================================ */
.pp-routine {
  background: var(--pp-bg) !important;
  padding: 56px 24px !important;
}
.pp-routine__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
}
.pp-routine__head {
  margin-bottom: 32px !important;
}
.pp-routine__eyebrow {
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--pp-text-soft) !important;
  display: block !important;
  margin-bottom: 4px !important;
  font-family: var(--pp-font-body) !important;
}
.pp-routine__title {
  font-family: var(--pp-font-title) !important;
  font-size: 1.5rem !important;
  color: var(--pp-ink) !important;
}
.pp-routine__grid {
  display: grid !important;
  grid-template-columns: 1fr 3fr !important;
  gap: 40px !important;
  align-items: start !important;
}
.pp-routine__visual {
  background: var(--pp-mist) !important;
  border-radius: var(--pp-radius) !important;
  aspect-ratio: 3/4 !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 20px !important;
  position: relative !important;
  overflow: hidden !important;
}
.pp-routine__visual img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: var(--pp-radius) !important;
}
.pp-routine__cards {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.pp-routine-card {
  background: var(--pp-ivory) !important;
  border-radius: var(--pp-radius) !important;
  border: 1px solid var(--pp-border) !important;
  padding: 20px 16px !important;
}
.pp-routine-card__icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  background: var(--pp-mist) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
}
.pp-routine-card__icon svg { color: var(--pp-green) !important; width: 22px !important; height: 22px !important; }
.pp-routine-card__title {
  font-family: var(--pp-font-title) !important;
  font-size: .9375rem !important;
  color: var(--pp-ink) !important;
  margin-bottom: 6px !important;
}
.pp-routine-card__text {
  font-size: .8125rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1.5 !important;
  font-family: var(--pp-font-body) !important;
  margin-bottom: 10px !important;
}
.pp-routine-card__link {
  font-size: .75rem !important;
  font-weight: 600 !important;
  color: var(--pp-green) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
}

/* ============================================================
   BANDEAU NEWSLETTER (CTA contenu)
   ============================================================ */
.pp-newsletter-band {
  background: var(--pp-green) !important;
  padding: 48px 24px !important;
}
.pp-newsletter-band__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 40px !important;
  align-items: center !important;
}
.pp-newsletter-band__label {
  font-size: .6875rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--pp-sage) !important;
  font-family: var(--pp-font-body) !important;
  margin-bottom: 8px !important;
  display: block !important;
}
.pp-newsletter-band__title {
  font-family: var(--pp-font-title) !important;
  font-size: 1.75rem !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 10px !important;
}
.pp-newsletter-band__sub {
  font-size: .875rem !important;
  color: rgba(255,255,255,.8) !important;
  font-family: var(--pp-font-body) !important;
  line-height: 1.5 !important;
}
/* CTA côté droit — lien vers /blog/ uniquement */
.pp-newsletter-band__cta-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.pp-newsletter-band__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  background: #fff !important;
  color: var(--pp-green) !important;
  border-radius: 8px !important;
  padding: 12px 24px !important;
  font-weight: 700 !important;
  font-size: .9375rem !important;
  font-family: var(--pp-font-body) !important;
  transition: background .15s !important;
  text-align: center !important;
}
.pp-newsletter-band__cta:hover {
  background: var(--pp-mist) !important;
  color: var(--pp-green-dark) !important;
}
.pp-newsletter-band__note {
  font-size: .75rem !important;
  color: rgba(255,255,255,.65) !important;
  font-family: var(--pp-font-body) !important;
  text-align: center !important;
}

/* ============================================================
   TOPICS PILLS ("Sujets qui vous intéressent")
   ============================================================ */
.pp-topics {
  background: var(--pp-ivory) !important;
  padding: 56px 24px !important;
}
.pp-topics__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
}
.pp-topics__head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
}
.pp-topics__title {
  font-family: var(--pp-font-title) !important;
  font-size: 1.5rem !important;
  color: var(--pp-ink) !important;
}
.pp-topics__pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 32px !important;
}
.pp-topic-pill {
  background: #fff !important;
  border: 1.5px solid var(--pp-border) !important;
  border-radius: 100px !important;
  padding: 6px 16px !important;
  font-size: .8125rem !important;
  font-weight: 500 !important;
  color: var(--pp-text) !important;
  font-family: var(--pp-font-body) !important;
  transition: border-color .15s, color .15s !important;
}
.pp-topic-pill:hover {
  border-color: var(--pp-green) !important;
  color: var(--pp-green) !important;
}

/* ============================================================
   SECTION TEXTE SEO
   ============================================================ */
.pp-seo-text {
  background: #fff !important;
  padding: 48px 24px !important;
  border-top: 1px solid var(--pp-border) !important;
}
.pp-seo-text__inner {
  max-width: 800px !important;
  margin: 0 auto !important;
}
.pp-seo-text h2 {
  font-family: var(--pp-font-title) !important;
  font-size: 1.25rem !important;
  color: var(--pp-ink) !important;
  margin-bottom: 16px !important;
}
.pp-seo-text p {
  font-size: .9375rem !important;
  color: var(--pp-text-soft) !important;
  line-height: 1.75 !important;
  font-family: var(--pp-font-body) !important;
}
.pp-seo-text strong { color: var(--pp-text) !important; }
.pp-seo-text a { color: var(--pp-green) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.pp-footer {
  background: var(--pp-ink) !important;
  color: rgba(255,255,255,.85) !important;
  padding: 56px 24px 0 !important;
}
.pp-footer__inner {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 240px repeat(3, 1fr) !important;
  gap: 40px !important;
  padding-bottom: 48px !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
.pp-footer__logo-text {
  font-family: var(--pp-font-title) !important;
  font-size: 1.25rem !important;
  color: #fff !important;
  margin-bottom: 8px !important;
}
.pp-footer__logo-text span { color: var(--pp-sage) !important; }
.pp-footer__tagline {
  font-size: .8125rem !important;
  color: rgba(255,255,255,.6) !important;
  font-family: var(--pp-font-body) !important;
  line-height: 1.5 !important;
  margin-bottom: 20px !important;
}
.pp-footer__social {
  display: flex !important;
  gap: 10px !important;
}
.pp-footer__social a {
  width: 34px !important;
  height: 34px !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 .15s !important;
}
.pp-footer__social a:hover { background: var(--pp-green) !important; color: #fff !important; }
.pp-footer__social svg { width: 15px !important; height: 15px !important; flex-shrink: 0 !important; }

.pp-footer__col-title {
  font-family: var(--pp-font-body) !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 16px !important;
}
.pp-footer__col-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.pp-footer__col-links a {
  font-size: .875rem !important;
  color: rgba(255,255,255,.75) !important;
  font-family: var(--pp-font-body) !important;
  transition: color .15s !important;
}
.pp-footer__col-links a:hover { color: var(--pp-sage) !important; }

.pp-footer__bottom {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  padding: 20px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.pp-footer__copy {
  font-size: .8125rem !important;
  color: rgba(255,255,255,.4) !important;
  font-family: var(--pp-font-body) !important;
}
.pp-footer__legal {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}
.pp-footer__legal a {
  font-size: .8125rem !important;
  color: rgba(255,255,255,.4) !important;
  font-family: var(--pp-font-body) !important;
}
.pp-footer__legal a:hover { color: rgba(255,255,255,.7) !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .pp-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .pp-experts__inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .pp-experts__profiles { grid-template-columns: repeat(3, 1fr) !important; }
  .pp-routine__grid { grid-template-columns: 1fr !important; }
  .pp-routine__visual { display: none !important; }
  .pp-routine__cards { grid-template-columns: repeat(2, 1fr) !important; }
  .pp-footer__inner { grid-template-columns: 1fr 1fr !important; }
  .pp-newsletter-band__inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .pp-hero__inner { grid-template-columns: 1fr !important; }
  .pp-hero__card { display: none !important; }
}
@media (max-width: 768px) {
  .pp-nav { display: none !important; }
  .pp-cta-newsletter { display: none !important; }
  .pp-burger { display: flex !important; }
  .pp-logo__tagline { display: none !important; }
  .pp-logo__text { font-size: 1.0625rem !important; }
  .pp-logo { max-width: calc(100% - 100px) !important; }
  .pp-grid-4 { grid-template-columns: 1fr !important; }
  .pp-experts__profiles { grid-template-columns: 1fr !important; gap: 12px !important; }
  .pp-routine__cards { grid-template-columns: 1fr !important; }
  .pp-footer__inner { grid-template-columns: 1fr !important; }
  .pp-hero { min-height: 380px !important; }
  .pp-cat-icons__inner { gap: 16px !important; }
  .pp-footer__bottom { flex-direction: column !important; text-align: center !important; }
  .pp-footer__legal { justify-content: center !important; }
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pp-pagination { padding: 32px 0 !important; text-align: center !important; }
.pp-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.pp-pagination .page-numbers li::marker { content: none !important; }
.pp-pagination a, .pp-pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  font-size: .875rem !important;
  font-family: var(--pp-font-body) !important;
  color: var(--pp-text) !important;
  border: 1px solid var(--pp-border) !important;
  padding: 0 10px !important;
}
.pp-pagination .current {
  background: var(--pp-green) !important;
  color: #fff !important;
  border-color: var(--pp-green) !important;
}
.pp-pagination a:hover { border-color: var(--pp-green) !important; color: var(--pp-green) !important; }

/* ============================================================
   ARCHIVE / SINGLE resets (templates futurs)
   ============================================================ */
.pp-page-wrap {
  max-width: var(--pp-maxw) !important;
  margin: 0 auto !important;
  padding: 40px 24px !important;
}

/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .pp-header__inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .pp-header__inner:not(#z) nav{ display:none !important; }
  .pp-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){
  .pp-single-wrap:not(#z){ display:block !important; }
  .pp-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 cartes + archive (Mathieu 15/06) ===== */
.pp-card__title:not(#z), .pp-card__title a:not(#z){ font-family:'Inter','Helvetica Neue',Arial,sans-serif !important; font-weight:600 !important; font-size:1.05rem !important; letter-spacing:0 !important; }
.pp-arc-hero:not(#z), .pp-arc-hero h1:not(#z), .pp-arc-hero p:not(#z), .pp-arc-hero .pp-arc-label:not(#z){ text-align:center !important; }
.pp-arc-hero p:not(#z){ margin-left:auto !important; margin-right:auto !important; }

/* ===== FIX HAMBURGER v2 — burger pin à droite (absolu), bonnes classes (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .pp-header__inner:not(#z){ position:relative !important; }
  .pp-header__inner:not(#z) nav, .pp-nav, .pp-search-btn, .pp-cta-newsletter{ display:none !important; }
  .pp-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; }
}
