/* v18. Layout changes are scoped to mobile or the affected controls. */
.v18-fullscreen-tools[hidden],.v18-europe-scale[hidden]{display:none!important}
.v18-europe-scale{position:absolute;top:175px;left:30px;display:flex;gap:3px;padding:3px;border:1px solid #83a6be70;border-radius:9px;background:#112b40e8;z-index:8;max-width:calc(100% - 60px)}
.v18-europe-scale button{font:600 12px/1.3 system-ui,sans-serif;min-height:32px;padding:6px 11px;border:0;border-radius:6px;background:transparent;color:#c8dfef;cursor:pointer;white-space:nowrap}
.v18-europe-scale button[aria-pressed=true]{background:#e8f3f2;color:#124b48}
html.v15-flat .v18-europe-scale{background:var(--panel-surface,#fff);border-color:var(--border,#c9d9e1)}
html.v15-flat .v18-europe-scale button{color:var(--foreground,#254654)}
.v18-eu-sheet-scale{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 3px;width:100%;box-sizing:border-box}
.v18-eu-sheet-scale button{font:600 12px/1.4 system-ui;padding:10px 6px;border:1px solid var(--border,#ccdade);border-radius:8px;background:var(--panel-surface,#fff);color:var(--foreground,#244953);cursor:pointer}
.v18-eu-sheet-scale button[aria-pressed=true]{background:#d8eee9;color:#16594e}
[data-v18-eu-hidden=true]{display:none!important}
.v15-map-options [data-flat]{display:none!important}
.v18-fullscreen-tools{display:none}
.v18-party-position{display:block;font-size:17px;font-weight:700;line-height:1.4;color:var(--foreground,#193d47);margin:12px 0}
.v18-party-loading{display:flex;align-items:center;gap:10px;color:var(--muted-foreground,#68808c)}
.v18-party-loading::before{content:"";width:13px;height:13px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:v18-party-spin .8s linear infinite}
@keyframes v18-party-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.v18-party-loading::before{animation:none}}
.v18-party-ideologies{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}
.v18-party-ideologies span{font-size:14px;line-height:1.45;padding:6px 9px;border:1px solid var(--border,#c9dcd7);border-radius:8px;background:var(--panel-surface,#fff);color:var(--foreground,#25434d)}
.v18-party-politics>small{display:block;margin-top:12px;color:var(--muted-foreground,#68808c);font-size:12px!important}
.v18-party-politics p{margin:9px 0}
.v12-party-panel .v18-party-count{font-variant-numeric:tabular-nums}
.v14-ad-slot.v18-premium-promo{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border:1px solid #d2b15c80;border-radius:12px;background:linear-gradient(110deg,#fbf5e5,#eef6f5);color:#203e43;margin:0 0 14px;contain:layout;min-width:0}
.v18-premium-promo[hidden]{display:none!important}
.v18-promo-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.v18-promo-copy>strong{display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.4}
.v18-promo-copy>span{font-size:12px;line-height:1.5}
.v18-promo-copy small{font-size:11px;line-height:1.4;color:#616d61}
.v18-promo-copy small b{display:inline-block;color:#206b52;margin-left:6px;background:#d9ede0;padding:2px 5px;border-radius:4px}
.v18-promo-copy svg{width:17px;height:17px;stroke:#ab7b1b}
.v18-promo-cta{flex-shrink:0;border:0;border-radius:8px;background:#155b53;color:#fff;padding:10px 12px;font-size:12px;font-weight:650;min-height:42px;cursor:pointer}
.v18-reference-price{font-size:15px;color:var(--muted-foreground,#6c7c82);display:block;margin:3px 0}
.dark .v14-ad-slot.v18-premium-promo{background:linear-gradient(110deg,#383527,#173835);color:#f0f6ed;border-color:#8c793d}
.dark .v18-promo-copy small{color:#c4d0bf}
.dark .v18-party-position{color:#e7f0f2}
@media(max-width:760px), (max-width:1100px) and (max-height:480px){
 html,body{max-width:100%;overflow-x:clip}
 .app-header{max-width:100vw;box-sizing:border-box;min-width:0}
 .header-actions{min-width:0;gap:4px!important}
 .header-actions>button{min-width:0;max-width:100%;white-space:nowrap}
 .v16-view-toggle{gap:4px!important;padding-left:5px!important;padding-right:5px!important}
 .v15-map-options{display:none!important}
 .v18-europe-scale{left:12px;max-width:calc(100% - 24px)}
 .v18-europe-scale button{font-size:11px;min-height:31px;padding:5px 10px}
 .map-stage,.map-canvas,.map-top-controls{max-width:100%;min-width:0;box-sizing:border-box}
 html.v15-globe-ready .map-top-controls{left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
 html.v15-globe-ready .map-top-controls>[data-slot=tabs]{max-width:100%;min-width:0;flex:1 1 0}
 html.v15-globe-ready .map-layer-tabs{min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-x:contain}
 .app-shell.map-fullscreen .v18-fullscreen-tools:not([hidden]){position:fixed;display:flex;align-items:center;justify-content:space-between;gap:6px;top:max(6px,env(safe-area-inset-top));left:10px;right:10px;padding:4px;border-radius:10px;background:#0b2439f5;border:1px solid #6a8fa477;box-sizing:border-box;z-index:45}
 .v18-fullscreen-tools button{font:600 12px/1.2 system-ui;min-height:40px;min-width:0;border:0;border-radius:7px;padding:8px;background:#203e52;color:#f6f9fb;cursor:pointer;flex:1 1 auto;white-space:normal}
 .v18-fullscreen-tools .v18-fullscreen-exit{background:#dceee9;color:#134e45}
 .app-shell.map-fullscreen .map-top-controls{top:calc(max(6px,env(safe-area-inset-top)) + 61px)!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important;justify-content:stretch!important}
 .app-shell.map-fullscreen .fullscreen-toggle{display:none!important}
 .app-shell.map-fullscreen .map-layer-tabs{width:100%!important}
 .map-fullscreen .map-stage{overflow:hidden}
 .v18-premium-promo{gap:7px!important;padding:12px!important}
 .v18-promo-copy>span{font-size:12px}
 .v18-promo-cta{padding:10px;font-size:12px}
}
@media(max-width:360px){
 .app-header .brand{font-size:17px!important;gap:4px!important}
 .app-header .brand>svg{width:20px;height:20px}
 .header-actions .premium-trigger{font-size:10px!important;padding-left:5px!important;padding-right:5px!important}
 .header-actions .theme-toggle span{font-size:10px!important}
 .header-actions{gap:2px!important}
 .v18-fullscreen-tools button{font-size:11px;padding:6px}
}
@media(max-width:1100px) and (max-height:480px){
 html.v15-globe-ready .map-bottom{max-width:210px!important;right:auto!important;bottom:10px!important}
 .map-legend{padding:7px 9px!important}.map-legend .exception-legend{display:none!important}
 .map-heading{display:none!important}
 html.v15-globe-ready .map-top-controls{top:8px!important}
 .v18-europe-scale{max-width:210px}
}

@media(max-width:1100px) and (max-height:480px){
 .map-bottom .legend-heading{display:none!important}
 .map-bottom .spectrum-labels{font-size:9px!important;line-height:1.1!important}
 .map-bottom .exception-legend{display:none!important}
 .v18-europe-scale button{min-height:26px;font-size:10px;padding:3px 8px}
 .app-shell.map-fullscreen .v18-fullscreen-tools button{min-height:32px}
 .app-shell.map-fullscreen .map-top-controls{top:calc(max(6px,env(safe-area-inset-top)) + 48px)!important}
}
