/* Location map. Leaflet is fetched only when this block is on the page. */
.stadium-map { clear: both; }
.stadium-map .stadium-map-canvas { width: 100%; height: 400px; background-color: #eeeeee; }

/* The marker the old theme served as img/maps/stadio.png — a round badge with a
   pitch on it — redrawn as an SVG so it stays crisp and needs no image request.
   Sized 31x43 to match, with the point of the tail as the anchor. */
.stadium-map-marker { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 43'%3E %3Ccircle cx='15.5' cy='15.5' r='15.5' fill='%2366bb18'/%3E %3Cpath d='M11.9 27.5C11.9 32.3 13.6 34.5 15.5 38.6 17.4 34.5 19.1 32.3 19.1 27.5Z' fill='%2366bb18'/%3E %3Cg fill='none' stroke='%23ffffff' stroke-width='1.6'%3E %3Crect x='3.3' y='8.3' width='24.4' height='14.9' rx='1.8'/%3E %3Cpath d='M15.5 8.3v14.9'/%3E %3Ccircle cx='15.5' cy='15.75' r='3'/%3E %3Cpath d='M3.3 12h3.6v7.5H3.3M27.7 12h-3.6v7.5h3.6'/%3E %3C/g%3E %3C/svg%3E"); background-repeat: no-repeat; background-position: center; background-size: 31px 43px; }

/* Landmark pin, for the index maps that plot places named in the article rather
   than stadiums with pages of their own — the old theme's default_aeroporto.png,
   numbered in document order. */
.stadium-map-marker-landmark { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 43'%3E %3Ccircle cx='15.5' cy='15.5' r='15.5' fill='%231976bc'/%3E %3Cpath d='M11.9 27.5C11.9 32.3 13.6 34.5 15.5 38.6 17.4 34.5 19.1 32.3 19.1 27.5Z' fill='%231976bc'/%3E %3Cpath d='M10.6 8.4h4.9l1.2 1.9h-7.3z' fill='%23ffffff'/%3E %3Crect x='21.3' y='9.6' width='2.4' height='1.5' rx='0.5' fill='%23ffffff'/%3E %3Crect x='6.1' y='11.1' width='18.8' height='11.6' rx='1.9' fill='%23ffffff'/%3E %3Ccircle cx='15.5' cy='16.9' r='3.1' fill='%231976bc'/%3E %3C/svg%3E"); }
.stadium-map-marker .stadium-map-marker-number { position: absolute; left: 18px; top: 13px; width: 17px; height: 17px; border: 1px solid #ffffff; border-radius: 50%; background-color: #f15219; color: #ffffff; font-size: 10px; font-weight: 400; line-height: 17px; text-align: center; }

/* Map popup. Mirrors the old theme's `.infowindow`: a grey category chip, the
   name, and a Booking.com search for the surrounding area. Live ran that button
   through the seller's affiliate account; see ig_stadi_map_hotel_attributes(). */
.stadium-map-popup { min-width: 200px; }
.stadium-map-popup .stadium-map-popup-type { display: inline-block; margin-bottom: 5px; padding: 2px 5px; background-color: #dddddd; color: #666666; font-size: 10px; line-height: 1.4; text-transform: uppercase; }
.stadium-map-popup .stadium-map-popup-title { max-width: 220px; margin: 0 0 10px 0; color: #333333; font-size: 18px; font-weight: 700; line-height: 1.1; }
.stadium-map-popup .stadium-map-popup-title a { color: #333333; text-decoration: none; }
.stadium-map-popup .stadium-map-popup-title a:hover { text-decoration: underline; }
.stadium-map-popup .stadium-map-popup-hotel { display: inline-block; }
.stadium-map-popup .stadium-map-popup-hotel a { display: inline-block; padding: 5px 8px; border-radius: 3px; background-color: #0077cc; color: #ffffff; font-size: 12px; font-weight: 400; line-height: 1.4; text-decoration: none; }
.stadium-map-popup .stadium-map-popup-hotel a:hover { background-color: #04559b; }

/* The front page map runs the full width of the viewport and stands taller —
   the only page the old theme did that on. It sits outside the article column,
   so it needs no width of its own. */
.stadium-map-full { margin-top: 40px; }
.stadium-map-full .stadium-map-canvas { height: 550px; }

/* Cluster badge, matching leaflet.markercluster's default bands so the front
   page looks as it did on live. */
.stadium-map-cluster { background-clip: padding-box; border-radius: 20px; text-align: center; }
.stadium-map-cluster div { width: 30px; height: 30px; margin-top: 5px; margin-left: 5px; border-radius: 15px; color: #000000; font-size: 12px; }
.stadium-map-cluster span { line-height: 30px; }
.stadium-map-cluster-small { background-color: rgba(181, 226, 140, 0.6); }
.stadium-map-cluster-small div { background-color: rgba(110, 204, 57, 0.6); }
.stadium-map-cluster-medium { background-color: rgba(241, 211, 87, 0.6); }
.stadium-map-cluster-medium div { background-color: rgba(240, 194, 12, 0.6); }
.stadium-map-cluster-large { background-color: rgba(253, 156, 115, 0.6); }
.stadium-map-cluster-large div { background-color: rgba(241, 128, 23, 0.6); }
