/* Thème « nutrisport » — reprise à l'identique du thème WordPress Purple (MyThemeShop)
   utilisé sur nutritionnistedusport.fr. Polices auto-hébergées (CSP). */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/montserrat-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Abril Fatface';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/abril-fatface-latin-400-normal.woff2) format('woff2')}

:root{
  --text:#000;--grey:#424242;--navy:#253858;--violet:#6c62ff;--violet-soft:#e7e4fd;--lavender:#e4dffe;
  --yellow:#fbcd39;--red:#dd3333;--muted:#5e6c84;--link:#0000ff;
  --font:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --logo:'Abril Fatface',Georgia,'Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font-family:var(--font);font-weight:500;font-size:14px;line-height:25px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;border:0}
a{color:var(--link);text-decoration:none;transition:color .2s}
a:hover{text-decoration:none}
strong,b{font-weight:700}
.container{width:100%;max-width:1170px;margin:0 auto;position:relative}
.main-container{overflow:hidden}

/* ── En-tête ── */
#header{background:#fff;position:sticky;top:0;z-index:100;transition:box-shadow .2s}
#header.sticky-active{box-shadow:0 2px 14px rgba(0,0,0,.08)}
.header-row{display:flex;align-items:center;min-height:72px}
.logo-wrap{margin-right:auto;padding:14px 0}
#logo{margin:0;font-family:var(--logo);font-weight:400;font-size:35px;line-height:35px}
#logo a{color:#000}
.secondary-navigation{order:2}
.secondary-navigation .menu{list-style:none;margin:0;padding:0;display:flex}
.secondary-navigation .menu a{display:block;color:#000;font-weight:600;font-size:16px;line-height:25px;padding:11px 0 15px;margin:0 20px}
.secondary-navigation .menu a:hover{color:var(--violet)}
.toggle-mobile-menu{display:none}
.header-search{order:3;margin-left:40px;position:relative}
.searchbox{display:flex;align-items:center}
.searchbox-input{width:0;padding:0;border:0;opacity:0;font:inherit;font-size:14px;transition:width .3s,opacity .3s,padding .3s;background:#fff;color:#000;border-radius:20px}
.header-search.open .searchbox-input{width:210px;opacity:1;padding:8px 14px;border:1px solid var(--lavender);margin-right:8px}
.searchbox-input:focus{outline:none;border-color:var(--violet)}
.searchbox-icon{background:none;border:0;padding:8px 0 0;color:var(--lavender);cursor:pointer;line-height:1}
.searchbox-icon svg{width:20px;height:20px}
.header-search.open .searchbox-icon{color:var(--violet)}

/* ── Zone d'accueil (image + encart) ── */
.featured-area-section{position:relative;z-index:12;padding:170px 0 190px;min-height:810px;background:#fff center/cover no-repeat}
.featured-area-section::after{content:'';display:table;clear:both}
.featured-left{width:42.73504%;background:rgba(50,50,50,.7);border-radius:10px;padding:60px 20px 20px;color:#fff}
.featured-area-title{font-weight:600;font-size:24px;line-height:1.1;text-transform:uppercase;margin:-40px 0 12px}
.featured-area-subtitle{font-weight:600;font-size:18px;line-height:25.2px;text-transform:uppercase;margin:-10px 0 32px}
.featured-area-desc{font-weight:500;font-size:15px;line-height:35px;margin:-20px 0 0}

/* ── Bandeau de titre gris ── */
.single-full-width-header{position:relative;background:var(--grey);margin-bottom:70px;min-height:200px;display:flex;align-items:center}
.single-full-width-header::after{content:'';position:absolute;inset:0;background:url(single-header-overlay.png) 0 0 no-repeat;background-size:cover;pointer-events:none}
.single-full-width-header .container{min-height:200px;display:flex;align-items:center;justify-content:center;padding:0 5%;z-index:1}
.single-full-width-header h1{margin:30px 0;color:#fff;font-weight:800;font-size:40px;line-height:55px;text-align:center}

/* ── Article / page ── */
.article{background:#fff;border-radius:4px;padding:40px 50px;margin:0 0 40px}
#wrapper.single .article{padding:46.8px}
.breadcrumb{font-weight:600;font-size:14px;color:var(--navy);margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
.breadcrumb a{color:var(--violet)}
.breadcrumb a:hover{color:var(--navy)}
.breadcrumb .sep{color:#c1c7d0;margin:0 6px;font-weight:400}
.breadcrumb .current{color:var(--navy);padding-left:4px}
.post-info{margin:0 0 40px;font-size:14px}
.post-info > span{display:inline-flex;align-items:center;margin-right:25px}
.post-info .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:currentColor;margin-right:8px;opacity:.85}
.single_post .post-info{color:#000}

.entry-content{word-wrap:break-word}
.entry-content p{margin:0 0 20px}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{color:#000;font-weight:700;margin:0 0 12px}
.entry-content h1{font-size:28px;line-height:1.4}
.entry-content h2{font-size:24px;line-height:33.6px}
.entry-content h3{font-size:22px;line-height:30.8px}
.entry-content h4{font-size:20px;line-height:28px}
.entry-content h5{font-size:18px;line-height:25px}
.entry-content h6{font-size:16px;line-height:22px}
.entry-content ul,.entry-content ol{margin:0;padding:0 0 22px 30px}
.entry-content li{margin:0}
.entry-content li > ul,.entry-content li > ol{padding-bottom:0}
.entry-content a{color:var(--link)}
.entry-content a:hover{text-decoration:underline}
.entry-content img{display:block;margin:0 auto 20px;border-radius:0}
.entry-content figure{margin:0 0 25px}
.entry-content figure img{margin-bottom:8px}
.entry-content figcaption{font-size:13px;color:var(--muted);text-align:center;line-height:20px}
.entry-content blockquote{margin:0 0 25px;padding:10px 0 10px 25px;border-left:4px solid var(--violet);font-style:italic}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{width:100%;border-collapse:collapse;margin:0 0 25px;border:1px solid rgba(0,0,0,.1);text-align:left}
.entry-content figure.table-wrap{overflow-x:auto}
.entry-content figure.table-wrap table{margin:0}
.entry-content th{font-weight:500;color:#585f65;border:1px solid #585f65;padding:7px}
.entry-content td{border:1px solid #000;padding:7px}
.entry-content .video-embed{position:relative;padding-top:56.25%;height:0}
.entry-content .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.entry-content form{max-width:720px}

/* Sommaire (repris de « Table of Contents Plus », thème blanc, centré) */
#toc_container{max-width:800px;margin:0 auto 20px;text-align:center;background:#fff;border:1px solid #aaa;padding:10px;font-size:95%;display:table}
#toc_container ul{display:inline-block;text-align:left;list-style:none;margin:0;padding:0}
#toc_container ul ul{display:block;margin-left:1.5em}
#toc_container li{margin:0;padding:0;list-style:none}
#toc_container a{color:var(--link)}
#toc_container a:hover{text-decoration:underline}

/* ── Listes d'articles (blog / catégorie) ── */
.list-col{max-width:770px}
#wrapper.blog-list{padding-top:40px}
.title-container{margin:0}
.featured-category-title{font-size:27px;font-weight:700;color:var(--navy);line-height:40px;margin:0 0 30px}
.taxonomy-description{margin:0 0 30px}
.taxonomy-description p{margin:0 0 20px}
.latestPost{position:relative;background:#fff;border-radius:4px;margin:0 0 40px;box-shadow:0 2px 20px rgba(9,30,66,.05),0 2px 250px rgba(9,30,66,.05);overflow:hidden}
.latestPost .featured-thumbnail{display:block;aspect-ratio:770/350;overflow:hidden;border-radius:4px 4px 0 0;background:#eef0f4}
.latestPost .featured-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.latestPost:hover .featured-thumbnail img{transform:scale(1.03)}
.latestPost .wrapper{padding:30px 40px 25px}
.latestPost .title{margin:0 0 12px;font-size:27px;line-height:40px;font-weight:700}
.latestPost .title a{color:var(--navy)}
.latestPost .title a:hover{color:var(--violet)}
.latestPost .front-view-content{color:var(--muted);font-size:14px;line-height:25px}
.latestPost .post-info{margin:0;padding:30px 40px 17px;border-top:2px solid #eaebef;color:var(--violet);line-height:14px}
.latestPost .post-info > span{margin:0 10px 15px 0}
.post-number{position:absolute;top:20px;right:20px;width:85px;height:85px;line-height:85px;border-radius:50%;text-align:center;color:#fff;font-size:35px;font-weight:900;background:linear-gradient(60deg,#6c62ff,#a179ff)}

/* Pagination */
.pagination{margin:10px 0 30px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px 0}
.pagination .page-numbers{display:inline-block;min-width:40px;height:40px;padding:12px 15px 13px;margin:0 8px 0 0;border-radius:20px;background:var(--violet-soft);color:var(--link);font-size:15px;font-weight:600;line-height:15px;text-align:center}
.pagination a.page-numbers:hover,.pagination .page-numbers.current{background:var(--yellow);color:var(--navy)}

/* ── Pied de page ── */
#site-footer{margin-top:50px;background:var(--grey);padding-top:80px;color:#fff}
.copyrights{background:var(--grey);padding:25px 0}
#copyright-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;color:#fff;font-size:14px}
#copyright-note a{color:#fff}
#copyright-note a:hover{color:var(--yellow)}

/* Retour en haut */
#move-to-top{position:fixed;right:0;bottom:100px;z-index:25;border:0;cursor:pointer;color:#fff;background:var(--red);padding:25px 35px 25px 32px;border-radius:100px 0 0 100px;line-height:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
#move-to-top.show{opacity:1;visibility:visible}
#move-to-top svg{width:28px;height:28px}

/* Formulaires natifs QuietCMS */
.entry-content input[type=text],.entry-content input[type=email],.entry-content input[type=tel],.entry-content textarea,.search-404 input{width:100%;font:inherit;padding:10px 14px;border:1px solid #d5d9e0;border-radius:4px;background:#fff}
.entry-content button[type=submit],.entry-content input[type=submit],.search-404 button{font:inherit;font-weight:600;background:var(--violet);color:#fff;border:0;border-radius:20px;padding:10px 24px;cursor:pointer}
.entry-content button[type=submit]:hover,.search-404 button:hover{background:var(--yellow);color:var(--navy)}
.search-404{display:flex;gap:10px;max-width:520px}

/* ── Responsive ── */
@media (max-width:1210px){.container{padding:0 20px}}
@media (max-width:865px){
  .header-row{flex-wrap:wrap;justify-content:center;padding-bottom:6px}
  .logo-wrap{margin:0 auto 0 0;padding:12px 44px 4px 0;text-align:left}
  #logo{font-size:clamp(24px,7.4vw,35px);line-height:1.15}
  .header-search{position:absolute;right:20px;top:16px;margin:0}
  .header-search.open .searchbox-input{width:170px}
  .secondary-navigation{order:3;width:100%;text-align:center}
  .toggle-mobile-menu{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:var(--lavender);font:inherit;font-weight:600;font-size:16px;text-transform:uppercase;padding:6px 10px}
  .toggle-mobile-menu svg{width:16px;height:16px}
  .secondary-navigation .navigation{display:none}
  .secondary-navigation.open .navigation{display:block}
  .secondary-navigation .menu{flex-direction:column;border-top:1px solid #eee;margin-top:6px}
  .secondary-navigation .menu a{margin:0;padding:12px 0}
  .featured-area-section{padding:90px 0 110px;min-height:0}
  .featured-left{width:100%}
  .single-full-width-header h1{font-size:30px;line-height:40px}
  .article,#wrapper.single .article{padding:25px 20px}
}
@media (max-width:600px){
  .latestPost .wrapper{padding:22px 20px}
  .latestPost .post-info{padding:20px 20px 8px}
  .latestPost .title{font-size:22px;line-height:32px}
  .post-number{width:60px;height:60px;line-height:60px;font-size:24px}
  #copyright-note{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{#header,#site-footer,#move-to-top,#toc_container{display:none!important}}

/* ══════════════════════════════════════════════════════════════════════════
   Composants éditoriaux des articles (préfixe ns-) : infographies animées,
   encadrés, fiches, barres, chiffres, étapes, quiz, sélecteur, calculateurs
   ══════════════════════════════════════════════════════════════════════════ */
.entry-content .ns-chapo{font-size:16px;line-height:28px;font-weight:500;color:var(--navy);border-left:4px solid var(--violet);padding:4px 0 4px 18px;margin:0 0 26px}
.entry-content figure.ns-infog,.entry-content figure.ns-photo{margin:6px 0 28px}
.ns-infog svg{display:block;width:100%;height:auto;border-radius:14px}
.ns-infog figcaption,.ns-photo figcaption{font-size:13px;line-height:20px;color:var(--muted);text-align:center;margin-top:8px}
.ns-photo img{width:100%;height:auto;border-radius:10px;margin:0}
/* Animations (déclenchées à l'apparition : classe ns-on posée par le script) */
.js-ns .ns-trace{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200)}
.js-ns .ns-on .ns-trace{animation:nsTrace 1.8s ease forwards}
.js-ns .ns-pop{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:center}
.js-ns .ns-on .ns-pop{animation:nsPop .6s cubic-bezier(.34,1.56,.64,1) forwards}
.js-ns .ns-on .ns-pop:nth-of-type(2){animation-delay:.15s}.js-ns .ns-on .ns-pop:nth-of-type(3){animation-delay:.3s}.js-ns .ns-on .ns-pop:nth-of-type(4){animation-delay:.45s}.js-ns .ns-on .ns-pop:nth-of-type(5){animation-delay:.6s}.js-ns .ns-on .ns-pop:nth-of-type(6){animation-delay:.75s}
.js-ns .ns-grow{transform:scaleY(0);transform-box:fill-box;transform-origin:bottom}
.js-ns .ns-on .ns-grow{animation:nsGrow 1.1s ease-out forwards}
.ns-on .ns-blink{animation:nsBlink 2.4s ease-in-out infinite}
.ns-on .ns-float{animation:nsFloat 3.2s ease-in-out infinite;transform-box:fill-box}
.ns-on .ns-drawer{animation:nsSway 3.6s ease-in-out infinite;transform-box:fill-box}
.ns-on .ns-spin{animation:nsSpin 8s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes nsTrace{to{stroke-dashoffset:0}}
@keyframes nsPop{to{opacity:1;transform:scale(1)}}
@keyframes nsGrow{to{transform:scaleY(1)}}
@keyframes nsBlink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes nsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes nsSway{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
@keyframes nsSpin{to{transform:rotate(360deg)}}
/* Encadrés */
.entry-content .ns-astuce{background:var(--violet-soft);border-radius:12px;padding:18px 22px 4px;margin:0 0 28px;border-left:5px solid var(--violet)}
.entry-content .ns-astuce.ns-alerte{background:#fdecec;border-left-color:var(--red)}
.entry-content .ns-astuce .ns-astuce-t{font-weight:800;color:var(--navy);text-transform:uppercase;font-size:13px;letter-spacing:.06em;margin:0 0 6px}
.entry-content .ns-alerte .ns-astuce-t{color:#b42323}
.entry-content .ns-astuce p{margin-bottom:14px}
/* Fiches */
.ns-fiches{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:0 0 28px}
.ns-fiche{background:#fff;border:1px solid #e6e8f0;border-radius:14px;padding:18px;box-shadow:0 2px 14px rgba(9,30,66,.06);transition:transform .2s,box-shadow .2s}
.ns-fiche:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(108,98,255,.16)}
.ns-fiche-ico{width:54px;height:54px;border-radius:14px;background:var(--violet-soft);display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.ns-fiche-ico svg{width:40px;height:40px}
.entry-content .ns-fiche p{margin:0 0 8px;font-size:13.5px;line-height:22px}
.entry-content .ns-fiche .ns-fiche-t{font-weight:700;color:var(--navy);font-size:15px}
.ns-fiche-tags span{display:inline-block;background:var(--yellow);color:var(--navy);border-radius:20px;padding:0 10px;font-size:11.5px;font-weight:600;margin:2px 4px 0 0}
/* Barres */
.ns-barres{background:#fafaff;border:1px solid #ecebff;border-radius:14px;padding:18px 20px;margin:0 0 28px}
.entry-content .ns-barres-t{font-weight:700;color:var(--navy);margin:0 0 12px}
.ns-barre{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;margin:0 0 8px;border-radius:8px;background:#ececf7;overflow:hidden;font-size:13.5px;z-index:0}
.ns-barre::before{content:'';position:absolute;inset:0 auto 0 0;width:calc(var(--v,50) * 1%);background:linear-gradient(90deg,#a179ff,#6c62ff);z-index:-1;border-radius:8px;transform-origin:left;transition:transform 1.2s ease}
.js-ns .ns-barres:not(.ns-on) .ns-barre::before{transform:scaleX(0)}
.ns-barre span{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.ns-barre b{color:var(--navy);font-weight:700}
/* Chiffres clés */
.ns-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 0 28px}
.ns-chiffre{background:linear-gradient(60deg,#6c62ff,#a179ff);color:#fff;border-radius:14px;padding:18px 16px;text-align:center}
.ns-chiffre b{display:block;font-size:34px;line-height:40px;font-weight:900}
.ns-chiffre span{display:block;font-size:13px;line-height:19px;opacity:.95}
/* Étapes */
.entry-content ol.ns-etapes{list-style:none;counter-reset:nse;padding:0;margin:0 0 28px}
.ns-etapes li{counter-increment:nse;position:relative;padding:4px 0 16px 58px;min-height:44px}
.ns-etapes li::before{content:counter(nse);position:absolute;left:0;top:0;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:900;font-size:18px;display:flex;align-items:center;justify-content:center}
.ns-etapes li:not(:last-child)::after{content:'';position:absolute;left:20px;top:44px;bottom:2px;width:2px;background:var(--violet-soft)}
.ns-etapes strong{display:block;color:var(--navy)}
.ns-etapes span{display:block;font-size:13.5px;line-height:22px}
/* Tableau */
.entry-content table.ns-table{border:0;border-radius:12px;overflow:hidden;box-shadow:0 2px 14px rgba(9,30,66,.06)}
.entry-content .ns-table th{background:var(--navy);color:#fff;border:0;padding:10px 12px;font-weight:700}
.entry-content .ns-table td{border:0;border-bottom:1px solid #eceef4;padding:10px 12px}
.entry-content .ns-table tr:nth-child(even) td{background:#f8f8fe}
/* Quiz */
.ns-quiz{border:2px solid var(--violet-soft);border-radius:16px;padding:18px 20px;margin:0 0 28px}
.entry-content .ns-quiz-t{font-weight:800;color:var(--navy);font-size:17px;margin:0 0 12px}
.ns-q{border-top:1px dashed #d9d6fb;padding:12px 0 4px}
.entry-content .ns-q p{margin:0 0 8px}
.ns-q button{font:inherit;font-weight:600;border:0;border-radius:20px;padding:6px 18px;margin:0 8px 8px 0;background:var(--violet-soft);color:var(--violet);cursor:pointer}
.ns-q button:hover{background:var(--violet);color:#fff}
.ns-q.ok button[data-ok-btn],.ns-q button.is-good{background:#22b37a;color:#fff}
.ns-q button.is-bad{background:var(--red);color:#fff}
.entry-content .ns-q .ns-q-exp{display:none;font-size:13.5px;line-height:22px;background:#f8f8fe;border-radius:8px;padding:8px 12px}
.ns-q.done .ns-q-exp{display:block}
.no-js-ns .ns-q-exp{display:block}
.entry-content .ns-quiz-score{font-weight:700;color:var(--violet);margin:6px 0 0}
/* Sélecteur */
.ns-selecteur{margin:0 0 28px}
.ns-sel-btns{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ns-sel-btns button{font:inherit;font-weight:600;border:0;border-radius:20px;padding:6px 16px;background:var(--violet-soft);color:var(--violet);cursor:pointer}
.ns-sel-btns button.on{background:var(--violet);color:#fff}
.ns-sel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ns-sel-item{border:1px solid #e6e8f0;border-radius:12px;padding:14px 16px;background:#fff}
.ns-sel-item.off{display:none}
.entry-content .ns-sel-item p{margin:0 0 6px;font-size:13.5px;line-height:22px}
/* Calculateurs */
.ns-calc{background:linear-gradient(135deg,#253858,#3a4f7a);color:#fff;border-radius:16px;padding:22px;margin:0 0 28px}
.ns-calc h4{color:#fff;margin:0 0 4px;font-size:18px}
.ns-calc .ns-calc-sub{font-size:13px;opacity:.85;margin:0 0 14px}
.ns-calc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.ns-calc label{display:block;font-size:12.5px;font-weight:600;opacity:.9;margin-bottom:4px}
.ns-calc input,.ns-calc select{width:100%;font:inherit;padding:8px 10px;border-radius:8px;border:0;background:#fff;color:#000}
.ns-calc-out{background:rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;font-size:15px;line-height:24px}
.ns-calc-out b{color:var(--yellow);font-size:22px}
.ns-calc-note{font-size:12px;opacity:.8;margin:10px 0 0}
/* Replis (FAQ) */
.entry-content details.ns-repli{border:1px solid #e6e8f0;border-radius:12px;margin:0 0 10px;background:#fff}
.ns-repli summary{cursor:pointer;font-weight:700;color:var(--navy);padding:12px 44px 12px 16px;list-style:none;position:relative}
.ns-repli summary::-webkit-details-marker{display:none}
.ns-repli summary::after{content:'+';position:absolute;right:16px;top:8px;font-size:22px;color:var(--violet);font-weight:400}
.ns-repli[open] summary::after{content:'–'}
.entry-content .ns-repli p{padding:0 16px 14px;margin:0}
@media (prefers-reduced-motion:reduce){.js-ns .ns-trace{stroke-dashoffset:0}.js-ns .ns-pop,.js-ns .ns-grow{opacity:1;transform:none}.ns-on .ns-blink,.ns-on .ns-float,.ns-on .ns-drawer,.ns-on .ns-spin{animation:none}}

/* ── Listes d'articles en grille animée (catégorie + blog) ── */
.ns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 30px}
.ns-grid .latestPost{margin:0;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.ns-grid .latestPost:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(108,98,255,.18)}
.ns-grid .latestPost .wrapper{padding:22px 22px 18px;flex:1;display:flex;flex-direction:column}
.ns-grid .latestPost .title{font-size:19px;line-height:27px;margin-bottom:10px}
.ns-grid .latestPost .front-view-content{font-size:13.5px;line-height:22px;flex:1}
.ns-grid .latestPost .post-info{padding:16px 22px 6px;line-height:14px;font-size:12.5px}
.ns-grid .latestPost .post-info > span{margin:0 10px 10px 0}
.ns-grid .latestPost .post-info .dot{width:9px;height:9px;margin-right:6px}
.ns-grid .post-number{width:58px;height:58px;line-height:58px;font-size:22px;top:14px;right:14px;box-shadow:0 6px 16px rgba(108,98,255,.35)}
.latestPost .featured-thumbnail{position:relative}
.ns-card-date{position:absolute;left:12px;bottom:12px;background:rgba(37,56,88,.85);color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;line-height:20px}
.ns-card-meta{margin:12px 0 0;font-size:12.5px;color:var(--violet);font-weight:600}
.ns-card-read::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--yellow);margin-right:7px;vertical-align:1px}
.js-ns .ns-grid .latestPost{opacity:0;transform:translateY(26px)}
.js-ns .ns-grid .latestPost.ns-in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.js-ns .ns-grid .latestPost.ns-in:hover{transform:translateY(-6px)}
.ns-archive-head{overflow:hidden}
.ns-archive-head .header-wrapper{flex-direction:column}
.ns-archive-kicker{position:relative;z-index:1;margin:0 0 26px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.ns-archive-kicker span{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:30px;padding:5px 16px;font-weight:600;font-size:14px}
.ns-archive-kicker b{color:var(--yellow);font-size:17px}
.ns-archive-deco{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:230px;height:auto;opacity:.9;z-index:1}
.ns-intro-card{background:linear-gradient(135deg,#f6f5ff,#fff);border:1px solid #ecebff;border-left:5px solid var(--violet);border-radius:14px;padding:22px 26px 6px;margin:0 0 34px;font-size:15px;line-height:26px}
.pagination{display:flex;justify-content:center}
.pagination .nav-links{justify-content:center}
.pagination .page-numbers.dots{background:transparent;color:var(--muted);min-width:24px;padding-left:4px;padding-right:4px}
@media (max-width:1000px){.ns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-archive-deco{display:none}}
@media (max-width:640px){.ns-grid{grid-template-columns:1fr;gap:20px}}

/* Formulaire de contact de l'accueil (ancre #contact du menu) */
.ns-contact{scroll-margin-top:90px;background:linear-gradient(135deg,#253858,#3a4f7a);color:#fff;border-radius:18px;padding:34px 36px 26px;margin:30px 0 10px}
.entry-content .ns-contact h2{color:#fff;margin-bottom:10px}
.entry-content .ns-contact > p{color:#e8eaf6}
.ns-contact form{max-width:none}
.ns-contact label{color:#fff;font-weight:600;font-size:13px}
.ns-contact input,.ns-contact select,.ns-contact textarea{width:100%;font:inherit;padding:10px 12px;border:0;border-radius:8px;background:#fff;color:#000}
.ns-contact button[type=submit]{background:var(--yellow)!important;color:var(--navy)!important;font-weight:800}
.ns-contact button[type=submit]:hover{background:#fff!important}
.ns-contact a{color:var(--yellow)}
.ns-contact .qcms-checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:500}
.ns-contact input[type=checkbox],.ns-contact input[type=radio]{width:18px;height:18px;flex:0 0 18px;margin-top:3px;padding:0}
.ns-contact label.qcms-label:empty,.ns-contact label.qcms-label:has(+ .qcms-checkbox-label){display:none}
.entry-content .ns-grid-page{margin:10px 0 34px}
.entry-content .ns-grid-page .latestPost .title{font-size:17px;line-height:24px}
.entry-content .ns-grid-page a{text-decoration:none}
.entry-content .ns-grid-page img{margin:0}
