/* =====================================================================
   INFLUENTH — média de l'actualité des influenceurs
   Palette « Violet créateur » · UX façon grand média · responsive complet
   ===================================================================== */

:root{
  --ih:#7C3AED;            /* accent violet */
  --ih-dark:#5B21B6;
  --ih-ink:#1A1A2E;        /* texte titres */
  --ih-ink-2:#4b4b5e;      /* texte courant */
  --ih-soft:#F5F3FF;       /* fond doux violet */
  --ih-line:#ECEAF3;       /* bordures */
  --ih-bg:#ffffff;
  --ih-wrap:1240px;
  --ih-radius:10px;
  --ih-shadow:0 6px 24px rgba(26,26,46,.08);
}

/* ---------- Base ---------- */
body{ color:var(--ih-ink-2); }
.ih-container{ max-width:var(--ih-wrap); margin:0 auto; padding:0 22px; }
a{ text-decoration:none; }
.influenth-home a, .ih-masthead a, .ih-footer a, .ih-newsletter a{ color:inherit; }

/* Désactive le header/footer GP par défaut résiduel */
.site-header{ padding:0!important; background:none!important; }
/* Neutralise les navigations GeneratePress résiduelles (remplacées par le header Influenth) */
.main-navigation:not(.ih-nav), #site-navigation, .slideout-navigation, .mobile-header-navigation,
.gen-sidebar-nav, .menu-toggle, .slideout-overlay, .navigation-search, .mobile-menu-control-wrapper{ display:none!important; }
/* Retire la barre copyright "Construit avec GeneratePress" */
.site-info, .copyright-bar, footer.site-footer{ display:none!important; }

/* =====================================================================
   HEADER
   ===================================================================== */
.ih-masthead{ background:var(--ih-bg); border-bottom:1px solid var(--ih-line); position:relative; z-index:50; }
.ih-bar{ }
.ih-bar-in{ display:flex; align-items:center; gap:18px; min-height:74px; }
.ih-logo{ font-size:27px; font-weight:900; letter-spacing:-.5px; color:var(--ih-ink); line-height:1; }
.ih-logo i{ color:var(--ih); font-style:normal; }
.ih-baseline{ margin:0; padding-left:18px; border-left:1px solid var(--ih-line); color:#8e8ea3; font-size:13px; font-weight:600; }
.ih-actions{ margin-left:auto; display:flex; align-items:center; gap:12px; }
.ih-search-btn{ background:var(--ih-soft); border:0; color:var(--ih); width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; padding:0; line-height:0; cursor:pointer; transition:.2s; }
.ih-search-btn svg{ display:block; }
.ih-search-btn:hover{ background:var(--ih); color:#fff; }
.ih-subscribe{ display:inline-flex; align-items:center; gap:8px; background:var(--ih); color:#fff!important; font-weight:700; font-size:14px; padding:11px 18px; border-radius:40px; transition:.2s; }
.ih-subscribe:hover{ background:var(--ih-dark); transform:translateY(-1px); }
.ih-burger{ display:none; background:none; border:0; width:42px; height:42px; cursor:pointer; flex-direction:column; gap:5px; justify-content:center; align-items:center; }
.ih-burger span{ width:24px; height:2.5px; background:var(--ih-ink); border-radius:2px; transition:.25s; }

/* ---------- Nav + méga-menu ---------- */
.ih-nav{ position:sticky; top:0; z-index:60; background:var(--ih-bg); border-top:1px solid var(--ih-line); border-bottom:1px solid var(--ih-line); box-shadow:0 2px 10px rgba(26,26,46,.04); }
.ih-nav-in{ position:relative; }
.ih-menu{ list-style:none; margin:0; padding:0; display:flex; gap:2px; }
.ih-item{ position:static; }
.ih-item > a{ position:relative; display:inline-flex; align-items:center; gap:5px; padding:15px 16px; font-weight:700; font-size:14.5px; color:var(--ih-ink); }
.ih-item > a svg{ opacity:.55; transition:.2s; }
.ih-item:hover > a{ color:var(--ih); }
.ih-item:hover > a svg{ transform:rotate(180deg); opacity:1; }
.ih-item > a::after{ content:""; position:absolute; left:16px; right:16px; bottom:-1px; height:3px; background:var(--ih); transform:scaleX(0); transition:.2s; }
.ih-item:hover > a::after{ transform:scaleX(1); }

/* Méga-menu : pleine largeur du conteneur (jamais de débordement) */
.ih-mega{ position:absolute; left:0; right:0; top:100%; transform:translateY(8px); background:#fff; border:1px solid var(--ih-line); border-radius:14px; box-shadow:var(--ih-shadow); padding:24px 30px; opacity:0; visibility:hidden; transition:.18s; z-index:70; }
.ih-has-mega:hover .ih-mega{ opacity:1; visibility:visible; transform:translateY(4px); }
.ih-mega-list{ columns:4; }
.ih-mega-title{ display:block; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; color:var(--ih); margin-bottom:14px; }
.ih-mega-list{ list-style:none; margin:0; padding:0; columns:3; column-gap:18px; }
.ih-mega-list li{ break-inside:avoid; margin-bottom:2px; }
.ih-mega-list a{ display:flex; align-items:center; justify-content:space-between; padding:8px 10px; border-radius:8px; font-size:14px; font-weight:600; color:var(--ih-ink); transition:.15s; }
.ih-mega-list a:hover{ background:var(--ih-soft); color:var(--ih); }
.ih-mega-list em{ font-style:normal; font-size:11px; font-weight:700; color:#a6a6bb; background:var(--ih-soft); padding:1px 7px; border-radius:20px; }

/* ---------- Barre "En continu" ---------- */
.ih-ticker{ background:var(--ih-soft); }
.ih-ticker-in{ display:flex; align-items:center; gap:14px; height:42px; overflow:hidden; }
.ih-ticker-label{ flex:none; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#fff; background:var(--ih); padding:4px 11px; border-radius:20px; }
.ih-ticker-list{ list-style:none; margin:0; padding:0; display:flex; gap:18px; overflow-x:auto; scrollbar-width:none; }
.ih-ticker-list::-webkit-scrollbar{ display:none; }
.ih-ticker-list a{ white-space:nowrap; font-size:13px; font-weight:600; color:var(--ih-dark); }
.ih-ticker-list a:hover{ text-decoration:underline; }

/* ---------- Recherche popin ---------- */
.ih-search-popin{ position:absolute; left:0; right:0; top:0; background:#fff; border-bottom:2px solid var(--ih); box-shadow:var(--ih-shadow); z-index:80; padding:18px 0; }
.ih-search-in{ display:flex; align-items:center; gap:14px; }
.ih-search-in form{ flex:1; display:flex; align-items:center; gap:10px; border:2px solid var(--ih-line); border-radius:40px; padding:6px 6px 6px 16px; }
.ih-search-in form svg{ color:var(--ih); flex:none; }
.ih-search-in input{ flex:1; border:0; outline:0; font-size:16px; background:none; }
.ih-search-in button[type=submit]{ background:var(--ih); color:#fff; border:0; border-radius:40px; padding:10px 22px; font-weight:700; cursor:pointer; }
.ih-search-close{ background:none; border:0; font-size:30px; line-height:1; color:#9a9ab0; cursor:pointer; }

/* =====================================================================
   OFF-CANVAS MOBILE
   ===================================================================== */
.ih-offcanvas{ position:fixed; top:0; left:0; height:100%; width:min(330px,86vw); background:#fff; z-index:200; transform:translateX(-100%); transition:transform .3s ease; overflow-y:auto; display:flex; flex-direction:column; padding:18px; box-shadow:0 0 40px rgba(0,0,0,.2); }
body.ih-menu-open .ih-offcanvas{ transform:none; }
.ih-oc-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.ih-oc-close{ background:none; border:0; font-size:34px; line-height:1; color:var(--ih-ink); cursor:pointer; }
.ih-oc-search{ display:flex; align-items:center; gap:8px; background:var(--ih-soft); border-radius:30px; padding:9px 14px; margin-bottom:16px; }
.ih-oc-search svg{ color:var(--ih); }
.ih-oc-search input{ border:0; background:none; outline:0; flex:1; font-size:15px; }
.ih-oc-menu{ list-style:none; margin:0; padding:0; }
.ih-oc-menu > li{ border-bottom:1px solid var(--ih-line); }
.ih-oc-link, .ih-oc-toggle{ display:flex; width:100%; align-items:center; justify-content:space-between; padding:14px 4px; font-size:16px; font-weight:700; color:var(--ih-ink); background:none; border:0; cursor:pointer; }
.ih-oc-toggle svg{ transition:.25s; opacity:.5; }
.ih-oc-group.open .ih-oc-toggle svg{ transform:rotate(180deg); }
.ih-oc-sub{ list-style:none; margin:0; padding:0 4px; max-height:0; overflow:hidden; transition:max-height .3s ease; }
.ih-oc-group.open .ih-oc-sub{ max-height:520px; }
.ih-oc-sub li a{ display:block; padding:9px 12px; font-size:14.5px; color:var(--ih-ink-2); }
.ih-oc-sub li a:hover{ color:var(--ih); }
.ih-oc-cta{ margin-top:20px; justify-content:center; }
.ih-overlay{ position:fixed; inset:0; background:rgba(26,26,46,.5); opacity:0; visibility:hidden; transition:.3s; z-index:150; }
body.ih-menu-open .ih-overlay{ opacity:1; visibility:visible; }
body.ih-menu-open{ overflow:hidden; }

/* =====================================================================
   HOME — cartes magazine
   ===================================================================== */
.influenth-home{ background:#fff; }
.ih-section{ margin:48px auto; }
.ih-hero-section{ margin-top:30px; }
.ih-section-head{ display:flex; align-items:flex-end; justify-content:space-between; border-bottom:2px solid var(--ih-ink); margin-bottom:24px; }
.ih-section-head h2{ font-size:21px; line-height:1; margin:0; padding:0 2px 10px; text-transform:uppercase; letter-spacing:.5px; font-weight:800; color:var(--ih-ink); border-bottom:4px solid var(--ih); margin-bottom:-2px; }
.ih-section-head .ih-all{ font-size:12.5px; font-weight:700; color:var(--ih); text-transform:uppercase; letter-spacing:.3px; padding-bottom:10px; }
.ih-section-head .ih-all:hover{ color:var(--ih-dark); }
.ih-cat-links{ display:flex; flex-wrap:wrap; gap:8px; margin:-10px 0 22px; }
.ih-cat-links a{ display:inline-flex; align-items:center; border:1px solid var(--ih-line); background:#fff; color:var(--ih-ink-2); border-radius:999px; padding:6px 11px; font-size:12.5px; font-weight:700; line-height:1; transition:.16s; }
.ih-cat-links a:hover{ border-color:var(--ih); background:var(--ih-soft); color:var(--ih); }

.ih-card .ih-thumb{ position:relative; display:block; overflow:hidden; border-radius:var(--ih-radius); background:var(--ih-soft); }
.ih-card .ih-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.ih-card:hover .ih-thumb img{ transform:scale(1.05); }
.ih-card.ih-noimg .ih-thumb{ display:none; }
.ih-badge{ position:absolute; top:10px; left:10px; background:var(--ih); color:#fff; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; padding:4px 9px; border-radius:4px; line-height:1; }
.ih-card .ih-title{ font-weight:800; color:var(--ih-ink); margin:12px 0 0; line-height:1.28; }
.ih-card .ih-title a:hover{ color:var(--ih); }
.ih-excerpt{ color:var(--ih-ink-2); font-size:14.5px; line-height:1.55; margin:9px 0 0; }
.ih-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; color:#9a9ab0; font-size:12.5px; font-weight:600; margin-top:9px; }
.ih-meta .ih-author{ color:var(--ih); }
.ih-meta .ih-author:hover{ text-decoration:underline; }
.ih-meta time::before{ content:"·"; margin-right:10px; color:#cfcfe0; }
.ih-meta .ih-rt{ display:inline-flex; align-items:center; gap:4px; }
.ih-meta .ih-rt::before{ content:"·"; margin-right:8px; color:#cfcfe0; }

.ih-hero{ display:grid; grid-template-columns:2fr 1fr; gap:32px; }
.ih-hero-lead .ih-thumb{ aspect-ratio:16/9; }
.ih-hero-lead .ih-title{ font-size:31px; line-height:1.16; margin-top:16px; }
.ih-hero-lead .ih-badge{ font-size:12px; padding:5px 11px; }
.ih-hero-aside{ display:flex; flex-direction:column; }
.ih-hero-aside .ih-card{ display:grid; grid-template-columns:104px 1fr; gap:13px; padding:14px 0; border-top:1px solid var(--ih-line); }
.ih-hero-aside .ih-card:first-child{ border-top:0; padding-top:0; }
.ih-hero-aside .ih-thumb{ aspect-ratio:1/1; border-radius:8px; }
.ih-hero-aside .ih-badge{ display:none; }
.ih-hero-aside .ih-title{ font-size:15.5px; margin-top:0; }
.ih-hero-aside .ih-meta{ margin-top:6px; }

.ih-grid{ display:grid; gap:28px 24px; }
.ih-grid-4{ grid-template-columns:repeat(4,1fr); }
.ih-grid .ih-thumb{ aspect-ratio:16/10; }
.ih-grid .ih-title{ font-size:16.5px; }

/* =====================================================================
   SECTION MAGAZINE + ABONNEMENT
   ===================================================================== */
.ih-mag{ display:grid; grid-template-columns:1.25fr 1fr; gap:44px; align-items:center; background:linear-gradient(135deg,var(--ih-dark) 0%,var(--ih) 100%); border:0; border-radius:20px; padding:38px 40px; color:#fff; box-shadow:0 18px 40px rgba(91,33,182,.28); }
.ih-mag-covers{ display:flex; gap:16px; justify-content:center; align-items:flex-end; perspective:1000px; }
.ih-mag-cover{ position:relative; margin:0; flex:1; max-width:185px; border-radius:7px; overflow:hidden; box-shadow:0 16px 38px rgba(0,0,0,.35); transition:transform .35s ease, box-shadow .35s ease; }
.ih-mag-cover img{ width:100%; height:auto; display:block; }
.ih-mag-cover:hover{ transform:translateY(-8px); box-shadow:0 26px 50px rgba(0,0,0,.45); }
.ih-mag-cover--main{ max-width:215px; z-index:2; }
.ih-mag-badge{ position:absolute; top:9px; left:9px; background:#fff; color:var(--ih-dark); font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; padding:4px 8px; border-radius:4px; }
.ih-mag-kicker{ display:block; color:#d9c9ff; font-weight:800; text-transform:uppercase; font-size:12px; letter-spacing:.6px; margin-bottom:6px; }
.ih-mag-sub h3{ font-size:29px; font-weight:900; color:#fff; margin:0 0 10px; letter-spacing:-.5px; }
.ih-mag-sub > p{ color:rgba(255,255,255,.85); font-size:15px; line-height:1.6; margin:0 0 18px; }
.ih-mag-perks{ list-style:none; margin:0 0 22px; padding:0; }
.ih-mag-perks li{ position:relative; padding-left:28px; margin-bottom:9px; font-size:14.5px; color:#fff; font-weight:500; }
.ih-mag-perks li::before{ content:"✓"; position:absolute; left:0; top:1px; color:var(--ih-dark); background:#fff; width:19px; height:19px; border-radius:50%; font-size:11px; font-weight:800; display:grid; place-items:center; }
.ih-mag-form{ display:flex; gap:9px; }
.ih-mag-form input{ flex:1; min-width:0; border:1.5px solid transparent; border-radius:40px; padding:13px 18px; font-size:14px; outline:0; background:#fff; color:var(--ih-ink); }
.ih-mag-form input::placeholder{ color:#9a9ab0; }
.ih-mag-form button{ display:inline-flex; align-items:center; gap:7px; background:#fff; color:var(--ih-dark); border:0; border-radius:40px; padding:13px 22px; font-weight:800; font-size:14px; cursor:pointer; white-space:nowrap; transition:.2s; }
.ih-mag-form button:hover{ background:var(--ih-ink); color:#fff; transform:translateY(-1px); }
.ih-mag-note{ display:block; margin-top:11px; font-size:12px; color:rgba(255,255,255,.65); }
@media (max-width:900px){
  .ih-mag{ grid-template-columns:1fr; gap:30px; padding:30px 24px; }
  .ih-mag-sub{ text-align:center; }
  .ih-mag-perks{ display:inline-block; text-align:left; }
}
@media (max-width:560px){
  .ih-mag-covers{ gap:9px; }
  .ih-mag-cover--main{ max-width:160px; } .ih-mag-cover{ max-width:130px; }
  .ih-mag-form{ flex-direction:column; }
  .ih-mag-form input, .ih-mag-form button{ border-radius:12px; justify-content:center; }
  .ih-mag-sub h3{ font-size:24px; }
}

/* =====================================================================
   NEWSLETTER (bandeau)
   ===================================================================== */
.ih-newsletter{ background:linear-gradient(120deg,var(--ih-dark),var(--ih)); color:#fff; margin-top:60px; }
.ih-nl-in{ display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 22px; flex-wrap:wrap; }
.ih-nl-text h2{ color:#fff; font-size:25px; margin:0 0 6px; font-weight:800; }
.ih-nl-text p{ margin:0; color:rgba(255,255,255,.85); font-size:15px; }
.ih-nl-form{ display:flex; gap:10px; flex:1; min-width:300px; max-width:520px; }
.ih-nl-form input{ flex:1; border:0; border-radius:40px; padding:14px 20px; font-size:15px; outline:0; }
.ih-nl-form button{ display:inline-flex; align-items:center; gap:8px; background:var(--ih-ink); color:#fff; border:0; border-radius:40px; padding:14px 24px; font-weight:700; cursor:pointer; white-space:nowrap; transition:.2s; }
.ih-nl-form button:hover{ background:#000; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.ih-footer{ background:var(--ih-ink); color:#c8c8d8; }
.ih-footer a{ color:#c8c8d8; }
.ih-footer a:hover{ color:#fff; }
.ih-footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:36px; padding:56px 22px 40px; }
.ih-foot-brand .ih-logo{ color:#fff; font-size:26px; }
.ih-foot-brand .ih-logo i{ color:var(--ih); }
.ih-foot-brand p{ margin:14px 0 18px; font-size:13.5px; line-height:1.6; color:#9a9ab8; max-width:380px; }
.ih-foot-social{ display:flex; gap:10px; }
.ih-foot-social a{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.08); display:grid; place-items:center; color:#fff; transition:.2s; }
.ih-foot-social a:hover{ background:var(--ih); transform:translateY(-2px); }
.ih-foot-col h3{ color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.6px; margin:0 0 16px; font-weight:800; }
.ih-foot-col ul{ list-style:none; margin:0; padding:0; }
.ih-foot-col li{ margin-bottom:10px; font-size:14px; }
.ih-foot-bottom{ border-top:1px solid rgba(255,255,255,.08); }
.ih-foot-bottom-in{ display:flex; align-items:center; justify-content:space-between; padding:18px 22px; font-size:13px; color:#8585a0; flex-wrap:wrap; gap:8px; }
.ih-foot-tagline{ color:var(--ih); font-weight:700; }

.ih-cat-intro{ max-width:840px; margin:-4px 0 28px; padding:18px 20px; border-left:4px solid var(--ih); background:var(--ih-soft); border-radius:0 var(--ih-radius) var(--ih-radius) 0; color:var(--ih-ink-2); }
.ih-cat-intro p{ margin:0; font-size:16px; line-height:1.65; }

/* =====================================================================
   ARTICLE (single) — gabarit façon grand média
   ===================================================================== */
.ih-single .site-main{ max-width:1180px; margin:0 auto; padding:0 22px; }
.ih-article{ max-width:760px; margin:30px auto 0; }
/* Fil d'Ariane — bandeau blanc séparé du menu, intégré à l'article */
.ih-bc-wrap{ background:#fff; border-bottom:1px solid var(--ih-line); }
.ih-bc-wrap .ih-breadcrumb{ padding:15px 0; margin:0; }
.ih-breadcrumb{ font-size:13px; color:#9a9ab0; line-height:1.5; }
.ih-breadcrumb .sep{ margin:0 9px; color:#c4bfe0; }
.ih-breadcrumb a{ color:var(--ih); font-weight:600; }
.ih-breadcrumb a:hover{ text-decoration:underline; }
.ih-breadcrumb .cur{ color:#8a8a9c; }
.ih-breadcrumb a{ color:var(--ih); font-weight:600; }
.ih-breadcrumb a:hover{ text-decoration:underline; }
.ih-breadcrumb span{ margin:0 7px; color:#cfcfe0; }
.ih-breadcrumb .cur{ color:#9a9ab0; }
.ih-cat-tag{ display:inline-flex; align-items:center; gap:6px; background:var(--ih); color:#fff; font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; padding:6px 13px; border-radius:5px; }
.ih-cat-tag::before{ content:"\26A1"; font-size:12px; }
.ih-art-title{ font-size:38px; line-height:1.15; font-weight:900; color:var(--ih-ink); letter-spacing:-.5px; margin:16px 0 0; }
.ih-art-chapo{ font-size:20px; line-height:1.55; color:#56565c; font-weight:500; margin:18px 0 0; }
.ih-art-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; padding:18px 0; border-top:1px solid var(--ih-line); border-bottom:1px solid var(--ih-line); margin:24px 0 0; }
.ih-art-author{ display:flex; align-items:center; gap:12px; }
.ih-art-author img{ width:46px; height:46px; border-radius:50%; object-fit:cover; }
.ih-art-author-txt{ display:flex; flex-direction:column; line-height:1.3; }
.ih-art-author-txt strong{ font-size:14.5px; color:var(--ih-ink); }
.ih-art-author-txt small{ font-size:12.5px; color:#9a9ab0; display:inline-flex; align-items:center; gap:4px; }
.ih-art-author-txt small svg{ vertical-align:-2px; }
.ih-art-share{ display:flex; align-items:center; gap:8px; margin-left:auto; }
.ih-share-label{ font-size:12.5px; font-weight:700; color:#9a9ab0; margin-right:2px; }
.ih-art-share a{ width:38px; height:38px; border-radius:50%; background:var(--ih-soft); color:var(--ih); display:grid; place-items:center; transition:.2s; }
.ih-art-share a:hover{ background:var(--ih); color:#fff; transform:translateY(-2px); }
/* Image hero (plus large que la colonne) */
.ih-art-hero{ width:min(1000px,94vw); position:relative; left:50%; transform:translateX(-50%); margin:28px 0 8px; }
.ih-art-hero img{ width:100%; height:auto; border-radius:14px; display:block; }
.ih-art-hero figcaption{ font-size:13px; color:#9a9ab0; text-align:center; margin-top:10px; }
/* Corps */
.ih-art-body{ font-size:19px; line-height:1.8; color:#2b2b3d; margin-top:26px; }
.ih-art-body > p{ margin:0 0 1.35em; }
.ih-art-body > p:first-of-type{ font-size:21px; line-height:1.6; color:var(--ih-ink); }
.ih-art-body h2{ font-size:27px; line-height:1.25; font-weight:800; color:var(--ih-ink); margin:1.8em 0 .6em; padding-left:16px; border-left:5px solid var(--ih); }
.ih-art-body h3{ font-size:21px; font-weight:800; color:var(--ih-ink); margin:1.6em 0 .5em; }
.ih-art-body a{ color:var(--ih-dark); text-decoration:underline; text-underline-offset:2px; }
.ih-art-body a:hover{ color:var(--ih); }
.ih-art-body img{ border-radius:10px; height:auto; }
.ih-art-body figure{ margin:1.6em 0; }
.ih-art-body figcaption{ font-size:13px; color:#9a9ab0; text-align:center; margin-top:8px; }
.ih-art-body blockquote{ border-left:5px solid var(--ih); background:var(--ih-soft); margin:1.6em 0; padding:18px 24px; border-radius:0 10px 10px 0; font-size:19px; font-style:italic; color:var(--ih-ink); }
.ih-art-body ul li, .ih-art-body ol li{ margin-bottom:.5em; }
.ih-art-body ul li::marker{ color:var(--ih); }
/* Embeds (Instagram / Twitter / YouTube) cadrés et centrés */
.ih-art-body .instagram-media{ max-width:540px!important; min-width:0!important; width:100%!important; margin:1.8em auto!important; }
.ih-art-body .twitter-tweet{ margin:1.8em auto!important; }
.ih-art-body iframe{ max-width:100%; border-radius:10px; }
.ih-art-body .wp-block-embed, .ih-art-body figure.wp-block-embed{ margin:1.8em auto; }
.ih-art-body .wp-block-embed__wrapper iframe, .ih-art-body .wp-embed-aspect-16-9{ width:100%; }
/* Embeds YouTube responsives */
.ih-art-body .wp-embed-aspect-16-9 .wp-block-embed__wrapper{ position:relative; padding-top:56.25%; }
.ih-art-body .wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe{ position:absolute; inset:0; height:100%; }
/* Tags */
.ih-art-tags{ display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.ih-art-tags a{ font-size:13px; font-weight:600; color:var(--ih-dark); background:var(--ih-soft); padding:6px 13px; border-radius:30px; }
.ih-art-tags a:hover{ background:var(--ih); color:#fff; }
/* Bloc pub */
.ih-ad{ margin:30px 0; text-align:center; }
.ih-ad-label{ display:block; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:#bcbcca; margin-bottom:6px; }
.ih-ad-ph{ min-height:110px; background:repeating-linear-gradient(45deg,#faf9ff,#faf9ff 12px,#f3f1fb 12px,#f3f1fb 24px); border:1px dashed var(--ih-line); border-radius:10px; }
/* Bio auteur */
.ih-author-box{ display:flex; gap:16px; align-items:flex-start; background:var(--ih-soft); border-radius:14px; padding:22px; margin:32px 0; }
.ih-author-box img{ width:64px; height:64px; border-radius:50%; object-fit:cover; flex:none; }
.ih-ab-label{ font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:#9a9ab0; font-weight:700; }
.ih-ab-name{ display:block; font-size:18px; font-weight:800; color:var(--ih-ink); margin:2px 0 6px; }
.ih-author-box p{ margin:0; font-size:14.5px; line-height:1.6; color:#56565c; }
/* Réseaux sociaux auteur (sous la bio) */
.ih-author-socials{ display:inline-flex; flex-wrap:wrap; gap:8px; margin-left:10px; vertical-align:middle; }
.ih-author-socials a{ width:32px; height:32px; border-radius:50%; background:var(--ih-soft); color:var(--ih); display:inline-grid; place-items:center; transition:.2s; }
.ih-author-socials a:hover{ background:var(--ih); color:#fff; transform:translateY(-2px); }
.ih-author-socials svg{ width:16px; height:16px; }

/* Cela vous intéressera aussi */
.ih-related{ max-width:1180px; margin:50px auto; padding:34px 22px 0; border-top:3px solid var(--ih-ink); }
.ih-related > h2{ font-size:21px; font-weight:800; color:var(--ih-ink); margin:0 0 24px; text-transform:uppercase; letter-spacing:.4px; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1024px){
  .ih-mega-list{ columns:2; }
  .ih-hero{ grid-template-columns:1fr; }
  .ih-hero-aside{ display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .ih-hero-aside .ih-card:nth-child(2){ border-top:0; padding-top:14px; }
  .ih-grid-4{ grid-template-columns:repeat(3,1fr); }
  .ih-footer-grid{ grid-template-columns:1fr 1fr; gap:30px; }
  .ih-foot-brand{ grid-column:1 / -1; }
}
@media (max-width:900px){
  .ih-nav, .ih-ticker{ display:none; }       /* nav desktop cachée → burger */
  .ih-burger{ display:flex; }
  .ih-baseline{ display:none; }
  .ih-bar-in{ min-height:62px; gap:12px; }
  .ih-subscribe span{ display:none; }
  .ih-subscribe{ padding:11px; }
}
@media (max-width:767px){
  .ih-section{ margin:34px auto; }
  .ih-hero-lead .ih-title{ font-size:23px; }
  .ih-hero-aside{ grid-template-columns:1fr; }
  .ih-hero-aside .ih-card{ border-top:1px solid var(--ih-line)!important; padding-top:14px!important; }
  .ih-grid-4{ grid-template-columns:1fr 1fr; gap:24px 16px; }
  .ih-grid .ih-title{ font-size:15px; }
  .ih-section-head h2{ font-size:18px; }
  .ih-nl-in{ padding:32px 22px; }
  .ih-nl-text h2{ font-size:21px; }
  .ih-art-title{ font-size:27px; }
  .ih-art-chapo{ font-size:17.5px; }
  .ih-art-body{ font-size:17.5px; }
  .ih-art-body h2{ font-size:22px; }
  .ih-art-share{ margin-left:0; width:100%; flex-wrap:wrap; }
  .ih-art-hero{ border-radius:0; }
}
@media (max-width:430px){
  .ih-grid-4{ grid-template-columns:1fr; }
  .ih-logo{ font-size:23px; }
}
/* H1 article plus compact sur mobile */
@media (max-width:767px){
  .single h1.gb-text, .single .entry-header h1, .single article > h1{ font-size:21px!important; line-height:1.28!important; }
}
@media (max-width:430px){
  .single h1.gb-text, .single .entry-header h1, .single article > h1{ font-size:19px!important; }
}

/* ===== Maillage interne : box "On vous propose de lire aussi" ===== */
.ih-readalso{margin:32px 0;clear:both}
.ih-readalso .ih-ra-link{display:flex;align-items:center;gap:16px;padding:13px 16px;
  background:var(--ih-soft,#F5F3FF);border:1px solid #ece8fb;border-left:4px solid var(--ih,#7C3AED);
  border-radius:12px;text-decoration:none;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.ih-readalso .ih-ra-link:hover{box-shadow:0 10px 26px rgba(124,58,237,.13);transform:translateY(-1px);border-color:var(--ih,#7C3AED)}
.ih-ra-thumb{flex:0 0 auto;width:74px;height:74px;border-radius:10px;overflow:hidden;background:#ece8fb}
.ih-ra-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ih-ra-body{flex:1 1 auto;min-width:0}
.ih-ra-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ih,#7C3AED);margin:0 0 4px}
.ih-ra-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-weight:700;font-size:16px;line-height:1.3;color:var(--ih-ink,#1A1A2E);margin:0}
.ih-ra-arrow{flex:0 0 auto;color:var(--ih,#7C3AED);opacity:.65;transition:transform .22s ease,opacity .22s ease}
.ih-readalso .ih-ra-link:hover .ih-ra-arrow{transform:translateX(3px);opacity:1}
@media (max-width:480px){
  .ih-ra-thumb{width:60px;height:60px}
  .ih-ra-title{font-size:15px}
  .ih-readalso .ih-ra-link{padding:11px 13px;gap:13px}
}

/* Fix mobile overflow: newsletter / subscription forms must never widen the viewport */
.ih-newsletter, .ih-footer, .ih-mag, .ih-nl-form, .ih-mag-form{ max-width:100%; box-sizing:border-box; }
.ih-nl-form input, .ih-nl-form button, .ih-mag-form input, .ih-mag-form button{ min-width:0; max-width:100%; box-sizing:border-box; }
@media (max-width:767px){
  .ih-nl-in{ align-items:stretch; }
  .ih-nl-form{ flex:0 1 auto; width:100%; min-width:0; max-width:100%; flex-direction:column; }
  .ih-nl-form input, .ih-nl-form button{ width:100%; border-radius:12px; justify-content:center; }
  .ih-nl-form button, .ih-mag-form button{ white-space:normal; text-align:center; }
  .ih-footer-grid{ grid-template-columns:1fr; }
}
@media (max-width:380px){
  .ih-container{ padding-left:16px; padding-right:16px; }
  .ih-mag{ padding-left:18px; padding-right:18px; }
}

/* Fix mobile article overflow: tables scroll inside the article instead of widening the page */
.ih-art-body table{ max-width:100%; border-collapse:collapse; }
.ih-art-body th, .ih-art-body td{ overflow-wrap:normal; }
@media (max-width:767px){
  .ih-art-body .wp-block-table,
  .ih-art-body figure.table,
  .ih-art-body figure:has(table){
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
  }
  .ih-art-body table{
    width:max-content;
    min-width:100%;
    max-width:none;
  }
  .ih-art-body th,
  .ih-art-body td{
    white-space:nowrap;
  }
}

/* Fix GenerateBlocks article tables on mobile */
.single .dynamic-entry-content table{ max-width:100%; border-collapse:collapse; }
@media (max-width:767px){
  .single .dynamic-entry-content .wp-block-table,
  .single .dynamic-entry-content figure.table,
  .single .dynamic-entry-content figure:has(table){
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
  }
  .single .dynamic-entry-content table{
    width:max-content;
    min-width:100%;
    max-width:none;
  }
  .single .dynamic-entry-content th,
  .single .dynamic-entry-content td{
    white-space:nowrap;
  }
}

/* Fix mobile search popin: contained, closable, no horizontal overflow */
.ih-search-popin, .ih-search-in, .ih-search-in form, .ih-search-in input, .ih-search-in button{ box-sizing:border-box; max-width:100%; }
.ih-search-in form{ min-width:0; }
.ih-search-in input{ min-width:0; }
@media (max-width:767px){
  .ih-search-popin{
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    max-width:100vw;
    z-index:320;
    padding:12px 0;
  }
  .ih-search-in{
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    align-items:start;
    gap:10px;
    width:100%;
    padding-left:16px;
    padding-right:16px;
  }
  .ih-search-in form{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:8px 9px;
    width:100%;
    min-width:0;
    border-radius:16px;
    padding:10px 12px;
  }
  .ih-search-in form svg{ align-self:center; }
  .ih-search-in input{
    width:100%;
    min-width:0;
    font-size:16px;
  }
  .ih-search-in button[type=submit]{
    grid-column:1 / -1;
    width:100%;
    border-radius:12px;
    padding:10px 14px;
    text-align:center;
  }
  .ih-search-close{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--ih-soft);
    color:var(--ih-ink);
    font-size:30px;
    line-height:1;
    flex:none;
  }
}

/* Extra hardening: search overlay must stay contained on search/archive pages and mobile/tablet widths */
.ih-search-popin[hidden]{ display:none!important; }
.ih-search-popin:not([hidden]){ display:block!important; }
@media (max-width:1024px){
  .ih-search-popin{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100vw!important;
    max-width:100vw!important;
    z-index:9999!important;
    padding:12px 0!important;
    overflow-x:hidden!important;
  }
  .ih-search-in{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
    align-items:start!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
    box-sizing:border-box!important;
  }
  .ih-search-in form{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    border-radius:16px!important;
    padding:10px 12px!important;
  }
  .ih-search-in input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .ih-search-in button[type=submit]{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    border-radius:12px!important;
  }
  .ih-search-close{
    display:flex!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    align-items:center!important;
    justify-content:center!important;
    background:var(--ih-soft)!important;
    color:var(--ih-ink)!important;
    border-radius:50%!important;
  }
}

/* Newsletter Brevo feedback */
.ih-nl-status{ width:100%; margin-top:10px; font-size:13px; font-weight:700; line-height:1.4; }
.ih-nl-status--success{ color:#0f8a3b; }
.ih-newsletter .ih-nl-status--success, .ih-mag .ih-nl-status--success{ color:#d9ffe8; }
.ih-nl-status--error{ color:#b42318; }
.ih-newsletter .ih-nl-status--error, .ih-mag .ih-nl-status--error{ color:#ffe0dc; }
.ih-nl-form button:disabled, .ih-mag-form button:disabled{ opacity:.72; cursor:wait; }
@media (max-width:767px){ .ih-nl-status{ text-align:center; } }


/* ===== Sommaire déployable (TOC) — structure SERP, discret, couleurs du site ===== */
html{scroll-behavior:smooth;scroll-padding-top:96px}
.ih-toc{margin:22px 0 26px;border:1px solid #ece8fb;border-radius:12px;background:var(--ih-soft,#F5F3FF);overflow:hidden}
.ih-toc-head{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;
  padding:12px 16px;font-weight:700;font-size:15px;color:var(--ih-ink,#1A1A2E);user-select:none}
.ih-toc-head::-webkit-details-marker{display:none}
.ih-toc-ico{color:var(--ih,#7C3AED);flex:0 0 auto}
.ih-toc-title{flex:1 1 auto;letter-spacing:.01em}
.ih-toc-chevron{color:var(--ih,#7C3AED);flex:0 0 auto;transition:transform .22s ease}
.ih-toc[open] .ih-toc-chevron{transform:rotate(90deg)}
.ih-toc[open] .ih-toc-head{border-bottom:1px solid #ece8fb}
.ih-toc-nav{padding:4px 18px 14px}
.ih-toc-list{margin:0;padding:0 0 0 20px}
.ih-toc-list li{margin:7px 0;line-height:1.4}
.ih-toc-list a{color:var(--ih-dark,#5B21B6);text-decoration:none;border-bottom:1px solid transparent;
  transition:color .15s ease,border-color .15s ease}
.ih-toc-list a:hover{color:var(--ih,#7C3AED);border-bottom-color:currentColor}
.ih-toc-sub{margin-left:14px;list-style:circle}
.ih-toc-sub a{font-size:.96em;color:#6b6577}
@media (max-width:480px){
  .ih-toc-head{font-size:14px;padding:11px 13px}
  .ih-toc-nav{padding:4px 14px 12px}
}
