.cwgpx-geo-navigation{margin:1.5rem 0;color:#30402f}.cwgpx-geo-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.cwgpx-geo-breadcrumb .cwgpx-geo-label{max-width:100%}.cwgpx-geo-breadcrumb [aria-current]{font-weight:600}.cwgpx-geo-hint{font-size:.85rem;margin:.6rem 0}.cwgpx-geo-canvas{position:relative;background:#eaf1ef;overflow:hidden;border-radius:6px;height:440px}.cwgpx-geo-canvas[hidden]{display:none}.cwgpx-geo-canvas svg,.cwgpx-geo-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cwgpx-geo-labels>.cwgpx-geo-label{position:absolute;white-space:nowrap}.cwgpx-geo-label{display:flex;flex-direction:column;align-items:stretch;background:#fffdf8;color:#263d2a;border:1px solid #66725e;border-radius:4px;font-size:13px;line-height:1.3;box-sizing:border-box;overflow:hidden}.cwgpx-geo-label.is-region{background:#edf1e7;border-style:dashed}.cwgpx-geo-label.is-current{background:#e4ecdf;border-color:#354c35}.cwgpx-geo-label a,.cwgpx-geo-label span{display:block;position:static;min-height:30px;padding:6px 10px;text-align:center;box-sizing:border-box;color:#263d2a;text-decoration:none;pointer-events:auto}.cwgpx-geo-label .cwgpx-geo-count{border-top:1px solid #d6decd;font-size:12px;color:#536849;text-decoration:underline;text-underline-offset:2px}.cwgpx-geo-label a:hover,.cwgpx-geo-label a:focus-visible{background:#dae6ce;outline:2px solid #385137;outline-offset:-2px}.cwgpx-geo-options{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}.cwgpx-geo-options[hidden]{display:none}.cwgpx-geo-options .cwgpx-geo-label{position:static;max-width:100%;white-space:normal}.cwgpx-geo-mode{margin:.7rem 0}@media(pointer:coarse){.cwgpx-geo-label a{min-height:44px;display:flex;align-items:center;justify-content:center}}

/* Keep the map's screen position and dimensions identical in both modes. */
.cwgpx-geo-help{display:grid}.cwgpx-geo-help>span{grid-area:1/1}.cwgpx-geo-help>.is-inactive{visibility:hidden;pointer-events:none}
.cwgpx-geo-navigation #map-wrap{margin:0}.cwgpx-geo-navigation .cwgpx-geo-canvas,.overview-page .cwgpx-geo-navigation #tour-map{height:440px;border:0;box-sizing:border-box}

/* Keep country outlines clipped, but allow connectors to reach overflow labels below. */
.cwgpx-geo-canvas{overflow:visible}.cwgpx-geo-canvas>svg{overflow:hidden;border-radius:6px}.cwgpx-geo-canvas>.cwgpx-geo-connectors{overflow:visible;border-radius:0;pointer-events:none}.cwgpx-geo-labels,.cwgpx-geo-options{z-index:1}.cwgpx-geo-options{position:relative}

/* Count and explanation share the row above the map; wrap on narrow screens. */
.cwgpx-geo-info{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;margin:.6rem 0}.cwgpx-geo-info #map-count{flex-shrink:0}.cwgpx-geo-info .cwgpx-geo-hint{flex:1;min-width:220px;margin:0}

/* Interactive schematic map: one callout, zoom buttons and touch panning. */
.cwgpx-geo-canvas>svg:first-child{pointer-events:auto;touch-action:none;cursor:grab}
.cwgpx-geo-canvas>svg:first-child:active{cursor:grabbing}
.cwgpx-geo-area{cursor:pointer;outline:none}.cwgpx-geo-area:focus-visible{filter:brightness(.88)}
.cwgpx-geo-zoom{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;box-shadow:0 1px 5px #0003}
.cwgpx-geo-zoom button{width:40px;height:40px;background:#fffdf8;color:#263d2a;border:1px solid #66725e;font-size:24px;line-height:1;cursor:pointer}
.cwgpx-geo-zoom button:disabled{opacity:.5;cursor:default}.cwgpx-geo-zoom button:focus-visible{outline:2px solid #354c35;outline-offset:2px}
