/* Dedicated viewport: no implicit grid rows from notices or scripts. */
body:not(.catalog-mode){--map-side:0px;display:grid;grid-template-columns:minmax(0,1fr) var(--map-side);grid-template-rows:auto auto minmax(180px,1fr) auto;width:100%;height:100vh;height:100dvh;overflow:hidden;min-height:0}
body:not(.catalog-mode)>.topbar,body:not(.catalog-mode)>.route-bar,body:not(.catalog-mode)>.bottom-menu,body:not(.catalog-mode)>.chapada-bottom-menu,body:not(.catalog-mode)>.regional-actions{grid-column:1/-1;min-width:0}
body:not(.catalog-mode)>.fx-note{display:none!important}
body:not(.catalog-mode)>.topbar{position:relative;top:auto;min-height:58px;padding:6px 18px;gap:12px;z-index:1000}
body:not(.catalog-mode)>.route-bar{padding:8px 18px;align-items:center;max-height:150px;overflow:auto;min-height:0}
body:not(.catalog-mode) #route-name{font-size:16px;line-height:1.3}
body:not(.catalog-mode) .route-bar>div:first-child{min-width:0;flex:1}
body:not(.catalog-mode) .route-meta{margin-top:5px;font-size:13px}
body:not(.catalog-mode) .route-meta summary{cursor:pointer;min-height:28px;padding:3px 0;font-weight:600}
body:not(.catalog-mode) .route-meta .fx-note{font-size:12px;padding:6px 0;background:none;line-height:1.4}
body:not(.catalog-mode) .route-bar-actions{width:auto;display:flex;flex-shrink:0;gap:6px}
body:not(.catalog-mode) .route-bar-actions .action-button{min-height:40px;padding:8px 12px;font-size:14px}
body:not(.catalog-mode)>#map{grid-row:3;grid-column:1;position:relative;inset:auto;min-height:180px;width:100%;height:100%;z-index:0}
body:not(.catalog-mode).has-detail-panel{--map-side:clamp(340px,32vw,460px)}
body:not(.catalog-mode)>#info-panel,body:not(.catalog-mode)>#roteiro-panel{display:none;position:relative;grid-row:3;grid-column:2;inset:auto;transform:none;transition:none;width:auto;max-width:none;height:auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:0;z-index:900;border-left:1px solid #c7d2c5;box-shadow:none}
body:not(.catalog-mode)>#info-panel.show,body:not(.catalog-mode)>#roteiro-panel.show{display:block}
body:not(.catalog-mode) #panel-content,body:not(.catalog-mode) #roteiro-content{padding:12px 20px 24px;overflow-wrap:anywhere}
body:not(.catalog-mode) #close-panel,body:not(.catalog-mode) #close-roteiro{position:sticky;display:block;top:0;right:auto;margin:0 0 0 auto;min-width:44px;min-height:44px;background:#fff;color:#173a2b;z-index:10;box-shadow:0 1px 0 #ddd}
body:not(.catalog-mode) .chapada-bottom-menu{padding:6px max(12px,calc((100vw - 720px)/2)) calc(6px + env(safe-area-inset-bottom));gap:6px}
body:not(.catalog-mode) .chapada-bottom-menu button{min-height:48px}
body:not(.catalog-mode)>#roteiro-btn{bottom:80px;right:calc(var(--map-side) + 16px);max-width:calc(100vw - var(--map-side) - 32px);font-size:14px;padding:10px 14px}
body:not(.catalog-mode).has-detail-panel>#roteiro-btn{display:none}
@media(max-width:760px){
body:not(.catalog-mode){grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(160px,1fr) auto auto}
body:not(.catalog-mode).has-detail-panel{--map-side:0px}
body:not(.catalog-mode)>.topbar{display:flex;flex-wrap:wrap;padding:5px 10px;gap:4px 10px;min-height:0}
body:not(.catalog-mode) .topbar .logo{font-size:14px;flex:1;white-space:nowrap}
body:not(.catalog-mode) .topbar .home-link{font-size:13px;padding:5px 10px;min-height:32px}
body:not(.catalog-mode) .topbar .language-switcher{padding:0;margin-left:auto!important}
body:not(.catalog-mode) .topbar .language-switcher button{width:40px;min-width:40px;height:40px;padding:6px}
body:not(.catalog-mode)>.route-bar{padding:6px 10px;gap:6px;flex-wrap:nowrap;max-height:116px}
body:not(.catalog-mode) #route-name{font-size:14px;line-height:1.25}
body:not(.catalog-mode) .route-bar-actions{max-width:120px}
body:not(.catalog-mode) .route-bar-actions .action-button{font-size:12px;padding:6px 8px;line-height:1.2}
body:not(.catalog-mode) .route-meta summary{font-size:12px;min-height:24px}
body:not(.catalog-mode)>#map{min-height:160px}
body:not(.catalog-mode)>#info-panel,body:not(.catalog-mode)>#roteiro-panel{grid-row:4;grid-column:1;width:100%;max-width:100%;height:min(36dvh,var(--panel-space,36dvh));max-height:min(36dvh,var(--panel-space,36dvh));border-left:0;border-top:2px solid #c1d0bd;border-radius:14px 14px 0 0;box-shadow:0 -3px 14px #0001}
body:not(.catalog-mode) #panel-content,body:not(.catalog-mode) #roteiro-content{padding:0 16px 20px}
body:not(.catalog-mode)>.bottom-menu,body:not(.catalog-mode)>.chapada-bottom-menu,body:not(.catalog-mode)>.regional-actions{grid-row:5}
body:not(.catalog-mode) .chapada-bottom-menu{padding:4px 6px calc(4px + env(safe-area-inset-bottom))}
body:not(.catalog-mode) .chapada-bottom-menu button{min-height:48px;font-size:12px}
body:not(.catalog-mode) .chapada-bottom-menu svg{width:21px;height:21px}
body:not(.catalog-mode) .regional-actions{padding:5px 8px;gap:5px}
body:not(.catalog-mode) .regional-actions .action-button{font-size:12px;min-height:44px;padding:6px}
body:not(.catalog-mode) .bottom-menu{min-height:56px}
}
@media(max-height:500px) and (orientation:landscape){body:not(.catalog-mode)>.topbar{padding:2px 10px}body:not(.catalog-mode)>.route-bar{max-height:80px}body:not(.catalog-mode)>#info-panel.show,body:not(.catalog-mode)>#roteiro-panel.show{height:var(--panel-space,100px);max-height:var(--panel-space,100px)}}
@media(max-height:500px) and (orientation:landscape){
body:not(.catalog-mode){grid-template-columns:minmax(0,1fr) var(--map-side);grid-template-rows:auto auto minmax(100px,1fr) auto}
body:not(.catalog-mode).has-detail-panel{--map-side:min(44vw,380px)}
body:not(.catalog-mode)>#map{min-height:100px}
body:not(.catalog-mode)>#info-panel.show,body:not(.catalog-mode)>#roteiro-panel.show{grid-row:3;grid-column:2;width:auto;height:auto;max-height:none;border-radius:0;border-top:0;border-left:1px solid #c1d0bd}
body:not(.catalog-mode)>.bottom-menu,body:not(.catalog-mode)>.chapada-bottom-menu,body:not(.catalog-mode)>.regional-actions{grid-row:4}
}
