/* Indian Motorcycle Rally interactive event map */
.imr-event-map{--imr-accent:#8b1531;--imr-accent-2:#b81f43;--imr-ink:#171717;--imr-muted:#666;--imr-panel:#fff;--imr-bg:#f3f1ef;--imr-line:#ddd7d4;width:100%;max-width:1440px;margin:0 auto;color:var(--imr-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.imr-event-map *{box-sizing:border-box}.imr-event-map button,.imr-event-map input{font:inherit}
.imr-event-map__topbar{display:flex;align-items:center;gap:18px;padding:0 0 14px}.imr-event-map__heading{min-width:0}.imr-event-map__heading h2{font-size:clamp(24px,3vw,34px);line-height:1.1;margin:0 0 5px;font-weight:800}.imr-event-map__heading p{font-size:14px;line-height:1.45;margin:0;color:var(--imr-muted)}
.imr-event-map__search{margin-left:auto;position:relative;width:min(340px,34vw);min-width:220px}.imr-event-map__search input{width:100%;height:42px;border:1px solid var(--imr-line);border-radius:999px;padding:0 40px 0 15px;font-size:14px;background:#fff;outline:none}.imr-event-map__search input:focus{border-color:var(--imr-accent);box-shadow:0 0 0 3px rgba(139,21,49,.12)}.imr-event-map__search span{position:absolute;right:14px;top:9px;color:var(--imr-muted);font-size:18px;pointer-events:none}
.imr-event-map__layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(420px,34vw,500px);min-height:720px;border:1px solid var(--imr-line);border-radius:18px;overflow:hidden;background:var(--imr-bg);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.imr-event-map__shell{position:relative;overflow:hidden;background:#e7e4e2;touch-action:none;cursor:grab;min-width:0}.imr-event-map__shell.is-dragging{cursor:grabbing}.imr-event-map__stage{position:absolute;left:50%;top:50%;transform-origin:center center;will-change:transform}.imr-event-map__map{position:relative;width:min(82vw,1120px);aspect-ratio:2400/1929;background:#fff;box-shadow:0 12px 38px rgba(0,0,0,.16);user-select:none}.imr-event-map__map>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.imr-event-map__marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid #fff!important;border-radius:50%;background:var(--imr-accent)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.28);cursor:pointer;transition:.16s ease;z-index:4;padding:0!important;margin:0!important;min-width:0!important;text-decoration:none!important}.imr-event-map__marker:hover,.imr-event-map__marker:focus-visible,.imr-event-map__marker.is-active{transform:translate(-50%,-50%) scale(1.18);background:var(--imr-accent-2)!important;outline:none;box-shadow:0 0 0 5px rgba(139,21,49,.18),0 5px 14px rgba(0,0,0,.3)}.imr-event-map__marker.is-hidden{display:none}.imr-event-map__marker::after{content:"";position:absolute;width:50px;height:50px;border-radius:50%}
.imr-event-map__help{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);padding:9px 12px;border-radius:10px;font-size:12px;color:#555;z-index:7;box-shadow:0 3px 12px rgba(0,0,0,.08);pointer-events:none}.imr-event-map__controls{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;z-index:8}.imr-event-map__controls button{height:42px;border:1px solid var(--imr-line)!important;border-radius:12px;background:rgba(255,255,255,.96)!important;color:var(--imr-ink)!important;box-shadow:0 4px 14px rgba(0,0,0,.10);cursor:pointer;margin:0!important;padding:0 13px!important;min-width:42px!important;font-size:20px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important}.imr-event-map__controls button:last-child{font-size:12px!important;width:auto}
.imr-event-map__panel{background:#fff;border-left:1px solid var(--imr-line);overflow:auto;padding:18px 18px 24px;min-width:0}.imr-event-map__filter-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--imr-muted);font-weight:800;margin-bottom:9px}.imr-event-map__filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.imr-event-map__chip{border:1px solid var(--imr-line)!important;background:#fff!important;color:var(--imr-ink)!important;border-radius:999px!important;padding:7px 10px!important;font-size:12px!important;line-height:1.2!important;cursor:pointer;margin:0!important;text-decoration:none!important;min-width:0!important}.imr-event-map__chip.is-active{background:var(--imr-accent)!important;border-color:var(--imr-accent)!important;color:#fff!important}
.imr-event-map__card{border:1px solid var(--imr-line);border-radius:16px;padding:16px;background:#fff;margin-bottom:16px}.imr-event-map__kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--imr-accent);font-weight:800}.imr-event-map__card h3{font-size:22px;line-height:1.2;margin:5px 0 8px;font-weight:800;color:var(--imr-ink)}.imr-event-map__card p{font-size:14px;line-height:1.55;margin:0;color:#4f4f4f}.imr-event-map__media{margin:12px 0 14px;border:1px solid var(--imr-line);border-radius:14px;overflow:hidden;background:#faf7f6}.imr-event-map__media img{display:block;width:100%;height:auto}.imr-event-map__caption{padding:9px 11px;font-size:11px;line-height:1.35;color:#666;border-top:1px solid var(--imr-line);background:#fff}.imr-event-map__cta{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f6ecef;border:1px solid #ead3da;font-size:13px;line-height:1.4;color:#57202c;font-weight:700}
.imr-event-map__locations-title{font-size:13px;font-weight:800;margin:18px 0 8px}.imr-event-map__locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.imr-event-map__loc{width:100%;border:0!important;background:transparent!important;color:var(--imr-ink)!important;text-align:left;border-radius:10px!important;padding:9px 10px!important;display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:center;cursor:pointer;margin:0!important;text-decoration:none!important;min-width:0!important}.imr-event-map__loc:hover,.imr-event-map__loc.is-active{background:#f6ecef!important}.imr-event-map__num{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--imr-accent);color:#fff;font-size:11px;font-weight:800;line-height:1}.imr-event-map__loc strong{font-size:13px;line-height:1.2;display:block;color:var(--imr-ink)}.imr-event-map__loc small{font-size:11px;line-height:1.25;color:#777;display:block;margin-top:2px}.imr-event-map__empty{display:none;font-size:13px;color:#777;padding:12px 0}
@media(max-width:1080px){.imr-event-map__topbar{align-items:flex-start;flex-direction:column}.imr-event-map__search{margin:0;width:100%;min-width:0}.imr-event-map__layout{grid-template-columns:1fr;min-height:0}.imr-event-map__shell{height:min(68vh,680px);min-height:460px}.imr-event-map__panel{border-left:0;border-top:1px solid var(--imr-line);overflow:visible}.imr-event-map__map{width:min(1140px,94vw)}.imr-event-map__locations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.imr-event-map__layout{border-radius:12px}.imr-event-map__shell{height:58vh;min-height:410px}.imr-event-map__help{left:10px;top:10px;font-size:11px;max-width:70%}.imr-event-map__controls{left:10px;bottom:10px}.imr-event-map__panel{padding:14px}.imr-event-map__locations{grid-template-columns:1fr}.imr-event-map__marker{width:32px;height:32px}}
