/*
Theme Name: Ndar Gët
Theme URI: https://saintlouisdusenegal.net
Author: MTD
Description: Thème du média Ndar Gët – Saint-Louis sous un autre angle. Accueil immersif, pages rubriques, fiches lieux, carte interactive, agenda, articles, partenaires sponsorisés, bloc abonnement aux réseaux sociaux avec chiffres d'audience, météo et convertisseur de devises. Bilingue FR/EN (compatible Polylang et GTranslate).
Version: 2.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: ndar-get
*/

:root{
  --ng-blue:#0874B5;
  --ng-orange:#F39200;
  --ng-deep:#003B65;
  --ng-white:#FFFFFF;
  --ng-ink:#0F1E2B;
  --ng-muted:#4B5A68;
  --ng-sand:#F6F3EE;
  --ng-line:#E3E8ED;
  --ng-radius:6px;
  --ng-max:1280px;
  --ng-font:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ng-font);font-size:16px;line-height:1.65;color:var(--ng-ink);background:var(--ng-white);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--ng-blue);text-decoration:none}
a:hover{color:var(--ng-deep)}
h1,h2,h3,h4{font-family:var(--ng-font);color:var(--ng-deep);line-height:1.1;margin:0 0 .5em}
h1{font-weight:900}
h2{font-weight:900;font-size:clamp(32px,4.4vw,56px);letter-spacing:-.02em}
h3{font-weight:700;font-size:22px}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--ng-orange);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:1000;background:#fff;padding:12px 16px}

.ng-wrap{max-width:var(--ng-max);margin:0 auto;padding:0 28px}
.ng-section{padding:96px 0}
.ng-section--sand{background:var(--ng-sand)}
.ng-section--deep{background:var(--ng-deep);color:#fff}
.ng-section--deep h2,.ng-section--deep h3{color:#fff}
.ng-kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ng-orange);margin-bottom:12px}
.ng-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.ng-head p{color:var(--ng-muted);max-width:620px;margin:0}
.ng-section--deep .ng-head p{color:#C9D8E6}
.ng-link{font-weight:600;border-bottom:2px solid var(--ng-orange);padding:6px 0}
.ng-section--deep .ng-link{color:#fff}


.ng-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 28px;border-radius:999px;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:transform .15s ease,background .15s ease}
.ng-btn:hover{transform:translateY(-1px)}
.ng-btn--orange{background:var(--ng-orange);color:var(--ng-deep)}
.ng-btn--orange:hover{background:#ffa524;color:var(--ng-deep)}
.ng-btn--blue{background:var(--ng-blue);color:#fff}
.ng-btn--blue:hover{background:var(--ng-deep);color:#fff}
.ng-btn--ghost{border-color:#fff;color:#fff;background:transparent}
.ng-btn--ghost:hover{background:#fff;color:var(--ng-deep)}
.ng-btn--line{border-color:var(--ng-deep);color:var(--ng-deep);background:transparent}

/* ---------- En-tête ---------- */
.ng-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--ng-line)}
.ng-header__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.ng-brand{display:flex;align-items:center;gap:12px;color:var(--ng-deep)}
.ng-brand img{max-height:52px;width:auto}
.ng-brand__name{display:flex;flex-direction:column;line-height:1.05}
.ng-brand__name strong{font-weight:900;font-size:22px;letter-spacing:.02em}
.ng-brand__name span{font-size:12px;color:var(--ng-muted)}
.ng-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px}
.ng-nav a{display:block;padding:12px 9px;color:var(--ng-deep);font-weight:500;font-size:14px}
.ng-nav a:hover,.ng-nav .current-menu-item>a{color:var(--ng-blue)}
.ng-nav li{position:relative}
.ng-nav .sub-menu{display:none;position:absolute;left:0;top:100%;background:#fff;min-width:220px;box-shadow:0 10px 30px rgba(0,59,101,.12);flex-direction:column;padding:8px 0}
.ng-nav li:hover>.sub-menu,.ng-nav li:focus-within>.sub-menu{display:flex}
.ng-tools{display:flex;align-items:center;gap:8px}
.ng-icon-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--ng-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ng-deep)}
.ng-lang{display:flex;gap:2px;font-size:13px;font-weight:600}
.ng-lang a{padding:10px 6px;color:var(--ng-muted)}
.ng-lang .current-lang a,.ng-lang a[aria-current]{color:var(--ng-deep)}
.ng-lang ul{list-style:none;margin:0;padding:0;display:flex}
.ng-menu-toggle{display:none}
.ng-search{display:none;padding:16px 0 20px}
.ng-search.is-open{display:block}
.ng-search form,form[role=search]{display:flex;gap:8px}
.ng-search input[type=search]{flex:1;min-height:50px;border:1px solid var(--ng-line);border-radius:999px;padding:0 20px;font:inherit}

@media (max-width:1080px){
  .ng-menu-toggle{display:inline-flex}
  .ng-nav{display:none;width:100%}
  .ng-nav.is-open{display:block}
  .ng-nav ul{flex-direction:column}
  .ng-nav .sub-menu{position:static;display:flex;box-shadow:none;padding-left:16px}
  .ng-header__bar{flex-wrap:wrap}
  .ng-tools .ng-btn{display:none}
}

/* ---------- Hero ---------- */
.ng-hero{position:relative;min-height:88vh;color:#fff;background:var(--ng-deep);overflow:hidden;display:flex}
.ng-hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease,transform 8s ease;transform:scale(1.04)}
.ng-hero__slide.is-active{opacity:1;transform:scale(1)}
.ng-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,24,44,.25) 0%,rgba(0,24,44,.15) 40%,rgba(0,24,44,.75) 100%)}
.ng-hero__inner{position:relative;z-index:2;align-self:flex-end;width:100%;padding-bottom:88px;padding-top:140px}
.ng-hero__brand{font-weight:900;font-size:clamp(56px,10vw,148px);line-height:.88;letter-spacing:-.02em;margin:0;color:#fff}
.ng-hero__sign{font-size:clamp(18px,2.2vw,26px);font-weight:300;margin:14px 0 0;color:#fff}
.ng-hero__quote{font-size:18px;max-width:560px;margin:22px 0 30px;color:#E6EEF5}
.ng-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.ng-hero__dots{position:absolute;z-index:3;right:28px;bottom:40px;display:flex;gap:8px}
.ng-hero__dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.6);cursor:pointer;padding:0;transition:width .3s}
.ng-hero__dots button[aria-current=true]{width:32px;background:var(--ng-orange)}
.ng-hero__caption{position:absolute;z-index:3;left:28px;bottom:14px;font-size:12px;color:rgba(255,255,255,.75)}
@media (prefers-reduced-motion:reduce){.ng-hero__slide{transition:none;transform:none}}

/* ---------- Grilles & cartes ---------- */
.ng-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.ng-grid--3{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ng-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--ng-radius);overflow:hidden;color:var(--ng-ink);transition:transform .2s ease,box-shadow .2s ease}
.ng-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,59,101,.12);color:var(--ng-ink)}
.ng-card__img{aspect-ratio:16/10;background:var(--ng-sand) center/cover no-repeat;position:relative}
.ng-card__img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--ng-orange)}
.ng-card:nth-child(3n+2) .ng-card__img::after{background:var(--ng-blue)}
.ng-card:nth-child(3n) .ng-card__img::after{background:var(--ng-deep)}
.ng-card__body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.ng-card__meta{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ng-blue)}
.ng-card__title{font-size:20px;font-weight:700;color:var(--ng-deep);margin:0;line-height:1.25}
.ng-card__text{font-size:14.5px;color:var(--ng-muted);margin:0}
.ng-badge{display:inline-block;background:var(--ng-orange);color:var(--ng-deep);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:3px}
.ng-badge--abs{position:absolute;top:14px;left:14px;z-index:1}

/* Galerie */
.ng-gallery{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px}
.ng-gallery a{position:relative;border-radius:var(--ng-radius);overflow:hidden;background:var(--ng-deep) center/cover no-repeat;color:#fff;display:flex;align-items:flex-end}
.ng-gallery a::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,30,55,.8));transition:opacity .3s}
.ng-gallery a span{position:relative;padding:18px;font-weight:700;font-size:18px}
.ng-gallery a:nth-child(1){grid-column:span 2;grid-row:span 2}
.ng-gallery a:nth-child(1) span{font-size:28px}
.ng-gallery a:nth-child(6){grid-column:span 2}
.ng-gallery a:hover{color:#fff}
.ng-gallery a:hover::before{opacity:.7}
@media (max-width:900px){.ng-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}.ng-gallery a:nth-child(6){grid-column:span 1}}

/* Histoires */
.ng-stories{display:grid;gap:28px;grid-template-columns:1.3fr 1fr}
.ng-story-main{position:relative;min-height:520px;border-radius:var(--ng-radius);overflow:hidden;background:var(--ng-deep) center/cover;display:flex;align-items:flex-end;color:#fff}
.ng-story-main::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,30,55,.9))}
.ng-story-main div{position:relative;padding:34px}
.ng-story-main h3{color:#fff;font-size:30px;font-weight:800}
.ng-story-list{display:flex;flex-direction:column;gap:0}
.ng-story-list a{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--ng-line);color:var(--ng-ink)}
.ng-story-list a:first-child{border-top:3px solid var(--ng-deep)}
.ng-story-list .thumb{aspect-ratio:1;border-radius:var(--ng-radius);background:var(--ng-sand) center/cover}
.ng-story-list strong{font-size:17px;color:var(--ng-deep);line-height:1.3;display:block}
@media (max-width:900px){.ng-stories{grid-template-columns:1fr}.ng-story-main{min-height:380px}}

/* Culture */
.ng-culture{display:grid;gap:1px;background:rgba(255,255,255,.18);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.ng-culture a{background:var(--ng-deep);padding:30px 24px;color:#fff;display:flex;flex-direction:column;gap:10px;min-height:190px;transition:background .2s}
.ng-culture a:hover{background:var(--ng-blue);color:#fff}
.ng-culture svg{width:34px;height:34px}
.ng-culture strong{font-size:19px}
.ng-culture span{font-size:14px;color:#C9D8E6}

/* Carte */
.ng-map{height:460px;border-radius:var(--ng-radius);overflow:hidden;background:var(--ng-sand);z-index:1}
.ng-map--full{height:70vh;min-height:480px}
.ng-map-wrap{display:grid;gap:28px;grid-template-columns:1fr 2fr;align-items:center}
@media (max-width:900px){.ng-map-wrap{grid-template-columns:1fr}}
.ng-circuits{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.ng-circuits button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ng-deep);background:#fff;color:var(--ng-deep);font:600 14px var(--ng-font);cursor:pointer}
.ng-circuits button[aria-pressed=true]{background:var(--ng-deep);color:#fff}
.ng-popup strong{display:block;color:var(--ng-deep);font-size:15px}
.ng-popup img{margin:6px 0;border-radius:4px}

/* Événements */
.ng-event{display:flex;flex-direction:column;gap:14px;color:var(--ng-ink)}
.ng-event__img{position:relative;aspect-ratio:4/3;border-radius:var(--ng-radius);background:var(--ng-deep) center/cover}
.ng-event__date{position:absolute;left:16px;bottom:-18px;background:var(--ng-orange);color:var(--ng-deep);font-weight:800;padding:10px 14px;border-radius:3px;font-size:14px}
.ng-event h3{margin:14px 0 0;font-size:21px}
.ng-event p{color:var(--ng-muted);font-size:14.5px;margin:0}
.ng-status{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ng-blue)}

/* Partenaires */
.ng-partners{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ng-sponsored{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ng-muted)}

/* Infos pratiques */
.ng-tools-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.ng-tool{background:#fff;border-radius:var(--ng-radius);padding:28px;border-top:6px solid var(--ng-blue);display:flex;flex-direction:column;gap:12px}
.ng-tool:nth-child(2){border-top-color:var(--ng-orange)}
.ng-tool:nth-child(3){border-top-color:var(--ng-deep)}
.ng-weather__now{display:flex;align-items:center;gap:16px}
.ng-weather__temp{font-size:56px;font-weight:800;color:var(--ng-deep);line-height:1}
.ng-weather__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;font-size:12px;text-align:center}
.ng-weather__days div{background:var(--ng-sand);border-radius:4px;padding:8px 2px}
.ng-weather__days b{display:block;color:var(--ng-deep);font-size:13px}
.ng-small{font-size:12.5px;color:var(--ng-muted)}
.ng-field{display:flex;flex-direction:column;gap:6px}
.ng-field label{font-size:13px;font-weight:600;color:var(--ng-deep)}
.ng-field input,.ng-field select,.ng-field textarea{min-height:48px;border:1px solid #C9D2DB;border-radius:var(--ng-radius);padding:10px 14px;font:inherit;background:#fff;width:100%}
.ng-converter{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.ng-converter__result{grid-column:1/-1;font-size:28px;font-weight:800;color:var(--ng-deep)}

/* Newsletter / réseaux */
.ng-social{display:flex;gap:10px}
.ng-social a{width:46px;height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff}
.ng-social a:hover{background:var(--ng-orange);color:var(--ng-deep)}
.ng-social svg{width:20px;height:20px}
.ng-news{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between}
.ng-news form{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 420px}
.ng-news input[type=email],.ng-news input[type=text]{flex:1 1 200px;min-height:52px;border:0;border-radius:999px;padding:0 20px;font:inherit}

/* Pied de page */
.ng-footer{background:#00284A;color:#C9D8E6;font-size:14.5px}
.ng-footer a{color:#C9D8E6}
.ng-footer a:hover{color:#fff}
.ng-footer__grid{display:grid;gap:40px;grid-template-columns:2fr 1fr 1fr 1.2fr;padding:64px 0 40px}
.ng-footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.ng-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ng-footer__bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}
@media (max-width:900px){.ng-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ng-footer__grid{grid-template-columns:1fr}.ng-section{padding:64px 0}}

/* Pages intérieures */
.ng-page-hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;color:#fff;background:var(--ng-deep) center/cover}
.ng-page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,24,44,.2),rgba(0,24,44,.8))}
.ng-page-hero .ng-wrap{position:relative;padding-bottom:48px;padding-top:96px;width:100%}
.ng-page-hero h1{color:#fff;font-size:clamp(36px,5.5vw,72px);margin:0}
.ng-page-hero .ng-meta{color:#E6EEF5;font-size:14px;margin-top:12px}
.ng-content{max-width:760px;margin:0 auto;padding:64px 28px;font-size:17.5px}
.ng-content h2{font-size:32px;margin-top:1.4em}
.ng-content h3{margin-top:1.3em}
.ng-content img{border-radius:var(--ng-radius)}
.ng-content .alignwide{max-width:1100px;margin-left:50%;transform:translateX(-50%);width:100vw}
.ng-content blockquote{border-left:4px solid var(--ng-orange);margin:1.5em 0;padding:.2em 0 .2em 1.2em;font-size:1.15em;color:var(--ng-deep)}
.ng-share{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:40px 0 0;padding-top:24px;border-top:1px solid var(--ng-line)}
.ng-share a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1px solid var(--ng-line);font-weight:600;font-size:14px;color:var(--ng-deep)}
.ng-pagination{display:flex;justify-content:center;gap:6px;margin:48px 0 0}
.ng-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid var(--ng-line);color:var(--ng-deep)}
.ng-pagination .current{background:var(--ng-deep);color:#fff}
.ng-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.ng-filters a{min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;border:2px solid var(--ng-deep);color:var(--ng-deep);font-weight:600;font-size:14px}
.ng-filters a.is-active{background:var(--ng-deep);color:#fff}

/* Publicité & partenariats */
.ng-stats{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.ng-stat{background:#fff;border-radius:var(--ng-radius);padding:24px;border-left:5px solid var(--ng-orange)}
.ng-stat b{display:block;font-size:34px;font-weight:800;color:var(--ng-deep);line-height:1.1}
.ng-stat span{font-size:14px;color:var(--ng-muted)}
.ng-stat em{display:block;font-style:normal;font-size:12px;color:var(--ng-blue);margin-top:6px;font-weight:600}
.ng-formats{counter-reset:f;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ng-format{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--ng-radius);padding:24px}
.ng-format::before{counter-increment:f;content:counter(f,upper-alpha);display:inline-flex;width:40px;height:40px;border-radius:999px;align-items:center;justify-content:center;background:var(--ng-orange);color:var(--ng-deep);font-weight:800;margin-bottom:12px}
.ng-form{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.ng-form .full{grid-column:1/-1}
@media (max-width:640px){.ng-form,.ng-converter{grid-template-columns:1fr}}
.ng-notice{padding:14px 18px;border-radius:var(--ng-radius);background:#E8F4FB;color:var(--ng-deep);margin-bottom:20px}
.ng-notice--error{background:#FDECEC;color:#8A1C1C}
.ng-hp{position:absolute;left:-9999px}
.ng-ad{display:block;margin:0 auto;text-align:center}
.ng-ad small{display:block;font-size:11px;color:var(--ng-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}

/* Abonnez-vous : réseaux sociaux */
.ng-follow{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.ng-follow__card{--net:#0874B5;display:flex;flex-direction:column;gap:6px;background:#fff;color:var(--ng-ink);border-radius:14px;padding:24px;border:1px solid var(--ng-line);border-top:6px solid var(--net);transition:transform .2s ease,box-shadow .2s ease}
.ng-follow__card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,59,101,.14);color:var(--ng-ink)}
.ng-follow__card--tiktok{--net:#111111}
.ng-follow__card--facebook{--net:#1877F2}
.ng-follow__card--instagram{--net:#C13584}
.ng-follow__icon{width:46px;height:46px;border-radius:12px;background:var(--net);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.ng-follow__icon svg{width:24px;height:24px}
.ng-follow__name{font-weight:700;color:var(--ng-deep);margin-top:8px}
.ng-follow__name small{display:block;font-weight:400;color:var(--ng-muted);font-size:13px}
.ng-follow__count{font-size:42px;font-weight:900;color:var(--ng-deep);line-height:1;margin-top:6px}
.ng-follow__label{font-size:14px;color:var(--ng-muted)}
.ng-follow__btn{margin-top:14px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--net);color:#fff;font-weight:600;font-size:15px;padding:0 20px}
.ng-follow--dark .ng-follow__card{border-color:transparent}

/* Audience pour annonceurs */
.ng-audience{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.ng-audience__card{--net:#0874B5;background:#fff;color:var(--ng-ink);border-radius:14px;padding:24px;border-top:6px solid var(--net)}
.ng-audience__card header{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.ng-audience__card header strong{display:block;color:var(--ng-deep);font-size:18px}
.ng-audience__card header small{color:var(--ng-muted);font-size:14px}
.ng-audience__card ul{list-style:none;margin:0;padding:0}
.ng-audience__card li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--ng-line)}
.ng-audience__card li b{font-size:24px;font-weight:800;color:var(--ng-deep)}
.ng-audience__card li span{font-size:14px;color:var(--ng-muted);text-align:right}
.ng-audience__card .ng-small{margin:12px 0 0}
.ng-section--deep .ng-small{color:#C9D8E6}

/* Bandeau annonceurs */
.ng-pitch{display:grid;gap:40px;grid-template-columns:1fr 1.4fr;align-items:center}
.ng-pitch__big{font-size:clamp(48px,6vw,84px);font-weight:900;line-height:.95;color:#fff;margin:0}
.ng-pitch__big span{color:var(--ng-orange)}
@media (max-width:900px){.ng-pitch{grid-template-columns:1fr}}

/* Rubriques */
.ng-intro{max-width:860px;font-size:19px;color:var(--ng-ink)}
.ng-intro p:first-child{font-size:22px;color:var(--ng-deep);font-weight:500}
.ng-themes{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:36px 0 0}
.ng-themes a{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--ng-radius);background:var(--ng-sand);color:var(--ng-deep);border-left:5px solid var(--ng-orange);min-height:120px}
.ng-themes a:nth-child(2n){border-left-color:var(--ng-blue)}
.ng-themes a:hover{background:#fff;box-shadow:0 10px 26px rgba(0,59,101,.1)}
.ng-themes strong{font-size:18px}
.ng-themes span{font-size:14px;color:var(--ng-muted)}
.ng-contact{display:grid;gap:40px;grid-template-columns:1fr 1.3fr}
@media (max-width:900px){.ng-contact{grid-template-columns:1fr}}

/* Carte GPS */
.ng-mapapp{display:grid;grid-template-columns:400px 1fr;height:calc(100vh - 77px);min-height:560px;background:#fff}
.ng-mapapp__panel{overflow-y:auto;border-right:1px solid var(--ng-line);padding:24px;display:flex;flex-direction:column}
.ng-mapapp__list,.ng-mapapp__detail{display:flex;flex-direction:column;gap:12px}
.ng-mapapp [hidden]{display:none!important}
.ng-mapapp__title{font-size:30px;margin:0}
.ng-mapapp__locate{width:100%}
.ng-mapapp__search{min-height:48px;border:1px solid #C9D2DB;border-radius:999px;padding:0 18px;font:inherit;width:100%}
.ng-mapapp__chips{display:flex;flex-wrap:wrap;gap:6px}
.ng-mapapp__chips button,.ng-mapapp__modes button{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--ng-deep);background:#fff;color:var(--ng-deep);font:600 13px var(--ng-font);cursor:pointer}
.ng-mapapp__chips button[aria-pressed=true],.ng-mapapp__modes button[aria-pressed=true]{background:var(--ng-deep);color:#fff}
.ng-mapapp__items{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.ng-mapapp__item{width:100%;display:flex;gap:12px;align-items:center;padding:10px 4px;border:0;border-bottom:1px solid var(--ng-line);background:none;text-align:left;cursor:pointer;font:inherit;color:var(--ng-ink)}
.ng-mapapp__item:hover{background:var(--ng-sand)}
.ng-mapapp__thumb{flex:0 0 56px;height:56px;border-radius:8px;background:#F39200 center/cover}
.ng-mapapp__thumb.is-ad{background-color:#0874B5}
.ng-mapapp__txt strong{display:block;color:var(--ng-deep);font-size:15px;line-height:1.3}
.ng-mapapp__txt small{color:var(--ng-muted);font-size:12.5px}
.ng-mapapp__back{align-self:flex-start;border:0;background:none;color:var(--ng-blue);font:600 14px var(--ng-font);cursor:pointer;padding:8px 0;min-height:44px}
.ng-mapapp__photo{height:180px;border-radius:10px;background:var(--ng-sand) center/cover}
.ng-mapapp__name{font-size:24px;margin:0}
.ng-mapapp__modes{display:flex;gap:6px}
.ng-mapapp__summary{background:#E8F4FB;border-radius:10px;padding:14px 16px;color:var(--ng-deep)}
.ng-mapapp__summary strong{font-size:22px}
.ng-mapapp__steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.ng-mapapp__steps li{cursor:pointer}
.ng-mapapp__steps small{color:var(--ng-muted)}
.ng-mapapp__ext{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ng-mapapp__mapwrap{position:relative}
.ng-mapapp__map{position:absolute;inset:0}
.ng-mapapp__recenter{position:absolute;right:14px;bottom:24px;z-index:500;width:48px;height:48px;border-radius:999px;border:0;background:#fff;color:var(--ng-blue);box-shadow:0 4px 14px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:900px){
  .ng-mapapp{grid-template-columns:1fr;grid-template-rows:52vh auto;height:auto}
  .ng-mapapp__mapwrap{order:-1;min-height:52vh}
  .ng-mapapp__panel{border-right:0;border-top:1px solid var(--ng-line)}
}

/* Mini-boutons et annonces */
.ng-mini-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;border:1.5px solid var(--ng-deep);color:var(--ng-deep);font-weight:600;font-size:13px;background:#fff}
.ng-mini-btn:hover{background:var(--ng-deep);color:#fff}
.ng-mini-btn--wa{border-color:#128C4A;color:#0E6B39}
.ng-mini-btn--wa:hover{background:#128C4A;color:#fff}
.ng-mini-btn--go{background:var(--ng-orange);border-color:var(--ng-orange);color:var(--ng-deep)}
.ng-ad-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--ng-radius);overflow:hidden}
.ng-ad-card .ng-card__img{display:block}
.ng-ad-card .ng-card__title a{color:var(--ng-deep)}
.ng-ad-card__price{font-weight:700;color:var(--ng-deep);margin:4px 0 0;font-size:15px}
.ng-ad-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ng-event--annuel .ng-event__date{background:#fff;border:2px solid var(--ng-deep)}
.ng-event--termine{opacity:.75}

/* Formulaire de demande */
.ng-typepick{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0 0 8px;padding:0;border:0}
.ng-typepick label{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px;border:2px solid var(--ng-line);border-radius:12px;cursor:pointer;font-weight:600;color:var(--ng-deep);background:#fff}
.ng-typepick input{position:absolute;opacity:0;width:1px;height:1px}
.ng-typepick label:has(input:checked){border-color:var(--ng-orange);background:#FFF6E8}
.ng-typepick input:focus-visible+span{outline:3px solid var(--ng-orange);outline-offset:4px}
.ng-typepick small{font-weight:400;color:var(--ng-muted);font-size:12.5px}
.ng-fieldset{border:0;margin:0;padding:0;display:contents}
.ng-fieldset[hidden]{display:none}
.ng-form legend{font-weight:700;color:var(--ng-deep);font-size:18px;margin:16px 0 4px;grid-column:1/-1}
.ng-checks{display:flex;flex-wrap:wrap;gap:8px}
.ng-checks label{display:inline-flex;gap:8px;align-items:center;min-height:44px;padding:0 14px;border:1.5px solid var(--ng-line);border-radius:999px;font-size:14px;cursor:pointer}
.ng-drop{border:2px dashed #C9D2DB;border-radius:12px;padding:20px;text-align:center;background:var(--ng-sand)}
.ng-previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;justify-content:center}
.ng-previews img{width:84px;height:84px;object-fit:cover;border-radius:8px}
.ng-form-step{grid-column:1/-1;font-size:18px;margin:18px 0 0}
.ng-typepick legend{margin-top:0}
.ng-typepick label.is-checked{border-color:var(--ng-orange);background:#FFF6E8}
.ng-total{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;background:var(--ng-deep);color:#fff;border-radius:14px;padding:28px 32px;margin-bottom:22px}
.ng-total b{display:block;font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1;color:var(--ng-orange)}
.ng-total span{display:block;font-size:16px;margin-top:6px}
.ng-total small{display:block;color:#C9D8E6;font-size:13px;margin-top:6px}
.ng-checks input[type=checkbox],.ng-checks input[type=radio]{min-height:0;width:18px;height:18px;padding:0;margin:0;flex:0 0 18px}

/* Sélecteur FR | EN */
.ng-lang{align-items:center;gap:2px;color:var(--ng-line)}
.ng-lang__btn{min-width:40px;min-height:40px;border:0;background:none;font:700 13px var(--ng-font);color:var(--ng-muted);cursor:pointer;border-radius:999px}
.ng-lang__btn[aria-pressed=true]{color:#fff;background:var(--ng-deep)}
/* Masque la barre Google Traduction */
.goog-te-banner-frame,.skiptranslate iframe,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd{display:none!important}
body{top:0!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}

/* ==========================================================================
   v1.5 – Magazine : cartes d'articles, article, galeries, édition
   ========================================================================== */
/* Ancien sélecteur de langue GTranslate : jamais affiché */
.gtranslate_wrapper,#gt_float_wrapper,.gt_float_switcher,.gt_switcher_wrapper,.gt-current-lang,a.glink{display:none!important}

.ng-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ng-blue);background:#E8F2FA;padding:6px 12px;border-radius:999px;align-self:flex-start}
.ng-chip:hover{background:var(--ng-blue);color:#fff}
.ng-chip--orange{background:var(--ng-orange);color:var(--ng-deep)}
.ng-chip--orange:hover{background:var(--ng-deep);color:#fff}

.ng-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 18px;margin:0 0 28px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ng-chips::-webkit-scrollbar{display:none}
.ng-chips a{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border-radius:999px;border:1px solid var(--ng-line);background:#fff;color:var(--ng-deep);font-weight:600;font-size:14px;white-space:nowrap}
.ng-chips a small{font-size:11px;color:var(--ng-muted);font-weight:600}
.ng-chips a:hover{border-color:var(--ng-blue);color:var(--ng-blue)}
.ng-chips a.is-active{background:var(--ng-deep);border-color:var(--ng-deep);color:#fff}
.ng-chips a.is-active small{color:#9EC3DF}

.ng-acard{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,59,101,.06);transition:transform .25s ease,box-shadow .25s ease}
.ng-acard:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,59,101,.13)}
.ng-acard__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ng-sand)}
.ng-acard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ng-acard:hover .ng-acard__img img{transform:scale(1.05)}
.ng-acard__body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.ng-acard__title{font-size:20px;line-height:1.28;margin:0;font-weight:700}
.ng-acard__title a{color:var(--ng-deep)}
.ng-acard__title a:hover{color:var(--ng-blue)}
.ng-acard__text{margin:0;color:var(--ng-muted);font-size:15px;line-height:1.6}
.ng-acard__meta{margin:auto 0 0;padding-top:6px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--ng-muted)}
.ng-acard__meta span+span::before{content:"•";margin-right:14px;color:var(--ng-orange)}
.ng-acard--feature{display:grid;grid-template-columns:1.15fr 1fr;margin-bottom:28px;border-radius:20px}
.ng-acard--feature .ng-acard__img{aspect-ratio:auto;min-height:420px}
.ng-acard--feature .ng-acard__body{padding:40px 44px;justify-content:center;gap:14px;border-top:6px solid var(--ng-orange)}
.ng-acard--feature .ng-acard__title{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.12}
.ng-acard--feature .ng-acard__text{font-size:17px}
.ng-acard--feature .ng-acard__meta{margin:0}
.ng-acard--feature .ng-btn{align-self:flex-start;margin-top:6px}
.ng-acard--mini .ng-acard__title{font-size:17px}
.ng-agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media (max-width:980px){.ng-agrid{grid-template-columns:repeat(2,1fr)}.ng-acard--feature{grid-template-columns:1fr}.ng-acard--feature .ng-acard__img{min-height:0;aspect-ratio:4/3}.ng-acard--feature .ng-acard__body{padding:26px 24px;border-top:0}}
@media (max-width:620px){.ng-agrid{grid-template-columns:1fr;gap:20px}.ng-acard__title{font-size:19px}}
.ng-empty{background:#fff;border-radius:16px;padding:28px;font-size:17px}

/* Accueil : histoire à la une lisible (image puis texte) */
.ng-story-main{display:flex;flex-direction:column;min-height:0;background:var(--ng-deep);border-radius:20px;overflow:hidden;color:#fff;align-items:stretch}
.ng-story-main::before{display:none}
.ng-story-main__img{display:block;aspect-ratio:16/10;overflow:hidden}
.ng-story-main__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ng-story-main:hover .ng-story-main__img img{transform:scale(1.04)}
.ng-story-main__txt{display:flex;flex-direction:column;gap:12px;padding:26px 28px 30px;border-top:6px solid var(--ng-orange)}
.ng-story-main__txt .ng-badge{align-self:flex-start}
.ng-story-main__txt strong{font-size:clamp(22px,2.4vw,30px);line-height:1.18;font-weight:800;color:#fff}
.ng-story-main__txt span:last-child{color:#CFE0EE;font-size:15.5px}
.ng-story-main:hover{color:#fff}

/* Article */
.ng-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:200;pointer-events:none}
.ng-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ng-orange),var(--ng-blue))}
.ng-ahead{background:linear-gradient(180deg,var(--ng-sand),#fff);padding:48px 24px 36px}
.ng-ahead__wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ng-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--ng-muted)}
.ng-crumbs a{color:var(--ng-muted)}
.ng-crumbs a:hover{color:var(--ng-blue)}
.ng-ahead h1{font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.06;letter-spacing:-.01em;margin:0}
.ng-ahead__lead{font-size:clamp(18px,2vw,21px);line-height:1.55;color:#3D4F60;margin:0;max-width:760px}
.ng-ahead__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:14px;color:var(--ng-muted);padding-top:6px}
.ng-ahead__meta>span+span::before{content:"•";margin-right:18px;color:var(--ng-orange)}
.ng-ahead__author{display:inline-flex;align-items:center;gap:10px;color:var(--ng-deep)}
.ng-ahead__author img{width:38px;height:38px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--ng-line)}
.ng-afigure{max-width:1100px;margin:0 auto;padding:0 24px}
.ng-afigure a{display:block;background:var(--ng-sand);border-radius:20px;overflow:hidden}
.ng-afigure img{display:block;width:100%;height:auto;max-height:82vh;object-fit:contain;margin:0 auto}
.ng-afigure figcaption{font-size:13px;color:var(--ng-muted);padding:10px 4px 0}
.ng-abody{max-width:1000px;margin:0 auto;padding:48px 24px 72px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:40px}
.ng-arail{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;align-items:center;gap:10px}
.ng-arail span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ng-muted);writing-mode:vertical-rl;transform:rotate(180deg);margin-bottom:6px}
.ng-arail a,.ng-arail button{width:46px;height:46px;border-radius:50%;border:1px solid var(--ng-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;color:var(--ng-deep);cursor:pointer;transition:all .2s}
.ng-arail a:hover,.ng-arail button:hover,.ng-arail button.is-done{background:var(--ng-deep);border-color:var(--ng-deep);color:#fff}
.ng-arail svg{width:20px;height:20px}
.ng-prose{max-width:720px;font-size:18.5px;line-height:1.8;color:#1D2B38}
.ng-prose>p:first-of-type::first-letter{float:left;font-size:4.2em;line-height:.85;font-weight:800;color:var(--ng-orange);margin:.08em .12em 0 0}
.ng-prose p{margin:0 0 1.35em}
.ng-prose h2{font-size:clamp(26px,3vw,32px);margin:1.8em 0 .7em;padding-top:.5em;position:relative}
.ng-prose h2::before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;background:var(--ng-orange);border-radius:2px}
.ng-prose h3{font-size:23px;margin:1.6em 0 .6em}
.ng-prose a{color:var(--ng-blue);text-decoration:underline;text-decoration-color:rgba(8,116,181,.35);text-underline-offset:3px}
.ng-prose img{border-radius:14px;height:auto}
.ng-prose figure{margin:2em 0}
.ng-prose figcaption{font-size:14px;color:var(--ng-muted);text-align:center;margin-top:8px}
.ng-prose blockquote{margin:2em 0;padding:28px 30px 24px 64px;background:var(--ng-sand);border-radius:16px;border:0;position:relative;font-size:21px;line-height:1.55;color:var(--ng-deep);font-weight:500}
.ng-prose blockquote::before{content:"“";position:absolute;left:20px;top:6px;font-size:76px;line-height:1;color:var(--ng-orange);font-weight:800}
.ng-prose ul,.ng-prose ol{padding-left:1.3em;margin:0 0 1.35em}
.ng-prose li{margin:.35em 0}
.ng-prose li::marker{color:var(--ng-orange);font-weight:700}
.ng-prose .wp-block-gallery,.ng-prose .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.ng-prose .wp-block-gallery img,.ng-prose .gallery img{width:100%;aspect-ratio:1;object-fit:cover}
.ng-prose .alignwide,.ng-prose .alignfull{margin-left:0;margin-right:0;width:100%}
.ng-embed{margin:2em 0;border-radius:16px;overflow:hidden}
.ng-embed iframe{width:100%;aspect-ratio:16/9;height:auto}
.ng-tags{display:flex;flex-wrap:wrap;gap:8px;margin:2em 0 0}
.ng-tags a{font-size:14px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--ng-sand);color:var(--ng-deep);text-decoration:none}
.ng-aend{margin-top:48px;padding:26px 28px;border-radius:18px;background:var(--ng-deep);color:#fff;display:flex;flex-direction:column;gap:6px}
.ng-aend strong{font-size:22px}
.ng-aend p{margin:0;color:#CFE0EE;font-size:16px}
.ng-aend .ng-share{border-top:0;margin:8px 0 0;padding:0}
.ng-aend .ng-share strong{display:none}
.ng-aend .ng-share a{border-color:rgba(255,255,255,.3);color:#fff;text-decoration:none}
.ng-aend .ng-share a:hover{background:var(--ng-orange);border-color:var(--ng-orange);color:var(--ng-deep)}
@media (max-width:820px){.ng-abody{grid-template-columns:1fr;padding:32px 20px 56px;gap:0}.ng-arail{position:fixed;top:auto;bottom:18px;left:50%;transform:translateX(-50%);flex-direction:row;background:rgba(255,255,255,.96);padding:6px 8px;border-radius:999px;box-shadow:0 10px 30px rgba(0,30,55,.18);z-index:90}.ng-arail span{display:none}.ng-arail a,.ng-arail button{width:42px;height:42px;border:0}.ng-prose{font-size:17.5px}.ng-ahead{padding:32px 20px 24px}.ng-afigure{padding:0 12px}.ng-afigure a{border-radius:14px}}
.ng-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:48px;padding-bottom:48px}
.ng-prevnext a{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--ng-line);color:var(--ng-deep)}
.ng-prevnext a:last-child{text-align:right;grid-template-columns:1fr 84px}
.ng-prevnext a:last-child .thumb{order:2}
.ng-prevnext a:hover{border-color:var(--ng-blue)}
.ng-prevnext .thumb{aspect-ratio:1;border-radius:10px;background:var(--ng-sand) center/cover}
.ng-prevnext small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ng-orange);margin-bottom:4px}
.ng-prevnext strong{font-size:15.5px;line-height:1.35}
@media (max-width:700px){.ng-prevnext{grid-template-columns:1fr}}

/* Galerie photos + agrandissement */
.ng-pgallery{margin:48px 0 0}
.ng-pgallery h2{font-size:26px}
.ng-pgallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:10px}
.ng-pgallery__grid a{display:block;border-radius:12px;overflow:hidden;background:var(--ng-sand)}
.ng-pgallery__grid a:first-child{grid-column:span 2;grid-row:span 2}
.ng-pgallery__grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ng-pgallery__grid a:hover img{transform:scale(1.06)}
.ng-pgallery__grid--1{grid-template-columns:1fr;grid-auto-rows:auto}.ng-pgallery__grid--1 a:first-child{grid-column:auto;grid-row:auto}
.ng-pgallery__grid--2{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.ng-pgallery__grid--2 a:first-child{grid-column:auto;grid-row:auto}
@media (max-width:620px){.ng-pgallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px}}
.ng-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,18,34,.94);display:flex;align-items:center;justify-content:center;padding:20px}
.ng-lightbox[hidden]{display:none}
.ng-lightbox figure{margin:0;max-width:min(1200px,92vw);text-align:center}
.ng-lightbox img{max-width:100%;max-height:84vh;border-radius:8px}
.ng-lightbox figcaption{color:#CFE0EE;font-size:14px;margin-top:10px}
.ng-lightbox button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.ng-lightbox button:hover{background:var(--ng-orange);color:var(--ng-deep)}
.ng-lightbox__close{top:16px;right:16px}
.ng-lightbox__prev{left:16px;top:50%;transform:translateY(-50%)}
.ng-lightbox__next{right:16px;top:50%;transform:translateY(-50%)}

/* Barre « Modifier » visible seulement par l'administrateur */
.ng-editbar{position:fixed;right:16px;bottom:16px;z-index:150;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.ng-editbar a{background:var(--ng-deep);color:#fff;font-size:13px;font-weight:600;padding:9px 14px;border-radius:999px;box-shadow:0 8px 20px rgba(0,30,55,.25)}
.ng-editbar a:first-child{background:var(--ng-orange);color:var(--ng-deep)}
@media (max-width:820px){.single-post .ng-editbar{bottom:84px}}

/* v1.6 – Confirmation, étapes, Wave, proposition */
.ng-thanks{background:#fff;border-radius:20px;padding:40px 32px;box-shadow:0 18px 44px rgba(0,59,101,.10);border-top:6px solid var(--ng-orange);text-align:center}
.ng-thanks__icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;background:#E3F4E8;color:#1E6B34;font-size:40px;font-weight:800;display:flex;align-items:center;justify-content:center}
.ng-thanks h2{font-size:clamp(24px,3vw,32px)}
.ng-thanks>p{max-width:620px;margin:0 auto 16px;color:var(--ng-muted)}
.ng-thanks__ref{display:inline-block;background:var(--ng-sand);color:var(--ng-deep)!important;font-weight:700;padding:6px 14px;border-radius:999px}
.ng-thanks .ng-steps,.ng-thanks .ng-wave{text-align:left}
.ng-thanks__btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px!important}
.ng-steps{list-style:none;counter-reset:s;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.ng-steps li{counter-increment:s;background:#fff;border-radius:14px;padding:18px 18px 18px 64px;position:relative;font-size:14.5px;color:var(--ng-muted);border:1px solid var(--ng-line)}
.ng-steps li::before{content:counter(s);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--ng-deep);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.ng-steps li strong{display:block;color:var(--ng-deep);font-size:16px;margin-bottom:2px}
.ng-wave{display:flex;gap:18px;align-items:flex-start;background:#E9F6FE;border:2px solid #1DC8FF;border-radius:18px;padding:22px;margin:20px 0}
.ng-wave__logo{flex:0 0 56px;height:56px;border-radius:16px;background:#1DC8FF;color:#fff;font-weight:900;font-size:30px;display:flex;align-items:center;justify-content:center}
.ng-wave strong{font-size:18px;color:var(--ng-deep)}
.ng-wave p{margin:6px 0 0;color:#2A4459}
.ng-wave__num{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ng-wave__num span{font-size:26px;font-weight:800;color:var(--ng-deep);letter-spacing:.03em}
.ng-wave__num small{color:var(--ng-muted);font-weight:600}
.ng-wave__num .ng-btn{min-height:40px;padding:0 16px;font-size:13px}
.ng-offer{padding:56px 20px 80px;background:var(--ng-sand)}
.ng-offer__card{max-width:760px;margin:0 auto;background:#fff;border-radius:22px;padding:40px 36px;box-shadow:0 18px 44px rgba(0,59,101,.10);border-top:6px solid var(--ng-orange)}
.ng-offer__card h1{font-size:clamp(28px,4vw,40px)}
.ng-offer__hello{color:var(--ng-muted);font-size:17px}
.ng-offer__box{background:var(--ng-sand);border-radius:14px;padding:20px 22px;margin:20px 0}
.ng-offer__box h2,.ng-offer__form h2{font-size:20px;margin-bottom:8px}
.ng-offer__amount{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ng-deep);color:#fff;border-radius:14px;padding:18px 22px;margin:20px 0}
.ng-offer__amount strong{font-size:30px;font-weight:800;color:var(--ng-orange)}
.ng-offer__form{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.ng-offer__form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--ng-deep);font-size:14px}
@media (max-width:560px){.ng-offer__card,.ng-thanks{padding:28px 20px}.ng-wave{flex-direction:column}}

/* v1.7 – Guide pratique */
.ng-guide{max-width:860px}
.ng-guide__lead{font-size:20px;color:var(--ng-deep);font-weight:500}
.ng-guide h2{position:relative;padding-top:.5em}
.ng-guide h2::before{content:"";position:absolute;top:0;left:0;width:54px;height:4px;background:var(--ng-orange);border-radius:2px}
.ng-guide ul{list-style:none;padding:0;display:grid;gap:10px}
.ng-guide ul li{background:#fff;border:1px solid var(--ng-line);border-left:4px solid var(--ng-blue);border-radius:12px;padding:14px 18px;font-size:16px}
.ng-guide ul li strong{color:var(--ng-deep)}
.ng-guide__words{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ng-guide__words li{border-left-color:var(--ng-orange)!important;display:flex;flex-direction:column}
.ng-guide__words li strong{font-size:18px}

/* v1.8 – Formulaire publicité simplifié */
.ng-formule{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:0;padding:0;margin:0 0 6px}
.ng-formule legend{grid-column:1/-1;margin-bottom:6px}
.ng-formule__card{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px;border:2px solid var(--ng-line);border-radius:16px;background:#fff;cursor:pointer;transition:all .2s}
.ng-formule__card input{position:absolute;opacity:0;width:1px;height:1px}
.ng-formule__card svg{width:34px;height:34px;color:var(--ng-blue)}
.ng-formule__card strong{font-size:17px;color:var(--ng-deep);line-height:1.25}
.ng-formule__card span{font-size:14px;color:var(--ng-muted)}
.ng-formule__card:hover{border-color:var(--ng-blue)}
.ng-formule__card:has(input:checked),.ng-formule__card.is-checked{border-color:var(--ng-orange);background:#FFF6E8;box-shadow:0 10px 24px rgba(243,146,0,.15)}
.ng-formule__card:has(input:checked) svg,.ng-formule__card.is-checked svg{color:var(--ng-orange)}
.ng-formule__card:has(input:focus-visible){outline:3px solid var(--ng-orange);outline-offset:3px}
.ng-canaux{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:16px 18px;margin:0 0 6px;background:var(--ng-sand);border-radius:14px}
.ng-canaux[hidden]{display:none}
.ng-canaux legend{float:left;width:100%;font-weight:700;color:var(--ng-deep);font-size:14px;margin-bottom:10px}
.ng-canal{cursor:pointer}
.ng-canal input{position:absolute;opacity:0;width:1px;height:1px}
.ng-canal span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:2px solid var(--ng-line);background:#fff;font-weight:600;color:var(--ng-deep);font-size:14.5px}
.ng-canal:has(input:checked) span{border-color:var(--ng-blue);background:var(--ng-blue);color:#fff}
.ng-canal input:focus-visible+span{outline:3px solid var(--ng-orange);outline-offset:2px}
.ng-typepick--chips{display:flex;flex-wrap:wrap;gap:8px}
.ng-typepick--chips label{flex-direction:row;padding:10px 16px;border-radius:999px;font-size:14px}
@media (max-width:760px){.ng-formule{grid-template-columns:1fr}}

/* Préchargeur */
.ng-preloader{position:fixed;inset:0;z-index:99999;background:radial-gradient(circle at 50% 45%,#0A5A93 0%,#003B65 55%,#00284A 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .45s ease,visibility .45s;animation:ngPreFail .4s 5s forwards}
.ng-preloader.is-done{opacity:0;visibility:hidden}
.ng-preloader__inner{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center}
.ng-preloader__inner img{width:96px;height:96px;border-radius:50%;background:#fff;object-fit:contain;padding:4px;animation:ngPrePulse 1.6s ease-in-out infinite;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.ng-preloader__inner strong{color:#fff;font-weight:900;font-size:20px;letter-spacing:.05em}
.ng-preloader__ring{position:absolute;inset:0;border-radius:50%;border:4px solid rgba(255,255,255,.15);border-top-color:#F39200;border-right-color:#F39200;animation:ngPreSpin 1s linear infinite}
.ng-preloader__tag{color:#CFE0EE;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
@keyframes ngPreSpin{to{transform:rotate(360deg)}}
@keyframes ngPrePulse{0%,100%{transform:scale(1)}50%{transform:scale(.92)}}
@keyframes ngPreFail{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.ng-preloader__ring,.ng-preloader__inner img{animation:none}}

/* v1.9 – Équipements des annonces */
.ng-amen-mini{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:6px 0 2px;padding:0}
.ng-amen-mini li{width:36px;height:36px;border-radius:10px;background:#E8F2FA;color:var(--ng-blue);display:flex;align-items:center;justify-content:center;position:relative}
.ng-amen-mini li.more{font-size:12px;font-weight:700;color:var(--ng-deep);background:var(--ng-sand)}
.ng-amen-mini li[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ng-deep);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;padding:5px 9px;border-radius:6px;z-index:5}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ng-amen{margin:36px 0 8px}
.ng-amen h2{font-size:24px}
.ng-amen ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.ng-amen li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ng-line);border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.3;font-weight:500;color:var(--ng-deep)}
.ng-amen li svg{flex:0 0 24px;color:var(--ng-orange)}

/* v2.0 – Billetterie */
.ng-buy{margin:40px 0 0;background:#fff;border:2px solid #1DC8FF;border-radius:22px;padding:26px;box-shadow:0 18px 44px rgba(0,59,101,.08)}
.ng-buy__head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.ng-buy__head h2{margin:0;font-size:26px}
.ng-buy__head p{margin:2px 0 0;color:var(--ng-muted);font-size:14px}
.ng-buy__types{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.ng-buy__type{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:14px 16px;border:1.5px solid var(--ng-line);border-radius:14px}
.ng-buy__type strong{display:block;color:var(--ng-deep);font-size:17px}
.ng-buy__type span{display:block;color:var(--ng-muted);font-size:13.5px}
.ng-buy__type em{display:block;font-style:normal;color:#B26A00;font-size:12.5px;font-weight:600}
.ng-buy__type b{font-size:17px;color:var(--ng-deep);white-space:nowrap}
.ng-buy__type.is-out{opacity:.55}
.ng-qty{display:flex;align-items:center;border:1.5px solid var(--ng-line);border-radius:999px;overflow:hidden}
.ng-qty button{width:42px;height:42px;border:0;background:var(--ng-sand);font-size:20px;font-weight:700;color:var(--ng-deep);cursor:pointer}
.ng-qty input{width:44px;height:42px;border:0;text-align:center;font:inherit;font-weight:700;font-size:16px;-moz-appearance:textfield}
.ng-qty input::-webkit-inner-spin-button{display:none}
.ng-buy__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ng-buy__fields label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px;color:var(--ng-deep)}
.ng-buy__fields .full{grid-column:1/-1}
.ng-buy__fields input[type=text],.ng-buy__fields input[type=tel],.ng-buy__fields input[type=email]{min-height:48px;border:1.5px solid var(--ng-line);border-radius:12px;padding:0 14px;font:inherit;background:#F7F9FB}
.ng-buy__cgv{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important;color:var(--ng-muted)!important}
.ng-buy__cgv input{width:20px;height:20px;margin-top:2px;accent-color:var(--ng-orange);flex:0 0 20px}
.ng-buy__total{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px;padding:16px 18px;background:var(--ng-deep);color:#fff;border-radius:14px}
.ng-buy__total strong{font-size:26px;color:var(--ng-orange)}
.ng-buy__pay{width:100%;min-height:60px;border:0;border-radius:999px;background:#1DC8FF;color:#00284A;font:inherit;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background .2s}
.ng-buy__pay:hover{background:#00B4EE}
.ng-buy__pay:disabled{opacity:.5;cursor:not-allowed}
.ng-buy__pay .ng-wave__logo{flex:0 0 36px;height:36px;font-size:20px;border-radius:10px;background:#fff;color:#1DC8FF}
@media (max-width:620px){.ng-buy{padding:18px}.ng-buy__type{grid-template-columns:1fr auto}.ng-buy__type .ng-qty{grid-column:1/-1;justify-self:start}.ng-buy__fields{grid-template-columns:1fr}}
.ng-tix{max-width:860px;margin:0 auto;padding:48px 20px 72px}
.ng-tix__head{text-align:center;margin-bottom:20px}
.ng-tix__head h1{font-size:clamp(28px,4vw,42px)}
.ng-tix__head p{color:var(--ng-muted)}
.ng-tix__actions{text-align:center}
.ng-tix__list{display:flex;flex-direction:column;gap:18px;margin-top:20px}
.ng-ticket{display:grid;grid-template-columns:1fr auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 14px 36px rgba(0,59,101,.12);border:1px solid var(--ng-line);page-break-inside:avoid}
.ng-ticket__main{padding:24px 26px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(135deg,var(--ng-deep),#0A5A93);color:#fff;position:relative}
.ng-ticket__main::after{content:"";position:absolute;right:-12px;top:0;bottom:0;width:24px;background:radial-gradient(circle at 12px 12px,#fff 7px,transparent 8px) 0 0/24px 24px repeat-y}
.ng-ticket__brand{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--ng-orange)}
.ng-ticket__event{font-size:22px;font-weight:800;line-height:1.2}
.ng-ticket__type{font-weight:600;color:#CFE0EE}
.ng-ticket__holder{font-size:17px;font-weight:600;margin-top:auto}
.ng-ticket__code{font-family:ui-monospace,Menlo,monospace;letter-spacing:.12em;font-size:15px;color:#9EC3DF}
.ng-ticket__flag{align-self:flex-start;background:#B32D2E;color:#fff;font-weight:700;padding:4px 10px;border-radius:999px;font-size:13px}
.ng-ticket__qr{padding:18px;display:flex;align-items:center;justify-content:center;background:#fff}
.ng-ticket__qr svg{width:200px;height:200px}
.ng-ticket.is-used,.ng-ticket.is-cancelled{opacity:.6}
.ng-thanks__icon--wait{background:#E8F2FA;color:var(--ng-blue);font-size:34px}
.ng-thanks__icon--err{background:#FDECEC;color:#B32D2E}
@media (max-width:620px){.ng-ticket{grid-template-columns:1fr}.ng-ticket__main::after{display:none}.ng-ticket__qr svg{width:240px;height:240px}}
@media print{.ng-header,.ng-footer,.ng-tix__actions,.ng-notice,.ng-editbar,.ng-preloader,.ng-small{display:none!important}.ng-ticket{box-shadow:none;border:1px solid #999}.ng-ticket__main{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Logo Wave officiel */
img.ng-wave__logo{display:block;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:none;padding:0;object-fit:contain;box-shadow:0 4px 12px rgba(29,200,255,.35)}
.ng-buy__pay img.ng-wave__logo{flex:0 0 38px;width:38px;height:38px;box-shadow:none;border:2px solid #fff;border-radius:50%;background:none}

/* 2.1 – frais de service et conditions */
.ng-buy__types b small{display:block;font-size:12px;font-weight:500;color:#6B7A88}
.ng-buy__total small{display:block;font-size:12px;font-weight:500;color:#6B7A88}
.ng-buy__policy{margin:14px 0 0;background:#F6F9FC;border:1px solid #E1E9F1;border-radius:12px;padding:10px 14px;font-size:14px}
.ng-buy__policy summary{cursor:pointer;font-weight:700;color:#003B65}
.ng-buy__policy p{margin:8px 0 0;color:#425466}
.ng-hero__sub{margin:12px 0 0}

/* 2.2 – titre principal de l'accueil (marque + signature dans le même H1) */
.ng-hero__h1{margin:0;font-weight:inherit}.ng-hero__h1 .ng-hero__brand,.ng-hero__h1 .ng-hero__sign{display:block}
