/* Sensulibre Corps - styles minimaux (s'accorde avec le theme) */
.sl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:inherit;text-decoration:none}
.sl-btn:hover{background:rgba(255,255,255,.10)}
.sl-btn--primary{border:none;background:linear-gradient(135deg, #b07bff, #ff9acb)}
.sl-btn--primary:hover{filter:brightness(1.03)}

.sl-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:18px;padding:14px}
.sl-toggle small{opacity:.75}
.sl-switch{cursor:pointer;display:inline-flex;align-items:center;gap:10px;user-select:none}
.sl-pill{width:46px;height:26px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);position:relative}
.sl-dot{width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.70);position:absolute;top:2px;left:2px;transition:all .18s ease}
.sl-pill[data-on="1"]{background:rgba(176,123,255,.20);border-color:rgba(176,123,255,.35)}
.sl-pill[data-on="1"] .sl-dot{left:24px;background:rgba(176,123,255,.95)}

.sl-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:900px){.sl-cards{grid-template-columns:1fr}}
.sl-card{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:18px;padding:14px;display:flex;gap:12px;align-items:flex-start}
.sl-ava{width:54px;height:54px;border-radius:16px;overflow:hidden;flex:0 0 auto;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06)}
.sl-ava img{width:100%;height:100%;object-fit:cover}
.sl-card h5{margin:0 0 4px;font-size:16px}
.sl-meta{margin:0;opacity:.75;font-size:13px}
.sl-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.sl-badge{font-size:12px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05)}
.sl-badge--mauve{border:none;background:rgba(176,123,255,.20)}
.sl-badge--green{border:none;background:rgba(0,255,160,.14)}

.sl-input{padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(42,38,60,.82);color:rgba(255,255,255,.92);outline:none;width:100%}
.sl-input::placeholder{color:rgba(255,255,255,.60)}
select.sl-input{appearance:none;-webkit-appearance:none;}
select.sl-input option{color:#f3f4f6;background:#23263a}
.sl-input:focus{border-color:rgba(176,123,255,.45);box-shadow:0 0 0 3px rgba(176,123,255,.15)}

/* En-tetes de pages (petit visuel a droite) */
.sl-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sl-page-badge{flex:0 0 auto;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:18px;overflow:hidden}
.sl-page-badge img{display:block;width:260px;max-width:260px;height:auto;object-fit:cover}
@media (max-width:900px){.sl-page-badge img{width:220px;max-width:220px;object-position:50% 20%}}

/* 2 images côte à côte (page Messages) */
.sl-page-badge--double{display:flex;gap:8px;align-items:stretch;padding:6px}
.sl-page-badge--double img{width:150px;max-width:150px;border-radius:12px}
@media (max-width:900px){.sl-page-badge--double img{width:130px;max-width:130px;object-position:50% 20%}}

/* Sorties & Voyages : page plus lisible (pleine largeur + raccourcis) */
.slc-sorties-page{max-width:none;width:100%}
.slc-sorties-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.slc-sorties-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.slc-sorties-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media (max-width:520px){
  .slc-sorties-top{gap:8px}
  .slc-sorties-actions,.slc-sorties-tabs{width:100%}
  .slc-sorties-actions .sl-btn,.slc-sorties-tabs .sl-btn{flex:1 1 auto}
  /* Mobile: éviter l'effet "tout sur le côté" (conteneur thème trop étroit)
     -> on "break out" en pleine largeur et on compacte un peu les blocs. */
  .slc-sorties-page{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    padding:0 10px;
    border-radius:0;
  }
  .slc-sorties-actions .sl-btn,.slc-sorties-tabs .sl-btn{padding:8px 10px;font-size:13px}
  .slc-sorties-page .sl-input{padding:8px 10px}
  .slc-sorties-page .sl-tile{margin-left:0;margin-right:0}
  .slc-sorties-page form{max-width:100%}
  .slc-sorties-page .sl-input{width:100%}
}

/*
 * Grille photos : tailles pilotables via variables CSS.
 * Valeurs par defaut (peuvent etre surchargees via JS + localStorage).
 */
:root{
  --slc-thumb: 140px;
  --slc-thumb-h: 160px;
  --slc-thumb-gap: 12px;

  --slc-lightbox-maxw: 92vw;
  --slc-lightbox-maxh: 92vh;
}

/* Grille photos : vignettes independantes (ne s'etirent pas quand il y a peu de photos) */
.sl-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,var(--slc-thumb));gap:var(--slc-thumb-gap);justify-content:flex-start}
@media (max-width:900px){
  /* Sur mobile on baisse legerement la taille par defaut, mais la variable reste maitre */
  .sl-photo-grid{grid-template-columns:repeat(auto-fill,min(var(--slc-thumb),120px))}
}
.sl-photo{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:18px;overflow:hidden;position:relative}
.sl-photo img{width:100%;height:var(--slc-thumb-h);object-fit:cover;display:block}
.sl-photo--blur img{filter:blur(10px);transform:scale(1.03)}
.sl-photo-bar{position:absolute;right:10px;bottom:10px;display:flex;gap:8px;align-items:center}
.sl-photo-bar button{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:12px;line-height:1;display:inline-flex;gap:6px;align-items:center}
.sl-photo-bar button[disabled]{opacity:.5;cursor:not-allowed}
.sl-photo-bar .sl-like-btn[data-liked="1"]{background:rgba(46,204,113,.55)}
.sl-photo-bar .sl-like-count{font-weight:700}

/*
  "Roulette" (⚙️) : on la garde, mais on la décale hors de la zone de lecture.
  L'idée : laisser la loupe / like en bas à droite, et pousser la ⚙️ en haut à droite.
*/
.sl-photo-bar{z-index:3}
.sl-photo-bar .sl-edit-btn{position:absolute;right:0;bottom:calc(100% + 8px)}

/* Contrôles "Mes fichiers photos" : masqués par défaut.
   L'édition (Public/Privé/Flou/Supprimer) se fait via la lightbox (clic sur la photo). */
.sl-photo-controls{display:none}
.sl-photo.is-editing .sl-photo-controls{display:block}

/* Apercu inline (au-dessus du fichier/album) */
.sl-inline-preview{display:none;margin:10px 0 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:18px;overflow:hidden;position:relative}
.sl-inline-preview.is-open{display:block}
.sl-inline-preview__head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.10)}
.sl-inline-preview__title{font-weight:800;opacity:.9;font-size:13px}
.sl-inline-preview__close{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:#fff;border-radius:999px;padding:7px 10px;cursor:pointer;line-height:1}
.sl-inline-preview__body{padding:12px;display:flex;justify-content:center}
.sl-inline-preview__body img{max-width:100%;max-height:58vh;height:auto;width:auto;border-radius:14px;display:block}
.sl-inline-preview__actions{padding:10px 12px;border-top:1px solid rgba(255,255,255,.10);display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.sl-inline-preview__actions .sl-mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:8px 10px;cursor:pointer;font-size:13px}

/* Lightbox + redimensionnement */
.sl-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:999999;display:none;align-items:center;justify-content:center;padding:22px}
.sl-lightbox-overlay.is-open{display:flex}
.sl-lightbox-box{background:rgba(20,20,20,.92);border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:auto;resize:both;max-width:var(--slc-lightbox-maxw);max-height:var(--slc-lightbox-maxh);min-width:240px;min-height:200px;position:relative;box-shadow:0 20px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;scroll-behavior:smooth}
.sl-lightbox-box img{display:block;max-width:calc(var(--slc-lightbox-maxw) - 40px);max-height:calc(var(--slc-lightbox-maxh) - 120px);width:auto;height:auto;margin:16px auto 14px;align-self:center;object-fit:contain;object-position:center center;transform-origin:center center;cursor:zoom-in}
.sl-lightbox-toolbar{display:none;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12);
  /* Le panneau d'actions ne doit jamais "passer derrière" la photo */
  position:sticky;top:0;z-index:6;background:rgba(20,20,20,.96);
}

/* Reglages (taille vignettes / comportement clic) */
.sl-photo-settings{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:10px 0 14px;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.sl-photo-settings__group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sl-photo-settings label{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.9}
.sl-photo-settings input[type="range"]{width:150px}
.sl-photo-settings .sl-ps-val{min-width:38px;text-align:right;font-variant-numeric:tabular-nums;opacity:.85}
.sl-photo-settings button{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.35);color:#fff;border-radius:999px;padding:6px 10px;cursor:pointer;font-size:12px;line-height:1;display:inline-flex;gap:6px;align-items:center}
.sl-photo-settings button[disabled]{opacity:.5;cursor:not-allowed}

/* Quand les reglages sont verrouilles */
.slc-settings-locked .sl-photo-settings input,
.slc-settings-locked .sl-photo-settings button[data-act="reset"],
.slc-settings-locked .sl-photo-settings button[data-act="toggle-click-open"]{opacity:.6;pointer-events:none}

.sl-lb-btn{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:rgba(255,255,255,.92);border-radius:12px;padding:8px 10px;cursor:pointer;font-size:13px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.sl-lb-btn:hover{background:rgba(255,255,255,.10)}
.sl-lb-btn--primary{border-color:rgba(176,123,255,.45);background:rgba(176,123,255,.18)}
.sl-lb-btn--danger{border-color:rgba(255,43,43,.55);background:rgba(255,43,43,.18);color:#ff2b2b}
.sl-lb-note{opacity:.75;font-size:12px;margin-left:6px}
.sl-lightbox-canvas{display:none;position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:auto;opacity:.95}
.sl-lightbox-box.is-blur-mode .sl-lightbox-hint{display:none}
.sl-lightbox-close{position:absolute;top:10px;right:10px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:8px 10px;cursor:pointer}
.sl-lightbox-hint{position:absolute;left:12px;bottom:12px;color:rgba(255,255,255,.8);font-size:12px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:999px}

/* Navigation lightbox (défilement dans un même fichier/album) */
.sl-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.45);color:#fff;border-radius:999px;width:44px;height:44px;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:28px;line-height:1;user-select:none}
.sl-lightbox-nav--prev{left:10px}
.sl-lightbox-nav--next{right:10px}
.sl-lightbox-count{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.92);padding:6px 10px;border-radius:999px;font-size:12px;display:none}
@media (max-width:720px){.sl-lightbox-nav{width:40px;height:40px;font-size:26px}}


/* Drag & drop albums (mon profil) */
.sl-photo-grid[data-sl-photo-grid="1"]{outline:1px dashed rgba(255,255,255,.0);outline-offset:8px;border-radius:16px}
.sl-photo-grid.is-dropzone{outline-color:rgba(255,255,255,.18);background:rgba(255,255,255,.02)}
.sl-photo[draggable="true"]{cursor:grab}

.sl-photo.is-dragging{opacity:.65;transform:scale(.98)}
.sl-photo-controls{padding:12px;display:grid;gap:8px}
.sl-photo-controls label{display:flex;gap:10px;align-items:center;opacity:.85;font-size:13px}

/* Edition photos (Mon profil): on masque les controles tant qu'on n'a pas cliqué sur "Modifier" */
.sl-photo-grid[data-sl-photo-grid] .sl-photo-controls{display:none}
.sl-photo-grid[data-sl-photo-grid] .sl-photo.is-editing .sl-photo-controls{display:grid}
.sl-photo-grid[data-sl-photo-grid] .sl-photo.is-editing{outline:2px solid rgba(255,255,255,.25);outline-offset:2px}

.sl-photo-tag{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.12)}

/* Incoming call modal */
.slc-call-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.slc-call-card{max-width:420px;width:100%;background:rgba(20,18,32,.95);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.slc-call-title{font-weight:700;margin-bottom:6px}
.slc-call-from{opacity:.85;margin-bottom:14px}
.slc-call-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* === Petites fenêtres / boutons (inspiré V28/30, re-skin R4) === */
.sl-quicktiles{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:12px 0 18px;
}
@media (max-width: 1000px){
  .sl-quicktiles{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 520px){
  .sl-quicktiles{grid-template-columns:repeat(2,1fr)}
}

.sl-quicktile{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(18,16,22,.70);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  text-decoration:none;
  color:var(--sl-text);
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.sl-quicktile:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.20);
  background:rgba(18,16,22,.82);
}
.sl-quicktile__ic{
  width:38px;height:38px;
  border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  font-size:18px;
}
.sl-quicktile__tx{font-weight:800;letter-spacing:.1px;font-size:14px;}

/* === V6: composer "Dernières activités" simplifié (sans partage/lieu/upload) === */
.sl-activity-composer{display:grid;gap:10px}
.sl-activity-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sl-activity-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);font-size:16px;opacity:.95}
.sl-activity-ic--withlabel{width:auto;padding:0 10px;gap:8px;white-space:nowrap}
.sl-ic-label{font-size:12px;font-weight:800;opacity:.90}
@media (max-width: 520px){
  .sl-activity-ic--withlabel{padding:0;width:34px}
  .sl-ic-label{display:none}
}
.sl-activity-ic--block{border-color:rgba(255,100,100,.35);background:rgba(255,100,100,.10)}
@media (max-width:520px){
  .sl-activity-actions{gap:6px}
  .sl-activity-ic{width:32px;height:32px;border-radius:12px}
}

/* === Redimensionnement manuel des panneaux (option utilisateur) === */
.sl-resize-box{resize:both;overflow:auto;min-width:260px;min-height:140px}
@media (max-width:900px){.sl-resize-box{resize:none;min-width:unset;min-height:unset}}

/* Voyants (lumieres) */
.sl-dot-online{width:10px;height:10px;border-radius:999px;background:rgba(76,220,140,.95);box-shadow:0 0 0 3px rgba(76,220,140,.15);}

.sl-dot-free{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 3px rgba(176,123,255,.15);display:none}
.sl-dot-free--mauve{background:rgba(176,123,255,.95)}
.sl-activitybar[data-free-on="1"] .sl-dot-free{display:block}
.sl-dot-friend{width:10px;height:10px;border-radius:999px;background:rgba(176,123,255,.95);box-shadow:0 0 0 3px rgba(176,123,255,.15)}

/* === Profil : actions pres de la photo === */
.sl-profile-head{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.sl-profile-top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:100%}
.sl-profile-avatar{order:1}
.sl-profile-actions--primary{order:2}
.sl-profile-actions--secondary{order:3}
.sl-profile-main{width:100%;min-width:0}
.sl-profile-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sl-profile-actions--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
.sl-profile-actions--row .sl-inline-details__panel{left:-10px}
.sl-profile-actions--side{flex-direction:column;flex-wrap:nowrap;align-items:center;gap:10px;margin-top:2px}
.sl-profile-actions--side .sl-inline-details__panel{left:-10px}
.sl-profile-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}

@media (max-width: 520px){
  .sl-profile-top{justify-content:center}
  .sl-profile-main{text-align:center}
  .sl-profile-cta{justify-content:center}
  .sl-profile-actions--secondary{flex-wrap:nowrap;gap:8px}
  /* Sur mobile, on met 📝 (Reco) et 📁 (Pratique) de l'autre côté pour libérer l'écran */
  .sl-profile-actions--secondary{order:0}
}

/* Details inline (pour verrou + reco) */
.sl-inline-details{position:relative;display:inline-block}
.sl-inline-details > summary{list-style:none}
.sl-inline-details > summary::-webkit-details-marker{display:none}
.sl-inline-details__panel{position:absolute;left:0;top:42px;z-index:20;min-width:240px;display:grid;gap:8px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(20,18,32,.95);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.sl-inline-details__panel .sl-btn{justify-self:flex-start}


.sl-activitybar__avatarwrap .sl-dot-online{position:absolute;right:-2px;bottom:-2px}
.sl-activitybar__avatarwrap .sl-dot-free{position:absolute;right:12px;bottom:-2px}
/* Flux activites : auteur cliquable + avatar */
.sl-feed-post{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);border-radius:18px;padding:12px;margin:0 0 10px}

/* Mini vignette dans "Dernières activités" (photo/vidéo publique) */
.sl-feed-thumb{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);border-radius:12px;overflow:hidden;width:56px;height:56px}
.sl-feed-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* Média inline dans le feed (photo/vidéo publique) */
.sl-feed-media{display:block;margin-top:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);border-radius:16px;overflow:hidden}
.sl-feed-media img{width:100%;height:auto;max-height:320px;object-fit:cover;display:block}
@media (max-width: 520px){
  .sl-feed-media img{max-height:240px}
}
.sl-feed-text{font-size:14px;line-height:1.35}
.sl-feed-sub{opacity:.9;font-size:13px;margin-top:4px}
.sl-feed-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.20);margin-left:6px}
.sl-feed-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;opacity:.95;font-size:13px;margin-bottom:6px}
.sl-feed-author{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;max-width:100%}
.sl-feed-author b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}

/* === Sortie (CPT) : liste des inscrits === */
.sl-attendees-grid{display:flex;flex-wrap:wrap;gap:10px}
.sl-attendee{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);text-decoration:none;color:inherit}
.sl-attendee__ava{width:34px;height:34px;border-radius:14px;object-fit:cover;display:block}
.sl-attendee__name{font-weight:700;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:520px){
  .sl-attendee__name{max-width:150px}
}
.sl-feed-ava{width:34px;height:34px;border-radius:12px;object-fit:cover;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06)}
.sl-feed-date{opacity:.8}

.sl-ava-link{text-decoration:none;color:inherit}

/* === Mobile: alignement des cartes (recherche / messages) === */
@media (max-width: 520px){
  .sl-cardlink{align-items:center !important}
  .sl-ava{width:46px;height:46px;border-radius:14px}
  .sl-ava img{display:block}
}

/* Sorties/Voyages/Clubs – cartes (style "annuaire" comme tes captures) */
.slc-place-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
@media (max-width: 820px){
  .slc-place-grid{grid-template-columns:1fr}
}
@media (max-width: 520px){
  /* Sorties/Voyages : éviter le décalage à droite sur téléphone */
  .slc-place-grid{width:100%;margin:0;box-sizing:border-box}
  .slc-place-card{margin:0;max-width:100%;box-sizing:border-box}
  .slc-place-card__row{width:100%;box-sizing:border-box}
}

.slc-place-card{margin:0}
.slc-place-card__row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:stretch}
@media (max-width: 820px){
  .slc-place-card__row{grid-template-columns:1fr}
}

.slc-place-card__map{
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  overflow:hidden;
  background:rgba(0,0,0,.12);
  min-height:120px;
  position:relative;
}
.slc-place-card__map iframe{width:100%;height:100%;min-height:120px;border:0;display:block;pointer-events:none}
.slc-place-card__map::after{content:"Carte (aperçu)";position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.55);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,.12)}

.slc-place-card__title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.slc-place-card__actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0}
@media (max-width: 820px){
  .slc-place-card__actions{justify-content:flex-start}
}

.sl-album{border-radius:18px;overflow:hidden}
.sl-album summary{list-style:none;padding:14px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:18px}
.sl-album summary::-webkit-details-marker{display:none}
.sl-album summary > div:first-child{font-size:24px;line-height:1.1}
.sl-album summary{padding:18px 16px}

/* Edition photo (profil propriétaire)
 * Avant: panneau en "overlay" sur la photo -> peu lisible, donne une impression de cadre.
 * Maintenant: panneau DECALE sous la photo (plus propre + toujours lisible).
 */
.sl-photo-edit{border-radius:16px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06)}
.sl-photo-edit summary{list-style:none;cursor:pointer;position:relative}
.sl-photo-edit summary::-webkit-details-marker{display:none}
.sl-photo-edit summary img{display:block;width:100%;height:var(--slc-thumb-h);object-fit:cover}
.sl-photo-edit .sl-photo-tag{display:none !important}
.sl-photo-edit .sl-photo-controls{display:none;position:static;padding:12px;border-top:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.25)}
.sl-photo-edit[open] .sl-photo-controls, details.sl-photo-edit[open] .sl-photo-controls{display:grid}

/* Patch: mise en page 2 colonnes (Sorties + membres a gauche) */
.sl-layout-2col{display:flex;gap:14px;align-items:flex-start}
.sl-layout-2col__side{flex:0 0 280px;max-width:280px}
.sl-layout-2col__main{flex:1 1 auto;min-width:0}
@media (max-width: 980px){
  .sl-layout-2col{flex-direction:column}
  .sl-layout-2col__side{flex:1 1 auto;max-width:none;width:100%}
}

/* === Mobile polish: Groupe (tchat) + formulaires === */
@media (max-width: 520px){
  /* Liste amis: évite les "cadrans" décalés */
  #slc_gc_friends label{width:100%;justify-content:flex-start}
  #slc_gc_friends input[type="checkbox"]{transform:scale(1.05)}
  #slc_gc_chat #slc_gc_msgs{max-height:52vh}
  #slc_gc_body{min-width:0 !important;width:100%}
  #slc_gc_send{width:100%}
  /* Inputs: prennent toute la largeur */
  .sl-input{width:100%;max-width:100%}
}

/* === PATCH 2026-01-19: Fond etoile sur le bloc profil (licorne + nom + Libre le soir + Off/On) === */
.sl-activitybar__left{
  position:relative;
  background-image:url("./slc-stars-bg.png") !important;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-radius:22px;
  overflow:hidden;
}
.sl-activitybar__left::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(12,10,20,.45);
  pointer-events:none;
}
.sl-activitybar__left > *{position:relative;z-index:1;}

/* Le switch reste lisible sur le fond */
.sl-activitybar__left .sl-switch{
  background:rgba(0,0,0,.25);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

/* Mobile: bouton "Voir mon profil" visible sur Accueil */
.sl-viewprofile-btn{display:none;margin-top:8px;align-self:flex-start;}
@media (max-width: 520px){
  .sl-viewprofile-btn{display:inline-flex;}
}

/* === PATCH 2026-01-19: Photos Mon Profil - evite les images geantes dans les fichiers === */
.sl-photo-edit summary img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
}
@media (max-width:900px){
  .sl-photo-edit summary img{height:140px}
}

/* Lightbox : garde-fou taille image (evite le plein ecran involontaire) */
.sl-lightbox-box img{
  max-width:min(92vw,1200px);
  max-height:calc(var(--slc-lightbox-maxh) - 120px);
  width:auto;
  height:auto;
}
.sl-lightbox-box img.is-zoomed{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out}
@media (max-width:900px){
  .sl-lightbox-box{resize:none}
}

/* --- Chip compte (licorne) intégré dans la nav --- */
.sl-member-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sl-accountchip{
  display:none;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  max-width:260px; /* "réduit à moitié" */
}
.sl-accountchip__badge{font-size:18px;line-height:1}
.sl-accountchip__avatarwrap{position:relative;display:inline-flex}
.sl-accountchip__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}
.sl-accountchip__txt{display:flex;flex-direction:column;min-width:0}
.sl-accountchip__name{font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}
.sl-accountchip__free{font-size:11px;opacity:.85;white-space:nowrap}
@media (min-width: 1024px){
  .sl-accountchip{display:inline-flex}
}
/* Publication inline : emojis */
.sl-emojirow{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.sl-emoji{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.08);border-radius:10px;padding:6px 8px;cursor:pointer}


/* === Publication (fine) sur Profil === */
.sl-publication-tile{padding:10px 12px;margin-bottom:14px}
.sl-publication-tile .sl-publish-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 6px 0;font-size:14px}
.sl-publication-tile .sl-publish-text{min-height:44px;resize:vertical}
.sl-publication-tile .sl-emoji-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px 0}
.sl-publication-tile .sl-emoji-btn{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.12);border-radius:10px;padding:4px 6px;cursor:pointer}
.sl-publication-tile .sl-publish-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* === Mini chip avatar + Libre ce soir près de Bloquer === */
.sl-mini-freechip{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.10)}
.sl-mini-freechip__avatar{width:30px;height:30px;border-radius:999px;object-fit:cover}
.sl-mini-freechip__label{font-size:12px;opacity:.85;white-space:nowrap}


/* === Profil hub layout (Publication + Dernière activité à gauche / Membres connectés à droite) === */
.sl-hub-grid{display:grid !important;gap:16px;align-items:start;width:100%}
@media (min-width: 980px){
  .sl-hub-grid{grid-template-columns: minmax(0,1fr) 360px !important}
}

/* === Chip compte (avatar + toggle) près du bouton Bloqués === */
.sl-accountchip-wrap{display:flex;align-items:center;gap:10px;margin-left:6px}
.sl-accountchip{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:6px 10px}
.sl-accountchip__avatarwrap{position:relative;width:42px;height:42px;flex:0 0 42px}
.sl-accountchip__avatar{width:42px;height:42px;border-radius:999px;object-fit:cover}
.sl-accountchip__txt{display:flex;flex-direction:column;line-height:1.1}
.sl-accountchip__name{font-weight:700;font-size:13px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-accountchip__free{font-size:12px;opacity:.85}
.sl-accountchip__switch{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.25);border-radius:999px;padding:6px 10px;color:inherit;cursor:pointer}
.sl-accountchip__switch .sl-pill{transform:scale(.92)}
.sl-accountchip__switch .sl-state{font-weight:800;font-size:12px}

/* === Publication fine === */
.sl-publication--thin{padding:10px !important}
.sl-publication--thin textarea{min-height:54px}

/* Emoji row un peu plus compact */
.sl-emoji-row{gap:6px}
.sl-emoji-btn{padding:4px 6px}


/* === Publication mini dans la barre (profil hub) === */
.sl-activitybar{display:flex;flex-wrap:wrap;gap:12px}
.sl-activitybar__left{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:260px}
.sl-activitybar__right--members{flex:0 1 340px;min-width:240px}
.sl-activitybar__right--compact{flex:0 0 auto;align-self:center}
.sl-publish-form--mini{margin:0}
.sl-publish-mini{display:flex;align-items:center;gap:8px}

.sl-publish-label{font-size:12px;font-weight:700;color:var(--sl-muted);margin-right:4px;white-space:nowrap}

.sl-publish-input{height:28px;min-width:180px;max-width:360px;padding:4px 8px;border-radius:10px}
.sl-btn--mini{padding:7px 10px;line-height:1;border-radius:12px}
.sl-emoji-btn{background:transparent;border:1px solid rgba(0,0,0,.12);border-radius:12px;height:34px;padding:0 10px;cursor:pointer}
.sl-emojirow--mini{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.sl-publish-hint{margin-top:6px;font-size:12px;opacity:.75}

/* Publication tile (ancienne) : si elle apparaît ailleurs, on la compacte fortement */
.sl-publication-tile .sl-textarea{min-height:60px}
.sl-publication-tile .sl-publish-row{margin-top:8px}

/* Assure la colonne de membres connectés à droite (desktop) */
@media (min-width: 980px){
  .sl-hub-grid > div:last-child{position:sticky;top:90px}
}


/* Licorne "Libre ce soir" : effet allumé */
.sl-activitybar__badge{font-size:20px;line-height:1}
.sl-activitybar[data-free-on="1"] .sl-activitybar__badge{filter: drop-shadow(0 0 6px rgba(180,0,255,.55));}
.sl-activitybar[data-free-on="0"] .sl-activitybar__badge{opacity:.65}

.sl-activitybar__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
.sl-activitybar__avatarwrap{position:relative;flex:0 0 auto}
.sl-dot-online{width:14px;height:14px;border-radius:50%;background:#2ecc71;border:2px solid #fff;display:block}
.sl-dot-free{width:12px;height:12px;border-radius:50%;border:2px solid #fff;display:none}
.sl-dot-free--mauve{background:#b000ff}

/* Colonne droite: liste membres connectés scrollable */
@media (min-width: 980px){
  .sl-hub-grid > div:last-child .sl-tile{max-height: calc(100vh - 220px); overflow:auto}
}



/* v39: Publication mini intégrée dans le bloc licorne (à côté du ON/OFF) */
.sl-activitybar__status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sl-activitybar__publish{display:flex;align-items:center}
.sl-activitybar__publish .sl-publish-mini{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06)}
.sl-activitybar__publish .sl-publish-label{font-size:12px;opacity:.9;margin-right:2px}
.sl-activitybar__publish .sl-publish-input{width:260px;max-width:42vw}
@media (max-width: 720px){
  .sl-activitybar__publish .sl-publish-input{width:160px;max-width:55vw}
}

/* === Réduction/Ouverture de la barre d'activité === */
.sl-activitybar__collapse{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.20);
  color:inherit;
  border-radius:999px;
  height:34px;
  padding:0 10px;
  cursor:pointer;
  line-height:34px;
  font-weight:800;
}
.sl-activitybar__membersbtn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.20);
  color:inherit;
  border-radius:999px;
  height:34px;
  padding:0 10px;
  cursor:pointer;
  line-height:34px;
}
/* Bouton "membres" (mobile + PC)
   Demande: même raccourci sur PC pour ouvrir/fermer le panneau à droite. */
.sl-activitybar__membersbtn{display:inline-flex;align-items:center;justify-content:center}

.sl-activitybar--collapsed .sl-activitybar__publish{display:none !important}
.sl-activitybar--collapsed .sl-activitybar__status{gap:10px}
.sl-activitybar--collapsed .sl-activitybar__avatar{width:38px;height:38px}

/* === Panneau "Membres connectés" (mobile + PC) === */
.sl-memberspanel{position:relative;display:none}
.sl-memberspanel__close{
  display:none;
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  color:inherit;
  border-radius:999px;
  width:38px;
  height:38px;
  cursor:pointer;
  font-size:18px;
  line-height:38px;
}

.sl-membersoverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:9998;
}

@media (max-width: 980px){
  /* En mobile, la colonne droite devient un tiroir */
  .sl-hub-grid{grid-template-columns:1fr !important}
  body.sl-members-open .sl-memberspanel{
    display:block;
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:86vw;
    max-width:380px;
    z-index:9999;
    background:var(--sl-card, rgba(20,20,24,.98));
    padding:18px 12px 12px;
    overflow:auto;
    box-shadow:-18px 0 40px rgba(0,0,0,.45);
  }
  body.sl-members-open .sl-memberspanel__close{display:inline-flex;align-items:center;justify-content:center}
}

/* Desktop: panneau coulissant à droite (ouvert via le bouton 👥) */
@media (min-width: 981px){
  /* Le panneau est caché par défaut, s'ouvre en tiroir pour libérer la largeur du feed. */
  body.sl-members-open .sl-memberspanel{
    display:block;
    position:fixed;
    top:0;
    right:0;
    height:100vh;
    width:360px;
    z-index:9999;
    background:var(--sl-card, rgba(20,20,24,.98));
    padding:18px 12px 12px;
    overflow:auto;
    box-shadow:-18px 0 40px rgba(0,0,0,.45);
  }
  body.sl-members-open .sl-memberspanel__close{display:inline-flex;align-items:center;justify-content:center}
}

/* v39: On supprime l'ancien "chip compte" près de Bloqués */
.sl-accountchip-wrap{display:none !important}

/* v39: force la colonne 'Membres connectés' à droite */
body .sl-hub-grid{display:grid !important;gap:16px;align-items:start;width:100%}
@media (min-width: 980px){
  /* Le panneau "Membres connectés" s'ouvre en tiroir (fixed), donc la grille reste en 1 colonne. */
  body .sl-hub-grid{grid-template-columns:1fr !important}
}


/* === Suggestions Code postal (sous le champ) === */
.slc-postal-suggest{position:relative}
.slc-postal-suggest__list{
  margin-top:6px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(20,20,24,.92);
  border-radius:14px;
  overflow:hidden;
}
.slc-postal-suggest__item{
  width:100%;
  text-align:left;
  padding:10px 12px;
  background:transparent;
  color:#fff;
  border:0;
  cursor:pointer;
  font-size:13px;
}
.slc-postal-suggest__item:hover{background:rgba(255,255,255,.06)}


/* === Membres connectés inline (dans la barre d'activité) === */
.sl-connected-inline{padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:16px}
.sl-connected-inline__title{font-size:12px;opacity:.85;font-weight:700;margin-bottom:8px}
.sl-connected-inline__empty{font-size:12px;opacity:.75}
.sl-connected-inline__list{display:flex;flex-wrap:wrap;gap:8px}
.sl-connected-inline__ava{position:relative;display:inline-block;width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.10)}
.sl-connected-inline__ava img{width:100%;height:100%;object-fit:cover;display:block}
.sl-connected-inline__ava .sl-dot-online{position:absolute;right:-2px;bottom:-2px;transform:scale(.85)}


/* === Barre d'activité: compaction du bloc licorne/avatar === */
.sl-activitybar__publish .sl-publish-label{display:none}
.sl-activitybar__publish .sl-publish-input{width:210px;max-width:40vw}
@media (max-width: 720px){
  .sl-activitybar__publish .sl-publish-input{width:150px;max-width:55vw}
}

/* === Mobile: éviter les décalages (barre licorne + publication) === */
.sl-activitybar__who{min-width:0}
.sl-activitybar__name{font-weight:800}
@media (max-width: 520px){
  .sl-activitybar{gap:10px}
  .sl-activitybar__left{width:100%;min-width:0;flex-wrap:wrap;padding:12px}
  .sl-activitybar__status{width:100%;gap:8px}
  .sl-activitybar__publish{width:100%}
  .sl-activitybar__publish .sl-publish-mini{width:100%}
  .sl-activitybar__publish .sl-publish-input{width:auto;max-width:none;flex:1 1 auto}
  .sl-emojirow--mini{justify-content:flex-start}
}



/* Profile location autosave */
.slc-field-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.slc-field-row .sl-input{flex:1;min-width:180px}
.slc-ok-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;border:1px solid rgba(0,0,0,.2);font-weight:700;line-height:1;user-select:none}
.slc-ok-badge.is-ok{opacity:1}
.slc-ok-badge.is-saving{opacity:.8}
.slc-ok-badge.is-err{opacity:1}
.slc-ok-actions{display:inline-flex;gap:6px;align-items:center}
.slc-ok-actions button{cursor:pointer;border:1px solid rgba(0,0,0,.2);border-radius:10px;padding:6px 10px;background:#fff}
.slc-ok-actions button[data-action="edit"]{display:none}


/* Visio (Jitsi) */
.slc-visio-wrap{width:100%;}
.slc-visio{width:100%;min-height:520px;border-radius:16px;overflow:hidden;background:#1a1a28;}
@media (min-width:760px){.slc-visio{min-height:640px;}}






/* === PATCH 2026-01-23: Mobile centrage profil + activites (corrige decalage a droite) === */
@media (max-width: 520px){
  /* recentrer le bloc licorne/avatar/statut */
  .sl-activitybar{justify-content:center;}
  .sl-activitybar__left,
  .sl-activitybar__right{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  /* sorties/voyages : garder un vrai "format telephone" (pas trop petit) */
  .slc-sorties-actions .sl-btn,
  .slc-sorties-tabs .sl-btn{
    font-size:15px;
    padding:10px 12px;
  }
}



/* === PATCH FIXED17: Mobile centrage des cartes "Dernières activités" + panneau membres === */
@media (max-width: 900px){
  /* Empêche le décalage à droite sur certains mobiles */
  .sl-feed, .sl-feed-post{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .sl-feed-post{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* sécurise les contenus internes (longs noms/URLs) */
  .sl-feed-post *{
    max-width:100%;
    box-sizing:border-box;
    word-break:break-word;
  }
  /* évite toute barre horizontale */
  body{overflow-x:hidden;}
}

@media (max-width: 980px){
  /* Tiroir "Membres connectés" : on laisse de l’air en haut (safe area + titre visible) */
  body.sl-members-open .sl-memberspanel{
    padding-top: calc(56px + env(safe-area-inset-top, 0px)) !important;
  }
  body.sl-members-open .sl-memberspanel__close{
    top: calc(10px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* === PATCH FIXED18: Mobile - bloc profil + activites parfaitement dans l'ecran (evite decalage a droite) === */
@media (max-width: 520px){
  html,body{overflow-x:hidden;}
  /* container */
  .sl-wrap{padding-left:14px !important;padding-right:14px !important;box-sizing:border-box;max-width:100%;}
  /* tout bloc principal profil/activites */
  .sl-profilegrid, .sl-profilegrid__left, .sl-profilegrid__right,
  .sl-activity, .sl-activitycard, .sl-activity-tile, .sl-feed, .sl-feed-post,
  .sl-publication-tile, .sl-tile, .sl-card{
    width:100% !important;
    max-width:calc(100vw - 28px) !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* images / medias ne doivent jamais depasser */
  img, video, canvas{max-width:100% !important;height:auto;}
}


/* v52 – Profil PC: Reco/À savoir près de 💋/🚫 (sans toucher mobile) */
@media (min-width: 900px){
  .sl-profile-top{align-items:center}
  .sl-profile-actions--primary{order:2}
  .sl-profile-actions--secondary{order:3;margin-left:12px}
  .sl-profile-actions--secondary .sl-activity-ic{font-size:20px;padding:10px 12px}
  .sl-profile-actions--secondary .sl-ic-label{font-size:12px}
}


/* v53 – PC: rapprocher Recos/Pratique de 💋 et éviter les panneaux coupés */
@media (min-width: 900px){
  .sl-profile-top{align-items:center}
  .sl-profile-actions--primary{order:2}
  .sl-profile-actions--secondary{order:3;margin-left:12px;gap:14px}
  .sl-profile-actions--secondary .sl-activity-ic{font-size:20px;padding:10px 12px}
  .sl-profile-actions--secondary .sl-inline-details{position:relative}
  /* panneau : plus large + affiché vers la gauche si besoin */
  .sl-inline-details__panel{
    max-width:min(520px, 90vw);
    min-width:340px;
    right:0;
    left:auto;
    transform:none;
  }
}

/* v54 – PC: si le panneau dépasse, on l'ouvre vers la gauche */
@media (min-width: 900px){
  .sl-profile-actions--secondary .sl-inline-details__panel{right:0;left:auto}
  .sl-profile-actions--primary .sl-inline-details__panel{left:0;right:auto}
}


/* Subscription status box (activé / non activé) */
.sl-sub-box{margin:10px 0 14px}
.sl-sub-badge{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);font-size:13px}
.sl-sub-badge strong{font-weight:800}
.sl-sub-badge--on{border-color:rgba(46,204,113,.35)}
.sl-sub-badge--off{border-color:rgba(231,76,60,.35)}
.sl-sub-badge--free{border-color:rgba(52,152,219,.35)}
.sl-sub-badge--vip{border-color:rgba(155,89,182,.35)}
.sl-sub-badge--admin{border-color:rgba(241,196,15,.35)}
.sl-sub-counter{padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.15);font-weight:700}
.sl-sub-exp{opacity:.85}



/* Lightbox - barre like */
.sl-lightbox-likebar{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}
.sl-lightbox-likebar .sl-like-btn{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;gap:8px;align-items:center}
.sl-lightbox-likebar .sl-like-btn[data-liked="1"]{background:rgba(46,204,113,.55)}
.sl-lightbox-likebar .sl-like-btn[disabled]{opacity:.5;cursor:not-allowed}

/* Badge compteur likes (gestionnaire) */
.sl-like-badge{position:absolute;left:10px;bottom:10px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;gap:6px;align-items:center}


/* Lecture plus claire des blocs légaux et des cartes */
.sl-legal-page .sl-legal-block{padding:14px 16px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.05)}
@media (max-width:780px){
  .sl-card{align-items:flex-start}
  .sl-card .sl-ava{width:64px;height:64px;border-radius:18px}
  .sl-photo-grid, [data-sl-photo-grid="1"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [data-sl-photo-grid="1"] .sl-photo img{height:100%;object-fit:cover;object-position:center}
}


/* v58 – zones sombres éclaircies */
.sl-photo-bar button,
.sl-inline-preview__close,
.sl-photo-settings button,
.sl-lightbox-close,
.sl-lightbox-hint,
.sl-lightbox-nav,
.sl-lightbox-count,
.sl-photo-tag,
.sl-lightbox-likebar .sl-like-btn,
.sl-like-badge,
.slc-place-card__map::after,
.sl-inline-details__panel,
.slc-call-card,
.sl-memberspanel,
.sl-accountchip__switch,
.sl-publication-tile .sl-emoji-btn,
.sl-emoji,
.sl-mini-freechip,
.sl-photo-edit .sl-photo-controls{
  background: rgba(255,255,255,.12) !important;
}
.sl-lightbox-box{background:rgba(38,34,56,.96) !important;}
.sl-lightbox-overlay{background:rgba(24,20,34,.72) !important;}
.sl-meta strong{color:inherit;}


/* v66 - quadrillage profil plus visible */
.sl-lightbox-canvas{touch-action:none;cursor:crosshair}
.sl-lightbox-box.is-blur-mode .sl-lightbox-canvas{outline:2px solid rgba(255,255,255,.28);outline-offset:-2px}
.sl-lightbox-box.is-blur-mode .sl-lightbox-hint{display:block;background:rgba(0,0,0,.55);padding:8px 12px;border-radius:12px}
.sl-lightbox-toolbar .sl-lb-note{display:inline-flex;align-items:center;min-height:36px;line-height:1.25;max-width:320px}

.sl-lightbox-toolbar .sl-lb-btn[data-act="back-profile"]{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
@media (max-width:720px){
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-toolbar .sl-lb-btn[data-act="back-profile"]{order:98;min-width:140px;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-toolbar .sl-lb-btn[data-act="delete"]{order:99;}
}


/* v86 - edition photo mobile : mêmes actions que PC, toolbar plus lisible */
@media (max-width: 900px){
  .sl-lightbox-overlay{padding:10px}
  .sl-lightbox-box{
    width:min(96vw, 760px);
    max-width:96vw;
    max-height:94vh;
    resize:none;
  }
  .sl-lightbox-toolbar{
    gap:6px;
    padding:10px;
  }
  .sl-lightbox-toolbar .sl-lb-btn{
    font-size:12px;
    padding:8px 9px;
  }
  .sl-lightbox-toolbar .sl-lb-note{
    display:block;
    width:100%;
    max-width:none;
    margin-left:0;
    margin-top:2px;
  }
  .sl-lightbox-close{top:8px;right:8px;padding:7px 9px;font-size:13px;z-index:8}
  .sl-photo-bar button{padding:5px 8px;font-size:11px}
  .sl-photo-bar .sl-edit-btn{bottom:calc(100% + 6px)}
}

/* v87 - mobile photo editor aligned with desktop */
@media (max-width: 720px){
  .sl-lightbox-overlay[data-sl-photo-editor="1"]{padding:8px !important;align-items:flex-start !important;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-box{width:100% !important;max-width:100% !important;max-height:calc(100vh - 16px) !important;border-radius:18px !important;overflow:auto !important;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-toolbar{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;padding:10px 10px 8px 10px;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-toolbar .sl-lb-btn{flex:0 0 auto;min-height:44px;font-size:13px;padding:10px 12px;white-space:nowrap;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-toolbar .sl-lb-note{display:none !important;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-close{top:8px;right:8px;z-index:5;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-count{top:8px;left:8px;z-index:4;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-nav{width:36px;height:36px;font-size:24px;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-nav--prev{left:8px;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-nav--next{right:8px;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-hint{left:8px;bottom:8px;max-width:calc(100% - 16px);border-radius:12px;font-size:12px;line-height:1.25;}
  .sl-lightbox-overlay[data-sl-photo-editor="1"] .sl-lightbox-canvas{touch-action:none !important;}
}


.sl-legal-accordion summary{list-style:none}
.sl-legal-accordion summary::-webkit-details-marker{display:none}
@media (max-width:900px){
  .sl-lightbox-overlay{padding:10px}
  .sl-lightbox-box{width:min(96vw,96vw);max-width:96vw;max-height:94vh}
  .sl-lightbox-box img{max-width:92vw;max-height:calc(94vh - 150px)}
}


/* Libre ce soir : bouton plus visible dans la barre accueil/profil */
.sl-activitybar__freeLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  line-height:1;
}
.sl-activitybar__freeLink--alert{
  border:2px solid rgba(255,72,72,.95);
  box-shadow:0 0 0 1px rgba(255,72,72,.25), 0 0 14px rgba(255,72,72,.25);
  background:rgba(90,0,0,.25);
  color:#fff;
}
.sl-activitybar__freeLink--alert:hover,
.sl-activitybar__freeLink--alert:focus{
  background:rgba(120,0,0,.35);
  color:#fff;
}

/* Page Libre ce soir : recherche bien visible */
.slc-search-form--free-tonight{
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}
.slc-search-form--free-tonight .sl-input,
.slc-search-form--free-tonight select{
  width:100%;
}
.slc-search-form__title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  margin:0 0 8px;
}
.slc-search-form__title::before{
  content:'🔎';
}


/* v88b - floutage cohérent + anti-débordement mobile */
.sl-lightbox-box img.is-viewer-blur{filter:blur(18px);transform:scale(1.03);}
@media (max-width: 768px){
  html, body{max-width:100%;overflow-x:hidden;}
  body{overflow-wrap:anywhere;}
  .sl-wrap, .sl-card, .sl-member-card, .sl-photo-grid, .sl-video-grid, .sl-activitybar, .sl-member-nav, .sl-msg-list, .sl-visit-list, .sl-profile-shell, .sl-profile-card, .sl-home-shell{max-width:100%;box-sizing:border-box;}
  .sl-card, .sl-member-card, .sl-profile-card, .sl-activitybar, .sl-member-nav{overflow:hidden;}
  img, video, canvas{max-width:100%;height:auto;}
}
