/* Sortee.fr - couche mobile app unifiée (2026-08)
   Chargée après style.css pour neutraliser les anciens patchs sans casser le desktop. */
@media (max-width: 991.98px) {
  html,body{max-width:100%;overflow-x:hidden!important;overscroll-behavior-y:none}
  body{padding-top:60px!important;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;background:#f7f8fc!important}
  body>main{width:100%;min-width:0;overflow:visible}
  .topbar{height:60px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(15,23,42,.07)!important;box-shadow:0 5px 22px rgba(15,23,42,.05)!important}
  .nav-shell{min-height:60px!important;height:60px!important;padding:7px 12px!important}
  .navbar-brand .fs-4{font-size:1.16rem!important}.logo-mark{width:34px!important;height:34px!important;border-radius:12px!important}
  .desktop-actions{gap:5px!important}.icon-btn{width:38px!important;height:38px!important}.user-menu-btn{min-height:38px!important;padding:3px 5px!important}
  .site-footer{display:none!important}
  .mobile-bottom{display:block!important;left:8px!important;right:8px!important;bottom:calc(7px + env(safe-area-inset-bottom))!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 14px 38px rgba(15,23,42,.16)!important;backdrop-filter:blur(18px)!important;z-index:1080!important}
  .mobile-bottom .inner{height:62px!important;overflow:visible!important}
  .mobile-bottom a,.mobile-bottom button{height:62px!important;min-width:0!important;font-size:.68rem!important;font-weight:850!important;line-height:1.05!important}
  .mobile-bottom i{font-size:1.15rem!important;margin-bottom:2px!important}.mobile-bottom a.active,.mobile-bottom button.active{color:var(--primary)!important}
  .mobile-bottom .mobile-fab{width:54px!important;height:54px!important;min-height:54px!important;margin:-21px auto 0!important;border-radius:19px!important;box-shadow:0 12px 28px rgba(124,58,237,.30)!important}
  .mobile-fab-plus{font-size:2rem!important;line-height:1!important}
  .mobile-more-menu,.mobile-ideas-menu{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;top:auto!important;transform:none!important;max-height:min(68vh,520px)!important;overflow:auto!important;border-radius:24px!important;padding:12px!important;box-shadow:0 24px 70px rgba(15,23,42,.25)!important}
  .mobile-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.mobile-more-grid a{min-height:58px!important;padding:10px!important;border-radius:16px!important;font-size:.8rem!important}
  .page-hero{padding-top:12px!important;padding-bottom:12px!important}.container-xl{padding-left:12px!important;padding-right:12px!important}
  .premium-card,.glass,.auth-modern-card,.hero-box,.ultra-hero{border-radius:22px!important}
  .title-xl{font-size:clamp(1.65rem,7vw,2.2rem)!important}.lead{font-size:.96rem!important}
  .page-safe-bottom,.pb-page{padding-bottom:20px!important}
  .rgpd-banner{left:10px!important;right:10px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;width:auto!important;border-radius:20px!important;padding:14px!important;gap:10px!important}.rgpd-banner p{font-size:.82rem!important;line-height:1.35!important;margin:3px 0!important}.rgpd-actions{gap:6px!important;flex-wrap:wrap!important}
}

@media (max-width: 767.98px) {
  /* Accueil : dashboard d'app, premier écran très compact */
  .mobile-app-home{padding:8px 12px 10px!important}
  .mobile-app-hero{padding:13px 14px!important;border-radius:22px!important;margin:0 0 10px!important;background:linear-gradient(145deg,#fff,#fff7f9)!important;box-shadow:0 10px 28px rgba(15,23,42,.07)!important}
  .mobile-app-hero:after{width:110px!important;height:110px!important;right:-52px!important;top:-58px!important}
  .mobile-home-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.mobile-home-greeting{min-width:0}.mobile-home-greeting small{display:block;color:#64748b;font-weight:800;font-size:.76rem}.mobile-home-greeting h1{font-size:1.33rem!important;line-height:1.05!important;margin:2px 0 0!important;letter-spacing:-.035em!important}.mobile-home-location{display:inline-flex;align-items:center;gap:5px;max-width:48%;background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:999px;padding:7px 9px;color:#475569;text-decoration:none;font-size:.73rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-home-location span{overflow:hidden;text-overflow:ellipsis}
  .mobile-search-card{margin-top:0!important;display:block!important}.mobile-main-action{min-height:49px!important;padding:10px 13px!important;border-radius:17px!important;gap:10px!important}.mobile-main-action i{font-size:1.15rem!important}.mobile-main-action span{font-size:.91rem!important}.mobile-main-action small{display:none!important}
  .mobile-app-quick-status{display:none!important}
  .mobile-action-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:9px 0 0!important;padding:0!important;overflow:visible!important}.mobile-action-grid a{min-width:0!important;min-height:57px!important;height:57px!important;flex:auto!important;border-radius:16px!important;gap:3px!important;font-size:.65rem!important;padding:5px!important;box-shadow:none!important}.mobile-action-grid i{font-size:1.08rem!important}
  .mobile-feed-section{margin-top:13px!important}.mobile-section-head{margin-bottom:7px!important}.mobile-section-head h2{font-size:1rem!important}.mobile-section-head small{font-size:.69rem!important}.mobile-title-badge{gap:7px!important}.mobile-title-badge>i{width:31px!important;height:31px!important;font-size:.9rem!important}.mobile-section-head>a,.mobile-slider-controls>a{font-size:.74rem!important}
  .mobile-slide-btn{width:29px!important;height:29px!important}
  .mobile-card-scroll{gap:9px!important;padding-bottom:5px!important}.mobile-idea-tile{flex-basis:78%!important;border-radius:19px!important;padding:7px!important}.mobile-idea-tile-rich .mobile-thumb,.mobile-thumb{height:103px!important;border-radius:14px!important}.mobile-idea-content{padding:7px 2px 3px!important}.mobile-idea-tile b{font-size:.89rem!important;margin:5px 0 2px!important;line-height:1.18!important}.mobile-idea-tile em{display:none!important}.mobile-card-cta{font-size:.72rem!important;margin-top:4px!important}.mobile-cat-chip,.mobile-distance-chip{font-size:.61rem!important;padding:4px 6px!important}.mobile-date-badge{transform:scale(.86);transform-origin:top left}
  .mobile-outing-list{gap:7px!important}.mobile-outing-item{padding:8px 9px!important;border-radius:17px!important;gap:9px!important;box-shadow:none!important}.mobile-outing-item>span:first-child{width:42px!important;height:42px!important;border-radius:13px!important}.mobile-outing-item div b{font-size:.85rem!important}.mobile-outing-item div small{font-size:.72rem!important}.mobile-outing-item>i{font-size:.8rem!important}
  .mobile-auth-box{margin-top:12px!important;padding:12px!important;border-radius:20px!important}.mobile-auth-box p{font-size:.8rem!important;margin-bottom:8px!important}.mobile-auth-box .btn{min-height:40px!important;padding:8px 10px!important;font-size:.8rem!important}
  /* Pages listes : plus d'information par écran */
  .member-card,.suggestion-card,.event-card,.sortie-card{border-radius:18px!important}.event-media img,.idea-card img,.fav-media img{content-visibility:auto}
  .messages-page,.messages-layout{min-height:calc(100dvh - 142px)!important}
}

@media (max-width: 370px) {
  .mobile-action-grid{gap:5px!important}.mobile-action-grid a{font-size:.6rem!important}.mobile-home-location{max-width:44%}.mobile-idea-tile{flex-basis:84%!important}
}

@media (max-width: 767.98px) {
  img,video,iframe{max-width:100%;height:auto}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  .table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .modal-dialog{margin:8px!important}.modal-content{border-radius:22px!important;max-height:calc(100dvh - 16px);overflow:auto}
  .dropdown-menu{max-width:calc(100vw - 20px)}
  .btn:not(.btn-sm):not(.mobile-slide-btn){min-height:42px}
  a,button{-webkit-tap-highlight-color:transparent}
  *{scrollbar-width:thin}
}


/* SORTEE V3.6.1 - correctif scroll global */
html{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
body:not(.page-messages){height:auto!important;min-height:100vh!important;min-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;position:relative!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}
body:not(.page-messages)>main,body:not(.page-messages) .site-main,body:not(.page-messages) .pb-page{height:auto!important;max-height:none!important;overflow-y:visible!important}
body:not(.page-messages).modal-open:not(:has(.modal.show)){overflow-y:auto!important;padding-right:0!important}
body:not(.page-messages).offcanvas-backdrop:not(:has(.offcanvas.show)){overflow-y:auto!important}
@media(max-width:991.98px){html{overflow-y:auto!important}body:not(.page-messages){overflow-y:auto!important;overscroll-behavior-y:auto!important}.page-hero,.container-xl,main{touch-action:pan-y!important}}
