/* SignalNids Rando — V2.8.0. Unification esthétique PC / mobile / PWA.
   Couche additive chargée après les styles existants : aucune donnée, GPS ou carte altéré.
   Photos nature Unsplash (licence : https://unsplash.com/license) ; repli local systématique.
*/
:root{
  --sn280-forest:#10583e;
  --sn280-ink:#133f2d;
  --sn280-paper:#fbfaf6;
  --sn280-border:#dfe9df;
  --sn280-shadow:0 14px 38px rgba(20,66,40,.065);
}
body:not(.snr-live-body){background:var(--sn280-paper)}
body:not(.snr-live-body) .site-shell,
body:not(.snr-live-body) .site-shell main{min-width:0;max-width:100%}
body:not(.snr-live-body) .site-shell main>.wrap,
body:not(.snr-live-body) .site-shell main>.snrp{min-width:0}
.sn-panel,.snr230-panel,.snr250-card,.snr260-panel,.snr270-card,.snrp-card{
  box-sizing:border-box;min-width:0;max-width:100%;border-color:var(--sn280-border);
  box-shadow:var(--sn280-shadow)
}
.sn-editor-grid>*,.sn-browse-main>*,.sn-map-page-body>*,
.snr230-grid>*,.snr250-grid>*,.snr260-grid>*,.snr270-grid>*{min-width:0}
.sn-editor-fields input,.sn-editor-fields textarea,.sn-editor-fields select,
.snr250-form input,.snr250-form select,.snr260-upload input,
.snr270-form input,.snr270-form select,.snr270-form textarea{
  box-sizing:border-box;max-width:100%
}
:where(.sn-panel,.snr230-panel,.snr250-card,.snr260-panel,.snr270-card,.snrp-card) h2,
:where(.sn-panel,.snr230-panel,.snr250-card,.snr260-panel,.snr270-card,.snrp-card) h3{
  line-height:1.25;overflow-wrap:break-word
}
/* UNE structure hero unifiée. Photo réelle + contraste lisible + bandeau large. */
.sn-interior-hero,.sn-community-hero,.sn-unified-hero,
.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero{
  position:relative;isolation:isolate;display:flex;align-items:center;
  width:100%;min-height:clamp(235px,25vw,340px);
  background-color:#1a4837;
  background-image:
    linear-gradient(98deg,rgba(7,45,32,.88) 0%,rgba(11,49,37,.69) 48%,rgba(7,33,27,.28) 100%),
    var(--sn280-photo),
    url('/assets/img/banner-fallback.jpg');
  background-size:cover;background-repeat:no-repeat;
  background-position:center,center 48%,center;
  border-radius:0;overflow:hidden;color:#fff;
}
.sn-interior-hero>.wrap,.sn-community-hero>.wrap,.sn-unified-hero>.wrap,
.snr250-hero>.wrap,.snr260-hero>.wrap,.snr270-hero>.wrap,
.snrp-hero>.wrap{
  width:100%;max-width:1510px;margin-inline:auto;
  padding-top:clamp(40px,5vw,76px);padding-bottom:clamp(42px,5vw,78px);
  position:relative;z-index:1
}
body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero) h1{
  font-family:Georgia,'Times New Roman',serif;font-weight:700;
  font-size:clamp(2.45rem,4.3vw,4.3rem);line-height:1.09;
  letter-spacing:-.033em;color:#fff!important;margin:14px 0 16px;
  max-width:min(100%,1040px);text-wrap:balance;
  overflow-wrap:normal;word-break:normal
}
body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero) p{
  margin:0;max-width:760px;font-size:clamp(.95rem,1.4vw,1.16rem);
  line-height:1.7;color:#f3f8f3!important
}
body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero)
:is(.sn-eyebrow-light,.sn-kicker,.snr250-kicker,.snr260-kicker,.snr270-kicker,.snrp-eyebrow){
  color:#dceedd;letter-spacing:.15em;font-size:.72rem;font-weight:850;
}
:where(.sn-unified-hero,.sn-interior-hero,.sn-community-hero) .btn{
  max-width:100%;min-height:45px;white-space:normal
}
.sn-unified-hero-actions,.sn-community-hero-actions,.sn-alerts-hero-actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px
}
.sn-unified-hero .heading-with-action{display:flex;align-items:center;justify-content:space-between;gap:28px}
.sn-unified-hero .heading-with-action>div{min-width:0}
.sn-unified-hero .heading-with-action .btn{flex:0 0 auto}
.sn-unified-hero .heading-with-action p strong{color:inherit}
.sn-nearby-v230 .snr230-hero{padding:0;margin:0;border-radius:0}
/* Des lieux distincts pour chaque écran. Photos Unsplash en HD, repli local inclus. */
.sn-browse .sn-interior-hero{--sn280-photo:url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2000&q=84')}
.sn-community .sn-community-hero{--sn280-photo:url('https://images.unsplash.com/photo-1551632811-561732d1e306?auto=format&fit=crop&w=2000&q=84')}
.sn-alerts-page .sn-interior-hero{--sn280-photo:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=84')}
.sn-safety-hero{--sn280-photo:url('https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=2000&q=84')}
.sn-hero-map{--sn280-photo:url('https://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=2000&q=84')}
.sn-hero-create{--sn280-photo:url('https://images.unsplash.com/photo-1454496522488-7a8e488e8606?auto=format&fit=crop&w=2000&q=84')}
.sn-nearby-v230 .snr230-hero{--sn280-photo:url('https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=2000&q=84')}
.snr250-page .snr250-hero{--sn280-photo:url('https://images.unsplash.com/photo-1495584816685-4bdbf1b5057e?auto=format&fit=crop&w=2000&q=84')}
.snr260-page .snr260-hero{--sn280-photo:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=2000&q=84')}
.snr270-page .snr270-hero{--sn280-photo:url('https://images.unsplash.com/photo-1472396961693-142e6e269027?auto=format&fit=crop&w=2000&q=84')}
.sn-hero-carnet{--sn280-photo:url('https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=2000&q=84')}
.sn-hero-favoris{--sn280-photo:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=2000&q=84')}
.sn-hero-mes-parcours{--sn280-photo:url('https://images.unsplash.com/photo-1495584816685-4bdbf1b5057e?auto=format&fit=crop&w=2000&q=84')}
body.snrp-hub .snrp-hero{--sn280-photo:url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=2000&q=84')}
body.snrp-weather .snrp-hero{--sn280-photo:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=84')}
body.snrp-journal .snrp-hero{--sn280-photo:url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=2000&q=84')}
body.snrp-group .snrp-hero{--sn280-photo:url('https://images.unsplash.com/photo-1551632811-561732d1e306?auto=format&fit=crop&w=2000&q=84')}
/* Garder le même logo, menu et rail Android que les captures (aucun header concurrent). */
.snrp-unified .snrp{font-family:inherit;font-size:inherit;color:var(--sn280-ink)}
.snrp-unified .snrp-main{min-height:50vh;background:var(--sn280-paper)}
.snrp-unified .snrp-main .snrp-hero{padding:0}
.snrp-unified .snrp-hero h1{font-family:Georgia,serif}
.snrp-unified .snrp-body{
  max-width:1510px;margin-inline:auto;padding-top:34px;padding-bottom:88px;
}
.snrp-unified .snrp-body .snrp-card{border-radius:19px;padding:clamp(18px,2vw,27px)}
.snrp-unified .snrp-body .snrp-btn{border-radius:999px;min-height:46px}
.snrp-unified .snrp-body .snrp-grid{min-width:0}
.snrp-unified .snrp-body .snrp-grid>*{min-width:0}
.snrp-unified .snrp-body .snrp-photos img{display:block}
.snrp-unified .snrp-body input,.snrp-unified .snrp-body select,.snrp-unified .snrp-body textarea{
  min-width:0;max-width:100%;font-size:16px;box-sizing:border-box
}
.snrp-unified .snrp-body a.snrp-btn:not(.secondary):not(.danger){color:#fff}
/* Casse / défilement horizontal : champs, cartes, labels et boutons. */
.sn-map-page .sn-map-page-body{padding-top:28px;padding-bottom:80px}
.sn-map-page .sn-full-map-toolbar{min-width:0}
.sn-map-page .sn-map-filter-controls{min-width:0}
.sn-map-page .sn-map-filter-controls select{max-width:100%;min-width:0}
.sn-map-page .sn-full-map{min-width:0;max-width:100%;width:100%}
.sn-editor .sn-editor-content{padding-top:28px}
.sn-editor .sn-editor-head .wrap{min-height:0}
.sn-editor .sn-editor-head-inner{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:22px}
.sn-editor .sn-editor-head h1{color:#fff!important}
.sn-editor .sn-editor-head p{color:#f4f8f4!important}
.sn-editor .sn-editor-head .sn-editor-progress{flex-shrink:0;max-width:100%;background:#0e3d2e6b;border:1px solid #ffffff48;border-radius:18px;padding:18px}
.sn-editor .sn-editor-head .sn-editor-progress :is(b,strong){color:#fff}
.sn-editor .sn-editor-head .sn-editor-progress i{background:#d4e6d487}
.sn-editor .sn-hero-anchor{
  display:inline-flex;align-items:center;gap:10px;margin-top:23px;
  border:1px solid #ffffffa3;border-radius:999px;padding:12px 19px;
  color:#fff;text-decoration:none;background:#1b6e50a6;
  font-size:14px;font-weight:800
}
.sn-editor .sn-hero-anchor .icon{width:18px;height:18px}
.sn-editor .sn-hero-anchor:hover{background:#0b593c}
/* Boucles assistées : le formulaire passe AVANT la carte, vraies couches Leaflet conservées. */
.sn-editor .snr240-panel{
  border:1px solid var(--sn280-border);border-radius:21px;
  padding:clamp(17px,2.4vw,29px);margin:0 0 22px;
  background:#fff;box-shadow:var(--sn280-shadow);scroll-margin-top:90px;
}
.sn-editor .snr240-panel h3{
  margin:0 0 12px;font-size:clamp(20px,2.1vw,27px);
  font-weight:850;line-height:1.27;color:#103e2b
}
.sn-editor .snr240-panel>p:not(.snr240-warning):not(.snr240-status){
  margin:0 0 20px;font-size:clamp(12px,1.12vw,15px);line-height:1.65;color:#667c6c
}
.sn-editor .snr240-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 12px}
.sn-editor .snr240-controls>button,.sn-editor .snr240-controls>select{
  box-sizing:border-box;width:100%;min-width:0;min-height:52px;
  border:1px solid #d8e6d9;border-radius:14px;background:#f7faf6;
  color:#164e37;padding:12px 14px;font-family:inherit;font-weight:750;
  white-space:normal;text-align:center;cursor:pointer
}
.sn-editor .snr240-options select{font-size:14px;text-align:left}
.sn-editor .snr240-choices button[aria-pressed='true']{
  background:#e8f4e9;border:2px solid #398c60;color:#0b583b
}
.sn-editor .snr240-panel>button.btn{
  width:100%;min-height:54px;border-radius:999px;
  font-size:15px;font-weight:850;margin-top:2px
}
.sn-editor .snr240-panel>button.btn:disabled{opacity:.57}
.sn-editor .snr240-status{font-size:13px;line-height:1.5;color:#476954;margin:12px 0 16px}
.sn-editor .snr240-warning{
  background:#fff6e4;border:1px solid #f6e7c7;border-radius:15px;
  padding:15px 17px;margin:0;color:#805b23!important;
  font-size:12px;line-height:1.7;overflow-wrap:break-word
}
.sn-editor .snr240-warning::before{content:'ⓘ';font-weight:900;margin-right:9px;color:#b77b23}
/* Météo, sorties et souvenirs : mêmes espacements et largeur qu'Explorer. */
.snr250-page .snr250-hero-inner,.snr260-page .snr260-hero .wrap,
.snr270-page .snr270-hero .wrap{padding-top:clamp(41px,5vw,76px);padding-bottom:clamp(42px,5vw,78px)}
.snr250-body,.snr260-body,.snr270-body{padding-top:clamp(22px,3vw,42px)}
.snr250-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.snr260-grid,.snr270-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.snr250-card,.snr260-panel,.snr270-card{border-radius:20px}
.snr230-page{padding-top:28px}
.snr230-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.25fr)}
.snr230-page #snr230Map{width:100%;max-width:100%;height:clamp(320px,37vw,450px)}
.snr230-page .snr230-panel{border-radius:20px}
/* Harmoniser les cartes/résultats et les filtres, sans écraser leur comportement. */
.sn-browse .sn-filter-bar,.sn-browse .sn-filter-sidebar,
.sn-map-page .sn-full-map-card,.sn-editor .sn-editor-map-frame,
.snr230-page .snr230-panel{
  border:1px solid var(--sn280-border);box-shadow:var(--sn280-shadow)
}
.sn-browse .sn-filter-bar{margin-top:8px;margin-bottom:26px;padding:16px}
.sn-browse .sn-browse-main{grid-template-columns:minmax(190px,235px) minmax(0,1fr) minmax(240px,310px);gap:18px}
.sn-browse .sn-filter-bar :is(input,select){height:50px;border-radius:13px;background:#f7faf7}
.sn-browse .sn-filter-bar>.btn{min-height:50px;border-radius:999px}
.sn-browse .sn-trail-card{min-width:0}
.sn-browse .sn-browse-cards{min-width:0}
/* L'interface principale ne doit pas faire défiler horizontalement en mode portrait. */
@media(max-width:1100px){
  .sn-browse .sn-browse-main{grid-template-columns:210px minmax(0,1fr)}
  .sn-browse .sn-browse-right{grid-column:1/-1}
  .sn-editor .sn-editor-head .sn-editor-progress{padding:12px}
}
@media(max-width:820px){
  :where(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero){min-height:0}
  :where(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero)>.wrap{
    padding-top:clamp(43px,8vw,62px);padding-bottom:clamp(42px,8vw,62px)
  }
  body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero) h1{
    font-size:clamp(2.35rem,7vw,3.7rem);max-width:100%
  }
  .sn-unified-hero .heading-with-action{flex-direction:column;align-items:flex-start;gap:16px}
  .sn-unified-hero .heading-with-action .btn{flex:auto}
  .sn-editor .sn-editor-head-inner{display:flex;flex-direction:column;align-items:flex-start}
  .sn-editor .sn-editor-head .sn-editor-progress{display:flex;align-self:stretch;justify-content:center;width:100%;gap:9px}
  .sn-editor .sn-editor-head .sn-editor-progress>*{min-width:0}
  .sn-browse .sn-browse-main{grid-template-columns:minmax(0,1fr)}
  .sn-browse .sn-browse-right{grid-column:auto}
  .snr250-grid,.snr260-grid,.snr270-grid,.snr230-grid{grid-template-columns:1fr}
  .snr250-body,.snr260-body,.snr270-body{padding-bottom:85px}
  .snrp-unified .snrp-body{padding-top:25px;padding-bottom:45px}
  .snrp-unified .snrp-body .snrp-grid.two{grid-template-columns:1fr}
  /* Header commun existant : pas de remplacement du menu ⋮ et du rail inférieur. */
  .snr230-page{padding-top:22px}
}
@media(max-width:620px){
  :where(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero)>.wrap{
    padding:42px 16px 44px
  }
  body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero) h1{
    font-size:clamp(2.35rem,9.7vw,3.3rem);line-height:1.07;letter-spacing:-.035em;
    margin:13px 0 16px
  }
  body :is(.sn-interior-hero,.sn-community-hero,.sn-unified-hero,.snr250-hero,.snr260-hero,.snr270-hero,.snrp-hero) p{
    font-size:clamp(.94rem,3.8vw,1.05rem);line-height:1.68
  }
  .sn-unified-hero-actions,.sn-community-hero-actions,.sn-alerts-hero-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
  .sn-unified-hero-actions>.btn,.sn-community-hero-actions>.btn,.sn-alerts-hero-actions>.btn{display:flex;width:100%;justify-content:center}
  .sn-map-page .sn-map-page-body{padding-top:21px;padding-bottom:38px}
  .sn-map-page .sn-map-page-body>.sn-panel{padding:15px}
  .sn-browse .sn-filter-bar{padding:14px;margin-top:1px}
  .sn-browse .sn-filter-bar .sn-select-field{width:100%}
  .sn-browse .sn-filter-sidebar{position:static}
  .sn-editor .sn-editor-head .sn-editor-progress{overflow-x:auto;padding:11px 8px}
  .sn-editor .sn-hero-anchor{display:flex;width:max-content;max-width:100%;min-height:45px}
  .sn-editor .sn-editor-content{padding-top:20px}
  .sn-editor .snr240-panel{padding:18px 16px;border-radius:19px;margin-bottom:17px}
  .sn-editor .snr240-controls.snr240-choices{grid-template-columns:1fr;gap:9px}
  .sn-editor .snr240-controls.snr240-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sn-editor .snr240-controls>button,.sn-editor .snr240-controls>select{min-height:51px;font-size:13px}
  .sn-editor .snr240-panel>button.btn{min-height:50px}
  .sn-editor .snr240-warning{font-size:11px;padding:13px}
  .snr230-page .snr230-panel{padding:17px}
  .snr230-page .snr230-filters{grid-template-columns:1fr}
  .snr230-page .snr230-results{grid-template-columns:1fr}
  .snrp-unified .snrp-body{padding-top:18px;padding-bottom:30px}
  .snrp-unified .snrp-body .snrp-card{padding:18px;border-radius:18px}
  .snrp-unified .snrp-body .snrp-btn{max-width:100%;white-space:normal}
  .snr270-fields{grid-template-columns:1fr}
  .snr260-album{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.sn-hero-anchor{transition:none}}
