/*
Theme Name:  TheSleepEdge Child
Theme URI:   https://thesleepedge.com
Description: Child theme GeneratePress pour TheSleepEdge — palette bleu nuit/violet, composants, accueil, FAQ, responsive.
Author:      HoundVitality
Template:    generatepress
Version:     1.4.0
Text Domain: thesleepedge-child
*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter:wght@400;500;600;700&display=swap');

/* ===== 1. TOKENS ===== */
:root{
  --hv-green:#3B4EA8;--hv-green-dark:#2C3B82;--hv-moss:#E8EBFB;
  --hv-ochre:#7C5CE0;--hv-ochre-dark:#5E42B8;--hv-ink:#191B2E;--hv-muted:#5A5E78;
  --hv-line:#DCDEF0;--hv-bg:#FBFBFE;--hv-red:#D6455E;--hv-red-bg:#FCE9ED;--hv-green-bg:#EAEDFB;
  --hv-star:#F0B429;--hv-radius:8px;--hv-shadow:0 1px 3px rgba(25,27,46,.08),0 4px 16px rgba(25,27,46,.06);
}
body{background:var(--hv-bg);color:var(--hv-ink);}
a{color:var(--hv-green);}a:hover{color:var(--hv-green-dark);}
h1,h2,h3,h4{color:var(--hv-ink);letter-spacing:-.01em;}
.entry-content{max-width:74ch;}

/* ===== 2. DISCLOSURE / DISCLAIMER ===== */
.hv-disclosure{font-size:.85em;color:var(--hv-muted);background:var(--hv-moss);border-left:3px solid var(--hv-green);padding:.6em 1em;margin:0 0 1.5em;border-radius:0 var(--hv-radius) var(--hv-radius) 0;}
.hv-disclaimer{font-size:.8em;color:var(--hv-muted);border-top:1px solid var(--hv-line);padding-top:1em;margin-top:2.5em;}

/* ===== 3. PRODUIT ===== */
.hv-product{display:grid;grid-template-columns:150px 1fr;gap:1.25em;align-items:center;border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:1.25em;margin:2em 0;background:#fff;box-shadow:var(--hv-shadow);}
.hv-product img{width:100%;height:auto;border-radius:var(--hv-radius);}
.hv-product__badge{display:inline-block;font-size:.72em;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--hv-ochre-dark);background:#F7EEDB;padding:.25em .7em;border-radius:100px;margin-bottom:.5em;}
.hv-product__title{font-size:1.2em;font-weight:700;margin:0 0 .35em;}
.hv-product__text{margin:0 0 .9em;color:var(--hv-muted);font-size:.95em;}
@media(max-width:600px){.hv-product{grid-template-columns:1fr}.hv-product img{max-width:200px}}

/* ===== 4. BOUTONS ===== */
.hv-btn{display:inline-block;background:var(--hv-ochre);color:#fff!important;font-weight:600;padding:.7em 1.5em;border-radius:var(--hv-radius);text-decoration:none;transition:transform .1s,background .15s;box-shadow:0 2px 6px rgba(183,121,31,.3);}
.hv-btn:hover{background:var(--hv-ochre-dark);color:#fff;transform:translateY(-1px);}
.hv-btn--green{background:var(--hv-green);box-shadow:0 2px 6px rgba(47,93,58,.3);}
.hv-btn--green:hover{background:var(--hv-green-dark);}
.hv-btn--block{display:block;text-align:center;}

/* ===== 5. TABLEAU ===== */
.hv-table-wrap{overflow-x:auto;margin:2em 0;border-radius:var(--hv-radius);box-shadow:var(--hv-shadow);}
.hv-table{width:100%;border-collapse:collapse;font-size:.92em;background:#fff;}
.hv-table th{background:var(--hv-green);color:#fff;text-align:left;padding:.8em .9em;font-weight:600;}
.hv-table td{padding:.8em .9em;border-bottom:1px solid var(--hv-line);vertical-align:top;}
.hv-table tr:nth-child(even) td{background:#F4F7F2;}
.hv-table .hv-btn{padding:.45em 1em;font-size:.9em;}

/* ===== 6. NOTE / WARNING / KEY ===== */
.hv-note,.hv-warning,.hv-key{padding:1em 1.25em;border-radius:var(--hv-radius);margin:1.5em 0;}
.hv-note{background:var(--hv-moss);border-left:4px solid var(--hv-green);}
.hv-warning{background:#FBF3E4;border-left:4px solid var(--hv-ochre);}
.hv-key{background:#fff;border:1px solid var(--hv-line);box-shadow:var(--hv-shadow);padding:1.25em 1.5em;}
.hv-key__title{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hv-green);margin:0 0 .6em;}
.hv-key ul{margin:0;padding-left:1.2em;}.hv-key li{margin:.3em 0;}

/* ===== 7. VERDICT ===== */
.hv-verdict{display:grid;grid-template-columns:auto 1fr;gap:1.25em;align-items:center;background:linear-gradient(135deg,#fff,var(--hv-moss));border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:1.5em;margin:2em 0;box-shadow:var(--hv-shadow);}
.hv-verdict__score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--hv-green);color:#fff;}
.hv-verdict__score b{font-size:1.7em;line-height:1;}.hv-verdict__score span{font-size:.7em;opacity:.85;}
.hv-verdict__label{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hv-ochre-dark);margin:0 0 .3em;}
.hv-verdict__title{font-size:1.15em;font-weight:700;margin:0 0 .4em;}
.hv-verdict__text{margin:0 0 .8em;color:var(--hv-muted);font-size:.95em;}
@media(max-width:600px){.hv-verdict{grid-template-columns:1fr;text-align:center}.hv-verdict__score{margin:0 auto}}

/* ===== 8. PROS/CONS ===== */
.hv-proscons{display:grid;grid-template-columns:1fr 1fr;gap:1em;margin:2em 0;}
.hv-pros,.hv-cons{border-radius:var(--hv-radius);padding:1.1em 1.3em;border:1px solid var(--hv-line);}
.hv-pros{background:var(--hv-green-bg);}.hv-cons{background:var(--hv-red-bg);}
.hv-proscons h4{margin:0 0 .6em;font-size:.95em;font-weight:700;}
.hv-pros h4{color:var(--hv-green);}.hv-cons h4{color:var(--hv-red);}
.hv-proscons ul{margin:0;padding:0;list-style:none;}
.hv-proscons li{position:relative;padding-left:1.5em;margin:.4em 0;font-size:.93em;}
.hv-pros li::before{content:"✓";position:absolute;left:0;color:var(--hv-green);font-weight:700;}
.hv-cons li::before{content:"✕";position:absolute;left:0;color:var(--hv-red);font-weight:700;}
@media(max-width:600px){.hv-proscons{grid-template-columns:1fr}}

/* ===== 9. STARS ===== */
.hv-stars{display:inline-flex;align-items:center;gap:.15em;vertical-align:middle;}
.hv-stars__row{position:relative;display:inline-block;font-size:1.1em;line-height:1;letter-spacing:.1em;font-family:Arial,sans-serif;}
.hv-stars__bg{color:#D9D9D9;}
.hv-stars__fill{color:var(--hv-star);position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;}
.hv-stars__num{margin-left:.4em;font-size:.85em;font-weight:600;color:var(--hv-muted);}

/* ===== 10. BEST PICK ===== */
.hv-bestpick{position:relative;border:2px solid var(--hv-ochre);border-radius:var(--hv-radius);padding:1.75em 1.5em 1.5em;margin:2.5em 0 2em;background:#fff;box-shadow:var(--hv-shadow);}
.hv-bestpick__ribbon{position:absolute;top:-14px;left:1.5em;background:var(--hv-ochre);color:#fff;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.4em .9em;border-radius:100px;box-shadow:0 2px 6px rgba(183,121,31,.4);}
.hv-bestpick__title{font-size:1.25em;font-weight:700;margin:.2em 0 .5em;}

/* ===== 11. SPECS ===== */
.hv-specs{list-style:none;margin:1.5em 0;padding:0;border:1px solid var(--hv-line);border-radius:var(--hv-radius);overflow:hidden;}
.hv-specs li{display:flex;justify-content:space-between;gap:1em;padding:.6em 1em;font-size:.92em;}
.hv-specs li:nth-child(odd){background:#F4F7F2;}
.hv-specs li span{color:var(--hv-muted);text-align:right;}

/* ===== 12. AUTEUR ===== */
.hv-author{display:flex;gap:1em;align-items:center;border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:1em 1.25em;margin-top:2.5em;background:#fff;box-shadow:var(--hv-shadow);}
.hv-author img{width:64px;height:64px;border-radius:50%;object-fit:cover;}
.hv-author__name{font-weight:700;margin:0 0 .2em;}
.hv-author__bio{font-size:.9em;color:var(--hv-muted);margin:0;}

/* ===== 13. FIL D'ARIANE ===== */
.hv-breadcrumb{font-size:.82em;color:var(--hv-muted);margin:0 0 1em;}
.hv-breadcrumb a{color:var(--hv-muted);text-decoration:none;}
.hv-breadcrumb a:hover{color:var(--hv-green);text-decoration:underline;}
.hv-breadcrumb .sep{margin:0 .4em;opacity:.5;}

/* ===== 14. SOMMAIRE (TOC) ===== */
.hv-toc{background:#fff;border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:1.1em 1.3em;margin:0 0 2em;box-shadow:var(--hv-shadow);}
.hv-toc__title{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hv-green);margin:0 0 .6em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;}
.hv-toc__title .chev{transition:transform .2s;}
.hv-toc.collapsed .chev{transform:rotate(-90deg);}
.hv-toc.collapsed ol{display:none;}
.hv-toc ol{margin:0;padding-left:1.2em;counter-reset:toc;}
.hv-toc li{margin:.3em 0;font-size:.92em;}
.hv-toc a{text-decoration:none;color:var(--hv-ink);}
.hv-toc a:hover{color:var(--hv-green);text-decoration:underline;}
@media(min-width:1025px){.hv-toc--sticky{position:sticky;top:100px;}}

/* ===== 15. PARTAGE ===== */
.hv-share{display:flex;gap:.5em;align-items:center;margin:2em 0 0;flex-wrap:wrap;}
.hv-share__label{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--hv-muted);margin-right:.3em;}
.hv-share a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--hv-moss);color:var(--hv-green)!important;text-decoration:none;font-weight:700;font-size:.9em;transition:background .15s,transform .1s;}
.hv-share a:hover{background:var(--hv-green);color:#fff!important;transform:translateY(-2px);}

/* ===== 16. RELATED ===== */
.hv-related{margin:2.5em 0 0;}
.hv-related__title{font-size:1.1em;font-weight:700;margin:0 0 1em;padding-bottom:.4em;border-bottom:2px solid var(--hv-green);display:inline-block;}
.hv-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1em;}
.hv-related__card{background:#fff;border:1px solid var(--hv-line);border-radius:var(--hv-radius);overflow:hidden;box-shadow:var(--hv-shadow);transition:transform .15s;}
.hv-related__card:hover{transform:translateY(-3px);}
.hv-related__card img{width:100%;height:120px;object-fit:cover;display:block;}
.hv-related__card .ph{width:100%;height:120px;background:var(--hv-moss);}
.hv-related__body{padding:.8em 1em;}
.hv-related__cat{font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hv-ochre-dark);}
.hv-related__name{font-size:.95em;font-weight:600;line-height:1.35;margin:.3em 0 0;}
.hv-related__name a{color:var(--hv-ink);text-decoration:none;}
.hv-related__name a:hover{color:var(--hv-green);}
@media(max-width:700px){.hv-related__grid{grid-template-columns:1fr}}

/* ===== 17. NEWSLETTER ===== */
.hv-email{background:linear-gradient(135deg,var(--hv-green),var(--hv-green-dark));color:#fff;border-radius:var(--hv-radius);padding:1.75em;margin:2.5em 0;text-align:center;box-shadow:var(--hv-shadow);}
.hv-email h3{color:#fff;margin:0 0 .4em;font-size:1.3em;}
.hv-email p{color:rgba(255,255,255,.85);margin:0 0 1.1em;font-size:.95em;}
.hv-email form{display:flex;gap:.5em;max-width:420px;margin:0 auto;flex-wrap:wrap;}
.hv-email input[type=email]{flex:1;min-width:180px;border:none;border-radius:var(--hv-radius);padding:.7em 1em;font-size:1em;}
.hv-email button{background:var(--hv-ochre);color:#fff;border:none;font-weight:600;padding:.7em 1.4em;border-radius:var(--hv-radius);cursor:pointer;transition:background .15s;}
.hv-email button:hover{background:var(--hv-ochre-dark);}
.hv-email small{display:block;margin-top:.7em;color:rgba(255,255,255,.7);font-size:.75em;}

/* ===== 18. HOMEPAGE ===== */
.hv-home *{box-sizing:border-box;}
.hv-hero{background:linear-gradient(135deg,var(--hv-moss),#fff);border-radius:calc(var(--hv-radius)*1.5);padding:3em 2em;text-align:center;margin:0 0 2.5em;}
.hv-hero h1{font-size:2.4em;margin:0 0 .4em;line-height:1.15;}
.hv-hero p{font-size:1.15em;color:var(--hv-muted);max-width:620px;margin:0 auto 1.5em;}
.hv-hero__cta{display:inline-flex;gap:.7em;flex-wrap:wrap;justify-content:center;}
.hv-sec-title{font-size:1.5em;font-weight:700;margin:0 0 .2em;}
.hv-sec-sub{color:var(--hv-muted);margin:0 0 1.3em;}
.hv-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1em;margin:0 0 3em;}
.hv-cat{display:block;background:#fff;border:1px solid var(--hv-line);border-radius:var(--hv-radius);padding:1.5em 1.2em;text-align:center;text-decoration:none;color:var(--hv-ink);box-shadow:var(--hv-shadow);transition:transform .15s,border-color .15s;}
.hv-cat:hover{transform:translateY(-3px);border-color:var(--hv-green);color:var(--hv-ink);}
.hv-cat__icon{font-size:2em;margin-bottom:.3em;}
.hv-cat__name{font-weight:700;font-size:1.05em;}
.hv-cat__count{font-size:.8em;color:var(--hv-muted);}
.hv-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3em;margin:0 0 3em;}
.hv-feat__card{background:#fff;border:1px solid var(--hv-line);border-radius:var(--hv-radius);overflow:hidden;box-shadow:var(--hv-shadow);transition:transform .15s;}
.hv-feat__card:hover{transform:translateY(-4px);}
.hv-feat__card img{width:100%;height:180px;object-fit:cover;display:block;}
.hv-feat__card .ph{width:100%;height:180px;background:var(--hv-moss);}
.hv-feat__body{padding:1.1em 1.3em 1.4em;}
.hv-feat__cat{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hv-ochre-dark);}
.hv-feat__title{font-size:1.1em;font-weight:700;line-height:1.3;margin:.35em 0 .5em;}
.hv-feat__title a{color:var(--hv-ink);text-decoration:none;}
.hv-feat__title a:hover{color:var(--hv-green);}
.hv-feat__ex{font-size:.9em;color:var(--hv-muted);margin:0;}
@media(max-width:900px){.hv-cats{grid-template-columns:repeat(2,1fr)}.hv-feat{grid-template-columns:1fr}}
@media(max-width:600px){.hv-hero h1{font-size:1.8em}}

/* ============================================================
   v1.3 — FEATURES SUPPLÉMENTAIRES + RESPONSIVE PC/iOS/ANDROID
   ============================================================ */

/* Safe-area iPhone (encoche + barre home) */
:root{ --hv-safe-t:env(safe-area-inset-top,0px); --hv-safe-b:env(safe-area-inset-bottom,0px); }

/* Cibles tactiles ≥44px + confort mobile */
@media (max-width:768px){
  .hv-btn{ padding:.85em 1.4em; min-height:44px; }
  .hv-share a{ width:44px; height:44px; }
  .entry-content{ font-size:1.02em; }
}

/* 19. BARRE DE PROGRESSION DE LECTURE (haut de page) */
.hv-progress{ position:fixed; top:0; left:0; height:3px; width:0; z-index:9999;
  background:linear-gradient(90deg,var(--hv-green),var(--hv-ochre)); transition:width .1s ease; }

/* 20. BOUTON RETOUR EN HAUT */
.hv-top{ position:fixed; right:18px; bottom:calc(18px + var(--hv-safe-b)); z-index:998;
  width:46px; height:46px; border-radius:50%; background:var(--hv-green); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.3em; text-decoration:none;
  box-shadow:var(--hv-shadow); opacity:0; pointer-events:none; transition:opacity .2s, transform .15s; }
.hv-top.show{ opacity:1; pointer-events:auto; }
.hv-top:hover{ background:var(--hv-green-dark); color:#fff; transform:translateY(-2px); }

/* 21. CTA AFFILIÉ STICKY MOBILE (bas d'écran, articles) */
.hv-sticky-cta{ display:none; }
@media (max-width:768px){
  .hv-sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:997;
    display:flex; align-items:center; gap:.7em; padding:.6em .9em;
    padding-bottom:calc(.6em + var(--hv-safe-b));
    background:#fff; border-top:1px solid var(--hv-line); box-shadow:0 -2px 12px rgba(31,42,34,.1);
    transform:translateY(120%); transition:transform .25s ease; }
  .hv-sticky-cta.show{ transform:translateY(0); }
  .hv-sticky-cta__txt{ flex:1; font-size:.85em; font-weight:600; line-height:1.2; }
  .hv-sticky-cta .hv-btn{ white-space:nowrap; padding:.7em 1.1em; }
  .hv-sticky-cta__close{ background:none; border:none; font-size:1.2em; color:var(--hv-muted); padding:.2em .4em; cursor:pointer; }
  body.has-sticky-cta{ padding-bottom:70px; }
}

/* 22. FAQ ACCORDÉON (bloc Rank Math OU [hv_faq]) */
.hv-faq{ margin:2em 0; border:1px solid var(--hv-line); border-radius:var(--hv-radius); overflow:hidden; background:#fff; box-shadow:var(--hv-shadow); }
.hv-faq__item{ border-bottom:1px solid var(--hv-line); }
.hv-faq__item:last-child{ border-bottom:none; }
.hv-faq__q{ margin:0; }
.hv-faq__q button{ width:100%; text-align:left; background:none; border:none; padding:1em 1.2em; font-size:1em; font-weight:600; color:var(--hv-ink); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1em; min-height:44px; }
.hv-faq__q button:hover{ background:#F4F7F2; }
.hv-faq__q .ic{ color:var(--hv-green); font-size:1.3em; transition:transform .2s; flex-shrink:0; }
.hv-faq__item.open .ic{ transform:rotate(45deg); }
.hv-faq__a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.hv-faq__a > div{ padding:0 1.2em 1.1em; color:var(--hv-muted); font-size:.95em; }

/* 23. RATING BADGE INLINE (pastille note ronde) */
.hv-badge{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--hv-green); color:#fff; font-weight:700; font-size:1em; vertical-align:middle; }

/* 24. HIGHLIGHT "WINNER" dans un tableau : classe hv-win sur une cellule */
.hv-table td.hv-win{ background:var(--hv-green-bg)!important; font-weight:600; position:relative; }
.hv-table td.hv-win::after{ content:"✓"; color:var(--hv-green); margin-left:.4em; font-weight:700; }

/* 25. TABLEAU → CARTES SUR MOBILE (lisible sans scroll horizontal) */
@media (max-width:600px){
  .hv-table.hv-stack thead{ display:none; }
  .hv-table.hv-stack, .hv-table.hv-stack tbody, .hv-table.hv-stack tr, .hv-table.hv-stack td{ display:block; width:100%; }
  .hv-table.hv-stack tr{ margin:0 0 1em; border:1px solid var(--hv-line); border-radius:var(--hv-radius); overflow:hidden; }
  .hv-table.hv-stack td{ display:flex; justify-content:space-between; gap:1em; text-align:right; border-bottom:1px solid var(--hv-line); }
  .hv-table.hv-stack td::before{ content:attr(data-label); font-weight:600; color:var(--hv-ink); text-align:left; }
  .hv-table.hv-stack tr:nth-child(even) td{ background:#fff; }
}

/* 26. HERO : image de fond optionnelle */
.hv-hero--img{ position:relative; color:#fff; overflow:hidden; }
.hv-hero--img::before{ content:""; position:absolute; inset:0; background:rgba(31,42,34,.55); z-index:0; }
.hv-hero--img > *{ position:relative; z-index:1; }
.hv-hero--img h1, .hv-hero--img p{ color:#fff; }

/* 27. TRUST BAR (bandeau confiance sous le hero) */
.hv-trust{ display:flex; flex-wrap:wrap; gap:1.5em; justify-content:center; align-items:center;
  background:#fff; border:1px solid var(--hv-line); border-radius:var(--hv-radius); padding:1em 1.5em; margin:0 0 2.5em; box-shadow:var(--hv-shadow); }
.hv-trust__item{ display:flex; align-items:center; gap:.5em; font-size:.85em; color:var(--hv-muted); font-weight:500; }
.hv-trust__item b{ color:var(--hv-green); }

/* Header sticky : décalage safe-area iOS */
.generate-back-to-top{ display:none!important; } /* on utilise le nôtre */

/* Images fluides partout */
.entry-content img{ max-width:100%; height:auto; }

/* Menu mobile : cibles plus grandes */
@media (max-width:768px){
  .main-navigation .menu-toggle{ min-height:48px; }
  .main-navigation .main-nav ul li a{ padding:14px 20px; }
}


/* =========================================================
   HoundVitality — habillage "Vivid" (v1.0)
         ========================================================= */


/* 1. Nouvelles couleurs : on remplace les variables du thème enfant */
:root{
  --hv-green:#4257C9; --hv-green-dark:#2F3F9E; --hv-moss:#E6E9FC;
  --hv-ochre:#8B5CF6; --hv-ochre-dark:#6D3FD4;
  --hv-ink:#15172A; --hv-muted:#565A78; --hv-line:#E2E3F2; --hv-bg:#FBFBFE;
  --hv-red:#E0486A; --hv-red-bg:#FCE7EC; --hv-green-bg:#E6E9FC; --hv-star:#F5B423;
  --hv-radius:14px;
  --hv-shadow:0 2px 6px rgba(21,23,42,.06),0 12px 28px rgba(21,23,42,.1);
  --v-sky:#3AA0FF; --v-sky-soft:#E0F0FF; --v-orange-soft:#EDE6FF;
  --v-coral:#E0486A; --v-coral-soft:#FCE7EC; --v-sun:#F5B423; --v-sun-soft:#FFF6DE;
}

/* 2. Typographie */
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3,h4,.entry-title,.hv-sec-title,.hv-cat__name,.hv-feat__title{font-family:"Fraunces",Georgia,serif;font-weight:700;letter-spacing:-.015em}

/* 3. Boutons pilule orange */
.hv-btn{border-radius:999px;font-weight:700;padding:.8em 1.5em;box-shadow:0 6px 16px rgba(255,122,26,.35)}
.hv-btn:hover{transform:translateY(-2px)}
.hv-btn--green{box-shadow:0 6px 16px rgba(11,138,95,.3)}

/* 4. Page d'accueil : hero dégradé vert + cercles */
.hv-hero{background:linear-gradient(135deg,#2F3F9E,#6D3FD4);color:#fff;border-radius:24px;position:relative;overflow:hidden}
.hv-hero::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:var(--v-sun);opacity:.22;right:-90px;top:-120px}
.hv-hero::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:var(--hv-ochre);opacity:.28;left:40%;bottom:-110px}
.hv-hero>*{position:relative;z-index:1}
.hv-hero h1{color:#fff}
.hv-hero p{color:rgba(255,255,255,.9)}
.hv-hero .hv-btn--green{background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.7);box-shadow:none}

/* 5. Catégories : une couleur par rubrique (ordre : Fresh Food, Supplements, Pet Insurance, Dog Health) */
.hv-cat{border:2px solid transparent;border-radius:16px;box-shadow:none}
.hv-cat__icon{width:52px;height:52px;margin:0 auto .5em;border-radius:14px;display:grid;place-items:center}
.hv-cat:nth-child(1){background:var(--v-orange-soft)}.hv-cat:nth-child(1):hover{border-color:var(--hv-ochre)}.hv-cat:nth-child(1) .hv-cat__icon{background:var(--hv-ochre)}
.hv-cat:nth-child(2){background:var(--v-sky-soft)}.hv-cat:nth-child(2):hover{border-color:var(--v-sky)}.hv-cat:nth-child(2) .hv-cat__icon{background:var(--v-sky)}
.hv-cat:nth-child(3){background:var(--hv-moss)}.hv-cat:nth-child(3):hover{border-color:var(--hv-green)}.hv-cat:nth-child(3) .hv-cat__icon{background:var(--hv-green)}
.hv-cat:nth-child(4){background:var(--v-coral-soft)}.hv-cat:nth-child(4):hover{border-color:var(--v-coral)}.hv-cat:nth-child(4) .hv-cat__icon{background:var(--v-coral)}

/* 6. Cartes d'articles (accueil + "You might also like") */
.hv-feat__card,.hv-related__card{border-radius:16px}
.hv-feat__card:hover,.hv-related__card:hover{box-shadow:var(--hv-shadow)}
.hv-feat__cat,.hv-related__cat{display:inline-block;background:var(--v-orange-soft);color:var(--hv-ochre-dark);padding:.3em .75em;border-radius:999px;letter-spacing:.06em}
.hv-feat__card .ph,.hv-related__card .ph{background:linear-gradient(135deg,#FFB067,#FF7A1A)}
.hv-feat__card:nth-child(3n+2) .ph{background:linear-gradient(135deg,#7CC2FF,#1E8FFF)}
.hv-feat__card:nth-child(3n) .ph{background:linear-gradient(135deg,#4FD3A2,#0B8A5F)}

/* 7. Barre de confiance */
.hv-trust{border-radius:16px}
.hv-trust__item b{color:var(--hv-ochre-dark)}

/* 8. Newsletter : dégradé orange → corail */
.hv-email{background:linear-gradient(120deg,#6D3FD4,#3AA0FF);border-radius:24px;position:relative;overflow:hidden}
.hv-email::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--v-sun);opacity:.3;right:-80px;bottom:-140px}
.hv-email>*{position:relative;z-index:1}
.hv-email form{background:#fff;padding:6px;border-radius:999px}
.hv-email input[type=email]{border-radius:999px}
.hv-email button{background:#16221C;border-radius:999px}
.hv-email button:hover{background:#000}

/* 9. Article : disclosure jaune */
.hv-disclosure{background:var(--v-sun-soft);border-left:4px solid var(--v-sun);border-radius:0 12px 12px 0}

/* 10. Verdict / meilleur choix */
.hv-verdict{background:var(--hv-moss);border:2px solid var(--hv-green);border-radius:20px}
.hv-verdict__score{background:conic-gradient(var(--hv-green) 0 92%,#fff 92% 100%);position:relative}
.hv-verdict__label{color:var(--hv-ochre-dark)}
.hv-bestpick{border-radius:20px;border-color:var(--hv-ochre)}
.hv-product{border-radius:20px}
.hv-product__badge{background:var(--v-orange-soft);color:var(--hv-ochre-dark)}

/* 11. Tableau : en-tête vert, dernière colonne orange */
.hv-table-wrap{border-radius:16px;border:1px solid var(--hv-line)}
.hv-table th{background:var(--hv-green);font-weight:700}
.hv-table th:last-child{background:var(--hv-ochre)}
.hv-table tr:nth-child(even) td{background:#F7FBF8}

/* 12. Avantages / inconvénients : pastilles rondes */
.hv-pros,.hv-cons{border:0;border-radius:16px}
.hv-proscons li{padding-left:1.9em}
.hv-proscons li::before{width:1.3em;height:1.3em;border-radius:50%;display:grid;place-items:center;font-size:.75em;color:#fff!important;top:.15em}
.hv-pros li::before{background:var(--hv-green)}
.hv-cons li::before{background:var(--v-coral)}

/* 13. FAQ accordéon : cartes séparées, "+" orange */
.hv-faq{border:0;background:none;box-shadow:none;display:flex;flex-direction:column;gap:10px}
.hv-faq__item{background:#fff;border:1px solid var(--hv-line)!important;border-radius:14px;overflow:hidden}
.hv-faq__item.open{border-color:var(--hv-ochre)!important;box-shadow:0 0 0 3px var(--v-orange-soft)}
.hv-faq__q .ic{width:28px;height:28px;border-radius:50%;background:var(--v-orange-soft);color:var(--hv-ochre-dark);display:grid;place-items:center}
.hv-faq__item.open .ic{background:var(--hv-ochre);color:#fff}
/* FAQ Rank Math (générée par publish.js) */
.rank-math-list-item{background:#fff;border:1px solid var(--hv-line);border-radius:14px;padding:1em 1.2em;margin-bottom:10px}
.rank-math-question{font-size:1.05rem;margin:0 0 .4em}

/* 14. Sommaire numéroté */
.hv-toc{border-radius:18px;box-shadow:var(--hv-shadow)}
.hv-toc__title{color:var(--hv-ochre-dark)}
.hv-toc ol{list-style:none;padding:0;counter-reset:t}
.hv-toc li{counter-increment:t}
.hv-toc a{display:flex;gap:10px;padding:.4em .6em;border-radius:10px}
.hv-toc a::before{content:counter(t);flex:none;width:22px;height:22px;border-radius:50%;background:var(--hv-moss);color:var(--hv-green);display:grid;place-items:center;font-size:.75rem;font-weight:700}
.hv-toc a:hover{background:var(--hv-moss)}

/* 15. Encart auteur, CTA mobile, barre de progression */
.hv-author{background:var(--v-sky-soft);border:0;border-radius:18px}
.hv-sticky-cta{border-top:3px solid var(--hv-ochre)}
.hv-progress{background:linear-gradient(90deg,var(--hv-green),var(--hv-ochre),var(--v-coral))}
.hv-top{background:var(--hv-ochre)}


/* Images à la une fluides et recadrées proprement */
.post-image img,
.wp-post-image,
.hv-feat__card img,
.hv-related__card img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  border-radius:12px;
}
/* ===== FAQ (classes du hook footer : hv-faq-item / hv-faq-q / is-open) ===== */
.hv-faq-item{background:#fff;border:1px solid var(--hv-line)!important;border-radius:14px;overflow:hidden;margin-bottom:10px;}
.hv-faq-item.is-open{border-color:var(--hv-ochre)!important;box-shadow:0 0 0 3px var(--v-orange-soft);}
.hv-faq-q{margin:0!important;padding:1em 1.2em!important;font-family:"Fraunces",Georgia,serif;font-size:1.05em;font-weight:700;color:var(--hv-ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1em;}
.hv-faq-q::after{content:"+";width:28px;height:28px;flex:none;border-radius:50%;background:var(--v-orange-soft);color:var(--hv-ochre-dark);display:grid;place-items:center;font-size:1.1em;line-height:1;transition:transform .2s;}
.hv-faq-item.is-open .hv-faq-q::after{content:"+";background:var(--hv-ochre);color:#fff;transform:rotate(45deg);}
.hv-faq-answer{display:none;padding:0 1.2em 1.1em;color:var(--hv-muted);font-size:.95em;}
.hv-faq-item.is-open .hv-faq-answer{display:block;}
html[data-theme="dark"] .hv-faq-item{background:#20233B;border-color:#343858!important;}
html[data-theme="dark"] .hv-faq-q{color:#E8EAF6;}
html[data-theme="dark"] .hv-faq-answer,html[data-theme="dark"] .hv-faq-answer p{color:#C4C8E0!important;}
html[data-theme="dark"] .hv-faq-q::after{background:#343858;color:#B79CFF;}
html[data-theme="dark"] .hv-faq-item.is-open .hv-faq-q::after{background:var(--hv-ochre);color:#fff;}

/* ===== FOOTER LINKS BAR ===== */
.hv-footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 20px;margin:1.5em 0 .6em;}
.hv-footer-links a{color:#3B4EA8;text-decoration:none;font-size:.9em;font-weight:500;}
.hv-footer-links a:hover{color:#7C5CE0;text-decoration:underline;}
.hv-footer-copy{text-align:center;font-size:.82em;color:#5A5E78;margin:0 0 1em;}
html[data-theme="dark"] .hv-footer-links a{color:#B79CFF;}
html[data-theme="dark"] .hv-footer-copy{color:#C4C8E0;}
@media (max-width:600px){.hv-footer-links a{font-size:.85em;}}

/* Images à la une fluides 16:9 */
.post-image img,.wp-post-image,.hv-feat__card img,.hv-related__card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:12px;}
