/* Shared, reversible small-screen layout for ScanMAP public category maps. */
html.scanmap-responsive { --top-h:64px; --bottom-h:80px; }
html.scanmap-responsive body .scanmap-topbar { height:calc(64px + env(safe-area-inset-top,0px))!important;min-height:64px!important;padding:calc(6px + env(safe-area-inset-top,0px)) 8px 6px!important;gap:8px!important; }
html.scanmap-responsive body .scanmap-topbar-left {flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;}
html.scanmap-responsive body .scanmap-topbar-left a {gap:6px!important;max-width:100%!important;}
html.scanmap-responsive body .scanmap-logo {width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important;}
html.scanmap-responsive body .scanmap-brand strong {font-size:17px!important;line-height:1.15!important;}
html.scanmap-responsive body .scanmap-brand span,html.scanmap-responsive body #pageTitleSubShell {font-size:12px!important;max-width:100%!important;line-height:1.2!important;}
html.scanmap-responsive body .scanmap-topbar-right {gap:6px!important;flex:0 0 auto!important;}
html.scanmap-responsive body .scanmap-topbar #langBtn {min-width:64px!important;width:64px!important;height:44px!important;padding:0 5px!important;gap:4px!important;}
html.scanmap-responsive body #langBtn .scanmap-lang-caret {display:none!important;}
html.scanmap-responsive body #langBtn .scanmap-lang-code {font-size:12px!important;}
html.scanmap-responsive body .scanmap-user-chip {width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;}
html.scanmap-responsive body .scanmap-user-chip-media {width:34px!important;min-width:34px!important;height:34px!important;}
html.scanmap-responsive body #navbar {height:calc(80px + env(safe-area-inset-bottom,0px))!important;min-height:80px!important;box-sizing:border-box!important;padding-bottom:env(safe-area-inset-bottom,0px)!important;bottom:0!important;}
html.scanmap-responsive body #navbar .icon-links {width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;justify-content:flex-start!important;}
html.scanmap-responsive body #navbar .icon-links a {flex:1 0 50px!important;min-width:50px!important;min-height:44px!important;padding:4px 2px!important;}
html.scanmap-responsive body #navbar .icon-label {font-size:11px!important;line-height:1.15!important;overflow-wrap:normal!important;word-break:normal!important;}
html.scanmap-responsive body #navbar .icon-wrapper img.icon {width:28px!important;height:28px!important;}
html.scanmap-responsive body #map {top:calc(64px + env(safe-area-inset-top,0px))!important;bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;height:auto!important;}
html.scanmap-responsive body .sm-area-open {min-height:44px!important;font-size:13px!important;box-sizing:border-box!important;}
html.scanmap-responsive body :is(#scanmapMapControlsV2,#scanmapRightControls) button {width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;}
html.scanmap-responsive body #floatingMarker,html.scanmap-responsive body #scanmapRoutesSideBtn,html.scanmap-responsive body #scanmapAiSideBtn {gap:2px!important;line-height:1.1!important;font-size:11px!important;}
html.scanmap-responsive body #floatingMarker [class$="icon"],html.scanmap-responsive body #scanmapRoutesSideBtn [class$="icon"],html.scanmap-responsive body #scanmapAiSideBtn [class$="icon"] {width:23px!important;height:23px!important;min-height:0!important;font-size:20px!important;}
html.scanmap-responsive body #floatingMarker [class$="text"],html.scanmap-responsive body #scanmapRoutesSideBtn [class$="text"],html.scanmap-responsive body #scanmapAiSideBtn [class$="text"] {font-size:10px!important;line-height:1.15!important;max-width:54px!important;}
html.scanmap-responsive body #floatingPopup {box-sizing:border-box!important;border-radius:16px!important;overscroll-behavior:contain;scrollbar-gutter:stable;}
html.scanmap-responsive body #floatingPopup .scanmap-list-wrap {padding:8px 8px 12px!important;box-sizing:border-box!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-head {position:sticky!important;top:-1px!important;margin:-8px -8px 8px!important;padding:8px!important;box-sizing:border-box!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-title {font-size:16px!important;line-height:1.2!important;margin:0!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-subtitle {font-size:12px!important;line-height:1.2!important;margin-top:2px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-tabs {gap:4px!important;margin-top:6px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-tab {min-width:0!important;min-height:40px!important;padding:5px 3px!important;white-space:normal!important;font-size:12px!important;line-height:1.15!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-search {min-width:0!important;min-height:40px!important;width:100%!important;box-sizing:border-box!important;padding:8px!important;margin-top:6px!important;font-size:16px!important;}
html.scanmap-responsive body #floatingPopup #scanmapListResults .scanmap-list-card,
html.scanmap-responsive body #floatingPopup .scanmap-list-card {grid-template-columns:48px minmax(0,1fr)!important;min-height:0!important;padding:8px!important;margin:6px 0!important;gap:6px 8px!important;border-radius:12px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-img {width:48px!important;min-width:48px!important;height:48px!important;border-radius:10px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-text {min-width:0!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-name {font-size:14px!important;line-height:1.25!important;max-height:none!important;overflow-wrap:anywhere!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-desc {font-size:13px!important;line-height:1.35!important;max-height:none!important;-webkit-line-clamp:2!important;}
html.scanmap-responsive body #floatingPopup .is-desc-expanded .scanmap-list-desc,html.scanmap-responsive body #floatingPopup .scanmap-list-desc.is-expanded {-webkit-line-clamp:unset!important;overflow:visible!important;display:block!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-actions {gap:4px!important;margin-top:4px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-action-btn {height:auto!important;min-height:40px!important;padding:5px 3px!important;font-size:12px!important;line-height:1.15!important;white-space:normal!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-card.scanmap-list-card-simple {display:flex!important;align-items:center!important;min-height:48px!important;gap:8px!important;padding:8px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-card-simple .scanmap-list-segni-icon {width:26px!important;min-width:26px!important;height:30px!important;flex-shrink:0!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-card-simple .scanmap-list-name {margin:0!important;white-space:normal!important;}
html.scanmap-responsive body #floatingPopup .scanmap-events-filter-tabs {display:flex!important;gap:6px!important;margin-top:6px!important;}
html.scanmap-responsive body #floatingPopup .scanmap-events-filter-btn {flex:1!important;min-height:40px!important;}
html.scanmap-responsive body #chat-box {box-sizing:border-box!important;}
html.scanmap-responsive body #chat-box input,html.scanmap-responsive body #chat-box textarea {min-width:0!important;font-size:16px!important;}
html.scanmap-responsive body #route-info.scanmap-navv2-host {top:var(--scanmap-content-top)!important;left:var(--scanmap-panel-left)!important;width:var(--scanmap-panel-width)!important;max-width:var(--scanmap-panel-width)!important;max-height:var(--scanmap-content-height)!important;overflow:auto!important;pointer-events:auto!important;}
html.scanmap-responsive body .scanmap-navv2-grid {grid-template-columns:minmax(0,1fr)!important;gap:8px!important;}
html.scanmap-responsive body .scanmap-navv2-main {padding:10px!important;}
html.scanmap-responsive body .scanmap-navv2-mainrow {grid-template-columns:56px minmax(0,1fr)!important;padding:8px!important;gap:10px!important;}
html.scanmap-responsive body .scanmap-navv2-maneuver-box {width:52px!important;height:52px!important;font-size:36px!important;}
html.scanmap-responsive body .scanmap-navv2-distance {font-size:32px!important;}
html.scanmap-responsive body .scanmap-navv2-instruction {font-size:17px!important;overflow-wrap:anywhere;}
html.scanmap-responsive body .scanmap-navv2-road {font-size:14px!important;margin-top:8px!important;}
html.scanmap-responsive body .scanmap-navv2-stop button {min-width:44px;min-height:44px;}
html.scanmap-responsive body .scanmap-navv2-audio {width:44px!important;height:44px!important;font-size:23px!important;}
html.scanmap-responsive body :is(button,a,input,select,textarea,[role=button]):focus-visible {outline:3px solid #ffc247!important;outline-offset:2px!important;}
@media(max-width:360px){html.scanmap-responsive body .scanmap-brand strong{font-size:15px!important;}html.scanmap-responsive body .scanmap-brand span{font-size:11px!important;}}
@media(max-height:500px) and (orientation:landscape){
 html.scanmap-responsive {--top-h:56px;--bottom-h:64px;}
 html.scanmap-responsive body .scanmap-topbar {height:56px!important;min-height:56px!important;padding:6px 8px!important;}
 html.scanmap-responsive body #navbar {height:calc(64px + env(safe-area-inset-bottom,0px))!important;min-height:64px!important;}
 html.scanmap-responsive body #navbar .icon-wrapper {flex-direction:row!important;gap:4px!important;}
 html.scanmap-responsive body #map {top:56px!important;bottom:calc(64px + env(safe-area-inset-bottom,0px))!important;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-head {position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:3px 8px!important;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-title {grid-column:1;grid-row:1;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-subtitle {grid-column:1;grid-row:2;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-search {grid-column:2;grid-row:1 / 3;margin:0!important;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-tabs,html.scanmap-responsive body #floatingPopup .scanmap-events-filter-tabs {grid-column:1 / -1;margin-top:2px!important;}
}

/* Compact summaries retain full descriptions through the existing expansion action. */
html.scanmap-responsive body #floatingPopup .scanmap-list-subtitle {white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-tabs {grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.8fr)!important;}
html.scanmap-responsive body #floatingPopup #scanmapListResults .scanmap-list-card {margin-block:6px!important;}
@media(max-width:700px),(max-height:500px){
 html.scanmap-responsive body #floatingPopup .scanmap-list-card:not(.is-desc-expanded) .scanmap-list-desc:not(.is-expanded) {-webkit-line-clamp:1!important;}
 html.scanmap-responsive body #floatingPopup .scanmap-list-readmore {margin-top:3px!important;font-size:12px!important;line-height:1.25!important;}
}
html.scanmap-responsive body :is(#scanmapMapControlsV2,#scanmapRightControls) button {appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:12px!important;background:#092a42!important;color:#fff!important;box-shadow:0 3px 10px rgba(0,0,0,.22)!important;font:700 20px/1 Arial,sans-serif!important;cursor:pointer!important;}
html.scanmap-responsive body #floatingPopup .scanmap-list-type {font-size:12px!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important;max-width:100%!important;}
html.scanmap-responsive body #floatingPopup {padding:0!important;}
html.scanmap-responsive body #floatingPopup #scanmapListResults {gap:0!important;}

html.scanmap-responsive.scanmap-tight-portrait body #chat-box {z-index:10001!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box .chatbox-head {padding:6px 8px!important;flex-shrink:0!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box .chatbox-head-main {display:flex!important;align-items:center!important;gap:6px!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box .chatbox-head-title {font-size:14px!important;line-height:1.2!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box .chatbox-head-subtitle {font-size:11px!important;line-height:1.15!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box .chatbox-input-row {padding:4px!important;margin:4px!important;gap:4px!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box #chat-input {min-height:40px!important;box-sizing:border-box!important;padding:6px!important;}
html.scanmap-responsive.scanmap-tight-portrait body #chat-box #chat-send,html.scanmap-responsive.scanmap-tight-portrait body #chat-box #chat-voice {min-width:40px!important;width:40px!important;min-height:40px!important;padding:0!important;}
