
:root{
 --navy:#081a33;--red:#df3a34;--gold:#e9ad45;--green:#2d6144;
 --text:#111b2d;--muted:#657080;--bg:#fff;--soft:#f7f9fb;--line:#e4e8ed;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}
a{text-decoration:none;color:inherit}
.site-header{height:78px;background:#fff;border-bottom:1px solid #eef1f4;position:relative;z-index:20;overflow:visible}
.header-inner{max-width:1260px;height:100%;margin:auto;padding:0 24px 4px;display:flex;align-items:flex-start;gap:18px;position:relative}
.brand{display:flex;align-items:flex-start;gap:9px;min-width:250px;flex:0 0 auto}
.brand-rooster{width:112px;height:112px;flex:0 0 112px;position:relative;z-index:30;display:block;margin-top:8px}.brand-rooster img{display:block;width:100%;height:100%;object-fit:contain}
.brand-name{display:flex;flex-direction:column;justify-content:flex-start;padding-top:15px}
.brand-name strong{display:block;font-size:28px;line-height:1;font-weight:800;color:#13233b}
.brand-name strong span{color:#df3a34}
.main-nav{display:flex;align-items:center;justify-content:center;gap:23px;flex:1;align-self:flex-start;margin-top:19px}
.main-nav a{font-size:13px;font-weight:800;white-space:nowrap}
.main-nav a span{margin-right:7px;font-size:14px}
.main-nav b{font-size:11px;margin-left:3px}
.header-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;flex:0 0 auto;margin-top:4px}
.cm-music-toggle{width:48px;height:48px;border:0;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;color:#050505;position:absolute;z-index:35;left:185px;top:35px}
.cm-music-toggle:hover{transform:scale(1.04)}
.cm-music-toggle:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:8px}
.cm-music-icon{width:46px;height:46px;display:block;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.cm-music-icon-on{display:block}.cm-music-icon-off{display:none}
.cm-music-toggle.is-muted .cm-music-icon-on{display:none}.cm-music-toggle.is-muted .cm-music-icon-off{display:block}

.hero-m6{height:455px;position:relative;overflow:visible}
.hero-photo{position:absolute;inset:0;background-image:url("../images/hero.png");background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,38,75,.83) 0%,rgba(4,38,75,.58) 32%,rgba(4,38,75,.02) 72%)}
.hero-inner{position:relative;z-index:2;max-width:1260px;margin:auto;height:100%;padding:45px 24px}
.hero-copy{width:100%;color:#fff;display:block}
.hero-title{max-width:535px}
.hero-script{font-family:"Brush Script MT","Segoe Script",cursive;font-size:56px;line-height:.85;font-weight:700}
.hero-script-small{font-size:39px;line-height:.95;margin-top:8px}
.category-bar{position:absolute;z-index:15;left:50%;bottom:150px;transform:translateX(-50%);width:min(890px,94%);height:90px;background:#fff;border-radius:16px;box-shadow:0 8px 25px rgba(10,28,50,.16);display:grid;grid-template-columns:repeat(7,1fr);align-items:center}
.category-bar a{text-align:center;font-size:12px}
.category-bar span{display:block;font-size:30px;line-height:1;margin-bottom:7px}
.category-bar b{display:block;line-height:1.25}

.container-m6{max-width:1260px;margin:-135px auto 0;padding:0 24px 40px;position:relative;z-index:9}
.main-grid{display:grid;grid-template-columns:43% 57%;gap:14px}
.panel-m6{border:1px solid #e2e6ea;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(10,28,50,.04);padding:17px}
.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.panel-title h2{font-size:20px;margin:0 0 5px}
.panel-title p{margin:0;color:#444;font-size:12px}
.see-all{font-size:12px;font-weight:700;white-space:nowrap;margin-top:5px}
.heart-red{color:var(--red)}
.regions-content{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;margin-top:8px;align-items:center}
.map-box{display:block;height:260px;background:#fff;overflow:hidden}
.france-map-svg{width:100%;height:100%;filter:drop-shadow(0 7px 7px rgba(0,0,0,.12))}
.map-box a path{cursor:pointer;transition:filter .18s ease,opacity .18s ease;outline:none}.map-box a:hover path,.map-box a:focus path{filter:brightness(1.08) saturate(1.08);opacity:.9}.map-box a:focus{outline:none}.map-box a:hover text{opacity:1}

.region-names{padding-top:4px}
.region-names a{display:grid;grid-template-columns:12px 1fr 12px;align-items:center;gap:5px;font-size:12px;padding:4px 0}
.region-names a:hover{color:var(--green);font-weight:700}
.region-names b{font-size:17px;color:#8b929b}
.dot{width:10px;height:10px;border-radius:50%;background:#7aa8b8}
.region-names a:nth-child(2n) .dot{background:#93b273}
.region-names a:nth-child(3n) .dot{background:#f1b74d}
.region-names a:nth-child(4n) .dot{background:#a992cb}
.map-tip{font-size:10px;margin-top:3px;color:#222}
.fav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.fav-card{border:1px solid #e1e5e9;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.05)}
.fav-photo{height:104px;background-color:#c9d4c3;background-position:center;background-size:cover;position:relative;display:flex;align-items:flex-start}
.fav-photo.cafe{background-image:url("../images/cafe.svg")}
.fav-photo.jardin{background-image:url("../images/jardin.svg")}
.fav-photo.boutique{background-image:url("../images/boutique.svg")}
.fav-photo.marche{background-image:url("../images/marche.svg")}
.fav-photo.village{background-image:url("../images/village.svg")}
.fav-photo.patrimoine{background-image:url("../images/patrimoine.svg")}
.fav-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(40,83,57,.2),rgba(255,255,255,.05))}
.fav-photo span{position:relative;z-index:1;color:#fff;background:rgba(0,0,0,.45);padding:4px 7px;font-size:10px;border-radius:0 0 7px 0}
.fav-body{padding:8px 9px}
.fav-body h3{font-size:14px;margin:0 0 3px}
.fav-body p{font-size:11px;margin:0 0 5px}
.fav-meta{display:flex;align-items:center;gap:5px;font-size:11px}
.fav-meta strong{color:#e3a62d}
.fav-meta span{color:#69727c}
.fav-meta em{margin-left:auto;background:#e5f2e7;color:#28613e;border-radius:8px;padding:2px 6px;font-style:normal;font-size:9px}

.values-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #f0e4e4;border-radius:12px;margin-top:12px;background:#fff9f9}
.values-strip>div{min-height:74px;padding:12px 18px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.values-strip>div+div{border-left:1px solid #eee1e1}
.values-strip span{grid-row:1/3;font-size:32px;color:var(--red);text-align:center}
.values-strip b{font-size:12px}
.values-strip small{font-size:10px;color:#5d626a}

.daily-strip{margin-top:10px;background:var(--navy);color:#fff;border-radius:0;padding:18px 24px;display:grid;grid-template-columns:1.45fr .75fr .75fr .75fr 1.55fr;gap:15px;align-items:center;position:relative}
.daily-intro{display:flex;gap:12px;align-items:center}
.daily-rooster{font-size:42px}
.daily-intro h2{font-size:19px;margin:0 0 5px}
.daily-intro p{font-size:11px;margin:0}
.daily-item{display:flex;gap:10px;align-items:center}
.daily-item>span{font-size:30px}
.daily-item b{font-size:13px}
.daily-item small{display:block;font-size:9px;font-weight:400;margin-top:2px}

.site-footer{height:60px;background:#f4f5f7;display:flex;align-items:center}
.site-footer>div{max-width:1260px;width:100%;margin:auto;padding:0 24px;color:#5d6570;font-size:11px}
.site-footer strong{font-weight:800}


/* Carte France réelle — SVG des régions, rendu inline pour que le survol corresponde exactement aux régions */
.real-map-wrap{position:relative;width:100%;height:260px;overflow:hidden;border-radius:10px;background:#fff}
.france-map{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2px}
.france-map::after{content:"";position:absolute;z-index:20;top:0;right:0;width:23%;height:38%;background:#fff;pointer-events:auto}
.france-map .france-svg{display:block;width:100%;height:100%;max-width:360px;overflow:visible}
.france-map .region-link{cursor:pointer;outline:none}
.france-map .region-link path{fill:#b7b9bb;stroke:#fff;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:fill .16s ease,stroke .16s ease,filter .16s ease}
.france-map .region-link:hover path,
.france-map .region-link:focus path{fill:#e7b34e;stroke:#315c3d;stroke-width:1.8;filter:drop-shadow(0 1px 1px rgba(49,92,61,.20))}
.france-map .region-link:focus-visible path{stroke:#0b294d;stroke-width:2.6}
.france-map .map-fallback-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 6px 5px rgba(0,0,0,.10))}
.france-map.is-loaded .map-fallback-image{display:none}
.map-tip{display:flex;align-items:center;gap:4px}
@media(max-width:1050px){
 .category-bar{transform:translateX(-50%)}
 .brand{min-width:220px}.main-nav{gap:14px}.cm-music-toggle{width:44px;height:44px;left:185px;top:36px}.cm-music-icon{width:42px;height:42px}
 .main-grid{grid-template-columns:1fr}.fav-grid{grid-template-columns:repeat(3,1fr)}
 .regions-content{grid-template-columns:1.25fr .75fr}
 .daily-strip{grid-template-columns:1.4fr .7fr .7fr 1.4fr}
 .daily-item:nth-of-type(4){display:none}
}
@media(max-width:760px){
 .site-header{height:auto}
 .header-inner{padding:4px 10px 6px;flex-wrap:wrap;gap:6px 10px;align-items:flex-start}
 .brand{order:1;min-width:0;flex:1 1 auto;align-items:flex-start;gap:9px}
 .brand-rooster{width:112px;height:112px;flex-basis:112px;margin-top:0}
 .brand-name{padding-top:12px}.brand-name strong{font-size:28px}
 .cm-music-toggle{left:171px;top:39px;width:44px;height:44px}.cm-music-icon{width:42px;height:42px}
 .header-actions{order:2;width:100%;min-width:0;margin-top:0;display:block}
 .main-nav{order:3;width:100%;margin-top:2px;overflow-x:auto;justify-content:flex-start}
 .hero-m6{height:560px}.hero-inner{padding:38px 22px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:30px}.hero-title{max-width:100%}
 .hero-script{font-size:50px}.hero-script-small{font-size:34px}
 .category-bar{width:94%;height:82px}
 .category-bar span{font-size:24px}.category-bar b{font-size:10px}
 .regions-content{grid-template-columns:1fr}.map-box{height:280px}.region-names{display:grid;grid-template-columns:1fr 1fr}
 .fav-grid{grid-template-columns:repeat(2,1fr)}
 .values-strip{grid-template-columns:1fr 1fr}
 .values-strip>div:nth-child(3){border-left:0;border-top:1px solid #eee1e1}.values-strip>div:nth-child(4){border-top:1px solid #eee1e1}
 .daily-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
 .main-nav a{font-size:11px}
 .hero-script{font-size:42px}.hero-script-small{font-size:30px}
  .category-bar{bottom:-35px;height:105px;grid-template-columns:repeat(4,1fr);padding:8px}
 .container-m6{margin-top:-70px;padding-top:0}.fav-grid{grid-template-columns:1fr}
 .values-strip{grid-template-columns:1fr}.values-strip>div+div{border-left:0;border-top:1px solid #eee1e1}
}

/* =========================================================
   PAGES INTERNES — même identité graphique que Maquette 6
   ========================================================= */
.page-wrap{max-width:1260px;margin:0 auto;padding:26px 24px 60px}
.breadcrumb-m6{font-size:12px;color:#737c88;margin-bottom:18px;transform:translateX(clamp(0px,calc((100vw - 1212px)/2),110px))}
.breadcrumb-m6 a{color:var(--green);font-weight:700}
.page-hero{background:linear-gradient(135deg,#f7faf7,#fff);border:1px solid #e2e7eb;border-radius:14px;padding:25px 28px;margin-bottom:18px}
.page-hero .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:800}
.page-hero h1{font-size:38px;margin:5px 0;color:var(--text)}
.page-hero p{margin:0;color:#5d6671;font-size:14px}
.page-panel{background:#fff;border:1px solid #e1e6eb;border-radius:12px;box-shadow:0 2px 8px rgba(10,28,50,.04);padding:20px}
.page-section-title{font-size:21px;margin:0 0 12px}
.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.city-card{border:1px solid #e1e6eb;border-radius:10px;padding:16px;background:#fff;display:flex;align-items:center;justify-content:space-between}
.city-card:hover{border-color:#b9c9bc;box-shadow:0 5px 14px rgba(10,28,50,.06)}
.city-card strong{font-size:14px}
.city-card span{color:#8a929b;font-size:18px}
.detail-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.detail-photo{min-height:310px;border-radius:12px;background-size:cover;background-position:center;display:flex;align-items:flex-start;padding:13px}
.detail-photo span{background:rgba(0,0,0,.55);color:#fff;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700}
.detail-info h1{font-size:38px;margin:4px 0 7px}
.detail-info .place-detail-title{font-size:30.4px}
.detail-info .city{color:#68727e;margin-bottom:14px}
.detail-info .description{font-size:16px;line-height:1.65;color:#414a54}
.detail-rating-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.detail-rating{font-size:18px;color:#e3a62d;font-weight:700;margin:0}.favorite-button{display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px;padding:9px 15px;border:1px solid #d8deea;border-radius:999px;background:#fff;color:#17233f;font:inherit;font-weight:800;cursor:pointer}.favorite-button.is-favorite:not(.cm-action-button){background:#fff5f5;border-color:#efcaca}.favorite-button:disabled,.favorite-remove-button:disabled{opacity:.6;cursor:wait}.favorite-remove-button{display:block;margin:8px auto 0;padding:8px 12px;border:1px solid #d8deea;border-radius:999px;background:#fff;color:#475467;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.favorite-item{min-width:0}
.back-link{display:inline-block;margin-top:18px;color:var(--green);font-weight:800;font-size:13px} .history-back-link{border:0;background:transparent;padding:0;font:inherit;cursor:pointer;text-align:left;margin-top:-9px;margin-bottom:14px}
.inner-search{display:flex;max-width:720px;height:50px;border:1px solid #dfe4e8;border-radius:10px;overflow:hidden;background:#fff;margin:18px 0}
.inner-search input{flex:1;border:0;outline:0;padding:0 15px;font-size:14px}
.inner-search button{border:0;background:var(--navy);color:#fff;padding:0 22px;font-weight:800}
.search-note{font-size:13px;color:#68727e;margin-bottom:14px}
.error-panel{padding:35px;text-align:center}
.fav-page .fav-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:850px){
 .city-grid,.fav-page .fav-grid{grid-template-columns:repeat(2,1fr)}
 .detail-layout{grid-template-columns:1fr}
}
@media(max-width:560px){
 .page-wrap{padding:20px 16px 45px}
 .page-hero h1,.detail-info h1{font-size:31px}
 .detail-info .place-detail-title{font-size:24.8px}
 .city-grid,.fav-page .fav-grid{grid-template-columns:1fr}
}

.detail-photo.cafe{background-image:url("../images/cafe.svg")}
.detail-photo.jardin{background-image:url("../images/jardin.svg")}
.detail-photo.boutique{background-image:url("../images/boutique.svg")}
.detail-photo.marche{background-image:url("../images/marche.svg")}
.detail-photo.village{background-image:url("../images/village.svg")}
.detail-photo.patrimoine{background-image:url("../images/patrimoine.svg")}

.fav-gps{font-size:11px;color:#315c3d;margin:6px 0 2px}.detail-gps{display:inline-block;margin:8px 0 14px;padding:7px 10px;background:#f3f6ef;border-radius:8px;color:#315c3d;font-weight:700;font-size:13px}

/* =========================================================
   CARTE COQMalin V16 — visuel de référence + zones interactives
   ========================================================= */
.real-map-wrap{position:relative;width:100%;height:260px;overflow:visible;border-radius:10px;background:#fff}
.france-map{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0}
.france-map::after{display:none!important}
.map-stage{position:relative;height:260px;width:auto;aspect-ratio:820 / 880;flex:0 0 auto}
.france-map-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill}
.map-overlay-wrap{position:absolute;inset:0;width:100%;height:100%}
.region-overlay{display:block;width:100%;height:100%;overflow:visible}
.region-hotspot{cursor:pointer;outline:none}
.region-hotspot path{fill:rgba(255,255,255,0);stroke:rgba(255,255,255,0);stroke-width:0;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke .16s ease,filter .16s ease}
.region-hotspot:hover path,.region-hotspot:focus path,.region-hotspot.is-highlighted path{fill:rgba(255,255,255,.22);stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.20))}
.region-list-item{transition:background .16s ease,transform .16s ease,color .16s ease;border-radius:7px;padding-left:4px!important;padding-right:3px!important}
.region-list-item:hover,.region-list-item.is-highlighted{background:#f3f7fb;color:#111b2d!important;font-weight:700}
.region-list-item.is-highlighted .dot{transform:scale(1.25);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.region-list-item .dot{transition:transform .16s ease,box-shadow .16s ease}
@media(max-width:760px){.map-stage{height:280px}.real-map-wrap{height:280px}}

/* =========================================================
   CARTE COQMalin V16 — visuel de référence + zones interactives
   ========================================================= */
.real-map-wrap{position:relative;width:100%;height:260px;overflow:visible;border-radius:10px;background:#fff}
.france-map{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0}
.france-map::after{display:none!important}
.map-stage{position:relative;height:260px;width:auto;aspect-ratio:820 / 880;flex:0 0 auto}
.france-map-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill}
.map-overlay-wrap{position:absolute;inset:0;width:100%;height:100%}
.region-overlay{display:block;width:100%;height:100%;overflow:visible}
.region-hotspot{cursor:pointer;outline:none}
.region-hotspot path{fill:rgba(255,255,255,0);stroke:rgba(255,255,255,0);stroke-width:0;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke .16s ease,filter .16s ease}
.region-hotspot:hover path,.region-hotspot:focus path,.region-hotspot.is-highlighted path{fill:rgba(255,255,255,.22);stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 2px rgba(0,0,0,.20))}
.region-list-item{transition:background .16s ease,transform .16s ease,color .16s ease;border-radius:7px;padding-left:4px!important;padding-right:3px!important}
.region-list-item:hover,.region-list-item.is-highlighted{background:#f3f7fb;color:#111b2d!important;font-weight:700}
.region-list-item.is-highlighted .dot{transform:scale(1.25);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.region-list-item .dot{transition:transform .16s ease,box-shadow .16s ease}
@media(max-width:760px){.map-stage{height:280px}.real-map-wrap{height:280px}}
/* Couleurs fixes des 13 régions — synchronisées avec la carte */
.region-list-item:nth-child(1) .dot{background:#34c4bf}
.region-list-item:nth-child(2) .dot{background:#6acf66}
.region-list-item:nth-child(3) .dot{background:#4f94f7}
.region-list-item:nth-child(4) .dot{background:#9575df}
.region-list-item:nth-child(5) .dot{background:#f8bf20}
.region-list-item:nth-child(6) .dot{background:#fa6aab}
.region-list-item:nth-child(7) .dot{background:#5eb8f1}
.region-list-item:nth-child(8) .dot{background:#fd952a}
.region-list-item:nth-child(9) .dot{background:#fd635b}
.region-list-item:nth-child(10) .dot{background:#bbd630}
.region-list-item:nth-child(11) .dot{background:#34c4c0}
.region-list-item:nth-child(12) .dot{background:#e2397f}
.region-list-item:nth-child(13) .dot{background:#f4a340}

/* =========================================================
   V32 — Un seul et même fond photographique pour tout le site
   ========================================================= */
html{min-height:100%;background:#eef2f4}
body{position:relative;isolation:isolate;min-height:100vh;background:transparent}
body::before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  background-image:url("../images/hero-large.png");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  pointer-events:none;
}
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  background:linear-gradient(to bottom,
    rgba(255,255,255,.80) 0%,
    rgba(255,255,255,.80) 17%,
    rgba(255,255,255,.60) 31%,
    rgba(255,255,255,.60) 69%,
    rgba(255,255,255,.80) 84%,
    rgba(255,255,255,.80) 100%
  );
  pointer-events:none;
}
.hero-m6{background:transparent}
.hero-photo{display:none}
.hero-overlay{background:transparent}
.container-m6{background:transparent}
.site-footer{background:rgba(244,245,247,.86)}

/* V34 — fond unique : voile supprimé en haut, visibilité accrue au centre, titre remonté */
html{min-height:100%;background:#f4f6f8}
body{min-height:100%;background:transparent}
body::before{display:none}
body::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 17%,rgba(255,255,255,.30) 34%,rgba(255,255,255,.30) 66%,rgba(255,255,255,.70) 84%,rgba(255,255,255,.78) 100%)}
body>main,body>.site-footer{position:relative;z-index:1}
.hero-m6{background:transparent}
.hero-photo{background-image:none!important;background:transparent!important}
.hero-overlay{background:linear-gradient(90deg,rgba(4,38,75,.12) 0%,rgba(4,38,75,.04) 45%,rgba(4,38,75,0) 78%)}
.hero-title{display:inline-block;max-width:560px;padding:24px 30px 26px;background:rgba(4,38,75,.62);border-radius:18px;box-shadow:0 10px 28px rgba(4,25,50,.18);backdrop-filter:blur(2px);transform:translateY(-27px)}
.hero-script{font-size:56px;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.hero-script-small{font-size:39px;text-shadow:0 2px 8px rgba(0,0,0,.18)}
@media(max-width:760px){.hero-title{padding:18px 22px 20px;transform:translateY(-7px)}.hero-script{font-size:50px}.hero-script-small{font-size:34px}}
@media(max-width:480px){.hero-script{font-size:42px}.hero-script-small{font-size:30px}}
/* V42 — titre hero centré */
.hero-copy{display:flex;justify-content:center;align-items:center}
.hero-title{margin-left:auto;margin-right:auto;text-align:center}
@media(max-width:760px){.hero-copy{align-items:center}.hero-title{margin-left:auto;margin-right:auto;text-align:center}}

/* Comptes utilisateurs — branche parallèle V43 */
.account-actions-m6{display:grid;grid-template-columns:repeat(3,max-content);align-items:center;justify-content:end;column-gap:10px;row-gap:4px;margin-left:0;font-size:12px;line-height:1.15}
.account-actions-m6 a{color:#17233f;text-decoration:none;font-weight:700;white-space:nowrap}
.account-actions-m6 a:hover{text-decoration:underline}.account-actions-m6 .account-login-primary{padding:8px 12px;border-radius:999px;background:#17233f;color:#fff}
.auth-wrap{max-width:780px;margin:42px auto}.auth-panel{background:rgba(255,255,255,.96);border-radius:24px;padding:32px;box-shadow:0 18px 50px rgba(23,35,63,.12)}
.auth-panel h1{margin-top:0}.auth-field{display:block;margin:16px 0}.auth-field span{display:block;font-weight:700;margin-bottom:7px}.auth-field input,.auth-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d8deea;border-radius:12px;font:inherit}.auth-button{border:0;border-radius:999px;padding:12px 20px;background:#17233f;color:#fff;font-weight:800;cursor:pointer}.auth-note{font-size:13px;color:#667085}.auth-error{padding:12px 14px;border-radius:12px;background:#fff0f0;color:#9d2424;margin-bottom:16px}.auth-success{padding:12px 14px;border-radius:12px;background:#eef9f0;color:#236b34;margin-bottom:16px}.review-box{margin-top:28px}.review-card{background:#fff;border-radius:18px;padding:18px;margin:12px 0;box-shadow:0 8px 24px rgba(23,35,63,.08)}.review-meta{font-size:13px;color:#667085}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e6eaf0;text-align:left;vertical-align:top}.admin-actions{display:flex;gap:8px}.admin-actions button{border:0;border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700}.btn-ok{background:#eaf7ed}.btn-no{background:#fff0f0}.admin-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid #e1e6eb;border-radius:12px;background:#fff}.admin-bulk-toolbar label{font-weight:700}.admin-bulk-toolbar input{margin-right:7px}
@media(max-width:900px){.account-actions-m6{display:flex;align-items:center;justify-content:flex-end;gap:6px 10px;flex-wrap:wrap;margin-top:8px}.header-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){
 .account-actions-m6{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;justify-content:stretch;gap:7px 6px;margin-top:0;font-size:11px;line-height:1.15}
 .account-actions-m6 a{min-width:0;white-space:normal;text-align:center;overflow-wrap:anywhere}
 .account-actions-m6 .account-logout-form{min-width:0;width:100%;display:flex;justify-content:center}
 .account-actions-m6 .account-logout-link{width:100%;white-space:normal;text-align:center;font-size:11px;line-height:1.15}
}
@media(max-width:420px){
 .account-actions-m6{gap:6px 4px;font-size:10.5px}
 .account-actions-m6 .account-logout-link{font-size:10.5px}
}
.profile-avatar-box{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid #e1e6eb;border-radius:14px;margin:12px 0 16px}.profile-avatar,.admin-avatar{width:82px;height:82px;border-radius:50%;object-fit:cover;border:1px solid #e1e6eb;background:#f3f5f8}.admin-avatar{width:72px;height:72px}.profile-avatar-box strong{font-size:15px}.status-pending,.status-rejected{display:inline-block;margin-top:5px;font-size:13px;font-weight:700}.status-rejected{color:#a52b2b}.status-pending{color:#8a6500}.inline-form{display:inline-block;margin:7px 0}.inline-form button,.replace-form button,.reason-form button{border:1px solid #d8dee7;border-radius:999px;padding:8px 12px;background:#fff;font-weight:700;cursor:pointer}.replace-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.check-line{display:flex;gap:8px;align-items:center;margin:14px 0;font-weight:700}.auth-field small{font-weight:400;color:#7b8490}.auth-field select{padding:11px 12px;border:1px solid #d8deea;border-radius:12px;font:inherit;background:#fff}.auth-field label{display:block;margin:8px 0;font-weight:500}.display-name-field > span{margin-bottom:9px}.display-name-options{display:grid;gap:8px}.display-name-options label{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box;margin:0;font-weight:500;line-height:1.4;white-space:nowrap}.display-name-options input[type="radio"]{flex:0 0 16px;margin:0 2px 0 12px;width:16px;height:16px;align-self:center}.moderation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.moderation-card{display:flex;gap:14px;border:1px solid #e1e6eb;border-radius:14px;padding:14px;background:#fff}.reason-form{display:flex;gap:6px;margin-top:7px}.reason-form input,.inline-form input[name="reason"]{min-width:140px;border:1px solid #d8dee7;border-radius:999px;padding:8px 10px}.admin-edit-link{font-weight:800;color:var(--green)}.admin-edit-box,.admin-user-box{margin-top:22px;padding:18px;border:1px solid #dfe4ea;border-radius:14px;background:#f9fafb}.admin-profile-head{display:flex;gap:14px;align-items:center}.profile-data{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}
.place-top-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px}.place-top-fields .auth-field{min-width:0;margin:0}.place-top-fields .auth-field select{width:100%;box-sizing:border-box}.place-city-field{margin-top:0}.place-city-field .auth-field{margin:16px 0}.profile-data div{background:#fff;border:1px solid #e5e9ef;border-radius:10px;padding:11px}.profile-data b{display:block;font-size:12px;color:#707986;margin-bottom:4px}.account-panel{max-width:900px}
@media(max-width:800px){.moderation-grid,.profile-data{grid-template-columns:1fr}.admin-table{display:block;overflow:auto}.moderation-card{flex-direction:column}}

.review-author{display:flex;align-items:center;gap:10px;margin-bottom:8px}.review-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid #e1e6eb}.review-stars{color:#e3a62d;font-weight:800;margin:4px 0}
.admin-shortcut{margin:18px 0 28px;padding:18px;border:1px solid #e3e7ee;border-radius:16px;background:#fafbfc}.admin-shortcuts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-shortcuts-grid .admin-shortcut{margin:0}@media (max-width:1100px){.admin-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.admin-shortcuts-grid{grid-template-columns:1fr}}.admin-shortcut .auth-button{display:inline-block;text-decoration:none}.admin-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.admin-page-head h1,.admin-page-head h2{margin:0}.admin-back-link{white-space:nowrap;font-weight:700;text-decoration:none}.admin-user-summary{padding:12px 16px;background:#f7f8fb;border-radius:12px;margin-bottom:14px}.admin-users-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-user-row{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px;border:1px solid #e3e7ee;border-radius:16px;background:#fff}.admin-user-main{display:flex;align-items:center;gap:12px;min-width:0}.admin-list-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid #e1e6eb}.admin-user-name{font-weight:800;text-decoration:none}.admin-user-age{margin-top:3px;font-size:13px;font-weight:700;color:#667085}.admin-user-sub,.admin-user-email{font-size:13px;color:#667085}.admin-user-date,.admin-user-status{font-size:14px}.admin-user-date strong,.admin-user-status strong{font-size:12px;color:#667085;text-transform:uppercase}.admin-status-reason{font-size:12px;color:#667085;margin-top:4px};.admin-user-online-status{display:inline-block;margin-top:5px;font-size:13px;font-weight:700}.admin-user-online-status.is-online{color:#157347}.admin-user-online-status.is-offline{color:#667085}.admin-user-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.user-action-form{display:flex;gap:6px;flex-wrap:wrap}.user-action-form input{width:145px;padding:8px 10px;border:1px solid #d8deea;border-radius:10px}.user-action-form button{border:0;border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:700}.admin-user-box{margin-top:28px;padding:20px;border:1px solid #dfe4eb;border-radius:16px;background:#fafbfc}.admin-user-box .admin-page-head{margin-bottom:20px}.admin-presence-refresh:hover{background:#f7f8fb}.analytics-page-list{display:grid;gap:8px;margin:0 0 18px}.analytics-page-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border:1px solid #e1e6eb;border-radius:12px;background:#fff;cursor:pointer}.analytics-page-row:hover{background:#f9fafb}.analytics-page-row span{display:flex;align-items:center;gap:7px;min-width:0}.analytics-page-row input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0}.analytics-page-row code{font-size:12px;color:#667085;word-break:break-all}@media(max-width:700px){.analytics-page-row{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:1050px){.admin-users-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.admin-users-list{grid-template-columns:1fr}.admin-page-head{align-items:flex-start;flex-direction:column}}

.admin-approved-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-approved-card{min-width:0;padding:16px;border:1px solid #e3e7ee;border-radius:16px;background:#fff;box-shadow:0 6px 18px rgba(23,35,63,.05)}.admin-approved-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-approved-rating{font-weight:800;white-space:nowrap}.admin-approved-place{margin-top:7px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-approved-text-wrap{display:flex;align-items:center;gap:8px;margin:14px 0;min-height:44px}.admin-approved-text{width:20ch;max-width:20ch;height:2.9em;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.admin-view-review{flex:0 0 auto;width:34px;height:34px;border:1px solid #dfe4eb;border-radius:50%;background:#f8f9fb;cursor:pointer;font-size:15px}.admin-view-review:hover{transform:scale(1.04)}.admin-approved-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0f4;padding-top:12px}.admin-approved-actions .inline-form{margin:0}.review-modal[hidden]{display:none}.review-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}.review-modal-backdrop{position:absolute;inset:0;background:rgba(10,18,35,.55)}.review-modal-box{position:relative;z-index:1;width:min(680px,100%);max-height:80vh;overflow:auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.22)}.review-modal-box h2{margin:0 40px 18px 0}.review-modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:22px;cursor:pointer}.review-modal-text{white-space:pre-wrap;line-height:1.65;color:#27324a}.review-modal-open{overflow:hidden}@media(max-width:1100px){.admin-approved-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.admin-approved-list{grid-template-columns:1fr}}
.place-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 28px}.place-admin-card{background:#fff;border:1px solid #e1e6eb;border-radius:16px;padding:17px}.place-admin-photo-preview{width:100%;height:150px;border-radius:12px;overflow:hidden;margin:-2px 0 13px;background:#f3f5f2;display:flex;align-items:center;justify-content:center}.place-admin-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}.place-admin-photo-empty{font-size:42px;color:#98a2b3}.place-admin-card h3{margin:0 0 8px;font-family:Georgia,serif;color:var(--green-dark)}.place-admin-card p{margin:7px 0;color:#667085;font-size:14px}.place-admin-card .admin-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.place-admin-card .admin-actions form{margin:0}.place-admin-card .admin-actions button,.place-admin-card .admin-edit-link{border:0;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;text-decoration:none}.place-admin-card .admin-edit-link{background:#edf2e9;color:var(--green)}
@media(max-width:1050px){.place-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.place-admin-grid{grid-template-columns:1fr}}
.detail-photo.custom-place-photo,.fav-photo.custom-place-photo{background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#f4f5f2}

/* =========================================================
   V49.5 — PAGE CARTE DE FRANCE GRAND FORMAT
   Même carte et mêmes zones interactives que l'accueil,
   avec une présentation plus grande et plus lisible.
   ========================================================= */
.carte-page{max-width:1320px}
.carte-hero{background:linear-gradient(135deg,#f7faf7,#fff);border:1px solid #e2e7eb;border-radius:14px;padding:24px 28px;margin-bottom:18px}
.carte-hero .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:800}
.carte-hero h1{font-size:38px;margin:5px 0;color:var(--text)}
.carte-hero p{margin:0;color:#5d6671;font-size:14px}
.carte-panel{background:#fff;border:1px solid #e1e6eb;border-radius:14px;box-shadow:0 2px 10px rgba(10,28,50,.05);padding:24px}
.carte-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:28px;align-items:center}
.carte-large-wrap{min-height:650px;border:1px solid #edf0f3;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.carte-map-large{position:relative;width:100%;height:650px;display:flex;align-items:center;justify-content:center;padding:0}
.carte-map-large .map-stage{height:620px;width:auto;aspect-ratio:820 / 880;flex:0 0 auto}
.carte-map-large .france-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.carte-map-large .map-overlay-wrap{position:absolute;inset:0;width:100%;height:100%}
.carte-map-large .region-overlay{display:block;width:100%;height:100%;overflow:visible}
.carte-map-large .region-hotspot path{stroke-width:0}
.carte-map-large .region-hotspot:hover path,
.carte-map-large .region-hotspot:focus path,
.carte-map-large .region-hotspot.is-highlighted path{stroke-width:4}
.carte-region-menu{align-self:stretch;padding:12px 6px 8px}
.carte-region-menu h2{font-size:25px;margin:0 0 5px;color:var(--text)}
.carte-region-help{font-size:13px;color:#657080;line-height:1.45;margin:0 0 16px}
.carte-region-list{display:grid;grid-template-columns:1fr;gap:4px}
.carte-region-list .region-list-item{display:grid;grid-template-columns:16px 1fr 18px;align-items:center;gap:9px;min-height:42px;padding:7px 9px!important;font-size:15px}
.carte-region-list .region-list-item .dot{width:11px;height:11px;border-radius:50%;display:block}
.carte-region-list .region-list-item b{font-size:24px;color:#8b929b;font-weight:400;line-height:1}
.carte-region-list .region-list-item:hover,.carte-region-list .region-list-item.is-highlighted{transform:translateX(2px)}
.carte-map-tip{margin-top:12px;font-size:12px}
@media(max-width:950px){
 .carte-layout{grid-template-columns:1fr}
 .carte-large-wrap{min-height:600px}
 .carte-map-large{height:600px}
 .carte-map-large .map-stage{height:570px}
 .carte-region-list{grid-template-columns:1fr 1fr;gap:5px 12px}
}
@media(max-width:600px){
 .carte-page{padding-left:14px;padding-right:14px}
 .carte-panel{padding:14px}
 .carte-hero{padding:20px}
 .carte-hero h1{font-size:31px}
 .carte-large-wrap{min-height:390px}
 .carte-map-large{height:390px}
 .carte-map-large .map-stage{height:365px}
 .carte-region-list{grid-template-columns:1fr}
 .carte-region-list .region-list-item{font-size:14px;min-height:40px}
}

/* =========================================================
   DONS — page de soutien au projet
   ========================================================= */
.donations-page{max-width:1100px;margin:0 auto;padding:30px}
.donations-intro{max-width:820px;margin:0 auto 28px;text-align:center}
.donations-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:800}
.donations-intro h1{font-size:38px;margin:7px 0 14px;color:var(--text)}
.donations-intro p{font-size:15px;line-height:1.65;color:#4f5965;margin:9px 0}
.donation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}
.donation-card{border:1px solid #e1e6eb;border-radius:16px;padding:22px;background:#fafbfc;text-align:center;display:flex;flex-direction:column;align-items:center}
.donation-icon{font-size:30px;margin-bottom:6px}.donation-card h2{margin:0 0 8px;font-size:21px}.donation-card p{font-size:14px;line-height:1.55;color:#667085;min-height:66px;margin:0 0 16px}
.donation-button{display:inline-block;border-radius:999px;padding:11px 18px;background:var(--navy);color:#fff;text-decoration:none;font-weight:800;font-size:13px}
.donation-disabled{background:#e8ebef;color:#737c88;cursor:default}
.donation-note{font-size:13px;color:#667085;margin-top:auto}.crypto-line{width:100%;text-align:left;margin:6px 0}.crypto-line strong{display:block;font-size:12px;margin-bottom:4px}.crypto-copy{position:relative;width:100%;display:block;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.crypto-copy code{display:block;padding:8px 38px 8px 9px;border-radius:8px;background:#fff;border:1px solid #e1e6eb;font-size:11px;word-break:break-all;transition:border-color .15s,box-shadow .15s}.crypto-copy:hover code,.crypto-copy:focus-visible code{border-color:#b8c3cf;box-shadow:0 0 0 3px rgba(30,64,175,.08);outline:none}.crypto-copy-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:18px;line-height:1;color:#667085;pointer-events:none}.crypto-warning{width:100%;margin:18px 0 0;padding:12px 14px;border-radius:10px;background:#fff8e7;border:1px solid #f0dfaa;color:#6b5a2a;font-size:12px;line-height:1.55;text-align:left}.copy-toast{position:fixed;left:50%;bottom:24px;z-index:1000;max-width:min(92vw,720px);padding:11px 15px;border-radius:10px;background:#202733;color:#fff;font-size:13px;line-height:1.4;box-shadow:0 8px 28px rgba(0,0,0,.18);transform:translate(-50%,12px);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.copy-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.donations-thanks{margin:30px auto 0;padding:22px;max-width:820px;border-radius:16px;background:#f7faf7;text-align:center}.donations-thanks h2{margin:0 0 9px;font-size:22px}.donations-thanks p{margin:7px 0;color:#4f5965;line-height:1.6}
@media(max-width:850px){.donation-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.donations-page{padding:22px 16px}.donations-intro h1{font-size:31px}.donation-grid{grid-template-columns:1fr}.donation-card p{min-height:0}}

/* =========================================================
   V49.6 — GALERIE PHOTOS DES LIEUX
   ========================================================= */
.photo-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.photo-upload-grid>div{padding:10px;border:1px solid #e1e6eb;border-radius:10px;background:#fafbfc}.photo-upload-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:#46505c}.edit-photos-block{margin:18px 0}.edit-label{display:block;font-weight:700;color:#344054;margin-bottom:10px}.edit-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.edit-photo-slot{border:1px solid #e1e6eb;border-radius:14px;padding:10px;background:#fafbfc}.edit-photo-preview{height:125px;border-radius:10px;background:#f0f2f4;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:9px}.edit-photo-preview img{width:100%;height:100%;object-fit:contain;display:block}.edit-photo-empty{font-size:12px;color:#89919b}.edit-photo-slot label{display:block;font-size:12px;font-weight:700;color:#46505c}.edit-photo-slot input[type=file]{width:100%;font-size:11px;margin-top:5px}.edit-photo-option{display:flex!important;align-items:center;gap:5px;margin-top:7px;font-weight:600!important}.edit-photo-option input{margin:0}.place-admin-photo-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.place-admin-photo-thumb{width:110px;height:75px;object-fit:contain;background:#f4f5f2;border-radius:9px;display:block;border:1px solid #e1e6eb}.place-gallery{width:100%;min-width:0}.place-gallery-main{position:relative;width:100%;height:520px;border-radius:14px;background:#f4f5f2;overflow:hidden;display:flex;align-items:center;justify-content:center}.place-gallery-main img{width:100%;height:100%;object-fit:contain;display:block}.place-gallery-main>span{position:absolute;left:16px;top:16px;padding:7px 10px;border-radius:999px;background:rgba(20,34,49,.78);color:#fff;font-size:12px;font-weight:800}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(20,34,49,.72);color:#fff;font-size:34px;line-height:40px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18)}.gallery-arrow:hover{transform:translateY(-50%) scale(1.05)}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-dots{text-align:center;margin:12px 0 0}.gallery-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#c5cad0;margin:0 4px;cursor:pointer}.gallery-dot.active{background:var(--red)}
@media(max-width:900px){.edit-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-gallery-main{height:440px}}
@media(max-width:600px){.photo-upload-grid{grid-template-columns:1fr}.edit-photo-grid{grid-template-columns:1fr 1fr}.place-gallery-main{height:300px;border-radius:11px}.gallery-arrow{width:42px;height:42px;font-size:29px}.gallery-prev{left:9px}.gallery-next{right:9px}}


/* Tous les lieux — catalogue et recherche instantanée */
.lieux-search-wrap{display:flex;align-items:center;max-width:720px;height:50px;margin-top:18px;border:1px solid #dfe4e8;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 2px 7px rgba(10,28,50,.04)}
.lieux-search-wrap span{font-size:25px;color:#68727e;padding-left:15px}
.lieux-search-wrap input{flex:1;height:100%;border:0;outline:0;padding:0 14px;font-size:15px;background:transparent}
.lieux-count{font-weight:800!important;color:var(--green)!important;margin-top:10px!important}
.lieu-result[hidden]{display:none}
.lieux-empty{text-align:center;padding:35px 15px;color:#68727e;font-weight:700}
@media(max-width:760px){.lieux-search-wrap{max-width:none}.lieux-hero h1{font-size:32px}}

.member-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.member-badge{display:inline-flex;align-items:center;gap:3px;padding:5px 9px;border-radius:999px;background:#fff7df;border:1px solid #ead9a6;color:#5f4b16;font-size:12px;font-weight:800}.member-status-box,.support-admin-box{margin:14px 0;padding:16px;border:1px solid #e1e6eb;border-radius:14px;background:#f9fafb}.support-admin-box{margin-top:15px}

/* V49.8.19 — alignement du fil d’Ariane de carte.php */
.carte-page .breadcrumb-m6{transform:translateX(130px)}

/* Profil utilisateur en fenêtre modale */
.admin-profile-modal{
    width:min(900px,calc(100% - 32px));
    max-width:900px;
    max-height:calc(100vh - 32px);
    padding:0;
    border:0;
    border-radius:18px;
    background:transparent;
    overflow:visible;
}
.admin-profile-modal::backdrop{
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(2px);
}
.admin-user-modal-content{
    margin:0;
    max-height:calc(100vh - 32px);
    overflow:auto;
    box-sizing:border-box;
}
.admin-modal-close{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid #dfe4eb;
    border-radius:50%;
    background:#fff;
    color:#4b5563;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    line-height:1;
}
.admin-modal-close:hover{background:#f7f8fb}
@media(max-width:650px){
    .admin-profile-modal{width:calc(100% - 20px);max-height:calc(100vh - 20px)}
    .admin-user-modal-content{max-height:calc(100vh - 20px);padding:16px}
}

.identifier-types-admin{display:grid;gap:10px;margin:14px 0 28px}.identifier-type-admin-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #e3e7ee;border-radius:14px;background:#fff}.identifier-type-edit{display:flex;gap:8px}.identifier-type-edit input,.identifier-type-create input{min-width:0;flex:1;padding:10px 12px;border:1px solid #d8deea;border-radius:10px;font:inherit}.identifier-type-admin-row button,.identifier-type-create button{border:0;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:700}.identifier-type-admin-row button:disabled{opacity:.45;cursor:not-allowed}.identifier-type-meta{font-size:13px;color:#667085;white-space:nowrap}.identifier-type-meta code{background:#f2f4f7;border-radius:7px;padding:2px 6px}.identifier-type-create{display:flex;gap:8px;margin-top:4px}@media(max-width:700px){.identifier-type-admin-row{grid-template-columns:1fr}.identifier-type-meta{white-space:normal}.identifier-type-edit,.identifier-type-create{width:100%}}
/* Gestion des types d'identifiants */
.identifier-type-admin-row{grid-template-columns:auto minmax(300px,1fr) minmax(180px,auto) auto}
.identifier-type-order{display:flex;gap:5px;align-items:center}
.identifier-type-order form{margin:0}
.identifier-type-order button{border:1px solid #d8deea;background:#fff;border-radius:9px;padding:7px 9px;cursor:pointer}
.identifier-type-order button:disabled{opacity:.35;cursor:not-allowed}
.identifier-type-edit{align-items:center}
.identifier-type-edit>div{display:grid;gap:6px;min-width:0;flex:1}
.identifier-type-edit small{font-size:11px;color:#667085}
.identifier-type-edit input{width:100%;box-sizing:border-box}
.identifier-type-create{display:grid;grid-template-columns:1fr 1.5fr auto}
.identifier-type-create input{box-sizing:border-box}
.identifier-input-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:8px;align-items:center}
.identifier-input-row input,.identifier-input-row select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #d8deea;border-radius:12px;font:inherit;background:#fff}
@media(max-width:1000px){.identifier-type-admin-row{grid-template-columns:auto 1fr}.identifier-type-meta{grid-column:2}.identifier-type-admin-row>form:last-child{grid-column:2;justify-self:start}.identifier-type-create{grid-template-columns:1fr}.identifier-input-row{grid-template-columns:1fr 170px}}
@media(max-width:650px){.identifier-input-row{grid-template-columns:1fr}.identifier-type-admin-row{grid-template-columns:1fr}.identifier-type-meta,.identifier-type-admin-row>form:last-child{grid-column:auto}.identifier-type-order{justify-content:flex-start}}
.display-option-disabled{opacity:.6}
.identifier-preview-link{display:inline-block;margin-top:7px;font-size:13px;font-weight:700;color:var(--green-dark)}
.danger-zone{margin-top:24px;padding:18px;border:1px solid #e0b4b4;border-radius:16px;background:#fff7f7}.danger-zone h2{margin-top:0}.danger-zone p{margin-bottom:12px}.danger-zone .btn-no{background:#b42318;color:#fff;border-color:#b42318}

/* V49.8.65 — confirmations de suppression en fenêtre modale */
.cm-danger-modal{position:fixed;top:20px;left:50%;transform:translateX(-50%);margin:0;width:min(560px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 24px 70px rgba(15,23,42,.28);z-index:10000}
.cm-danger-modal::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.cm-danger-modal-card{position:relative;padding:30px;background:#fff;border:1px solid #ead6d6;border-radius:18px;text-align:center;box-sizing:border-box}
.cm-danger-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #dfe4eb;border-radius:50%;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}
.cm-danger-modal-close:hover{background:#f7f8fb}
.cm-danger-icon{font-size:38px;line-height:1;margin:2px 0 14px}
.cm-danger-modal-card h2{margin:0 35px 14px;font-size:22px;color:#7f1d1d}
.cm-danger-modal-card p{margin:8px 0;color:#4b5563;line-height:1.55}
.cm-danger-modal-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.cm-danger-modal-actions button,.cm-danger-cancel{min-height:42px;padding:10px 16px;border-radius:10px;border:1px solid #d8deea;background:#fff;color:#344054;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-sizing:border-box}
.cm-danger-modal-actions .btn-no{background:#b42318;color:#fff;border-color:#b42318}
.cm-danger-modal-actions .btn-no:hover{background:#912018}
@media(max-width:560px){.cm-danger-modal{width:calc(100% - 20px)}.cm-danger-modal-card{padding:25px 18px}.cm-danger-modal-actions{flex-direction:column}.cm-danger-modal-actions button,.cm-danger-cancel{width:100%}}

.detail-contributor{margin-top:14px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.035);font-size:.95rem}

/* V49.8.84 — différenciation visuelle des groupes utilisateurs */
.admin-users-sort{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:10px 14px;background:#f7f8fb;border-radius:12px;font-size:14px}
.admin-users-sort a{display:inline-block;padding:6px 10px;border:1px solid #dfe4ea;border-radius:999px;background:#fff;text-decoration:none;font-weight:700;color:inherit}
.admin-users-sort a.is-active{font-weight:800;text-decoration:underline}
.cm-account-pending-validation{display:inline-block;margin-top:6px;color:#9a5a00;font-size:13px;font-weight:800;line-height:1.25}.admin-user-date .cm-account-pending-validation{display:block}
.admin-user-row.group-admin{border:2px solid #c9a227}
.admin-user-row.group-hyper_moderator{border:2px solid #f0d400}
.admin-user-row.group-super_moderator{border:2px solid #f28c28}
.admin-user-row.group-moderator{border:2px solid #4caf50}
/* Messagerie interne */
.message-menu-badge{display:inline-flex;margin-left:3px;min-width:19px;height:19px;padding:0 5px;align-items:center;justify-content:center;border-radius:999px;background:#c62828;color:#fff;font-size:11px;font-weight:800;vertical-align:middle}.member-age-label{margin-top:3px;font-size:13px;font-weight:700;color:#667085}.member-support-label{margin-top:3px;font-size:13px;font-weight:800;color:#667085}.member-role-label{margin-top:3px;font-size:13px;font-weight:800;color:#667085}.member-message-link{display:inline-block;margin-top:6px;font-size:13px;font-weight:800;text-decoration:none}.messaging-notice,.messaging-admin-note{padding:14px 16px;border:1px solid #e1e6eb;border-radius:14px;background:#f9fafb;margin-bottom:18px}.messaging-admin-note{background:#fff7df;border-color:#ead9a6}.messaging-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px}.messaging-sidebar,.messaging-thread{border:1px solid #e1e6eb;border-radius:16px;background:#fff;padding:16px}.messaging-sidebar h2{font-size:17px;margin:0 0 12px}.messaging-new{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e8ebf0}.messaging-new textarea,.message-reply textarea{width:100%;box-sizing:border-box;resize:vertical;padding:10px 12px;border:1px solid #d8deea;border-radius:10px;font:inherit}.message-conversation{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;text-decoration:none;color:inherit;margin-bottom:7px;background:#f7f8fb}.message-conversation:hover,.message-conversation.is-selected{background:#eef2f7}.message-conversation strong{font-size:14px}.message-conversation small,.message-conversation span{font-size:12px;color:#667085}.message-unread{position:absolute;right:10px;top:10px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#c62828;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.message-thread-head{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e8ebf0}.message-thread-head h2{margin:0;font-size:20px}.message-thread-head span{font-size:13px;color:#667085}.message-list{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow:auto;padding:4px}.message-bubble{max-width:82%;padding:11px 13px;border-radius:14px;background:#f4f6f8}.message-bubble.mine{align-self:flex-end}.message-bubble.theirs{align-self:flex-start}.message-meta{font-size:11px;color:#667085;margin-bottom:6px}.message-body{white-space:normal;overflow-wrap:anywhere}.message-delete-form{margin-top:6px}.message-delete-form button{border:0;background:transparent;color:#667085;font-size:11px;cursor:pointer;padding:2px 0}.message-deleted{font-style:italic;color:#667085}.message-admin-original{margin-top:8px;padding:10px;border:1px dashed #c9a227;border-radius:10px;background:#fffdf3}.message-admin-original>div{margin:7px 0;white-space:normal;overflow-wrap:anywhere}.message-admin-original small{display:block;color:#667085}.message-reply{display:flex;gap:8px;margin-top:14px;align-items:flex-end}.message-reply textarea{flex:1}.message-reply-actions{display:flex;flex-direction:column;gap:14px;flex:0 0 auto}.message-reply button{white-space:nowrap}.btn-message-refresh{border:0;border-radius:999px;padding:8px 12px;background:#eef2f7;color:#344054;font-weight:700;cursor:pointer}.btn-message-refresh:hover{background:#e2e8f0}.message-empty{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#667085}.message-empty>div{font-size:42px}.message-empty h2{color:#222;margin:8px 0}.message-read-form{display:none}@media(max-width:900px){.messaging-grid{grid-template-columns:1fr}.message-list{max-height:500px}}@media(max-width:600px){.message-bubble{max-width:94%}.message-reply{flex-direction:column;align-items:stretch}}

/* V49.8.92 — consentement avant premier envoi */
.cm-message-contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:min(560px,calc(100% - 28px));padding:0;border:0;border-radius:18px;background:transparent;box-shadow:0 24px 70px rgba(15,23,42,.3);z-index:11000}.cm-message-contact-modal::backdrop{background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}.cm-message-contact-card{position:relative;padding:30px;background:#fff;border:1px solid #dfe5ec;border-radius:18px;text-align:center}.cm-message-contact-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #dfe4eb;border-radius:50%;background:#fff;color:#4b5563;font-size:23px;line-height:1;cursor:pointer}.cm-message-contact-icon{font-size:38px;margin:2px 0 10px}.cm-message-contact-card h2{margin:0 35px 14px;font-size:22px}.cm-message-contact-card p{margin:9px 0;color:#4b5563;line-height:1.55}.cm-message-contact-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.cm-message-contact-actions form{margin:0}.cm-message-contact-actions button{min-height:42px;padding:10px 18px;border-radius:10px;border:1px solid #d8deea;background:#fff;color:#344054;font:inherit;font-weight:700;cursor:pointer}.cm-message-contact-actions .btn-ok{background:#2e7d32;color:#fff;border-color:#2e7d32}.cm-message-contact-actions .cm-message-contact-refuse:hover{background:#f7f8fb}@media(max-width:560px){.cm-message-contact-card{padding:25px 18px}.cm-message-contact-actions{flex-direction:column}.cm-message-contact-actions button,.cm-message-contact-actions form{width:100%}.cm-message-contact-actions form button{width:100%}}
.messaging-admin-filters{margin-bottom:18px;padding:14px 16px;border:1px solid #e1e6eb;border-radius:14px;background:#f8f9fb}.messaging-filter-form{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(280px,2fr) minmax(150px,.7fr) auto;gap:12px;align-items:end}.message-search-field,.message-period-field{position:relative;display:flex;flex-direction:column;gap:6px}.message-search-field>span,.message-period-field>span,.message-filter-group>span{font-size:12px;font-weight:800;color:#475467}.message-search-field input,.message-period-field select{width:100%;box-sizing:border-box;min-height:40px;padding:8px 11px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.message-filter-group{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-height:40px}.message-filter-group label{font-size:13px;white-space:nowrap}.message-user-suggestions{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:1000;background:#fff;border:1px solid #d8deea;border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.14);max-height:290px;overflow:auto}.message-user-suggestion{display:flex;width:100%;box-sizing:border-box;flex-direction:column;align-items:flex-start;padding:9px 11px;border:0;border-bottom:1px solid #eef1f5;background:#fff;text-align:left;cursor:pointer}.message-user-suggestion:last-child{border-bottom:0}.message-user-suggestion:hover{background:#f3f6f9}.message-user-suggestion strong{font-size:13px}.message-user-suggestion small{font-size:11px;color:#667085;margin-top:2px}.message-conversation.group-conv-moderator,.message-conversation.group-conv-super_moderator,.message-conversation.group-conv-hyper_moderator{border:1px solid #4caf50}.message-conversation.group-conv-super_moderator{border-color:#f28c28}.message-conversation.group-conv-hyper_moderator{border-color:#f0d400}.message-conversation.group-conv-admin{border:2px solid #c9a227;background:#fff7df}.message-thread.group-thread-admin,.messaging-thread.group-thread-admin{background:#fffdf3;border-color:#c9a227}.message-supervision-thread{background:#fffdf3}
@media(max-width:1050px){.messaging-filter-form{grid-template-columns:1fr 1fr}.message-filter-group{grid-column:1/-1}.message-period-field{grid-column:1}.messaging-filter-form>.btn-ok{grid-column:2;align-self:end}}
@media(max-width:600px){.messaging-filter-form{grid-template-columns:1fr}.message-filter-group,.message-period-field,.messaging-filter-form>.btn-ok{grid-column:auto}.message-filter-group{align-items:flex-start;flex-direction:column}}
.message-thread-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.message-thread-actions form{margin:0}.message-thread-actions button,.message-thread-head>form button{cursor:pointer}.message-archived-label{font-size:.9em;opacity:.85}
.messaging-admin-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:6px;border:1px solid #e1e6eb;border-radius:14px;background:#f8f9fb}.messaging-admin-tab{display:inline-flex;align-items:center;padding:9px 13px;border-radius:10px;text-decoration:none;color:#475467;font-weight:800;font-size:13px}.messaging-admin-tab:hover,.messaging-admin-tab.is-active{background:#fff;color:#222;box-shadow:0 1px 3px rgba(15,23,42,.08)}.messaging-export-form{margin-left:auto}.messaging-export-form button{border:1px solid #d8deea;background:#fff;border-radius:10px;padding:9px 13px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.messaging-export-form button:hover{background:#f3f6f9}@media(max-width:600px){.messaging-export-form{width:100%;margin-left:0}.messaging-export-form button{width:100%}}
.report-admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0 20px;padding:12px 14px;border:1px solid #e3e7ee;border-radius:14px;background:#fafbfc}.report-admin-tabs{display:flex;gap:8px;flex-wrap:wrap}.report-admin-tabs a{padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid #dfe4eb;background:#fff}.report-admin-tabs a.is-active{background:#eef2f7}.report-admin-list{display:grid;gap:16px}.report-admin-card{padding:18px;border:1px solid #e0e5ec;border-radius:16px;background:#fff}.report-admin-card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:12px;border-bottom:1px solid #e9edf2}.report-admin-card-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.report-status{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:#f1f3f5}.report-status.is-pending{background:#fff3cd}.report-status.is-done{background:#e9f7ef}.report-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.report-admin-grid>div,.report-admin-comment{padding:13px;border:1px solid #e5e9ef;border-radius:12px;background:#fafbfc}.report-block-title{font-size:12px;font-weight:800;color:#667085;margin-bottom:5px}.report-admin-comment{margin-top:14px}.report-admin-comment>div{margin-top:6px;white-space:normal}.report-admin-actions{margin-top:14px}.report-admin-actions form{display:flex;gap:8px;flex-wrap:wrap}.report-admin-decision{margin-top:12px;font-size:13px;color:#667085}.admin-empty-box{padding:28px;text-align:center;border:1px dashed #d7dde6;border-radius:14px;color:#667085;background:#fafbfc}@media(max-width:700px){.report-admin-grid{grid-template-columns:1fr}.report-admin-card-head{align-items:flex-start;flex-direction:column}}
.report-bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border:1px solid #e3e7ee;border-radius:14px;background:#fafbfc}.report-bulk-toolbar label{font-weight:700;margin-right:auto}.report-select{display:inline-flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:700;color:#667085}.report-status.is-archived{background:#eef2f7}
.admin-user-search{margin:0 0 14px;padding:12px 14px;border:1px solid #e3e7ee;border-radius:12px;background:#f7f8fb}.admin-user-search label{display:flex;flex-direction:column;gap:6px}.admin-user-search span{font-size:12px;font-weight:800;color:#475467}.admin-user-search input{width:100%;box-sizing:border-box;min-height:40px;padding:8px 11px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.message-user-profile-link{color:inherit;text-decoration:none}.message-user-profile-link:hover{text-decoration:underline}.message-conversation-user-link{color:inherit;text-decoration:none}.message-conversation-user-link:hover{text-decoration:underline}

/* V49.8.147 — compte à rebours temps réel et boutons IP harmonisés */
.ip-bans-page{max-width:1100px}.ip-ban-intro{margin:0 0 22px;padding:15px 18px;border:1px solid #cfd8e3;border-radius:14px;background:rgba(255,255,255,.92);box-shadow:0 5px 18px rgba(15,23,42,.06)}.ip-ban-intro strong{display:block;margin-bottom:5px}.ip-ban-intro p{margin:0;color:#4b5563;line-height:1.5}.ip-ban-box,.ip-active-box,.ip-protection-box,.ip-duration-box{margin-top:20px;background:rgba(250,251,252,.97)}.ip-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.ip-section-head h2{margin:0}.ip-section-head p{margin:6px 0 0;color:#667085;font-size:13px}.ip-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:11px 13px;border:1px solid #e1e6eb;border-radius:12px;background:#fff}.ip-bulk-toolbar span{font-size:13px;color:#667085}.ip-ban-table-wrap{overflow:auto;border:1px solid #e1e6eb;border-radius:13px;background:#fff}.ip-ban-table{margin:0;min-width:850px}.ip-ban-table th,.ip-ban-table td{padding:11px 10px}.ip-ban-table td{vertical-align:top}.ip-ban-table code{display:inline-block;max-width:210px;overflow-wrap:anywhere}.ip-row-meta{display:block;margin-top:4px;color:#667085;font-size:11px}.ip-row-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch;min-width:132px}.ip-row-actions .inline-form{margin:0}.ip-row-actions .auth-button,.ip-row-actions .btn-no,.ip-ban-table .inline-form button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:38px;padding:8px 12px;border-radius:8px;border:1px solid #d8deea;white-space:nowrap;text-decoration:none;font:inherit;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer}.ip-row-actions .auth-button{background:#17233f;color:#fff;border-color:#17233f}.ip-row-actions .auth-button:hover{background:#263454}.ip-row-actions .btn-no,.ip-ban-table .inline-form .auth-button{background:#fff;color:#475467}.ip-row-actions .btn-no:hover,.ip-ban-table .inline-form .auth-button:hover{background:#f5f7fa}.ip-row-actions .inline-form{width:100%}.ip-row-actions .inline-form button{margin:0}.ip-countdown{white-space:nowrap}.ip-remaining-cell{min-width:145px}.ip-ban-table .ip-bulk-toolbar .btn-no{border:1px solid #e1b8b8;border-radius:8px;padding:9px 13px}.ip-ban-table .ip-bulk-toolbar .btn-no:disabled{opacity:.55;cursor:not-allowed}.ip-empty{padding:22px;text-align:center;border:1px dashed #d5dce5;border-radius:12px;background:#fff;color:#667085}.ip-count{font-size:14px;color:#667085}.ip-protection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ip-protection-card{padding:16px;border:1px solid #dfe5ec;border-radius:14px;background:#fff}.ip-protection-card h3{margin:0 0 8px;font-size:17px}.ip-protection-note{margin:0 0 12px;padding:9px 10px;border-radius:10px;background:#f5f7fa;color:#667085;font-size:12px;line-height:1.45}.ip-settings-fields{display:grid;gap:10px}.ip-settings-fields label,.ip-duration-row label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}.ip-settings-fields input,.ip-settings-fields select,.ip-duration-row input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.ip-settings-fields small{font-weight:400;color:#667085;font-size:11px;line-height:1.3}.cm-security-field-label{display:flex;align-items:center;gap:5px}.cm-security-info-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:#344054;font:inherit;font-size:15px;line-height:1;cursor:pointer}.cm-security-info-button:hover{background:#eef2f6}.cm-security-info-button:focus-visible{outline:2px solid #3559a8;outline-offset:2px}.cm-security-help-dialog{width:min(560px,calc(100vw - 32px));max-width:560px;border:0;border-radius:16px;padding:0;background:transparent;box-shadow:0 18px 60px rgba(15,23,42,.28)}.cm-security-help-dialog::backdrop{background:rgba(15,23,42,.48)}.cm-security-help-card{padding:20px 22px;border:1px solid #dfe5ec;border-radius:16px;background:#fff;color:#17233f}.cm-security-help-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.cm-security-help-head h3{margin:0;font-size:21px}.cm-security-help-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#475467;font-size:28px;line-height:1;cursor:pointer}.cm-security-help-close:hover{background:#f2f4f7}.cm-security-help-close:focus-visible{outline:2px solid #3559a8;outline-offset:2px}.cm-security-help-body{color:#475467;line-height:1.55}.cm-security-help-body p{margin:0 0 12px}.cm-security-help-body p:last-child{margin-bottom:0}.cm-security-help-card>.admin-actions{margin-top:18px;justify-content:flex-end}.ip-protection-card>.auth-button{margin-top:13px;width:100%;box-sizing:border-box;text-align:center}.ip-duration-list{display:grid;gap:9px}.ip-duration-item{padding:10px;border:1px solid #e1e6eb;border-radius:13px;background:#fff}.ip-duration-row{display:grid;grid-template-columns:150px minmax(180px,1fr) 180px auto;gap:10px;align-items:end;margin:0}.ip-duration-delete{margin-top:7px}.ip-duration-delete button{padding:7px 11px}.ip-duration-add-title{margin:22px 0 10px}.ip-duration-add{padding:11px;border:1px solid #dfe5ec;border-radius:13px;background:#fff}.ip-ban-form{display:grid;grid-template-columns:minmax(190px,1fr) 180px auto minmax(180px,1fr) auto;gap:12px;align-items:end}.ip-ban-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}.ip-ban-form input,.ip-ban-form select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.ip-ban-check{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;white-space:nowrap;padding-bottom:9px}.ip-ban-check input{width:auto}.ip-ban-form .admin-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ip-ban-form .admin-actions .auth-button{white-space:nowrap}@media(max-width:1050px){.ip-protection-grid{grid-template-columns:1fr 1fr}.ip-ban-form{grid-template-columns:1fr 1fr}.ip-ban-form .admin-actions{grid-column:1/-1}.ip-ban-check{padding-bottom:0}}@media(max-width:700px){.ip-row-actions{min-width:0}.ip-protection-grid{grid-template-columns:1fr}.ip-duration-row{grid-template-columns:1fr}.ip-duration-delete{margin-top:7px}.ip-ban-form{grid-template-columns:1fr}.ip-ban-form .admin-actions{grid-column:auto}.ip-section-head{flex-direction:column}.ip-bulk-toolbar{align-items:stretch}.ip-bulk-toolbar button{width:100%}}

.ip-duration-calculator{margin:18px 0 8px;padding:15px;border:1px solid #dfe5ec;border-radius:13px;background:#f8fafc}.ip-duration-calculator-head h3{margin:0 0 5px}.ip-duration-calculator-head p{margin:0 0 12px;color:#667085;font-size:12px;line-height:1.45}.ip-duration-calculator-form{display:grid;grid-template-columns:130px 170px 190px 130px minmax(180px,1fr) auto;gap:10px;align-items:end}.ip-duration-calculator-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}.ip-duration-calculator-form input,.ip-duration-calculator-form select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.ip-duration-calculator-form input[readonly]{background:#f1f4f8;color:#344054}.ip-duration-calculator-form button{min-height:40px;white-space:nowrap}@media(max-width:1050px){.ip-duration-calculator-form{grid-template-columns:1fr 1fr 1fr}}@media(max-width:700px){.ip-duration-calculator-form{grid-template-columns:1fr}.ip-duration-calculator-form button{width:100%}}

/* Gestion des avis — barre de filtres */
.admin-filter-box{padding:14px;margin:16px 0;border:1px solid #e1e6eb;border-radius:12px;background:#f8f9fb}
.admin-filter-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(145px,1fr) minmax(280px,2fr) auto;gap:12px;align-items:end;padding-bottom:2px}
.admin-filter-row .auth-field{min-width:0;width:auto;margin:0}
.admin-filter-row .auth-field>span{display:block}
.admin-filter-row select,.admin-filter-row input{width:100%;box-sizing:border-box}
.admin-filter-actions{display:flex;align-items:flex-end;justify-content:center;min-height:42px;white-space:nowrap}
.admin-filter-actions .admin-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 8px}
.admin-table-wrap{overflow-x:auto}
.admin-table-wrap .admin-table{min-width:980px}
@media(max-width:900px){.admin-filter-row{grid-template-columns:1fr 1fr}.admin-filter-row .auth-field:nth-child(3){grid-column:1 / -1}.admin-filter-actions{grid-column:1 / -1;justify-content:flex-start}}

/* V49.87 — éditeur d'avis validé : fenêtre au niveau de l'avis */
.review-editor-dialog{width:min(720px,calc(100vw - 32px));max-width:720px;border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(23,35,63,.25);background:#fff}
.review-editor-dialog::backdrop{background:rgba(23,35,63,.42)}
.review-editor-content{padding:22px}
.review-editor-dialog .admin-page-head{margin-bottom:12px}
.admin-dialog-close{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;padding:6px;border-radius:8px}
.admin-dialog-close:hover{background:#f3f5f8}
.review-editor-dialog .admin-actions{flex-wrap:wrap;align-items:center}
.review-editor-dialog .admin-actions button{border:0;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:700}
@media(max-width:650px){.review-editor-dialog{width:calc(100vw - 20px)}.review-editor-content{padding:16px}}

/* V49.127 — fond personnalisé appliqué directement au body ; reprise audio avec état versionné. */

/* V49.143 — Alignement des cases à cocher des listes de configuration */
.auth-field .check-line{display:flex;align-items:center;gap:8px;line-height:1.4;min-height:22px}
.auth-field .check-line input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;box-sizing:border-box;margin:0;padding:0;border:0;border-radius:4px;accent-color:auto}
.playlist-selected{margin-top:10px;padding:12px;border:1px solid #e1e6eb;border-radius:12px;background:#fafbfc}.playlist-available{margin-top:14px}.playlist-track-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0;padding:9px 10px;border:1px solid #e1e6eb;border-radius:10px;background:#fff}.playlist-track-row>span{display:flex;align-items:baseline;gap:9px;min-width:0}.playlist-track-title,.playlist-track-source{display:inline!important;margin:0}.playlist-track-source{font-size:.82em;color:#687386;white-space:normal}.playlist-track-actions{display:flex;gap:5px;flex:0 0 auto}.playlist-track-actions button{width:30px;height:30px;border:1px solid #d8deea;border-radius:8px;background:#fff;font-weight:800;cursor:pointer}.playlist-track-actions button:hover{background:#f3f5f8}.playlist-check{margin:8px 0}.playlist-check>span{display:inline-flex!important;align-items:baseline;gap:9px;min-width:0}.playlist-selected:empty{display:none}
/* Informations pratiques */
.cm-practical-info{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.cm-practical-chip,.cm-practical-more{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #d8d8d8;border-radius:999px;background:#fff;font-size:13px}.cm-practical-more{cursor:pointer;font-weight:700}
.cm-practical-place-info .cm-practical-more{border:1px solid #e5a04a;background:#fff3df;color:#000;border-radius:999px;font-weight:700;cursor:pointer;padding:5px 10px}.cm-practical-place-info .cm-practical-more:hover{background:#ffe7c2;border-color:#d98b25;color:#000}.cm-practical-modal{width:min(820px,92vw);max-width:92vw;border:0;border-radius:14px;padding:18px;box-shadow:0 12px 45px rgba(0,0,0,.28)}.cm-practical-modal::backdrop{background:rgba(0,0,0,.55)}.cm-practical-modal-head{display:flex;justify-content:space-between;align-items:center}.cm-practical-modal-head h3{margin:0}.cm-practical-close{border:0;background:none;font-size:28px;cursor:pointer}.cm-practical-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}.cm-practical-category h4{margin:0 0 7px}.cm-practical-row{padding:5px 0}.cm-practical-form{margin:18px 0}.cm-practical-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cm-practical-form-category{border:1px solid #ddd;border-radius:10px;padding:12px}.cm-practical-form-category h4{margin:0 0 8px}.cm-practical-form-category label{display:block;padding:5px 0}.cm-practical-form-visible{margin-bottom:6px}.cm-practical-form-modal{max-height:80vh}.cm-practical-modal-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin-top:12px}.cm-practical-modal-options label{padding:6px 0}.detail-date{font-size:13px;color:#666;margin:6px 0 10px}@media(max-width:900px){.place-top-fields{grid-template-columns:1fr 1fr}.place-top-fields .auth-field:first-child{grid-column:1 / -1}}
@media(max-width:1100px){.cm-practical-form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.cm-practical-modal-grid,.cm-practical-form-grid,.cm-practical-modal-options{grid-template-columns:1fr}}
.user-ip-page{max-width:1100px}.admin-page-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.user-ip-user-list{display:grid;gap:8px}.user-ip-user-row{display:flex;align-items:stretch;gap:8px;padding:10px;border:1px solid #e1e6eb;border-radius:12px;background:#fff}.user-ip-user-row.is-selected{border-color:#b9c4d4;box-shadow:0 0 0 2px rgba(23,35,63,.06)}.user-ip-user-row>a{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;text-decoration:none;color:inherit}.user-ip-user-row>a strong{font-size:15px}.user-ip-user-row>a span,.user-ip-user-row>a small{color:#667085;font-size:12px;overflow-wrap:anywhere}.user-ip-block-form{display:flex;align-items:center}.user-ip-block-form button{white-space:nowrap}.user-ip-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.user-ip-detail-grid>section{padding:15px;border:1px solid #dfe5ec;border-radius:14px;background:#fff}.user-ip-detail-grid h3{margin:0 0 6px}.user-ip-list{display:grid;gap:8px;margin-top:12px}.user-ip-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid #e1e6eb;border-radius:10px;background:#fff}.user-ip-item>div:first-child{min-width:0}.user-ip-item code{display:block;overflow-wrap:anywhere}.user-ip-item small{display:block;margin-top:3px;color:#667085;font-size:11px}.user-ip-item form{margin:0}.user-ip-item .auth-button,.user-ip-item .btn-no{min-height:34px;padding:7px 10px;white-space:nowrap}.user-ip-edit-form{display:flex;flex:1;gap:7px}.user-ip-edit-form input,.user-ip-add-form input{box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid #d8deea;border-radius:9px;background:#fff;font:inherit}.user-ip-add-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px;padding-top:12px;border-top:1px solid #e7ebf0}.user-ip-add-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}.ip-allowed-label{font-size:12px;font-weight:800;white-space:nowrap}.user-ip-block-state{margin-top:18px;padding:13px 15px;border:1px solid #e1e6eb;border-radius:13px;background:#fff}.user-ip-block-state p{margin:8px 0 0}.user-ip-block-state form{margin:0}@media(max-width:760px){.user-ip-detail-grid{grid-template-columns:1fr}.user-ip-user-row{flex-direction:column}.user-ip-block-form button{width:100%}.user-ip-add-form{grid-template-columns:1fr}.user-ip-item{align-items:flex-start;flex-wrap:wrap}.user-ip-edit-form{min-width:0}.admin-page-head-actions{width:100%}}
.cm-ip-dialog{width:min(680px,calc(100vw - 28px));max-width:680px;border:0;border-radius:16px;padding:0;background:transparent;box-shadow:0 18px 60px rgba(15,23,42,.25)}.cm-ip-dialog::backdrop{background:rgba(15,23,42,.45)}.cm-ip-dialog>.admin-user-box{margin:0}.cm-ip-choice{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;align-items:center;padding:9px 10px;border:1px solid #e1e6eb;border-radius:10px;background:#fff}.cm-ip-choice code{overflow-wrap:anywhere}.cm-ip-choice small{grid-column:2;color:#667085;font-size:11px}.cm-ip-manual-add{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px}.cm-ip-manual-add .auth-field{margin:0}@media(max-width:600px){.cm-ip-manual-add{grid-template-columns:1fr}}
.cm-birth-day-month{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cm-birth-day-month .auth-field{margin:0}@media(max-width:500px){.cm-birth-day-month{grid-template-columns:1fr}}
.cm-settings-check{display:flex;align-items:center;gap:9px;line-height:1.4}
.cm-settings-check input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0}

/* V49.210 — gestion IP utilisateurs : fiche dépliable directement dans la liste */
.user-ip-user-row{align-items:flex-start}
.user-ip-accordion{flex:1;min-width:0}
.user-ip-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:1px 2px}
.user-ip-accordion>summary::-webkit-details-marker{display:none}
.user-ip-summary-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}
.user-ip-summary-main strong{font-size:15px}
.user-ip-summary-main span,.user-ip-summary-main small{color:#667085;font-size:12px;overflow-wrap:anywhere}
.user-ip-summary-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d8deea;border-radius:50%;background:#f8fafc;color:#475467;font-weight:800;transition:transform .15s ease,background .15s ease}
.user-ip-accordion[open]>summary .user-ip-summary-toggle{transform:rotate(180deg);background:#eef2f7}
.user-ip-detail-inline{margin:12px 0 2px;padding-top:14px;border-top:1px solid #e5e9ef}
.user-ip-detail-inline .ip-section-head{margin-bottom:12px}
.user-ip-detail-inline h3{margin:0}
.user-ip-detail-inline h4{margin:0 0 6px;font-size:16px}
.user-ip-user-row.is-selected{border-color:#b9c4d4;box-shadow:0 0 0 2px rgba(23,35,63,.06)}
.user-ip-user-row .user-ip-block-form{flex:0 0 auto}
@media(max-width:760px){.user-ip-user-row{flex-direction:column}.user-ip-user-row .user-ip-block-form{width:100%}.user-ip-user-row .user-ip-block-form button{width:100%}}

/* V49.212 — configuration avancée : trois colonnes par groupe */
.advanced-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px}
.advanced-group-section{min-width:0;padding:14px;border:1px solid #e1e6eb;border-radius:14px;background:#fff}
.advanced-group-section h3{margin-top:0}
.advanced-group-section .auth-field{margin:12px 0}
@media(max-width:1000px){.advanced-group-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.advanced-group-grid{grid-template-columns:1fr}}

/* V49.214 — organisation des centres de contrôle et notifications */
.cm-control-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin:14px 0;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.cm-control-mode strong{font-size:16px}.cm-control-mode span{font-size:12px;color:var(--muted)} .cm-control-presence{margin:8px 0 14px;color:var(--muted);font-size:12px}
.cm-control-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cm-group-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cm-group-two-columns>.admin-page-head{grid-column:1/-1}.cm-group-two-columns>.moderation-card{margin:0!important}
.notification-admin-explainer{margin:14px 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font-size:13px}.notification-user-head,.notification-user-row{display:contents}.notification-user-head>strong{padding:12px;border-bottom:1px solid var(--line);background:var(--soft);font-size:12px}.notification-user-row>div,.notification-user-row>label{padding:12px;border-bottom:1px solid var(--line)}.notification-user-row>div{display:flex;flex-direction:column;gap:4px}.notification-user-row>label{font-size:12px;display:flex;align-items:center;gap:5px}.notification-default-note{font-size:11px;color:var(--muted)}.notification-user-row input:disabled{opacity:.6}.notification-user-row label:last-child{display:flex;flex-wrap:wrap}.notification-user-row label:last-child small{width:100%}.notification-admin-explainer strong{font-size:14px}.notification-admin-explainer ul{margin:8px 0;padding-left:20px}.notification-admin-explainer li{margin:3px 0}.notification-admin-explainer p{margin:8px 0 0;color:var(--muted)}.notification-admin-grid,.notification-user-grid{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:16px}.notification-admin-grid{grid-template-columns:1.7fr .7fr .8fr .8fr .9fr}.notification-user-grid{grid-template-columns:1.7fr .9fr .8fr .8fr .9fr}.notification-admin-head,.notification-admin-row,.notification-user-head,.notification-user-row{display:contents}.notification-admin-head>strong,.notification-admin-row>div,.notification-admin-row>label,.notification-admin-row>span,.notification-user-head>strong,.notification-user-row>div,.notification-user-row>label{padding:12px;border-bottom:1px solid var(--line)}.notification-admin-head>strong{background:var(--soft);font-size:12px}.notification-admin-row>div{display:flex;flex-direction:column;gap:4px}.notification-admin-row small{font-size:11px;color:var(--muted)}.notification-admin-row>label,.notification-admin-row>span{font-size:12px;display:flex;align-items:center;gap:5px}.notification-limit-input{width:80px}.notification-push-box{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:10px}.notification-push-box h2{margin-top:0}.moderation-only-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.cm-control-grid,.moderation-only-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-group-two-columns{grid-template-columns:1fr}.cm-group-two-columns>.admin-page-head{grid-column:auto}}
@media(max-width:700px){.cm-control-grid,.moderation-only-grid{grid-template-columns:1fr}.notification-admin-grid,.notification-user-grid{grid-template-columns:1fr}.notification-admin-head,.notification-user-head{display:none}.notification-admin-row,.notification-user-row{display:grid;grid-template-columns:1fr}.notification-admin-row>div,.notification-admin-row>label,.notification-admin-row>span,.notification-user-row>div,.notification-user-row>label{border-bottom:0}.notification-admin-row,.notification-user-row{border-bottom:1px solid var(--line);padding:6px}.cm-control-mode{align-items:flex-start;flex-direction:column}}

/* V50.22 — affichage Push configurable : fenêtre site + système de secours */
.cm-site-notification-stack{position:fixed;z-index:1100;width:min(380px,calc(100vw - 30px));display:grid;gap:10px;pointer-events:none}
.cm-site-notification-position-top-right{top:92px;right:22px}.cm-site-notification-position-top-left{top:92px;left:22px}.cm-site-notification-position-top-center{top:92px;left:50%;transform:translateX(-50%)}.cm-site-notification-position-bottom-right{bottom:22px;right:22px}.cm-site-notification-position-bottom-left{bottom:22px;left:22px}.cm-site-notification-position-bottom-center{bottom:22px;left:50%;transform:translateX(-50%)}
.cm-site-notification-toast{position:relative;width:100%;box-sizing:border-box;padding:15px 42px 15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(23,35,63,.22);opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s;pointer-events:auto}.cm-site-notification-toast.is-visible{opacity:1;transform:translateY(0)}
.cm-site-notification-toast-title{font-weight:800;font-size:14px;margin-bottom:5px}.cm-site-notification-toast-body{font-size:13px;line-height:1.45;color:#475467;margin-bottom:9px;white-space:pre-wrap;overflow-wrap:anywhere}.cm-site-notification-toast a{font-size:12px;font-weight:800;text-decoration:none}.cm-site-notification-toast-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#667085;font-size:22px;line-height:1;cursor:pointer;padding:5px 8px;border-radius:8px}.cm-site-notification-toast-close:hover{background:#f3f5f7}.cm-push-permission-toast{position:relative;width:100%;box-sizing:border-box;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(23,35,63,.22);pointer-events:auto}.cm-push-permission-toast-title{font-weight:800;font-size:14px;margin-bottom:6px}.cm-push-permission-toast-body{font-size:13px;line-height:1.45;color:#475467;margin-bottom:12px;overflow-wrap:anywhere}.cm-push-permission-toast-actions{display:flex;justify-content:flex-start}.cm-push-permission-toast-button{border:0;border-radius:10px;background:#17233f;color:#fff;font-weight:800;font-size:12px;padding:9px 12px;cursor:pointer}.cm-push-permission-toast-button:disabled{opacity:.6;cursor:wait}
/* V50.25 — lisibilité du centre des notifications */
.notification-site-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 16px}
.notification-site-toolbar>span{font-size:13px;color:var(--muted);font-weight:700}
.site-notifications-list{display:grid;gap:10px}
.site-notification-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 16px;border:1px solid #e1e6eb;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(23,35,63,.06)}
.site-notification-card.is-unread{border-color:#d6deea;box-shadow:0 8px 22px rgba(23,35,63,.08)}
.site-notification-main{min-width:0}
.site-notification-category{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:6px;padding:3px 8px;border-radius:999px;background:#eef4ff;color:#344f83;font-size:11px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.site-notification-title{font-size:14px;font-weight:800;color:#17233f;line-height:1.35;margin-bottom:5px;overflow-wrap:anywhere}
.site-notification-body{font-size:13px;line-height:1.45;color:#344054;overflow-wrap:anywhere}
.site-notification-date{margin-top:7px;font-size:11px;color:#7b8490}
.site-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:290px}
.site-notification-open,.site-notification-read{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;width:auto;flex:0 0 auto;padding:9px 14px;border-radius:999px;font:inherit;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer;appearance:none;-webkit-appearance:none}
.site-notification-open{min-width:82px;border:0;background:#17233f;color:#fff}
.site-notification-open:hover{background:#0f182d}
.site-notification-read{min-width:145px;border:1px solid #17233f;background:#fff;color:#17233f}
.site-notification-read:hover{background:#f4f6fa}
.site-notification-read-label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;padding:9px 12px;border-radius:999px;background:#eef2f7;color:#667085;font-size:12px;font-weight:800;white-space:nowrap;flex:0 0 auto}
.site-notification-message-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px}.site-notification-message-title>span{font-weight:400}.site-notification-message-body{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:13px;line-height:1.5;margin-top:2px}.site-notification-message-body>span{font-weight:400}.site-notification-message-body>strong{overflow-wrap:anywhere}
.site-notification-empty{padding:30px 18px;text-align:center;border:1px dashed #d8deea;border-radius:15px;background:rgba(255,255,255,.72)}
.site-notification-empty>div{font-size:28px}.site-notification-empty h2{margin:8px 0 5px;font-size:18px}.site-notification-empty p{margin:0;color:#667085;font-size:13px}
@media(max-width:700px){.site-notification-card{grid-template-columns:1fr;gap:12px}.site-notification-actions{justify-content:flex-start;min-width:0;flex-wrap:wrap}.site-notification-open,.site-notification-read,.site-notification-read-label{min-height:36px}.notification-site-toolbar{align-items:flex-start;flex-direction:column}.notification-site-toolbar .auth-button{width:100%}}

.notification-user-advanced-grid{display:grid;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:16px}.notification-user-advanced-head,.notification-user-advanced-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.notification-user-advanced-head>strong{padding:13px 16px;background:var(--soft);font-size:13px}.notification-user-advanced-row>label{padding:14px 16px;border-top:1px solid var(--line);min-width:0}.notification-user-advanced-row>label+label{border-left:1px solid var(--line)}.notification-user-advanced-row .auth-field{display:flex;flex-direction:column;gap:6px}.notification-user-advanced-row .auth-field input[type="number"]{max-width:120px}.notification-user-advanced-row .auth-field small{font-size:11px;color:var(--muted)}.notification-user-advanced-row .notification-user-advanced-note{display:flex;flex-direction:column;gap:5px;justify-content:center;color:var(--muted)}.notification-user-advanced-row .notification-user-advanced-note strong{color:var(--text);font-size:13px}.notification-user-advanced-row .notification-user-advanced-note small{font-size:11px;color:var(--muted);line-height:1.4}.notification-advanced-section{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.notification-advanced-section-head{margin-bottom:14px}.notification-advanced-section-head h2{margin:0 0 4px;font-size:18px}.notification-advanced-section-head p{margin:0;color:var(--muted);font-size:13px}.notification-advanced-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notification-advanced-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notification-advanced-switch{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft);cursor:pointer}.notification-advanced-switch input{margin-top:2px;flex:0 0 auto}.notification-advanced-switch span{display:flex;flex-direction:column;gap:4px}.notification-advanced-switch strong{font-size:13px}.notification-advanced-switch small{font-size:11px;color:var(--muted);line-height:1.4}.notification-advanced-note{padding:12px 14px;border:1px dashed var(--line);border-radius:12px;background:var(--soft);font-size:13px}.notification-advanced-note p{margin:7px 0 0;color:var(--muted)}.admin-page-head-links{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:nowrap;white-space:nowrap}.admin-page-head-links-sep{font-weight:700;color:var(--muted)}
@media(max-width:700px){.notification-admin-grid,.notification-user-grid{grid-template-columns:1fr}.notification-admin-head,.notification-user-head{display:none}.notification-admin-row,.notification-user-row{display:grid;grid-template-columns:1fr}.notification-admin-row>div,.notification-admin-row>label,.notification-admin-row>span,.notification-user-row>div,.notification-user-row>label{border-bottom:0}.notification-admin-row,.notification-user-row{border-bottom:1px solid var(--line);padding:6px}.cm-control-mode{align-items:flex-start;flex-direction:column}.notification-advanced-form-grid,.notification-advanced-options,.notification-user-advanced-head,.notification-user-advanced-row{grid-template-columns:1fr}.notification-user-advanced-row>label+label{border-left:0}.admin-page-head-links{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.cm-site-notification-stack{width:min(380px,calc(100vw - 20px))}.cm-site-notification-position-top-right{top:75px;right:10px}.cm-site-notification-position-top-left{top:75px;left:10px}.cm-site-notification-position-top-center{top:75px;left:50%;transform:translateX(-50%)}.cm-site-notification-position-bottom-right{bottom:10px;right:10px}.cm-site-notification-position-bottom-left{bottom:10px;left:10px}.cm-site-notification-position-bottom-center{bottom:10px;left:50%;transform:translateX(-50%)}}


/* V52.02 — boutons publics modernisés validés visuellement avant intégration */
/* Typographie volontairement héritée des classes/pages existantes : cette famille ne fixe ni police, ni taille, ni graisse, ni casse. */
.cm-action-button{
 --cm-btn-dark:#0d568f;
 --cm-btn-mid:#167ac8;
 --cm-btn-light:#58cdf4;
 --cm-btn-edge:#0b659f;
 --cm-btn-shadow:rgba(35,160,222,.28);
 position:relative;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 min-height:46px;
 padding:0 10px 0 6px;
 border:1px solid var(--cm-btn-edge);
 border-radius:13px;
 color:#fff;
 text-decoration:none;
 cursor:pointer;
 overflow:hidden;
 white-space:nowrap;
 background:
  linear-gradient(180deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.07) 31%,rgba(255,255,255,0) 44%),
  linear-gradient(174deg,var(--cm-btn-dark) 0%,var(--cm-btn-mid) 48%,var(--cm-btn-light) 100%);
 box-shadow:
  inset 0 2px 0 rgba(255,255,255,.30),
  inset 0 -1px 0 rgba(0,0,0,.06),
  0 1px 0 rgba(255,255,255,.45),
  0 5px 0 rgba(20,40,70,.16),
  0 10px 18px var(--cm-btn-shadow);
 text-shadow:0 1px 1px rgba(0,0,0,.26);
 transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease;
}
.cm-action-button:hover{
 transform:translateY(1px);
 filter:brightness(.99) saturate(1.03);
 background:
  linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 35%),
  linear-gradient(174deg,var(--cm-btn-dark) 0%,var(--cm-btn-mid) 48%,var(--cm-btn-light) 100%);
 box-shadow:
  inset 0 3px 6px rgba(0,0,0,.15),
  inset 0 -1px 0 rgba(255,255,255,.12),
  0 2px 0 rgba(20,40,70,.13),
  0 5px 11px var(--cm-btn-shadow);
}
.cm-action-button:active{
 transform:translateY(3px);
 background:
  linear-gradient(180deg,rgba(0,0,0,.07) 0%,rgba(0,0,0,0) 45%),
  linear-gradient(174deg,var(--cm-btn-dark) 0%,var(--cm-btn-mid) 48%,var(--cm-btn-light) 100%);
 box-shadow:
  inset 0 4px 8px rgba(0,0,0,.21),
  inset 0 1px 0 rgba(255,255,255,.08),
  0 1px 0 rgba(20,40,70,.13),
  0 3px 7px var(--cm-btn-shadow);
}
.cm-action-button:focus-visible{outline:3px solid #111827;outline-offset:3px}
.cm-action-button--blue{
 --cm-btn-dark:#0d568f;
 --cm-btn-mid:#167ac8;
 --cm-btn-light:#58cdf4;
 --cm-btn-edge:#0b659f;
 --cm-btn-shadow:rgba(35,160,222,.28);
}
.cm-action-button--review{
 --cm-btn-dark:#a94310;
 --cm-btn-mid:#d86c1b;
 --cm-btn-light:#f0a84d;
 --cm-btn-edge:#aa4a12;
 --cm-btn-shadow:rgba(216,108,27,.30);
}
.cm-action-button--green{
 --cm-btn-dark:#176a4e;
 --cm-btn-mid:#2b9268;
 --cm-btn-light:#7bd77b;
 --cm-btn-edge:#1e7655;
 --cm-btn-shadow:rgba(58,166,103,.28);
}
/* Style J’aime retenu dans la maquette V17 : variante rose plus claire. */
.cm-action-button--like{
 --cm-btn-dark:#be5675;
 --cm-btn-mid:#dd7f9c;
 --cm-btn-light:#f5bfd0;
 --cm-btn-edge:#cb6a87;
 --cm-btn-shadow:rgba(221,127,156,.24);
}
/* PayPal / Patreon : base V14 rendue environ 10 % plus foncée, retenue dans V18/V19. */
.cm-action-button--paypal{
 --cm-btn-dark:#0c4d81;
 --cm-btn-mid:#146eb4;
 --cm-btn-light:#4fb8dc;
 --cm-btn-edge:#0a5b8f;
 --cm-btn-shadow:rgba(20,110,180,.28);
}
.cm-action-button--patreon{
 --cm-btn-dark:#552885;
 --cm-btn-mid:#774aa9;
 --cm-btn-light:#ac87d3;
 --cm-btn-edge:#643697;
 --cm-btn-shadow:rgba(119,74,169,.28);
}
/* L’état favori reste lisible par son libellé/cœur existant ; la couleur seule n’est pas utilisée comme information. */
.favorite-button.cm-action-button,.favorite-button.cm-action-button.is-favorite{color:#fff}
/* Les liens de don non configurés restent visuellement désactivés. */
.donation-disabled.cm-action-button{
 background:#e8ebef;
 color:#737c88;
 border-color:#d8dee8;
 box-shadow:none;
 text-shadow:none;
 cursor:default;
 filter:none;
 transform:none;
}
.donation-disabled.cm-action-button:hover,.donation-disabled.cm-action-button:active{
 background:#e8ebef;
 color:#737c88;
 box-shadow:none;
 filter:none;
 transform:none;
}
@media(prefers-reduced-motion:reduce){.cm-action-button{transition:none}}

/* V52.03 — harmonisation du thème des anciens boutons d’action sur l’ensemble du site */
/*
   Périmètre volontairement limité aux anciens boutons d’action / validation / refus / envoi.
   Les contrôles spécialisés (fermeture de modale, galerie, carte, musique, copie, déplacement, onglets, etc.) restent inchangés.
   La typographie reste celle des pages/classes historiques : aucune police, taille, graisse, casse ou espacement de lettres n’est fixé ici.
*/
.auth-button:not(.cm-action-button),
.account-actions-m6 .account-login-primary,
.inner-search button,
.btn-ok,
.btn-no,
.favorite-remove-button,
.site-notification-open,
.site-notification-read,
.cm-push-permission-toast-button,
.btn-message-refresh,
.admin-actions button,
.inline-form button,
.replace-form button,
.reason-form button,
.user-action-form button,
.place-admin-card .admin-edit-link,
.identifier-type-admin-row button,
.identifier-type-create button,
.review-editor-dialog .admin-actions button,
.cm-message-contact-actions button,
.messaging-export-form button,
.message-thread-actions button,
.message-thread-head>form button,
.report-admin-toolbar form button,
.report-bulk-toolbar button,
.report-admin-actions button{
 position:relative;
 padding-left:6px!important;
 padding-right:10px!important;
 border:1px solid var(--cm-legacy-edge,#0b659f)!important;
 border-radius:13px!important;
 color:#fff!important;
 text-decoration:none;
 cursor:pointer;
 overflow:hidden;
 background:
  linear-gradient(180deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.07) 31%,rgba(255,255,255,0) 44%),
  linear-gradient(174deg,var(--cm-legacy-dark,#0d568f) 0%,var(--cm-legacy-mid,#167ac8) 48%,var(--cm-legacy-light,#58cdf4) 100%)!important;
 box-shadow:
  inset 0 2px 0 rgba(255,255,255,.30),
  inset 0 -1px 0 rgba(0,0,0,.06),
  0 1px 0 rgba(255,255,255,.45),
  0 5px 0 rgba(20,40,70,.16),
  0 10px 18px var(--cm-legacy-shadow,rgba(35,160,222,.28))!important;
 text-shadow:0 1px 1px rgba(0,0,0,.26);
 transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease;
}

/* Validations / actions positives : variante verte. */
body .btn-ok,
body .site-notification-read{
 --cm-legacy-dark:#176a4e;
 --cm-legacy-mid:#2b9268;
 --cm-legacy-light:#7bd77b;
 --cm-legacy-edge:#1e7655;
 --cm-legacy-shadow:rgba(58,166,103,.28);
}

/* Refus, suppression, signalement, archivage : variante orange ; le libellé/icone reste l’indicateur principal. */
body .btn-no,
body .user-action-form button:not(.btn-ok):not(.btn-no),
body .cm-message-contact-actions button:not(.btn-ok),
body .message-thread-actions button,
body .message-thread-head>form button,
body .report-bulk-toolbar button,
body .report-admin-actions button{
 --cm-legacy-dark:#a94310;
 --cm-legacy-mid:#d86c1b;
 --cm-legacy-light:#f0a84d;
 --cm-legacy-edge:#aa4a12;
 --cm-legacy-shadow:rgba(216,108,27,.30);
}

/* Retrait d’un favori : même famille rose claire que J’aime. */
body .favorite-remove-button{
 --cm-legacy-dark:#be5675;
 --cm-legacy-mid:#dd7f9c;
 --cm-legacy-light:#f5bfd0;
 --cm-legacy-edge:#cb6a87;
 --cm-legacy-shadow:rgba(221,127,156,.24);
}

.auth-button:not(.cm-action-button):hover,
.account-actions-m6 .account-login-primary:hover,
.inner-search button:hover,
.btn-ok:hover,
.btn-no:hover,
.favorite-remove-button:hover,
.site-notification-open:hover,
.site-notification-read:hover,
.cm-push-permission-toast-button:hover,
.btn-message-refresh:hover,
.admin-actions button:hover,
.inline-form button:hover,
.replace-form button:hover,
.reason-form button:hover,
.user-action-form button:hover,
.place-admin-card .admin-edit-link:hover,
.identifier-type-admin-row button:hover,
.identifier-type-create button:hover,
.review-editor-dialog .admin-actions button:hover,
.cm-message-contact-actions button:hover,
.messaging-export-form button:hover,
.message-thread-actions button:hover,
.message-thread-head>form button:hover,
.report-admin-toolbar form button:hover,
.report-bulk-toolbar button:hover,
.report-admin-actions button:hover{
 transform:translateY(1px);
 filter:brightness(.99) saturate(1.03);
 background:
  linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 35%),
  linear-gradient(174deg,var(--cm-legacy-dark,#0d568f) 0%,var(--cm-legacy-mid,#167ac8) 48%,var(--cm-legacy-light,#58cdf4) 100%)!important;
 box-shadow:
  inset 0 3px 6px rgba(0,0,0,.15),
  inset 0 -1px 0 rgba(255,255,255,.12),
  0 2px 0 rgba(20,40,70,.13),
  0 5px 11px var(--cm-legacy-shadow,rgba(35,160,222,.28))!important;
}

.auth-button:not(.cm-action-button):active,
.account-actions-m6 .account-login-primary:active,
.inner-search button:active,
.btn-ok:active,
.btn-no:active,
.favorite-remove-button:active,
.site-notification-open:active,
.site-notification-read:active,
.cm-push-permission-toast-button:active,
.btn-message-refresh:active,
.admin-actions button:active,
.inline-form button:active,
.replace-form button:active,
.reason-form button:active,
.user-action-form button:active,
.place-admin-card .admin-edit-link:active,
.identifier-type-admin-row button:active,
.identifier-type-create button:active,
.review-editor-dialog .admin-actions button:active,
.cm-message-contact-actions button:active,
.messaging-export-form button:active,
.message-thread-actions button:active,
.message-thread-head>form button:active,
.report-admin-toolbar form button:active,
.report-bulk-toolbar button:active,
.report-admin-actions button:active{
 transform:translateY(3px);
 background:
  linear-gradient(180deg,rgba(0,0,0,.07) 0%,rgba(0,0,0,0) 45%),
  linear-gradient(174deg,var(--cm-legacy-dark,#0d568f) 0%,var(--cm-legacy-mid,#167ac8) 48%,var(--cm-legacy-light,#58cdf4) 100%)!important;
 box-shadow:
  inset 0 4px 8px rgba(0,0,0,.21),
  inset 0 1px 0 rgba(255,255,255,.08),
  0 1px 0 rgba(20,40,70,.13),
  0 3px 7px var(--cm-legacy-shadow,rgba(35,160,222,.28))!important;
}

.auth-button:not(.cm-action-button):focus-visible,
.account-actions-m6 .account-login-primary:focus-visible,
.inner-search button:focus-visible,
.btn-ok:focus-visible,
.btn-no:focus-visible,
.favorite-remove-button:focus-visible,
.site-notification-open:focus-visible,
.site-notification-read:focus-visible,
.cm-push-permission-toast-button:focus-visible,
.btn-message-refresh:focus-visible,
.admin-actions button:focus-visible,
.inline-form button:focus-visible,
.replace-form button:focus-visible,
.reason-form button:focus-visible,
.user-action-form button:focus-visible,
.place-admin-card .admin-edit-link:focus-visible,
.identifier-type-admin-row button:focus-visible,
.identifier-type-create button:focus-visible,
.review-editor-dialog .admin-actions button:focus-visible,
.cm-message-contact-actions button:focus-visible,
.messaging-export-form button:focus-visible,
.message-thread-actions button:focus-visible,
.message-thread-head>form button:focus-visible,
.report-admin-toolbar form button:focus-visible,
.report-bulk-toolbar button:focus-visible,
.report-admin-actions button:focus-visible{
 outline:3px solid #111827;
 outline-offset:3px;
}

.auth-button:not(.cm-action-button):disabled,
.btn-ok:disabled,
.btn-no:disabled,
.favorite-remove-button:disabled,
.site-notification-read:disabled,
.cm-push-permission-toast-button:disabled,
.admin-actions button:disabled,
.inline-form button:disabled,
.replace-form button:disabled,
.reason-form button:disabled,
.user-action-form button:disabled,
.identifier-type-admin-row button:disabled,
.identifier-type-create button:disabled,
.review-editor-dialog .admin-actions button:disabled,
.cm-message-contact-actions button:disabled,
.messaging-export-form button:disabled,
.message-thread-actions button:disabled,
.message-thread-head>form button:disabled,
.report-admin-toolbar form button:disabled,
.report-bulk-toolbar button:disabled,
.report-admin-actions button:disabled{
 opacity:.55;
 cursor:not-allowed;
 transform:none;
 filter:none;
}

/* L’état actif de J’aime ne doit plus réactiver l’ancien fond clair. */
.favorite-button.cm-action-button.is-favorite{
 color:#fff;
}

@media(prefers-reduced-motion:reduce){
 .auth-button:not(.cm-action-button),
 .account-actions-m6 .account-login-primary,
 .inner-search button,
 .btn-ok,.btn-no,.favorite-remove-button,.site-notification-open,.site-notification-read,
 .cm-push-permission-toast-button,.btn-message-refresh,.admin-actions button,.inline-form button,
 .replace-form button,.reason-form button,.user-action-form button,.place-admin-card .admin-edit-link,
 .identifier-type-admin-row button,.identifier-type-create button,.review-editor-dialog .admin-actions button,
 .cm-message-contact-actions button,.messaging-export-form button,.message-thread-actions button,
 .message-thread-head>form button,.report-admin-toolbar form button,.report-bulk-toolbar button,
 .report-admin-actions button{transition:none}
}



/* V52.05 — hiérarchie des actions de compte publiques (bandeau site).
   « 👤 Se connecter » est l’action principale stylée ; « Créer un compte » reste volontairement discret.
   Aucun réglage de police, taille, graisse, casse ou espacement des lettres n’est ajouté. */
.account-actions-m6 .account-register-secondary{padding:0;border:0;background:transparent!important;box-shadow:none!important;color:#17233f!important;text-shadow:none!important;transform:none!important;filter:none!important}
.account-actions-m6 .account-register-secondary:hover,.account-actions-m6 .account-register-secondary:active{padding:0;border:0;background:transparent!important;box-shadow:none!important;color:#17233f!important;text-shadow:none!important;transform:none!important;filter:none!important}

/* V52.08 — palette finale validée visuellement pour le bouton public « 👤 Se connecter ».
   Base fonctionnelle : V52.05 validée. Le bouton reprend le même relief et le même comportement
   hover/clic ; seule sa palette est remplacée par la variante retenue, +70 % plus claire que V52.07.
   Aucun réglage de police, taille, graisse, casse ou espacement des lettres n’est ajouté. */
.account-actions-m6 .account-login-primary{
 --cm-legacy-dark:#d6e8f5;
 --cm-legacy-mid:#e0f0fa;
 --cm-legacy-light:#f1fafe;
 --cm-legacy-edge:#dbecf7;
 --cm-legacy-shadow:rgba(224,240,250,.22);
 color:#17233f!important;
}
.account-actions-m6 .account-login-primary:hover,
.account-actions-m6 .account-login-primary:active{
 color:#17233f!important;
}



/* V52.10 — déconnexion POST + CSRF : le bouton conserve volontairement
   l'apparence du lien historique du bandeau de compte. */
.account-actions-m6 .account-logout-form{margin:0;padding:0;display:inline-flex;align-items:center}
.account-actions-m6 .account-logout-link{margin:0;padding:0;border:0;background:transparent;color:#17233f;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;text-decoration:none;box-shadow:none}
.account-actions-m6 .account-logout-link:hover{text-decoration:underline}
.account-actions-m6 .account-logout-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* V52.33 — membres : lieux validés repliés par défaut */
.member-places-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}
.member-places-accordion>summary::-webkit-details-marker{display:none}
.member-places-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border:1px solid #d8deea;border-radius:50%;background:#f8fafc;color:#475467;font-size:18px;font-weight:800;line-height:1;transition:transform .15s ease,background .15s ease}
.member-places-accordion[open]>summary .member-places-toggle{transform:rotate(180deg);background:#eef2f7}
.member-places-content{margin-top:8px}
.member-places-content ul{margin-bottom:0}

/* =========================================================
   V53.7 — responsive lieu / largeur intermédiaire
   Empêche les débordements horizontaux sans modifier le rendu desktop large.
   ========================================================= */
.detail-layout>*{min-width:0}
.detail-info{min-width:0;max-width:100%}
.detail-info .description,.detail-info .detail-gps{overflow-wrap:anywhere;word-break:break-word}
@media(min-width:761px) and (max-width:1400px){
 .site-header{height:auto}
 .header-inner{padding:4px 10px 6px;flex-wrap:wrap;gap:6px 10px;align-items:flex-start}
 .brand{order:1;min-width:220px;flex:0 0 auto}
 .header-actions{order:2;min-width:0;max-width:calc(100% - 240px);margin-left:auto;margin-top:4px}
 .main-nav{order:3;flex:1 0 100%;width:100%;min-width:0;margin-top:2px;overflow-x:auto;justify-content:flex-start;padding-bottom:2px}
}


/* V53.12 — suppression groupée des comptes hors délai/bannis et diagnostic IP dynamique */
.cm-account-delete-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #e1e6eb;border-radius:12px;background:#fafbfc}.cm-account-delete-toolbar form{margin:0}.cm-account-select-all{display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.cm-account-select-all input,.cm-account-row-select input[type="checkbox"]{width:18px;height:18px;flex:0 0 18px;margin:0}.cm-account-selected-count{font-size:13px;color:#667085}.cm-account-row-select{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:5px;border-radius:8px;cursor:pointer}.cm-account-row-select:hover{background:#f2f4f7}.cm-account-delete-toolbar .btn-no:disabled{opacity:.55;cursor:not-allowed}
.user-ip-live-search{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px}.user-ip-live-search label{display:flex;flex:1 1 420px;min-width:0;flex-direction:column;gap:6px}.user-ip-live-search input{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #d8deea;border-radius:10px;background:#fff;font:inherit}.user-ip-shared-warning{margin:0 0 12px;padding:10px 12px;border:1px solid #e2c06f;border-radius:10px;background:#fffaf0;font-weight:800;color:#6b4b00}.user-ip-user-row.is-shared-ip-match{border-color:#d8b35f;background:#fffdf7;box-shadow:0 0 0 2px rgba(161,116,18,.10)}.user-ip-match-type{font-weight:800;color:#6b4b00}.user-ip-user-row[hidden]{display:none!important}
@media(max-width:760px){.cm-account-delete-toolbar{align-items:stretch;flex-direction:column}.cm-account-delete-toolbar form,.cm-account-delete-toolbar .btn-no{width:100%}.user-ip-live-search{align-items:stretch;flex-direction:column}.user-ip-live-search label{flex-basis:auto;width:100%}}

/* V54.4 — rappel 403 administrateur global et raccourcis images sur une ligne */
.cm-image-admin-shortcuts{display:inline-flex;gap:7px;white-space:nowrap;flex-wrap:nowrap!important;width:auto!important;flex:0 0 auto}.cm-image-admin-shortcuts .admin-back-link{display:inline-flex;white-space:nowrap}.cm-image-admin-shortcuts-sep{display:inline-flex;align-items:center;font-weight:700;color:#667085;white-space:nowrap}.cm-image-guard-form{margin:0}
.account-image-shortcuts{display:flex;align-items:center;justify-content:space-between;gap:18px}.account-image-shortcuts .auth-button{margin:0}
.account-avatar-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:16px;align-items:stretch;margin:12px 0 0}.account-avatar-grid .profile-avatar-box{margin:0;min-height:104px;height:100%;box-sizing:border-box}.account-avatar-current{padding:14px 16px}.account-avatar-current-text{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:flex-start}.account-avatar-title{display:block;margin:0 0 8px;font-size:13px;font-weight:800;line-height:1.2;color:var(--ink)}.account-avatar-current .status-pending,.account-avatar-current .status-rejected{overflow-wrap:anywhere}.account-avatar-upload{display:flex;min-width:0;align-items:stretch;padding:14px 16px;border:1px solid #e1e6eb;border-radius:14px;background:rgba(255,255,255,.66);box-sizing:border-box}.account-avatar-upload-main{display:flex;min-width:0;width:100%;flex-direction:column;font-weight:700}.account-avatar-upload-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0}.account-avatar-file-stack{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:7px}.account-avatar-file-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;min-width:0}.account-avatar-browse-wrap{position:relative;display:inline-flex;width:max-content;max-width:100%;cursor:pointer}.account-avatar-file-input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;opacity:0;cursor:pointer}.account-avatar-browse{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin:0;white-space:nowrap;cursor:pointer}.account-avatar-file-input:focus-visible+.account-avatar-browse{outline:3px solid rgba(0,123,183,.26);outline-offset:2px}.account-avatar-file-name{display:block;min-width:0;max-width:100%;font-size:13px;font-weight:400;line-height:1.3;color:var(--ink);white-space:normal;overflow-wrap:anywhere;word-break:break-word}.account-avatar-submit{align-self:center;min-width:0;white-space:nowrap}.account-avatar-note{margin:8px 2px 14px}.account-avatar-grid+.account-avatar-note+.inline-form{margin-top:0}
@media(max-width:760px){.cm-image-admin-shortcuts{width:auto!important;justify-content:flex-start;flex-wrap:nowrap!important;white-space:nowrap}.account-image-shortcuts{align-items:stretch;flex-direction:column;gap:10px}.account-image-shortcuts .auth-button{width:100%;box-sizing:border-box;text-align:center}.account-avatar-grid{grid-template-columns:1fr}.account-avatar-upload-controls{grid-template-columns:1fr;align-items:stretch}.account-avatar-submit{width:100%}.account-avatar-file-row{grid-template-columns:auto minmax(0,1fr)}}
.cm-music-autoplay-help[hidden]{display:none!important}
.cm-music-autoplay-help{position:fixed;z-index:1200;top:92px;left:clamp(12px,15vw,270px);box-sizing:border-box;width:min(355px,calc(100vw - 24px));padding:15px 38px 14px 16px;border:1px solid #dce2e8;border-radius:14px;background:#fff;box-shadow:0 16px 42px rgba(17,35,60,.24);font:13px/1.4 Arial,Helvetica,sans-serif;color:#26364a}
.cm-music-autoplay-help strong{display:block;margin-bottom:5px;font-size:15px;color:#14233b}
.cm-music-autoplay-help p{margin:0 0 10px}
.cm-music-autoplay-help small{display:block;margin-top:9px;color:#667085;line-height:1.35}
.cm-music-autoplay-enable{border:0;border-radius:8px;padding:8px 12px;background:#17233f;color:#fff;font:700 12px Arial,Helvetica,sans-serif;cursor:pointer}
.cm-music-autoplay-close{position:absolute;top:5px;right:7px;border:0;background:transparent;color:#667085;font-size:21px;cursor:pointer}
@media(max-width:650px){.cm-music-autoplay-help{top:82px;left:12px}}

/* V55.86 — connexion classique et connexion directe par passkey. */
.cm-login-actions{margin-top:18px}
.cm-login-actions>.auth-button{box-sizing:border-box;width:100%;min-height:44px;text-align:center}
.cm-direct-login{margin:18px 0 0;padding-top:12px;border-top:1px solid #d8deea;text-align:center}
.cm-direct-login>[data-passkey-message]{margin:8px 0 0}

/* V55.78 — les trois raccourcis du compte gardent chacun un libellé sur une ligne. */
.account-image-shortcuts{gap:10px}
.account-image-shortcuts .auth-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;line-height:1.2;white-space:nowrap}
@media(max-width:360px){.account-image-shortcuts .auth-button{white-space:normal}}

/* V55.78 — QR OATH-TOTP généré uniquement dans le navigateur. */
.cm-totp-setup-grid{display:flex;align-items:flex-start;gap:18px;flex-wrap:wrap}
.cm-totp-qr{display:flex;flex:0 1 312px;max-width:100%;flex-direction:column;align-items:center;gap:8px;box-sizing:border-box;padding:12px;border:1px solid #d8deea;border-radius:12px;background:#fff;text-align:center}
.cm-totp-qr canvas{display:block;max-width:100%;height:auto;image-rendering:pixelated}
.cm-totp-setup-help{flex:1 1 230px;min-width:0}
.cm-totp-setup-help p:first-child{margin-top:0}
.cm-totp-setup-help code{overflow-wrap:anywhere}

/* V55.87 — choix explicite du PIN et changement de clé mémorisée. */
.cm-key-enroll{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.cm-key-enroll>.auth-button{flex:1 1 190px;min-width:0;white-space:normal}
.cm-key-enroll>[data-passkey-message]{flex-basis:100%;margin:0}
.cm-other-key{display:block;margin:12px auto 0;padding:4px 8px;border:0;background:transparent;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;color:#405978}
.cm-other-key[hidden]{display:none}
.cm-other-key:focus-visible{outline:2px solid #167ac6;outline-offset:3px}
