/* IDS Facilities map (shortcode [ids_facilities]). All rules scoped to .ids-fmap. */
.ids-fmap{--ids-red:#CC0000;--ids-red-hi:#ff4d4d;--ids-bg:#0d0d0d;--ids-panel:#151515;--ids-off:#2e2e2e;--ids-line:#262626;--ids-muted:#bdbdbd;
  background:var(--ids-bg);color:#fff;font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.45;box-sizing:border-box}
.ids-fmap *,.ids-fmap *::before,.ids-fmap *::after{box-sizing:border-box}
.ids-fmap.is-full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.ids-fmap__wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.ids-fmap a{color:var(--ids-red-hi)}
.ids-fmap a:hover{color:#ff8080}
.ids-fmap .cond{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase}
.ids-fmap button{font:inherit;margin:0}

.ids-fmap__hero{padding:44px 0 20px}
.ids-fmap__hero .ids-fmap__wrap{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.ids-fmap__eyebrow{color:var(--ids-red-hi);font-weight:700;font-size:16px;letter-spacing:2px}
.ids-fmap__title{margin:6px 0 0;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:clamp(40px,6vw,68px);line-height:.95;text-transform:uppercase;color:#fff;letter-spacing:0}
.ids-fmap__lede{margin:0;color:var(--ids-muted);font-size:17px;max-width:420px}

.ids-fmap__chips{padding:0 0 16px}
.ids-fmap__chips .ids-fmap__wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ids-fmap__label{font-weight:700;font-size:16px;letter-spacing:1.5px;color:var(--ids-muted);margin-right:6px}
.ids-fmap__chip,.ids-fmap__intl{min-height:44px;padding:0 16px;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:transparent;color:#fff;border:2px solid #5a5a5a;border-radius:0}
.ids-fmap__chip[aria-pressed="true"]{background:var(--ids-red);border-color:var(--ids-red)}
.ids-fmap__chip:hover{border-color:#fff}
.ids-fmap__intl{border-color:var(--ids-red)}
.ids-fmap__intl[aria-pressed="true"]{background:#fff;color:#000}

.ids-fmap__main{padding:8px 0 64px}
.ids-fmap__main .ids-fmap__wrap{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.ids-fmap__mapcol{flex:3 1 600px;min-width:0;background:var(--ids-panel);padding:24px;position:sticky;top:24px}
@media (max-width:1040px){.ids-fmap__mapcol{position:static}}
.ids-fmap__map{position:relative;width:100%;aspect-ratio:975/610}
.ids-fmap__map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ids-fmap__map path{stroke:var(--ids-panel);stroke-width:1.2;fill:var(--ids-off)}
.ids-fmap__map path.on{fill:var(--ids-red);cursor:pointer;transition:opacity .12s}
.ids-fmap__map path.on:hover{opacity:.8}
.ids-fmap__map path.sel{fill:#fff}
.ids-fmap__map path:focus{outline:none}
.ids-fmap__map path.on:focus-visible{stroke:#fff;stroke-width:3}
.ids-fmap__badge{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#000;color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:15px;pointer-events:none;line-height:1}
.ids-fmap__badge.sel{background:var(--ids-red)}
.ids-fmap__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8a8a8a;font-size:15px}
.ids-fmap__under{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.ids-fmap__legend{display:flex;flex-wrap:wrap;gap:18px;font-size:14px;color:var(--ids-muted)}
.ids-fmap__legend span{display:flex;align-items:center;gap:8px}
.ids-fmap__legend i{width:14px;height:14px;display:inline-block}
.ids-fmap__pick{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ids-fmap__pick select{height:44px;padding:0 12px;border:2px solid #fff;border-radius:0;background:var(--ids-panel);color:#fff;font-family:Barlow,Arial,sans-serif;font-size:15px;font-weight:600;max-width:100%}
.ids-fmap .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.ids-fmap__listcol{flex:2 1 380px;min-width:0}
.ids-fmap__listhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ids-red);padding-bottom:10px}
.ids-fmap__listhead h2{margin:0;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:32px;line-height:1.05;text-transform:uppercase;color:#fff}
.ids-fmap__clear{background:transparent;border:0;color:var(--ids-red-hi);font-weight:600;font-size:15px;cursor:pointer;min-height:44px;white-space:nowrap;padding:0}
.ids-fmap__list{list-style:none;margin:0;padding:0}
.ids-fmap__item{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-bottom:1px solid var(--ids-line);margin:0}
.ids-fmap__name{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:21px;text-transform:uppercase;line-height:1.1;margin:0;color:#fff}
.ids-fmap__new{display:inline-block;margin-left:8px;background:var(--ids-red);color:#fff;font-size:12px;letter-spacing:.5px;padding:2px 7px;vertical-align:middle}
.ids-fmap__place{font-size:14px;color:var(--ids-muted)}
.ids-fmap__tags{display:flex;flex-wrap:wrap;gap:6px}
.ids-fmap__tag{font-size:12px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase;border:1px solid #5a5a5a;color:#fff}
.ids-fmap__tag.hit{background:var(--ids-red);border-color:var(--ids-red)}
.ids-fmap__links{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;font-weight:600}
.ids-fmap__links a.alt{color:#fff}
.ids-fmap__empty{margin:18px 0 0;font-size:16px;color:var(--ids-muted)}

.ids-fmap__cta{background:var(--ids-red);padding:48px 0}
.ids-fmap__cta .ids-fmap__wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.ids-fmap__cta h2{margin:0;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:44px;line-height:1;text-transform:uppercase;color:#fff}
.ids-fmap__cta p{margin:8px 0 0;font-size:18px;color:#fff}
.ids-fmap__btns{display:flex;flex-wrap:wrap;gap:12px}
.ids-fmap__btn{color:#fff!important;text-decoration:none;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:18px;letter-spacing:1px;padding:12px 24px;text-transform:uppercase;border:2px solid #fff}
.ids-fmap__btn.solid{background:#000;border-color:#000}
.ids-fmap__btn:hover{opacity:.85}

@media (max-width:640px){
  .ids-fmap__wrap{padding:0 16px}
  .ids-fmap__mapcol{padding:12px}
  .ids-fmap__badge{width:20px;height:20px;font-size:12px;border-width:1.5px}
  .ids-fmap__cta h2{font-size:34px}
}

/* Without JavaScript: hide the interactive parts, keep the full list. */
/* No-JS fallback rules are printed in a <noscript> by the plugin (avoids layout jump on load). */
.ids-fmap [hidden]{display:none!important}

/* Logo tile */
.ids-fmap__item{flex-direction:row;gap:14px;align-items:flex-start}
.ids-fmap__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.ids-fmap__logo{width:104px;height:80px;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;overflow:hidden}
.ids-fmap__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;margin:0;border:0}
.ids-fmap__logo.is-empty{background-color:#1c1c1c;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 12px,rgba(255,255,255,0) 12px 24px);color:#8a8a8a;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;font-size:26px;letter-spacing:1px}
@media (max-width:640px){.ids-fmap__logo{width:72px;height:58px}}
.ids-fmap__logo.is-dark{background:#000}

/* Near me */
.ids-fmap__near{margin-top:20px;padding-top:18px;border-top:1px solid #2a2a2a}
.ids-fmap__nearlabel{flex:1 1 100%;margin:0}
.ids-fmap__nearform{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0}
.ids-fmap__zip{height:44px;width:130px;padding:0 12px;border:2px solid #fff;border-radius:0;background:#151515;color:#fff;font-family:Barlow,Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:1px;margin:0;box-shadow:none}
.ids-fmap__zip::placeholder{color:#8a8a8a}
.ids-fmap__zip:focus{outline:2px solid var(--ids-red);outline-offset:1px}
.ids-fmap__go{background:var(--ids-red);border-color:var(--ids-red)}
.ids-fmap__go:hover{border-color:#fff}
.ids-fmap__nearmsg{font-size:14px;color:var(--ids-muted)}
.ids-fmap__dist{color:#fff;font-weight:600}


/* Keep the ZIP box short even if the theme styles text inputs at full width. */
.ids-fmap .ids-fmap__nearform .ids-fmap__zip{width:140px!important;max-width:140px!important;min-width:0!important;flex:0 0 140px!important;display:inline-block!important;box-sizing:border-box!important}

/* Cut-out logos with a white outline (no box). */
.ids-fmap__logo.is-cutout{background:none!important;padding:6px;overflow:visible}
.ids-fmap__logo.is-cutout img{filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff)}

/* ---- Theme guard: the theme colours buttons/links pink on hover and focus. Keep IDS red/white/black. ---- */
.ids-fmap a,.ids-fmap a:visited{color:var(--ids-red-hi)}
.ids-fmap a:hover,.ids-fmap a:focus,.ids-fmap a:active{color:#fff}
.ids-fmap button,.ids-fmap [type=button],.ids-fmap [type=submit]{border-radius:0;text-decoration:none;box-shadow:none}
.ids-fmap button:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* Chips (sport buttons, Use my location) */
.ids-fmap .ids-fmap__chip,.ids-fmap .ids-fmap__chip:focus{background-color:transparent;color:#fff;border:2px solid #5a5a5a}
.ids-fmap .ids-fmap__chip:hover{background-color:transparent;color:#fff;border-color:#fff}
.ids-fmap .ids-fmap__chip[aria-pressed="true"],.ids-fmap .ids-fmap__chip[aria-pressed="true"]:hover,.ids-fmap .ids-fmap__chip[aria-pressed="true"]:focus{background-color:var(--ids-red);border-color:var(--ids-red);color:#fff}
/* Find closest */
.ids-fmap .ids-fmap__go,.ids-fmap .ids-fmap__go:focus{background-color:var(--ids-red);border-color:var(--ids-red);color:#fff}
.ids-fmap .ids-fmap__go:hover{background-color:#a30000;border-color:#fff;color:#fff}
/* Italy / international */
.ids-fmap .ids-fmap__intl,.ids-fmap .ids-fmap__intl:focus{background-color:transparent;color:#fff;border:2px solid var(--ids-red)}
.ids-fmap .ids-fmap__intl:hover{background-color:transparent;color:#fff;border-color:#fff}
.ids-fmap .ids-fmap__intl[aria-pressed="true"],.ids-fmap .ids-fmap__intl[aria-pressed="true"]:hover{background-color:#fff;color:#000;border-color:#fff}
/* Text buttons: Show all / Clear / Clear filters */
.ids-fmap .ids-fmap__clear,.ids-fmap .ids-fmap__clear:hover,.ids-fmap .ids-fmap__clear:focus{background-color:transparent;border:0;color:var(--ids-red-hi)}
.ids-fmap .ids-fmap__clear:hover{color:#fff;text-decoration:underline}
/* Events: Upcoming / Past */
.ids-fmap .ids-epage__tab,.ids-fmap .ids-epage__tab:focus{background-color:transparent;color:#fff;border:2px solid #5a5a5a}
.ids-fmap .ids-epage__tab:hover{background-color:transparent;color:#fff;border-color:#fff}
.ids-fmap .ids-epage__tab[aria-pressed="true"],.ids-fmap .ids-epage__tab[aria-pressed="true"]:hover{background-color:#fff;color:#000;border-color:#fff}
/* Calendar */
.ids-fmap .ids-epage__calnav,.ids-fmap .ids-epage__calnav:focus{background-color:transparent;color:#fff;border:2px solid #5a5a5a}
.ids-fmap .ids-epage__calnav:hover{background-color:transparent;color:#fff;border-color:#fff}
.ids-fmap .ids-epage__caltitle,.ids-fmap .ids-epage__caltitle:focus{background-color:transparent;border:0;color:#fff}
.ids-fmap .ids-epage__caltitle:hover{background-color:transparent;color:var(--ids-red-hi)}
.ids-fmap .ids-epage__day,.ids-fmap .ids-epage__day:hover,.ids-fmap .ids-epage__day:focus{background-color:#1c1c1c;color:#6f6f6f;border:2px solid transparent}
.ids-fmap .ids-epage__day.today{border-color:#8a8a8a}
.ids-fmap .ids-epage__day.has,.ids-fmap .ids-epage__day.has:focus{background-color:var(--ids-red);color:#fff}
.ids-fmap .ids-epage__day.has:hover{background-color:var(--ids-red);color:#fff;border-color:#fff}
.ids-fmap .ids-epage__day.sel,.ids-fmap .ids-epage__day.sel:hover,.ids-fmap .ids-epage__day.sel:focus{background-color:#fff;color:#000;border-color:#fff}
/* Date block (Add to calendar) */
.ids-fmap button.ids-epage__date,.ids-fmap button.ids-epage__date:focus{background-color:#000;color:#fff;border:0;border-top:4px solid var(--ids-red)}
.ids-fmap button.ids-epage__date:hover,.ids-fmap button.ids-epage__date[aria-expanded="true"]{background-color:#1f1f1f;color:#fff}
.ids-fmap button.ids-epage__date:disabled,.ids-fmap button.ids-epage__date:disabled:hover{background-color:#000;color:#fff;outline:none}
/* Add to calendar / Copy event link text buttons */
.ids-fmap .ids-epage__addcal:not(.ids-epage__date),.ids-fmap .ids-epage__addcal:not(.ids-epage__date):focus{background-color:transparent;border:0;color:#fff}
.ids-fmap .ids-epage__addcal:not(.ids-epage__date):hover{background-color:transparent;color:var(--ids-red-hi)}
/* Link-style buttons */
.ids-fmap .ids-epage__reg,.ids-fmap .ids-epage__reg:visited,.ids-fmap .ids-epage__reg:focus{background-color:var(--ids-red);color:#fff}
.ids-fmap .ids-epage__reg:hover{background-color:#a30000;color:#fff}
.ids-fmap .ids-epage__more,.ids-fmap .ids-epage__more:visited,.ids-fmap .ids-epage__more:focus{background-color:#fff;color:#000;border-color:#fff}
.ids-fmap .ids-epage__more:hover{background-color:#d9d9d9;border-color:#d9d9d9;color:#000}
.ids-fmap .ids-fmap__btn,.ids-fmap .ids-fmap__btn:visited{color:#fff}
.ids-fmap .ids-fmap__btn:hover{color:#fff;opacity:1;background-color:#000;border-color:#000}
.ids-fmap .ids-fmap__btn.solid:hover{background-color:#fff;color:#000;border-color:#fff}
.ids-fmap .ids-epage__calmenu a,.ids-fmap .ids-epage__calmenu a:visited{color:#fff}
.ids-fmap .ids-epage__calmenu a:hover{background-color:var(--ids-red);color:#fff}
.ids-fmap .ids-edetail__pager a,.ids-fmap .ids-edetail__pager a:visited{color:#fff}
.ids-fmap .ids-edetail__pager a:hover{color:var(--ids-red-hi)}
.ids-fmap select:hover,.ids-fmap select:focus{border-color:#fff;outline:none}
/* Event page: Register, Add to calendar and Copy event link as equal buttons */
.ids-fmap .ids-edetail__head .ids-epage__actions{gap:10px;margin-top:8px}
.ids-fmap .ids-edetail__head .ids-epage__reg,.ids-fmap .ids-edetail__head .ids-epage__addcal{display:inline-flex;align-items:center;justify-content:center;width:200px;min-height:44px;padding:0 14px;box-sizing:border-box;font-family:'Barlow Condensed',Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:1px;text-transform:uppercase;text-decoration:none;line-height:1}
.ids-fmap .ids-edetail__head .ids-epage__reg{border:2px solid var(--ids-red)}
.ids-fmap .ids-edetail__head .ids-epage__addcal,.ids-fmap .ids-edetail__head .ids-epage__addcal:focus{background-color:transparent;color:#fff;border:2px solid #fff}
.ids-fmap .ids-edetail__head .ids-epage__addcal:hover,.ids-fmap .ids-edetail__head .ids-epage__addcal[aria-expanded="true"]{background-color:#fff;color:#000;border-color:#fff}
.ids-fmap .ids-edetail__head .ids-epage__status{flex-basis:100%;max-width:max-content}
.ids-fmap .ids-edetail__head .ids-epage__calmenu{left:auto;right:auto}
@media (max-width:640px){.ids-fmap .ids-edetail__head .ids-epage__reg,.ids-fmap .ids-edetail__head .ids-epage__addcal{width:100%}}
