/* Centres rail ("24 places to play"): unified filters, mobile bottom sheets (hfm-*), centre cards.
   Shared by index.html and the program template (camp pages). */
/* Home filters: active filter and Stay & Play switch */
.home-destination-filter-style .home-browse-toggle[data-active=true]{border-color:#001937;color:#001937;background:#fff}
.home-destination-filter-style .home-browse-switch{gap:12px!important}
.home-destination-filter-style .home-browse-switch>span:last-child{position:relative;display:inline-block;width:34px;height:20px;flex:none;border-radius:999px;background:#dcd8d0;font-size:0!important;color:transparent;overflow:hidden;transition:background .2s}
.home-destination-filter-style .home-browse-switch>span:last-child::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,25,55,.25);transition:transform .2s}
.home-destination-filter-style .home-browse-switch[data-active=true]{background:#fff;border-color:#001937;color:#001937}
.home-destination-filter-style .home-browse-switch[data-active=true]>span:last-child{background:#1f92f0}
.home-destination-filter-style .home-browse-switch[data-active=true]>span:last-child::after{transform:translateX(14px)}
.home-destination-filter-style .home-browse-choices button[data-clear=true]{color:#004b87;border-bottom:1px solid #eee;border-radius:10px 10px 0 0}
.home-destination-filter-style .home-browse-choices button[data-clear=true]::before{content:"✕";width:auto;height:auto;background:none;font-size:11px}
.home-browse-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px}.home-browse-chips:empty{display:none}
.home-browse-chips button{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px 6px 14px;border:0;border-radius:999px;background:#001937;color:#fff;font:700 12px Geometria,Arial,sans-serif;cursor:pointer}
.home-browse-chips button{white-space:nowrap;width:auto;flex:none}
.home-browse-chips button>span:last-child{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.18);font-size:9px}
.home-browse-chips button:hover>span:last-child{background:#1f92f0}
@media(max-width:760px){.home-centers-controls{justify-content:flex-start!important;gap:16px!important}}
.home-destination-filter-style .home-browse-heading button{color:#004b87!important}
@media(max-width:760px){.home-destination-filter-style .home-browse-groups{flex-wrap:nowrap;gap:8px}.home-destination-filter-style .home-browse-groups{position:relative}.home-destination-filter-style .home-browse-group,.home-destination-filter-style .home-browse-group:has(.home-browse-choices){flex:none!important;width:auto!important;position:static!important}.home-destination-filter-style .home-browse-choices{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;width:auto!important;min-width:0!important;max-width:none!important;z-index:6}.home-destination-filter-style .home-browse-toggle{min-height:40px;padding:9px 12px!important;gap:8px!important;letter-spacing:.08em!important;white-space:nowrap}.home-destination-filter-style .home-browse-switch>span:last-child{width:28px;height:16px}.home-destination-filter-style .home-browse-switch>span:last-child::after{width:12px;height:12px}.home-destination-filter-style .home-browse-switch[data-active=true]>span:last-child::after{transform:translateX(12px)}}
/* Centre cards: "Hotel on site" as a frosted pill with the bed icon (same icon as Sports / Destinations cards) */
html body .home-center-card .home-center-stay{display:inline-flex!important;align-items:center;gap:7px;padding:6px 12px 6px 10px!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:999px!important;background:rgba(0,25,55,.38)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff!important;font:700 11px Geometria,Arial,sans-serif!important;letter-spacing:.02em!important;text-transform:none!important;white-space:nowrap}
html body .home-center-card .home-center-stay::before{content:'';width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0'/%3E%3Cpath d='M22 17v-3h-20'/%3E%3Cpath d='M2 8v9'/%3E%3Cpath d='M12 14h10v-2a3 3 0 0 0 -3 -3h-7v5z'/%3E%3C/svg%3E") center/16px no-repeat}
/* Flagship centre card: a BOOK-blue "★ FLAGSHIP ACADEMY" pill top right, above the Hotel pill,
   a blue ring around the card and the Hotel pill moved just under the band */
.home-center-flagship{display:none}
.home-center-card[data-flagship=true]{box-shadow:none}
.home-center-card[data-flagship=true]::before{content:'★  FLAGSHIP ACADEMY';position:absolute;z-index:3;top:14px;right:14px;display:inline-flex;align-items:center;padding:7px 13px;border-radius:999px;background:#004b87;color:#fff;font:700 10px Geometria,Arial,sans-serif;letter-spacing:.14em;white-space:pre}
html body .home-center-card[data-flagship=true]>span.r-wrap:has(>.home-center-stay){top:50px!important}
/* Hotel pill alone in the top row: always top right */
html body .home-center-card>span.r-wrap:has(>.home-center-stay){left:14px!important;right:14px!important;justify-content:flex-end!important}
html body .home-center-card .home-center-stay{margin-left:auto!important}
/* Mobile: 4 filters (Sport, Region, Hotel, School) on two rows */
@media(max-width:760px){.home-destination-filter-style .home-browse-groups{flex-wrap:wrap!important;row-gap:8px!important}}
.hfm-bs,.hfm-bs-back{display:none}
@media(max-width:760px){
  .hfm-bs-back{display:block;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.4);animation:hfm-fade .25s ease}
  .hfm-bs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10001;flex-direction:column;max-height:80vh;box-sizing:border-box;padding:24px 24px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;color:#111;animation:hfm-up .3s ease}
}
@keyframes hfm-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes hfm-fade{from{opacity:0}to{opacity:1}}
.hfm-bs-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.hfm-bs-head h2{margin:0;font:500 18px/1.2 'Geometria',Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#111}
.hfm-bs-close{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#F5F5F5;color:#111;font-size:16px;cursor:pointer}
.hfm-bs-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 4px 8px}
.hfm-bs-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:26px;margin:0 0 12px;padding:0;border:0;background:none;color:#111;font:400 16px/1.25 'Geometria',system-ui,sans-serif;text-align:left;cursor:pointer}
.hfm-bs-box{flex:none;display:grid;place-items:center;width:20px;height:20px;box-sizing:border-box;border:1px solid #CACACB;border-radius:4px;background:#fff}
.hfm-bs-opt[aria-checked=true] .hfm-bs-box{background:#111;border-color:#111}
.hfm-bs-opt[aria-checked=true] .hfm-bs-box::after{content:"";width:5px;height:10px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hfm-bs-foot{flex:none;padding-top:16px;background:#fff}
.hfm-bs-apply{display:block;width:100%;height:56px;border:0;border-radius:999px;background:#111;color:#fff;font:700 16px/1 'Geometria',system-ui,sans-serif;cursor:pointer}
html.hfm-lock,html.hfm-lock body{overflow:hidden}
@media(prefers-reduced-motion:reduce){.hfm-bs,.hfm-bs-back{animation:none}}
