/* Touch-first layout shared by the map and standalone pages. */
@media(max-width:768px){
 :root{--header-height:108px}
 html{scroll-padding-top:120px}body{overflow-x:clip}
 input,textarea,select{font-size:16px!important}
 button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
 .main-header{height:var(--header-height);background:var(--bg-card)}
 .main-header .header-container{height:100%;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-rows:48px 48px;gap:4px 8px;padding:4px 12px}
 .main-header .logo{min-width:0;gap:8px}.main-header .logo-text{display:block}.main-header .logo-title{font-size:15px}.main-header .logo-subtitle{font-size:8px}.main-header .logo-img{width:32px;height:32px}
 .main-header .search-container{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0}.main-header .search-input{height:44px;padding-inline-start:44px;padding-inline-end:12px}.main-header .search-btn{width:44px;height:44px}
 .main-header :is(.theme-toggle,.mobile-menu-toggle,.btn-login,.user-avatar-btn){min-width:44px;min-height:44px}.main-header .user-name-short{display:none}.main-header .lang-toggle{display:none}
 .main-nav.mobile-active{top:var(--header-height);max-height:calc(100dvh - var(--header-height));overflow:auto;background:var(--bg-card);padding:12px;border-radius:0 0 20px 20px;box-shadow:0 18px 40px #0003}.main-nav .nav-link{min-height:48px;font-size:15px;padding:12px}
 .search-results{max-width:100%;max-height:calc(100dvh - 130px);overflow:auto}.user-dropdown{top:60px!important;left:12px;max-height:calc(100dvh - 80px)}
 .discovery-shortcuts button{min-height:44px}.discovery-shortcuts span{font-size:12px}.discovery-intro{padding:8px 12px}.discovery-heading h1{font-size:17px}.category-btn{min-height:44px;font-size:12px}.filter-container{gap:4px}.filter-bar{max-height:calc(100dvh - var(--header-height) - 80px);overflow-y:auto}.filter-bar:not(.filters-expanded){overflow:visible}#clearDiscoveryFilters{font-size:0;width:40px;padding:8px}#clearDiscoveryFilters i{font-size:14px}
 .overlay-content{box-sizing:border-box;width:calc(100% - 16px);max-width:100%;margin:12px auto;padding:22px 16px;border-radius:20px;overflow-wrap:anywhere}.overlay-close{min-width:44px;min-height:44px}.overlay-title{font-size:23px;padding-inline-end:38px}.page-overlay{overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
 .bottom-sheet{padding-bottom:env(safe-area-inset-bottom);max-height:85dvh}.bottom-sheet-content{overflow-y:auto;overscroll-behavior:contain}.place-list-panel{max-width:100vw}#togglePlaceList{min-height:44px;bottom:calc(20px + env(safe-area-inset-bottom))}.leaflet-control-zoom a{min-width:36px;min-height:36px;line-height:36px}
 .place-header nav a{min-height:44px;display:flex;align-items:center;font-size:13px}.place-header-inner{padding:8px 12px}.place-header nav{gap:8px}.place-header .place-theme{min-width:44px;min-height:44px}.place-page .video-card{min-width:0}.place-page .video-info{overflow-wrap:anywhere}.place-page .place-primary-actions a{min-height:44px}.place-page .container{max-width:100%;box-sizing:border-box}.place-section-nav{overflow-x:auto;overscroll-behavior-x:contain}
 .td-shell{padding:12px 10px}.td-sidebar{padding:14px}.td-sidebar .td-home{font-size:20px}.td-sidebar nav{display:none}.td-mobile-nav{display:block;width:100%;margin-top:12px}.td-mobile-nav select{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-family:inherit;min-height:48px}.td-home span{display:none}.td-hero{padding:20px;margin-bottom:14px}.td-hero h1{font-size:24px}.td-hero p{font-size:14px}.td-manager{padding:14px 10px}.td-manager .trip-card{align-items:stretch;padding:12px;gap:8px}.trip-card button:first-child{min-width:0;overflow-wrap:anywhere}.trip-card button:last-child{flex-shrink:0}.td-manager .tp-form-grid,.td-manager .tp-stop-fields{grid-template-columns:1fr 1fr}.tp-search-row{flex-wrap:wrap}.tp-search-row input{flex-basis:70%;width:0}.tp-custom{grid-template-columns:1fr}.tp-save-actions button,.tp-day-actions button{min-height:48px}.tp-day-actions button{flex:1 1 140px}.tp-member{display:grid;grid-template-columns:1fr 1fr}.tp-member span{grid-column:1/-1;min-width:0}.trip-dialog{padding:22px}.trip-dialog-actions{flex-direction:column}.trip-dialog-actions button{width:100%;min-height:48px}
}
@media(min-width:769px){.td-mobile-nav{display:none}}
@media(max-width:380px){.main-header .logo-title{font-size:13px}.main-header .logo-subtitle{display:none}.td-manager .tp-form-grid,.td-manager .tp-stop-fields{grid-template-columns:1fr}.tp-summary{gap:8px}.tp-metric strong{font-size:16px}.place-header nav a{font-size:12px;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page-overlay,.main-nav.mobile-active{animation:none}}
