/* Sortee V3 — modernisation transversale, mobile-first */
:root{
  --app-radius:22px;--app-radius-sm:16px;--app-shadow:0 18px 55px rgba(15,23,42,.10);
  --app-border:1px solid rgba(15,23,42,.08);--app-surface:rgba(255,255,255,.92);
  --app-ink:#101828;--app-muted:#667085;--app-purple:#7c3aed;--app-pink:#ec4899;
}
html{scroll-behavior:smooth} body{background:linear-gradient(180deg,#fbfbff 0,#fff 260px);color:var(--app-ink)}
img{max-width:100%}.glass,.info-panel,.detail-card,.side-card,.filter-card,.form-card,.auth-card,.member-clean-card{border:var(--app-border);box-shadow:0 12px 36px rgba(15,23,42,.055)}
.btn{border-radius:14px;font-weight:800}.btn-gradient{box-shadow:0 10px 24px rgba(124,58,237,.18)}
.form-control,.form-select{border-radius:14px;border-color:rgba(15,23,42,.12);min-height:46px}.form-control:focus,.form-select:focus{border-color:rgba(124,58,237,.45);box-shadow:0 0 0 .22rem rgba(124,58,237,.10)}

/* Desktop : profondeur plus premium */
@media(min-width:992px){
  .member-outing-card,.member-card-v2,.fav-card,.detail-card,.info-panel,.form-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
  .member-outing-card:hover,.member-card-v2:hover,.fav-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(15,23,42,.12);border-color:rgba(124,58,237,.16)}
  .topbar .nav-link{position:relative}.topbar .nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--app-purple),var(--app-pink));transform:scaleX(0);transition:.2s}
  .topbar .nav-link:hover:after,.topbar .nav-link.active:after{transform:scaleX(1)}
}

/* Barre d'actions contextuelle générée en JS */
.app-context-dock{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;overflow:visible;scrollbar-width:none;padding:8px 0 2px;margin:0 0 14px}.app-context-dock::-webkit-scrollbar{display:none}
.app-context-dock button,.app-context-dock a{flex:1 1 145px;max-width:220px;justify-content:center;text-align:center;border:1px solid rgba(15,23,42,.08);background:#fff;color:#182230;border-radius:999px;min-height:40px;padding:9px 13px;display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:.84rem;font-weight:850;box-shadow:0 8px 22px rgba(15,23,42,.055)}
.app-context-dock .is-primary{background:linear-gradient(135deg,#1d4ed8,#0ea5e9);color:#fff;border-color:transparent}.app-context-dock .bi{font-size:1rem}

/* Mini barre titre mobile : moins de hauteur verticale */
.app-mobile-pagebar{display:none}
@media(max-width:991.98px){
  body{overflow-x:hidden!important;background:#f8f8fc!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  main,.page-hero,.pb-page,.site-main{max-width:100%;overflow-x:clip}
  .page-hero{padding-top:10px!important;padding-bottom:8px!important}.page-hero.compact-hero{padding-top:8px!important;padding-bottom:8px!important}
  .page-hero .title-xl,.page-hero .title-lg,.page-hero h1{font-size:clamp(1.42rem,6.5vw,1.9rem)!important;line-height:1.05!important;letter-spacing:-.04em}
  .page-hero .lead,.page-hero p{font-size:.92rem;line-height:1.42}
  .container-xl{padding-left:14px!important;padding-right:14px!important}
  .glass,.info-panel,.detail-card,.side-card,.filter-card,.form-card,.auth-card,.member-clean-card,.member-outing-card,.member-card-v2,.fav-card{border-radius:20px!important}
  .row.g-4{--bs-gutter-y:14px}.py-4{padding-top:12px!important;padding-bottom:12px!important}.mb-4{margin-bottom:14px!important}
  .btn{min-height:44px}.btn-sm{min-height:36px}
  .app-context-dock{margin-top:-2px;padding-bottom:4px;justify-content:center}
  .app-context-dock button,.app-context-dock a{min-height:40px;padding:8px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);flex:1 1 calc(50% - 8px);max-width:none}
  .app-context-dock button:nth-child(3),.app-context-dock a:nth-child(3){flex-basis:100%;max-width:260px;margin-inline:auto}
  /* listes plus denses sans devenir petites */
  .member-outing-card,.fav-card,.member-card-v2{box-shadow:0 10px 30px rgba(15,23,42,.07)!important}
  .member-outing-card.p-4,.fav-content,.member-card-v2 .p-4{padding:15px!important}
  .member-outing-photo{margin-bottom:12px!important}
  .member-outing-card h2,.fav-card h2{font-size:1.02rem!important;line-height:1.25!important}
  /* Mode compact activable par l'utilisateur */
  body.app-compact-list .member-outing-item,body.app-compact-list .profile-item{width:100%!important}
  body.app-compact-list .member-outing-card{display:grid;grid-template-columns:98px 1fr;gap:12px;padding:10px!important;align-items:center}
  body.app-compact-list .member-outing-card .member-outing-photo{grid-row:1 / span 8;width:98px;height:98px;margin:0!important;border-radius:16px;overflow:hidden}
  body.app-compact-list .member-outing-card .member-outing-photo img{width:100%;height:100%;object-fit:cover}
  body.app-compact-list .member-outing-card .date-tile{display:none}
  body.app-compact-list .member-outing-card .meta-line{margin:0!important}
  body.app-compact-list .member-card-v2{display:grid;grid-template-columns:90px 1fr;min-height:112px}.app-compact-list .member-card-v2 .cover{display:none}.app-compact-list .member-card-v2 .p-4{text-align:left!important;padding:12px!important}.app-compact-list .member-card-v2 .avatar{margin:0!important}
  /* détails : image moins haute + action visible */
  .idee-detail-cover,.sortie-hero-bg{max-height:280px}.sortie-premium-hero{min-height:300px!important;border-radius:22px!important}.sortie-hero-content{padding:20px!important}
  .detail-card .p-4,.detail-card .p-lg-5{padding:16px!important}
  /* formulaires : progression discrète et champs rapprochés */
  .app-form-progress{height:6px;background:#ececf3;border-radius:99px;overflow:hidden;margin:2px 0 13px}.app-form-progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#7c3aed,#ec4899);border-radius:inherit;transition:width .2s ease}
  .app-draft-note{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem;color:#667085;margin:-4px 0 12px}.app-draft-note button{border:0;background:none;color:#7c3aed;font-weight:850;padding:4px}
  /* bottom nav plus proche d'une app native */
  .mobile-bottom{background:rgba(255,255,255,.93)!important;backdrop-filter:blur(22px) saturate(150%)!important;border-top:1px solid rgba(15,23,42,.07)!important;box-shadow:0 -12px 35px rgba(15,23,42,.07)!important}
  .mobile-bottom .inner>a,.mobile-more-btn{font-size:.68rem!important;font-weight:850!important;letter-spacing:-.01em}
  .mobile-bottom i{font-size:1.22rem!important}
}

/* Recherche dans les pages d'aide / légales */
.app-inline-search{position:relative;margin:0 0 14px}.app-inline-search .bi{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#98a2b3}.app-inline-search input{padding-left:40px;background:#fff}.app-search-hidden{display:none!important}

/* toast V3 */
.app-v3-toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:2000;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#101828;color:#fff;padding:10px 14px;border-radius:999px;font-weight:800;font-size:.84rem;box-shadow:0 15px 35px rgba(15,23,42,.25);transition:.2s;white-space:nowrap;max-width:calc(100vw - 28px);overflow:hidden;text-overflow:ellipsis}.app-v3-toast.show{opacity:1;transform:translate(-50%,0)}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
