/* MAD SPORTS PRO / Adaptive Detail V2. Design is scoped to detail roots.
   Original IDs, quote state, PHP data/API, sport media, CMS content remain intact. */
:root { --mspv-ink: #12181c; }
body:has(.mspv-detail-shell) { background:#f4f5f2!important; }
#detailPageRoot.mspv-detail-shell,
#detailSportPageRoot.mspv-detail-shell {
  --mspv-accent:#176b43; --mspv-paper:#f4f5f2; --mspv-ink:#17211f;
  --mspv-hair:#dce2dd; --mspv-muted:#697774;
  position:relative; width:100%; max-width:1580px!important;
  margin:98px auto 90px!important; padding:0 clamp(13px,2.3vw,36px)!important;
  color:var(--mspv-ink); overflow:visible;
}
.mspv-detail-shell, .mspv-detail-shell * { box-sizing:border-box; }
.mspv-detail-shell>.container.py-4 { max-width:none!important; padding:0!important; width:100%; }
.mspv-detail-shell .mspv-scene {
  min-height:580px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(315px,.78fr);
  overflow:hidden; isolation:isolate; border:1px solid #e0e2dc;
  border-radius:4px; background:#fff;
}
.mspv-detail-shell .mspv-visual {
  position:relative; isolation:isolate; min-width:0; min-height:580px;
  background:linear-gradient(150deg,#1a2926,#31473d); overflow:hidden;
}
.mspv-detail-shell .mspv-visual-fallback {
  position:absolute; inset:0; display:flex; align-items:center;justify-content:center;
  color:#ffffff55;font-size:80px;pointer-events:none;
}
.mspv-detail-shell .mspv-visual:has(#detailMainImage[src]:not([src=""])) .mspv-visual-fallback {display:none;}
/* The original (not duplicated) image gallery lives in this editorial grid. */
.mspv-detail-shell .mspv-photo-layout { width:100%;height:100%;margin:0!important;padding:0!important; gap:0!important; }
#detailSportPageRoot.mspv-detail-shell #sportHeroSection.mspv-photo-layout {
  display:grid!important;grid-template-columns:minmax(0,1fr) 178px;grid-template-rows:1fr;
  border:0!important;box-shadow:none!important;background:transparent!important;
}
#detailPageRoot.mspv-detail-shell .mspv-photo-layout {
  display:grid!important;grid-template-columns:minmax(0,1fr) 178px;grid-template-rows:1fr;
  border:0!important;box-shadow:none!important;background:transparent!important;
}
.mspv-detail-shell .mspv-photo-layout>.col-lg-7,
.mspv-detail-shell .mspv-photo-layout>.col-lg-5 {
  width:auto!important;max-width:none!important;flex:none!important;min-width:0;
  padding:0!important;margin:0!important;
}
.mspv-detail-shell .mspv-photo-layout>.col-lg-7 { height:100%; }
.mspv-detail-shell .mspv-photo-layout>.col-lg-5 { min-height:0;overflow:hidden; }
.mspv-detail-shell .mspv-photo-layout .detail-main-image-wrap {
  height:100%!important;width:100%!important;min-height:580px!important;
  border-radius:0!important;position:relative;background:#20322c;
}
.mspv-detail-shell #detailMainImage {width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;cursor:zoom-in!important;pointer-events:auto!important;}
.mspv-detail-shell .mspv-photo-layout .main-image-wrapper::after {
  content:"";position:absolute;z-index:1;pointer-events:none;inset:35% 0 0;
  background:linear-gradient(180deg,transparent,rgba(6,14,12,.42));
}
.mspv-detail-shell .mspv-photo-layout .image-overlay-tags {
  top:auto!important;bottom:25px!important;left:25px!important;z-index:3!important;
  gap:7px!important;padding:0!important;pointer-events:none!important;
}
.mspv-detail-shell .mspv-photo-layout .tag-pill-pro {
  background:var(--mspv-accent)!important;color:#fff!important;border-radius:2px!important;
  letter-spacing:.1em;font-size:9px;padding:8px 10px;
}
.mspv-detail-shell .mspv-photo-layout #detailVerifiedBadge {display:none!important;}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid {
  min-height:0!important;height:100%;width:100%;margin:0!important;padding:0!important;
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:repeat(var(--mspv-thumb-count,4),1fr)!important;
  gap:4px!important;overflow:hidden;pointer-events:auto!important;
}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid>* {
  width:100%!important;height:100%!important;min-height:0!important;min-width:0!important;
  display:block!important;flex:none!important;padding:0!important;margin:0!important;
}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid .gallery-item-square {
  height:100%!important;width:100%!important;aspect-ratio:auto!important;
  border-radius:0!important;overflow:hidden!important;
}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid img,
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid a {
  width:100%!important;height:100%!important;object-fit:cover!important;display:block;
  border-radius:0!important;cursor:zoom-in!important;pointer-events:auto!important;
}
.mspv-detail-shell .mspv-photo-button {
  position:absolute;bottom:20px;right:194px;z-index:5;display:inline-flex;align-items:center;gap:9px;
  border:1px solid #ffffff80;background:#ffffffed;color:#17211f;padding:12px 17px;
  border-radius:3px;font-weight:800;font-size:12px;box-shadow:0 8px 30px #0004;cursor:pointer;
}
.mspv-detail-shell .mspv-photo-button:hover {background:var(--mspv-accent);color:#fff;}
.mspv-detail-shell .mspv-editorial {
  position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;
  min-height:580px;background:#fff;padding:clamp(25px,2.5vw,43px);
  border-top:5px solid var(--mspv-accent);overflow:hidden;
}
.mspv-detail-shell .mspv-editorial::before {
  content:"";position:absolute;left:0;right:0;bottom:0;height:125px;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--mspv-accent) 5%,white));pointer-events:none;
}
.mspv-editorial-top,.mspv-editorial-bottom {display:flex;justify-content:space-between;align-items:center;gap:14px;position:relative;z-index:1;}
.mspv-back {font-size:11px;font-weight:800;letter-spacing:.04em;display:inline-flex;gap:8px;align-items:center;color:#5d6c65;text-decoration:none;}
.mspv-back:hover {color:var(--mspv-accent);}
.mspv-share {display:grid;place-items:center;width:34px;height:34px;border-radius:3px;border:1px solid #dde4df;background:#fff;color:var(--mspv-ink);cursor:pointer;}
.mspv-share:hover {border-color:var(--mspv-accent);color:var(--mspv-accent);}
.mspv-detail-shell .mspv-editorial-center {position:relative;z-index:1;margin:32px 0;}
.mspv-overline {font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:900;color:var(--mspv-accent);display:flex;gap:9px;align-items:center;margin-bottom:21px;}
.mspv-overline-dot {width:8px;height:8px;background:var(--mspv-accent);display:block;flex-shrink:0;}
.mspv-detail-shell #mspxIntroTitle {
  color:var(--mspv-ink);font-family:'Inter',Arial,sans-serif;font-size:clamp(35px,3.4vw,62px);
  letter-spacing:-.055em;line-height:.99;font-weight:950;text-transform:uppercase;
  margin:0 0 24px!important;overflow-wrap:break-word;hyphens:auto;
}
.mspv-location {display:flex;gap:10px;align-items:center;font-size:13px;font-weight:550;color:#606f68;margin:0 0 18px;line-height:1.55;}
.mspv-location[hidden],.mspv-credentials>[hidden] {display:none!important;}
.mspv-location i {color:var(--mspv-accent);}
.mspv-credentials {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:22px;}
.mspv-credentials>span {font-size:10px;display:inline-flex;align-items:center;gap:6px;letter-spacing:.04em;padding:8px 10px;border:1px solid #e0e5e1;background:#f8f9f7;color:#33423c;font-weight:850;border-radius:3px;}
.mspv-credentials .mspv-stars {color:#b17613;}
.mspv-credentials .mspv-verified i {color:var(--mspv-accent);}
.mspv-edition {font-size:10px;white-space:nowrap;letter-spacing:.15em;color:#73837c;font-weight:850;position:relative;}
.mspv-edition strong {color:var(--mspv-accent);padding-left:3px;}
.mspv-action-mount {flex:1 1 auto;max-width:260px;position:relative;}
.mspv-detail-shell #mspxActionMount>.detail-quote-heart-btn {
  position:static!important;inset:auto!important;width:100%!important;min-width:0!important;
  max-width:none!important;margin:0!important;padding:16px 12px!important;border-radius:3px!important;
  background:var(--mspv-accent)!important;border:1px solid var(--mspv-accent)!important;
  color:#fff!important;box-shadow:none!important;letter-spacing:.035em!important;font-size:11px!important;
  line-height:1.3!important;display:inline-flex!important;justify-content:center;align-items:center;gap:10px;
  transform:none!important;white-space:normal;text-align:center;
}
.mspv-detail-shell #mspxActionMount>.detail-quote-heart-btn:hover {filter:brightness(.85);}
.mspv-detail-shell .mspv-keyfacts {
  margin:12px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
}
.mspv-detail-shell .mspv-keyfacts[hidden]{display:none!important;}
.mspv-detail-shell .mspv-keyfact {
  display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e1e6e0;
  padding:15px 19px;min-width:0;border-radius:3px;
}
.mspv-keyfact>i {background:color-mix(in srgb,var(--mspv-accent) 12%,white);color:var(--mspv-accent);font-size:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:3px;flex-shrink:0;}
.mspv-keyfact span {display:flex;flex-direction:column;min-width:0;}
.mspv-keyfact strong {font-size:16px;line-height:1.1;font-weight:850;overflow:hidden;text-overflow:ellipsis;}
.mspv-keyfact small {font-size:10px;letter-spacing:.065em;text-transform:uppercase;color:var(--mspv-muted);font-weight:700;margin-top:5px;}
.mspv-detail-shell .mspv-nav {
  position:sticky;top:var(--mspv-header-offset,98px);z-index:880;margin:14px 0 30px;overflow:hidden;
  background:#151e1a;border:1px solid #151e1a;border-radius:3px;
  box-shadow:0 9px 25px #1b32211c;
}
.mspv-detail-shell .mspv-nav[hidden] {display:none!important;}
.mspv-nav-track {display:flex;align-items:center;gap:0;overflow:auto hidden;scrollbar-width:none;overscroll-behavior-x:contain;}
.mspv-nav-track::-webkit-scrollbar{display:none;}
.mspv-nav-track>a {
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 17px;
  white-space:nowrap;color:#b7c2bc;text-decoration:none;text-transform:uppercase;font-weight:850;
  font-size:10px;letter-spacing:.085em;border-right:1px solid #ffffff17;
  transition:background .17s ease,color .17s ease;
}
.mspv-nav-track>a:hover {color:#fff;background:#2e3933;}
.mspv-nav-track>a.is-active {background:var(--mspv-accent);color:#fff;}
.mspv-nav-track>a[hidden] {display:none!important;}
.mspv-nav-progress {position:absolute;left:0;bottom:0;height:2px;width:var(--mspv-progress,0%);background:#fff;pointer-events:none;}
/* Flexible editorial content — sport first, then hotel. */
.mspv-detail-shell #sportPageFlow {display:flex!important;flex-direction:column!important;gap:22px!important;}
.mspv-detail-shell #sportBlockGroup {order:1!important;min-width:0;}
.mspv-detail-shell #hotelBlockGroup {order:2!important;min-width:0;}
#detailPageRoot.mspv-detail-shell #sportHeroSection {order:1!important;}
.mspv-detail-shell #sportInfoSection,
.mspv-detail-shell #sportMediaSection,
.mspv-detail-shell #hotelInfoSection,
.mspv-detail-shell #hotelFacilitiesSection,
.mspv-detail-shell #hotelMediaSection,
.mspv-detail-shell #otherSportsSection,
.mspv-detail-shell #addSportsSection,
.mspv-detail-shell .region-hotels-section {
  background:#fff!important;box-shadow:none!important;border:1px solid #e2e6e1!important;
  border-radius:3px!important;overflow:hidden;min-width:0;
}
.mspv-detail-shell #sportInfoSection {padding:clamp(25px,3.4vw,52px)!important;position:relative;border-top:4px solid var(--mspv-accent)!important;}
.mspv-detail-shell #sportInfoSection::before {
  content:"SPORT";position:absolute;top:0;right:15px;font-size:clamp(75px,11vw,150px);
  font-weight:950;line-height:1;color:color-mix(in srgb,var(--mspv-accent) 4%,white);
  pointer-events:none;letter-spacing:-.08em;
}
.mspv-detail-shell #sportInfoSection>.row {position:relative;z-index:1;--bs-gutter-x:clamp(24px,3vw,50px);}
.mspv-detail-shell #sportInfoSection .col-lg-8 {min-width:0;}
.mspv-detail-shell #sportInfoSection .col-lg-4 {min-width:0;}
.mspv-detail-shell #sportDetailTitle {
  color:#121a16!important;font-size:clamp(30px,3vw,48px)!important;font-weight:950!important;
  letter-spacing:-.045em!important;line-height:1.08!important;margin-bottom:26px!important;
}
.mspv-detail-shell .sport-section-title,
.mspv-detail-shell .hotel-section-title,
.mspv-detail-shell .section-label-heading {
  color:var(--mspv-accent)!important;font-size:11px!important;letter-spacing:.13em!important;
  font-weight:900!important;text-transform:uppercase;margin-bottom:18px!important;
}
.mspv-detail-shell .sport-section-title i,.mspv-detail-shell .hotel-section-title i {color:var(--mspv-accent)!important;}
.mspv-detail-shell .inventory-cat-label {
  color:var(--mspv-accent)!important;background:color-mix(in srgb,var(--mspv-accent) 7%,white)!important;
  font-size:10px!important;letter-spacing:.1em!important;border-radius:2px!important;padding:7px 10px!important;
}
.mspv-detail-shell .sport-camp-description-box {border-left:3px solid var(--mspv-accent)!important;padding-left:20px!important;color:#43534a!important;line-height:1.85!important;font-size:14px!important;}
.mspv-detail-shell #sportInfoSection .logistic-card {
  background:#f5f7f3!important;border:1px solid #e4e9e1!important;
  border-left:3px solid var(--mspv-accent)!important;border-radius:3px!important;
  padding:20px!important;box-shadow:none!important;margin-top:0!important;margin-bottom:12px!important;
}
.mspv-detail-shell #sportInfoSection .logistic-card i.text-danger {color:var(--mspv-accent)!important;}
.mspv-detail-shell #sportInfoSection .slot-item {background:#fff!important;border-left-color:var(--mspv-accent);border-radius:2px!important;}
.mspv-detail-shell #sportPitches {margin-top:14px;}
.mspv-detail-shell #sportPitches .pitch-summary-row {
  background:#f9faf8!important;border:1px solid #dce5df!important;
  border-left:4px solid var(--mspv-accent)!important;border-radius:3px!important;
  margin:0 0 13px!important;padding:20px!important;box-shadow:none!important;
}
.mspv-detail-shell #sportPitches .pitch-summary-row .pitch-chip {font-size:clamp(19px,2vw,29px)!important;color:#213229!important;letter-spacing:-.03em!important;}
.mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-dimension {
  font-size:15px!important;letter-spacing:.05em!important;color:var(--mspv-accent)!important;
  background:color-mix(in srgb,var(--mspv-accent) 9%,white)!important;
  padding:9px 12px!important;border-radius:3px!important;
}
.mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-highlights {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;max-width:100%!important;
}
.mspv-detail-shell #sportPitches .pitch-highlight-item {
  display:flex!important;background:#fff!important;color:#233328!important;border:1px solid #e4e9e4!important;
  border-radius:3px!important;padding:10px!important;margin:0!important;font-size:12px!important;
  line-height:1.45!important;
}
.mspv-detail-shell #sportPitches .pitch-highlight-item i {border-radius:50%!important;background:var(--mspv-accent)!important;color:#fff!important;}
.mspv-detail-shell #sportPitches .pitch-highlight-item span {color:#25352b!important;}
.mspv-detail-shell #sportCommonFeatures {border:0!important;background:#f6f8f5!important;border-radius:3px!important;padding:20px!important;box-shadow:none!important;}
.mspv-detail-shell #sportCommonFeatures .badge {border:1px solid #d4e2d9!important;border-radius:2px!important;color:#33493b!important;background:#fff!important;padding:9px 11px;margin:3px;font-weight:600;white-space:normal;text-align:left;}
.mspv-detail-shell #hotelInfoSection,
.mspv-detail-shell #hotelFacilitiesSection,
.mspv-detail-shell #hotelMediaSection,
.mspv-detail-shell #sportMediaSection {padding:clamp(25px,3.2vw,48px)!important;}
.mspv-detail-shell #hotelInfoSection {border-top:4px solid var(--mspv-accent)!important;}
.mspv-detail-shell #detailHotelTitle {font-size:clamp(26px,2.5vw,40px)!important;line-height:1.1!important;letter-spacing:-.04em!important;color:#18231e!important;}
.mspv-detail-shell .detail-seo-text {font-size:14px!important;line-height:1.86!important;color:#4d5d54!important;text-align:left!important;}
.mspv-detail-shell .room-cap-item,.mspv-detail-shell .room-unit-item {border-radius:3px!important;background:#fff;border:1px solid #e4eae4;box-shadow:none!important;}
.mspv-detail-shell .room-cap-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.mspv-detail-shell #hotelInfoSection .bg-light-subtle,
.mspv-detail-shell #hotelFacilitiesSection .bg-light-subtle {background:#f7f9f7!important;border-color:#e4e9e4!important;border-radius:3px!important;box-shadow:none!important;}
.mspv-detail-shell .inv-free {color:var(--mspv-accent)!important;}
.mspv-detail-shell .ms-accordion .accordion-button:not(.collapsed) {color:var(--mspv-accent)!important;}
.mspv-detail-shell #sportMediaSection .gallery-panel,
.mspv-detail-shell #hotelMediaSection .gallery-panel {margin-top:15px!important;}
.mspv-detail-shell #sportMediaGalleryGrid img,.mspv-detail-shell #detailGalleryGrid img {border-radius:3px!important;}
.mspv-detail-shell #sportMediaYoutubeWrap {height:clamp(250px,48vw,530px)!important;}
.mspv-detail-shell #sportMediaYoutubeWrap iframe {border-radius:3px!important;}
.mspv-detail-shell #otherSportsSection,.mspv-detail-shell #addSportsSection {padding:25px!important;}
.mspv-detail-shell .msp-sport-chip {border-radius:3px!important;}
.mspv-detail-shell .region-hotels-section {padding:clamp(20px,2vw,30px)!important;}
.mspv-detail-shell .region-hotels-heading h2 {font-size:clamp(22px,2.2vw,31px)!important;letter-spacing:-.035em;font-weight:900;}
.mspv-detail-shell .region-hotel-card,.mspv-detail-shell .interested-hotel-card {border:1px solid #e4e9e4!important;border-radius:3px!important;box-shadow:none!important;}
.mspv-detail-shell #otherHotelsRegionSection .board-visual-badge {border-radius:2px!important;}
.mspv-detail-shell .mspv-is-empty {display:none!important;}
.mspv-toast {position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:12000;background:#17211f;color:#fff;padding:12px 18px;border-radius:3px;font-size:13px;box-shadow:0 10px 25px #0003;}
.mspv-toast[hidden] {display:none!important;}
/* Missing photography does not leave a conspicuously empty hero. */
.mspv-detail-shell .mspv-scene.mspv-no-media {grid-template-columns:1fr;min-height:0;}
.mspv-detail-shell .mspv-scene.mspv-no-media .mspv-visual {display:none!important;}
.mspv-detail-shell .mspv-scene.mspv-no-media .mspv-editorial {min-height:330px;}
#detailSportPageRoot.mspv-detail-shell .mspv-visual.mspv-single-photo #sportHeroSection.mspv-photo-layout,
#detailPageRoot.mspv-detail-shell .mspv-visual.mspv-single-photo .mspv-photo-layout {grid-template-columns:1fr!important;}
.mspv-detail-shell .mspv-visual.mspv-single-photo #detailThumbGrid {display:none!important;}
.mspv-detail-shell .mspv-visual.mspv-single-photo .mspv-photo-button {right:18px;}
#detailSportPageRoot.mspv-detail-shell .mspv-visual.mspv-no-main-photo #sportHeroSection.mspv-photo-layout,
#detailPageRoot.mspv-detail-shell .mspv-visual.mspv-no-main-photo .mspv-photo-layout {grid-template-columns:1fr!important;}
.mspv-detail-shell .mspv-visual.mspv-no-main-photo .mspv-photo-layout>.col-lg-7 {display:none!important;}
.mspv-detail-shell .mspv-visual.mspv-no-main-photo .mspv-photo-layout #detailThumbGrid {
 grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;
}
.mspv-detail-shell .mspv-visual.mspv-no-main-photo .mspv-photo-button {right:18px;}
.mspv-detail-shell .mspv-photo-button[hidden] {display:none!important;}
/* Fixed bottom site controls are not moved or restyled by detail page. */
.mspv-detail-shell [id] {scroll-margin-top:145px;}
@media(max-width:1200px){
 .mspv-detail-shell .mspv-scene {grid-template-columns:minmax(0,1.3fr) minmax(290px,.87fr);min-height:500px;}
 .mspv-detail-shell .mspv-visual,.mspv-detail-shell .mspv-editorial {min-height:500px;}
 .mspv-detail-shell .mspv-photo-layout .detail-main-image-wrap {min-height:500px!important;}
 .mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-highlights {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .mspv-detail-shell .mspv-keyfacts {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:991.98px){
 #detailPageRoot.mspv-detail-shell,#detailSportPageRoot.mspv-detail-shell {margin:85px auto 65px!important;padding:0 12px!important;}
 .mspv-detail-shell .mspv-scene {grid-template-columns:1fr;min-height:0;}
 .mspv-detail-shell .mspv-visual {min-height:410px;max-height:550px;}
 .mspv-detail-shell .mspv-photo-layout .detail-main-image-wrap {min-height:410px!important;}
 .mspv-detail-shell .mspv-editorial {min-height:0;padding:28px 26px 28px;gap:10px;}
 .mspv-detail-shell .mspv-editorial-center {margin:28px 0;}
 .mspv-detail-shell #mspxIntroTitle {font-size:clamp(34px,5vw,54px);}
 .mspv-detail-shell .mspv-nav {margin-bottom:20px;}
 .mspv-detail-shell .mspv-nav-track>a {min-height:47px;}
 .mspv-detail-shell #sportInfoSection,.mspv-detail-shell #hotelInfoSection,.mspv-detail-shell #hotelFacilitiesSection,.mspv-detail-shell #sportMediaSection,.mspv-detail-shell #hotelMediaSection {padding:24px!important;}
 .mspv-detail-shell #sportInfoSection>.row {--bs-gutter-y:18px;}
 .mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-highlights {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:575.98px){
 #detailPageRoot.mspv-detail-shell,#detailSportPageRoot.mspv-detail-shell {padding:0 8px!important;margin:74px auto 65px!important;}
 .mspv-detail-shell .mspv-visual {min-height:320px;max-height:410px;}
 .mspv-detail-shell .mspv-photo-layout .detail-main-image-wrap {min-height:320px!important;}
 #detailSportPageRoot.mspv-detail-shell #sportHeroSection.mspv-photo-layout,
 #detailPageRoot.mspv-detail-shell .mspv-photo-layout {grid-template-columns:minmax(0,1fr) 82px!important;}
 .mspv-detail-shell .mspv-photo-layout #detailThumbGrid {gap:3px!important;}
 .mspv-detail-shell .mspv-photo-layout .image-overlay-tags {bottom:12px!important;left:10px!important;flex-wrap:wrap;}
 .mspv-detail-shell .mspv-photo-layout .tag-pill-pro {font-size:8px;padding:5px 7px;}
 .mspv-detail-shell .mspv-photo-button {right:92px;bottom:10px;padding:9px 10px;font-size:10px;}
 .mspv-detail-shell .mspv-editorial {padding:23px 20px;}
 .mspv-detail-shell .mspv-editorial-center {margin:24px 0 16px;}
 .mspv-detail-shell #mspxIntroTitle {font-size:clamp(32px,9.2vw,47px);}
 .mspv-detail-shell .mspv-editorial-bottom {align-items:stretch;}
 .mspv-detail-shell .mspv-edition {display:none;}
 .mspv-detail-shell .mspv-action-mount {max-width:none;flex:1;}
 .mspv-detail-shell .mspv-keyfacts {gap:5px;}
 .mspv-detail-shell .mspv-keyfact {padding:11px 10px;gap:8px;}
 .mspv-detail-shell .mspv-keyfact>i {width:32px;height:32px;font-size:14px;}
 .mspv-detail-shell .mspv-keyfact strong {font-size:13px;}
 .mspv-detail-shell .mspv-keyfact small {font-size:9px;}
 .mspv-detail-shell .mspv-nav {margin:9px 0 16px;}
 .mspv-detail-shell .mspv-nav-track>a {padding:11px 12px;font-size:9px;min-height:44px;}
 .mspv-detail-shell #sportPageFlow {gap:12px!important;}
 .mspv-detail-shell #sportInfoSection,.mspv-detail-shell #hotelInfoSection,.mspv-detail-shell #hotelFacilitiesSection,.mspv-detail-shell #sportMediaSection,.mspv-detail-shell #hotelMediaSection {padding:18px 14px!important;}
 .mspv-detail-shell #sportDetailTitle {font-size:27px!important;}
 .mspv-detail-shell #sportPitches .pitch-summary-row {padding:15px 11px!important;}
 .mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-highlights {grid-template-columns:1fr!important;}
 .mspv-detail-shell .room-cap-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .mspv-detail-shell .region-hotels-section {padding:16px 12px!important;}
 .mspv-detail-shell #detailHotelTitle {font-size:28px!important;}
}
@media(prefers-reduced-motion:reduce){.mspv-detail-shell * {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;}}
/* MAD SPORTS PRO / Detail Experience V3 — immersive sport-specific editorial design.
   Existing PHP IDs, API data, event listeners and information are preserved.
   Theme tokens are populated from the EXACT get-a-quote-form.php palette. */
body:has(.mspv-detail-shell){background:#f5f7f6!important}
#detailSportPageRoot.mspv-detail-shell,#detailPageRoot.mspv-detail-shell{
 --mspv-deep:#124b2c;--mspv-accent:#1b6039;--mspv-hover:#27774a;
 --mspv-light:#8cdaa0;--mspv-soft:#eff8f1;--mspv-glow:rgba(111,204,125,.23);
 --mspv-ink:#142021;--mspv-muted:#53636b;--mspv-hair:#e0e7e6;
 max-width:1660px!important;margin:82px auto 90px!important;padding:0 clamp(8px,1.8vw,28px)!important;
 font-family:Inter,system-ui,-apple-system,sans-serif;
}
.mspv-detail-shell>.container.py-4{max-width:none!important;padding:0!important}
/* Full-bleed photography is now the hero. Editorial is layered ON photography,
   rather than being an unrelated white column beside it. */
.mspv-detail-shell .mspv-scene{
 position:relative;display:block!important;isolation:isolate;min-height:clamp(580px,51vw,740px)!important;
 background:var(--mspv-deep);border:0!important;border-radius:4px!important;overflow:hidden;
 box-shadow:0 23px 58px -33px rgba(4,20,25,.42);
}
.mspv-detail-shell .mspv-visual{
 position:absolute;inset:0;width:100%;height:100%;min-height:0!important;max-height:none!important;
 background:linear-gradient(135deg,var(--mspv-deep),var(--mspv-accent))!important;
}
.mspv-detail-shell .mspv-scene::after{
 content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(90deg,rgba(5,12,14,.76) 0%,rgba(5,12,14,.48) 42%,transparent 84%),
            linear-gradient(0deg,rgba(5,12,14,.72) 0%,transparent 53%,rgba(5,12,14,.19) 100%);
}
.mspv-detail-shell .mspv-photo-layout .main-image-wrapper::after{display:none!important}
#detailSportPageRoot.mspv-detail-shell #sportHeroSection.mspv-photo-layout,
#detailPageRoot.mspv-detail-shell .mspv-photo-layout{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(235px,25%);
 grid-template-rows:1fr!important;gap:5px!important;min-height:100%;height:100%;
}
.mspv-detail-shell .mspv-photo-layout>.col-lg-7,.mspv-detail-shell .mspv-photo-layout>.col-lg-5{height:100%!important}
.mspv-detail-shell .mspv-photo-layout .detail-main-image-wrap{
 height:100%!important;min-height:0!important;border-radius:0!important;background:var(--mspv-deep)!important;
}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid{
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:5px!important;
}
.mspv-detail-shell .mspv-photo-layout #detailMainImage,.mspv-detail-shell .mspv-photo-layout #detailThumbGrid img{
 object-fit:cover!important;transition:filter .23s ease!important;
}
.mspv-detail-shell .mspv-photo-layout #detailThumbGrid :is(a,button):hover img{filter:brightness(.87)}
.mspv-detail-shell .mspv-photo-layout .image-overlay-tags{
 top:80px!important;left:auto!important;right:22px!important;bottom:auto!important;
 justify-content:flex-end;max-width:42%;flex-wrap:wrap!important;
}
.mspv-detail-shell .mspv-photo-layout .tag-pill-pro{
 background:var(--mspv-accent)!important;border:1px solid rgba(255,255,255,.27)!important;
 color:#fff!important;font-weight:800;font-size:9px;box-shadow:0 6px 20px #0002;
}
.mspv-detail-shell .mspv-editorial{
 position:relative;z-index:2;display:flex!important;min-height:clamp(580px,51vw,740px)!important;
 border:0!important;background:transparent!important;color:white!important;
 padding:clamp(24px,3vw,52px)!important;pointer-events:none;
}
.mspv-detail-shell .mspv-editorial::before{display:none!important}
.mspv-detail-shell .mspv-editorial :is(a,button){pointer-events:auto}
.mspv-detail-shell .mspv-editorial-top{justify-content:space-between}
.mspv-detail-shell .mspv-back,.mspv-detail-shell .mspv-share{
 border:1px solid #ffffff57!important;border-radius:3px!important;background:rgba(4,12,16,.21)!important;
 color:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.mspv-detail-shell .mspv-back{padding:11px 16px!important;font-size:12px!important;letter-spacing:.02em}
.mspv-detail-shell .mspv-back:hover,.mspv-detail-shell .mspv-share:hover{background:var(--mspv-accent)!important;border-color:var(--mspv-accent)!important}
.mspv-detail-shell .mspv-share{width:44px;height:44px;font-size:17px}
.mspv-detail-shell .mspv-editorial-center{
 width:min(850px,76%);max-width:100%;margin:auto 0 0!important;position:relative;z-index:2;padding-bottom:clamp(16px,2vw,31px);
}
.mspv-detail-shell .mspv-overline{color:var(--mspv-light)!important;font-size:clamp(10px,.85vw,13px)!important;letter-spacing:.22em!important;margin:0 0 19px!important;text-shadow:0 2px 8px #0008}
.mspv-detail-shell .mspv-overline-dot{background:var(--mspv-light);width:10px;height:10px;box-shadow:0 0 0 6px rgba(255,255,255,.08)}
.mspv-detail-shell #mspxIntroTitle{
 color:#fff!important;font-size:clamp(46px,6.7vw,106px)!important;
 font-weight:950!important;letter-spacing:-.072em!important;line-height:.96!important;
 max-width:880px;margin:0 0 20px!important;text-shadow:0 4px 35px #0007;
}
.mspv-detail-shell .mspv-location{color:#f0f4f0!important;font-size:clamp(13px,1.1vw,17px)!important;font-weight:600!important;text-shadow:0 2px 15px #0009}
.mspv-detail-shell .mspv-location i{color:var(--mspv-light)!important}
.mspv-detail-shell .mspv-credentials{gap:8px!important;margin-top:21px!important}
.mspv-detail-shell .mspv-credentials>span{
 background:rgba(7,13,15,.36)!important;border:1px solid #ffffff49!important;
 color:white!important;backdrop-filter:blur(11px);border-radius:3px!important;padding:9px 12px!important;
}
.mspv-detail-shell .mspv-credentials .mspv-verified i{color:var(--mspv-light)!important}
.mspv-detail-shell .mspv-credentials .mspv-stars{color:#ffe6a4!important}
.mspv-detail-shell .mspv-editorial-bottom{
 align-self:stretch;display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;
 position:relative;z-index:3;pointer-events:none;padding-top:15px;
}
.mspv-detail-shell .mspv-action-mount{max-width:none!important;flex:0 1 auto!important;min-width:240px;pointer-events:auto}
.mspv-detail-shell #mspxActionMount>.detail-quote-heart-btn{
 min-height:67px!important;padding:20px 25px!important;background:var(--mspv-accent)!important;
 border:1px solid var(--mspv-light)!important;border-radius:3px!important;font-size:13px!important;
 box-shadow:0 18px 45px rgba(0,0,0,.25)!important;letter-spacing:.04em!important;
}
.mspv-detail-shell #mspxActionMount>.detail-quote-heart-btn:hover{background:var(--mspv-hover)!important;filter:none;transform:none!important}
.mspv-detail-shell .mspv-edition{display:none!important}
.mspv-detail-shell .mspv-photo-button{
 z-index:5;right:clamp(17px,2vw,28px)!important;bottom:clamp(18px,2vw,27px)!important;
 background:rgba(255,255,255,.96)!important;color:#19252b!important;
 font-size:12px!important;padding:13px 17px!important;border:1px solid white!important;
 box-shadow:0 12px 28px #0004!important;max-width:200px;
}
.mspv-detail-shell .mspv-photo-button:hover{background:var(--mspv-accent)!important;color:white!important}
/* Real, non-invented highlights stay independent from image count. */
.mspv-detail-shell .mspv-keyfacts{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;
 margin:-1px 0 0!important;background:var(--mspv-soft)!important;border:1px solid var(--mspv-light)!important;
 border-top:0!important;padding:0!important;overflow:hidden;
}
.mspv-detail-shell .mspv-keyfact{
 min-height:98px;background:transparent!important;border:0!important;border-right:1px solid color-mix(in srgb,var(--mspv-accent) 15%,white)!important;
 border-radius:0!important;gap:15px!important;padding:18px 22px!important;
}
.mspv-detail-shell .mspv-keyfact:last-child{border-right:0!important}
.mspv-detail-shell .mspv-keyfact>i{
 background:white!important;color:var(--mspv-accent)!important;border:1px solid color-mix(in srgb,var(--mspv-accent) 18%,white)!important;
 border-radius:3px!important;width:49px!important;height:49px!important;font-size:20px!important;
}
.mspv-detail-shell .mspv-keyfact strong{color:var(--mspv-deep)!important;font-size:clamp(17px,1.5vw,23px)!important;font-weight:850!important}
.mspv-detail-shell .mspv-keyfact small{color:#4e5d58!important;font-size:11px!important}
/* Quiet, tactile navigation: sport color appears in an indicator, not a wall. */
.mspv-detail-shell .mspv-nav{
 position:sticky!important;top:var(--mspv-header-offset,100px);z-index:850!important;
 margin:0 0 30px!important;background:#fff!important;border:1px solid #e2e6e3!important;
 border-top:0!important;box-shadow:0 16px 25px -20px #08171c70!important;
 border-radius:0 0 4px 4px!important;min-height:59px;
}
.mspv-detail-shell .mspv-nav-track{padding:7px!important;gap:4px!important}
.mspv-detail-shell .mspv-nav-track>a{
 font-size:11px!important;font-weight:760!important;padding:14px 15px!important;
 min-height:45px!important;background:#fff!important;color:#46575a!important;white-space:nowrap;
 border:0!important;border-bottom:3px solid transparent!important;border-radius:3px!important;
}
.mspv-detail-shell .mspv-nav-track>a:hover{background:var(--mspv-soft)!important;color:var(--mspv-deep)!important}
.mspv-detail-shell .mspv-nav-track>a.is-active{background:var(--mspv-soft)!important;color:var(--mspv-deep)!important;border-bottom-color:var(--mspv-accent)!important}
.mspv-detail-shell .mspv-nav-progress{background:var(--mspv-accent)!important;height:2px!important}
.mspv-detail-shell #sportPageFlow{gap:20px!important}
.mspv-detail-shell #sportBlockGroup,.mspv-detail-shell #hotelBlockGroup{min-width:0}
/* Each chapter reads like a magazine spread, rather than repeated rounded cards. */
.mspv-detail-shell #sportInfoSection,.mspv-detail-shell #sportMediaSection,
.mspv-detail-shell #hotelInfoSection,.mspv-detail-shell #hotelFacilitiesSection,
.mspv-detail-shell #hotelMediaSection,.mspv-detail-shell .region-hotels-section{
 border:1px solid #e1e6e4!important;border-top:0!important;border-radius:4px!important;
 box-shadow:none!important;margin:0 0 20px!important;overflow:hidden;
}
.mspv-detail-shell #sportInfoSection{background:#fff!important;padding:clamp(28px,4.2vw,68px)!important;position:relative}
.mspv-detail-shell #sportInfoSection::before{content:""!important;display:block;position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--mspv-deep),var(--mspv-accent),var(--mspv-light));}
.mspv-detail-shell #sportInfoSection::after{content:"01";position:absolute;right:35px;top:23px;color:color-mix(in srgb,var(--mspv-accent) 7%,white);font-size:clamp(72px,14vw,170px);font-weight:950;line-height:1;pointer-events:none}
.mspv-detail-shell #sportInfoSection .row{position:relative;z-index:1}
.mspv-detail-shell #sportDetailTitle{font-size:clamp(33px,4.1vw,66px)!important;letter-spacing:-.052em!important;line-height:1.06!important;max-width:850px;color:#102024!important}
.mspv-detail-shell .sport-section-title,.mspv-detail-shell .hotel-section-title{
 font-size:11px!important;letter-spacing:.18em!important;font-weight:800!important;color:var(--mspv-accent)!important;margin-bottom:24px!important;
}
.mspv-detail-shell .inventory-cat-label{
 background:var(--mspv-soft)!important;color:var(--mspv-deep)!important;border-radius:2px!important;
 padding:8px 12px!important;font-size:10px!important;
}
.mspv-detail-shell .sport-camp-description-box{border-left:3px solid var(--mspv-accent)!important;color:#44535a!important;font-size:15px!important;line-height:1.93!important;padding-left:24px!important}
.mspv-detail-shell #sportInfoSection .logistic-card{
 background:var(--mspv-soft)!important;border:1px solid #dce6e0!important;
 border-left:4px solid var(--mspv-accent)!important;padding:21px!important;border-radius:3px!important;
}
.mspv-detail-shell #sportInfoSection .logistic-title{color:var(--mspv-deep)!important;font-size:13px!important}
.mspv-detail-shell #sportInfoSection .slot-item{border-radius:2px!important;border-left:3px solid var(--mspv-accent)!important}
.mspv-detail-shell #sportPitches{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px!important;margin-top:18px!important;
}
.mspv-detail-shell #sportPitches>.pitch-summary-row{
 margin:0!important;padding:23px!important;border:1px solid #e0e7e4!important;
 border-top:4px solid var(--mspv-accent)!important;border-left:1px solid #e0e7e4!important;
 border-radius:3px!important;background:linear-gradient(145deg,#fff 58%,var(--mspv-soft))!important;
 box-shadow:none!important;display:flex!important;flex-direction:column;
}
.mspv-detail-shell #sportPitches .pitch-summary-row .pitch-chip{
 font-size:clamp(22px,2.15vw,36px)!important;color:var(--mspv-deep)!important;font-weight:900!important;letter-spacing:-.03em!important;
}
.mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-dimension{
 background:var(--mspv-soft)!important;color:var(--mspv-accent)!important;border-radius:2px!important;font-size:14px!important;padding:8px 10px!important;
}
.mspv-detail-shell #sportPitches .pitch-summary-highlights{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:15px!important;
}
.mspv-detail-shell #sportPitches .pitch-highlight-item{
 background:#fff!important;border:1px solid #e5ebe7!important;border-radius:2px!important;padding:10px!important;
 font-size:12px!important;line-height:1.5!important;color:#253d36!important;overflow-wrap:anywhere;
}
.mspv-detail-shell #sportPitches .pitch-highlight-item i{background:var(--mspv-accent)!important;border-radius:3px!important}
.mspv-detail-shell #sportCommonFeatures{background:var(--mspv-soft)!important;border:1px solid #dce7dd!important;border-radius:3px!important}
.mspv-detail-shell #sportCommonFeatures .badge{background:#fff!important;border:1px solid #d7e3db!important;border-radius:2px!important;color:var(--mspv-deep)!important}
/* Hotel overview is deliberately calmer than the athletic chapter. */
.mspv-detail-shell #hotelInfoSection{background:#fff!important;padding:clamp(26px,3.6vw,58px)!important;position:relative}
.mspv-detail-shell #hotelInfoSection::before{content:"";height:6px;background:var(--mspv-accent);position:absolute;top:0;left:0;right:0;opacity:.82}
.mspv-detail-shell #detailHotelTitle{font-size:clamp(28px,3vw,50px)!important;line-height:1.08!important;color:var(--mspv-deep)!important}
.mspv-detail-shell .detail-seo-text{font-size:15px!important;line-height:1.91!important;color:#516067!important;text-align:left!important}
.mspv-detail-shell .room-cap-grid{gap:9px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mspv-detail-shell .room-cap-item{background:var(--mspv-soft)!important;border:1px solid #dce7e0!important;border-radius:2px!important;min-height:84px}
.mspv-detail-shell .room-cap-item :is(strong,span){overflow-wrap:anywhere}
.mspv-detail-shell #hotelInfoSection .bg-light-subtle,.mspv-detail-shell #hotelFacilitiesSection .bg-light-subtle{background:#f9faf9!important;border:1px solid #e3e9e7!important;border-radius:3px!important}
.mspv-detail-shell #hotelFacilitiesSection{background:#fff!important;padding:clamp(26px,3.6vw,58px)!important}
.mspv-detail-shell #hotelFacilitiesSection h5{font-size:clamp(22px,2.6vw,39px)!important;color:var(--mspv-deep)!important;letter-spacing:-.035em!important}
.mspv-detail-shell #hotelFacilitiesSection .row{--bs-gutter-x:18px}
.mspv-detail-shell .inv-free{color:var(--mspv-accent)!important}
.mspv-detail-shell #sportMediaSection{
 background:var(--mspv-deep)!important;color:#fff!important;padding:clamp(26px,3.6vw,55px)!important;position:relative;
}
.mspv-detail-shell #sportMediaSection .sport-section-title,.mspv-detail-shell #sportMediaSection .inventory-cat-label{color:var(--mspv-light)!important}
.mspv-detail-shell #sportMediaSection .inventory-cat-label{background:rgba(255,255,255,.10)!important}
.mspv-detail-shell #sportMediaGalleryGrid img,.mspv-detail-shell #sportMediaYoutubeWrap iframe{border-radius:3px!important;box-shadow:0 10px 24px #0003}
.mspv-detail-shell #hotelMediaSection{background:var(--mspv-soft)!important;padding:clamp(26px,3.6vw,55px)!important}
.mspv-detail-shell #addSportsSection,.mspv-detail-shell #otherSportsSection{background:#fff!important;border:1px solid #e1e6e3!important;border-radius:3px!important;margin:10px 0 20px!important;padding:clamp(22px,3vw,42px)!important}
.mspv-detail-shell #addSportsSection .msp-sport-chip,.mspv-detail-shell #otherSportsSection .msp-sport-chip{border-radius:3px!important}
.mspv-detail-shell .region-hotels-section{background:#fff!important;padding:clamp(22px,3vw,44px)!important}
.mspv-detail-shell .region-hotels-heading h2{color:var(--mspv-deep)!important;font-size:clamp(24px,2.7vw,40px)!important}
.mspv-detail-shell .region-hotels-controls button{border:1px solid #c8d8d0!important;border-radius:3px!important}
.mspv-detail-shell .region-hotel-card,.mspv-detail-shell .interested-hotel-card{border:1px solid #e1e7e3!important;border-radius:3px!important;box-shadow:0 8px 25px #11271c08!important;overflow:hidden}
.mspv-detail-shell .region-hotel-card .card-visual{overflow:hidden}
.mspv-detail-shell .region-hotel-card .card-img{transition:transform .25s ease}
.mspv-detail-shell .region-hotel-card:hover .card-img{transform:scale(1.025)}
/* Never expose empty placeholders. V2's availability checks remain the gate. */
.mspv-detail-shell .mspv-is-empty,.mspv-detail-shell [hidden]{display:none!important}
/* No photo: resort branding is an intentional sport-color visual, not a fake photo. */
.mspv-detail-shell .mspv-scene.mspv-no-media{min-height:470px!important;background:linear-gradient(125deg,var(--mspv-deep),var(--mspv-accent))!important}
.mspv-detail-shell .mspv-scene.mspv-no-media .mspv-editorial{min-height:470px!important}
.mspv-detail-shell .mspv-scene.mspv-no-media::after{background:radial-gradient(circle at 90% 7%,rgba(255,255,255,.15),transparent 32%)}
.mspv-detail-shell .mspv-visual.mspv-single-photo .mspv-photo-layout{grid-template-columns:1fr!important}
.mspv-detail-shell .mspv-visual.mspv-no-main-photo .mspv-photo-layout{grid-template-columns:1fr!important}
.mspv-detail-shell .mspv-visual.mspv-no-main-photo #detailThumbGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(max-width:1160px){
 .mspv-detail-shell .mspv-editorial-center{width:85%}
 .mspv-detail-shell #sportPitches{grid-template-columns:1fr}
 .mspv-detail-shell .mspv-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mspv-detail-shell .mspv-keyfact:nth-child(2){border-right:0!important}
}
@media(max-width:991.98px){
 #detailSportPageRoot.mspv-detail-shell,#detailPageRoot.mspv-detail-shell{margin-top:74px!important;padding:0 10px!important}
 .mspv-detail-shell .mspv-scene{min-height:660px!important}
 .mspv-detail-shell .mspv-visual{min-height:0!important;max-height:none!important}
 .mspv-detail-shell .mspv-editorial{min-height:660px!important;max-height:none!important;padding:29px!important}
 .mspv-detail-shell .mspv-editorial-center{width:100%;padding-bottom:12px}
 .mspv-detail-shell #mspxIntroTitle{font-size:clamp(44px,8vw,82px)!important}
 .mspv-detail-shell .mspv-editorial-bottom{justify-content:flex-start!important}
 .mspv-detail-shell .mspv-action-mount{min-width:0;max-width:300px!important;width:100%!important}
 .mspv-detail-shell .mspv-photo-layout .image-overlay-tags{top:85px!important;max-width:60%}
 .mspv-detail-shell .mspv-nav{top:var(--mspv-header-offset,100px)!important}
 .mspv-detail-shell #sportInfoSection,.mspv-detail-shell #hotelInfoSection,.mspv-detail-shell #hotelFacilitiesSection,.mspv-detail-shell #sportMediaSection,.mspv-detail-shell #hotelMediaSection{padding:25px!important}
 .mspv-detail-shell #sportInfoSection::after{font-size:78px}
 .mspv-detail-shell #sportPitches .pitch-summary-highlights{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:575.98px){
 #detailSportPageRoot.mspv-detail-shell,#detailPageRoot.mspv-detail-shell{padding:0!important;margin:68px auto 70px!important}
 .mspv-detail-shell .mspv-scene{min-height:565px!important;border-radius:0!important}
 .mspv-detail-shell .mspv-visual{inset:0!important;min-height:0!important}
 .mspv-detail-shell .mspv-editorial{min-height:565px!important;padding:19px 19px 27px!important}
 #detailSportPageRoot.mspv-detail-shell #sportHeroSection.mspv-photo-layout,
 #detailPageRoot.mspv-detail-shell .mspv-photo-layout{grid-template-columns:1fr!important}
 .mspv-detail-shell .mspv-photo-layout>.col-lg-5{display:none!important}
 .mspv-detail-shell #mspxIntroTitle{font-size:clamp(41px,11vw,66px)!important;letter-spacing:-.062em!important;line-height:.99!important}
 .mspv-detail-shell .mspv-editorial-center{margin:auto 0 6px!important}
 .mspv-detail-shell .mspv-back{font-size:11px!important;padding:10px!important}
 .mspv-detail-shell .mspv-share{height:40px;width:40px}
 .mspv-detail-shell .mspv-overline{font-size:10px!important;letter-spacing:.12em!important}
 .mspv-detail-shell .mspv-credentials>span{padding:7px 9px!important;font-size:9px!important}
 .mspv-detail-shell #mspxActionMount>.detail-quote-heart-btn{min-height:58px!important;font-size:12px!important;padding:14px!important}
 .mspv-detail-shell .mspv-action-mount{max-width:100%!important}
 .mspv-detail-shell .mspv-photo-button{bottom:14px!important;right:14px!important;padding:8px 11px!important;font-size:10px!important;max-width:130px}
 .mspv-detail-shell .mspv-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .mspv-detail-shell .mspv-keyfact{min-height:79px!important;padding:12px 10px!important;gap:7px!important}
 .mspv-detail-shell .mspv-keyfact>i{width:33px!important;height:33px!important;font-size:15px!important}
 .mspv-detail-shell .mspv-keyfact strong{font-size:14px!important}
 .mspv-detail-shell .mspv-keyfact small{font-size:9px!important}
 .mspv-detail-shell .mspv-nav{margin-bottom:13px!important;border-radius:0!important}
 .mspv-detail-shell .mspv-nav-track>a{font-size:10px!important;padding:12px!important}
 .mspv-detail-shell #sportPageFlow{gap:12px!important}
 .mspv-detail-shell #sportInfoSection,.mspv-detail-shell #hotelInfoSection,.mspv-detail-shell #hotelFacilitiesSection,.mspv-detail-shell #sportMediaSection,.mspv-detail-shell #hotelMediaSection{padding:19px!important;margin-bottom:12px!important}
 .mspv-detail-shell #sportDetailTitle{font-size:clamp(27px,8vw,41px)!important}
 .mspv-detail-shell .sport-camp-description-box{font-size:13px!important;padding-left:13px!important}
 .mspv-detail-shell #sportPitches{grid-template-columns:1fr!important}
 .mspv-detail-shell #sportPitches>.pitch-summary-row{padding:15px!important}
 .mspv-detail-shell #sportPitches .pitch-summary-row .pitch-summary-highlights{grid-template-columns:1fr!important}
 .mspv-detail-shell .room-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .mspv-detail-shell .region-hotels-section{padding:18px 12px!important}
 .mspv-detail-shell .mspv-scene.mspv-no-media,.mspv-detail-shell .mspv-scene.mspv-no-media .mspv-editorial{min-height:440px!important}
}
@media(prefers-reduced-motion:reduce){.mspv-detail-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Initial-render sport palette: exact QF values, eliminates color flash. */
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="1"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="1"]{--mspv-deep:#124b2c;--mspv-accent:#1b6039;--mspv-hover:#27774a;--mspv-light:#8cdaa0;--mspv-soft:#eff8f1;--mspv-glow:rgba(111,204,125,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="2"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="2"]{--mspv-deep:#793a1b;--mspv-accent:#9a4c25;--mspv-hover:#ac5d2f;--mspv-light:#ffd098;--mspv-soft:#fff3e9;--mspv-glow:rgba(255,172,92,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="3"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="3"]{--mspv-deep:#0c496c;--mspv-accent:#0d658d;--mspv-hover:#167da7;--mspv-light:#98e4fb;--mspv-soft:#edf8fd;--mspv-glow:rgba(98,207,238,.25);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="6"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="6"]{--mspv-deep:#793824;--mspv-accent:#95432d;--mspv-hover:#ab5237;--mspv-light:#ffc29b;--mspv-soft:#fff4ed;--mspv-glow:rgba(250,170,112,.24);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="7"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="7"]{--mspv-deep:#2b3a55;--mspv-accent:#405171;--mspv-hover:#546787;--mspv-light:#c0d3ff;--mspv-soft:#f1f5fc;--mspv-glow:rgba(141,171,227,.25);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="8"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="8"]{--mspv-deep:#752a37;--mspv-accent:#923442;--mspv-hover:#a84150;--mspv-light:#ffb0b3;--mspv-soft:#fff1f3;--mspv-glow:rgba(239,116,130,.25);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="10"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="10"]{--mspv-deep:#2b4b23;--mspv-accent:#385f2d;--mspv-hover:#4c7738;--mspv-light:#c4e99d;--mspv-soft:#f2f7e9;--mspv-glow:rgba(166,215,105,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="13"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="13"]{--mspv-deep:#6a4f22;--mspv-accent:#8e6c2d;--mspv-hover:#a08039;--mspv-light:#f3d996;--mspv-soft:#fff9e9;--mspv-glow:rgba(240,196,105,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="15"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="15"]{--mspv-deep:#154c32;--mspv-accent:#1e6743;--mspv-hover:#2b7d51;--mspv-light:#a9e7a8;--mspv-soft:#eef8f0;--mspv-glow:rgba(143,222,135,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="16"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="16"]{--mspv-deep:#12565c;--mspv-accent:#1a7076;--mspv-hover:#26868c;--mspv-light:#a1e6dc;--mspv-soft:#edfaf8;--mspv-glow:rgba(109,219,211,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="17"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="17"]{--mspv-deep:#50385d;--mspv-accent:#684c77;--mspv-hover:#80628e;--mspv-light:#eed0f2;--mspv-soft:#f8f0fa;--mspv-glow:rgba(221,163,234,.23);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="18"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="18"]{--mspv-deep:#214864;--mspv-accent:#2b6384;--mspv-hover:#3d799a;--mspv-light:#b7eaff;--mspv-soft:#eef8fd;--mspv-glow:rgba(144,217,246,.25);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="19"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="19"]{--mspv-deep:#3d5125;--mspv-accent:#526b30;--mspv-hover:#69823f;--mspv-light:#d3ef9c;--mspv-soft:#f6f9eb;--mspv-glow:rgba(191,226,115,.22);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="20"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="20"]{--mspv-deep:#5b2530;--mspv-accent:#75303e;--mspv-hover:#933e50;--mspv-light:#f4b4bf;--mspv-soft:#fff1f4;--mspv-glow:rgba(231,121,147,.22);}
#detailSportPageRoot.mspv-detail-shell[data-sport-category-id="21"], #detailPageRoot.mspv-detail-shell[data-sport-category-id="21"]{--mspv-deep:#194159;--mspv-accent:#205976;--mspv-hover:#2d718d;--mspv-light:#a8e4f1;--mspv-soft:#eff8fc;--mspv-glow:rgba(132,213,238,.23);}

/* Readable long-form editorial: complete source remains, never truncated in DOM. */
.mspv-detail-shell .mspv-copy-collapsed{max-height:240px;overflow:hidden;position:relative;mask-image:linear-gradient(180deg,#000 82%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent)}
.mspv-detail-shell .mspv-copy-expanded{max-height:none!important;mask-image:none!important;-webkit-mask-image:none!important}
.mspv-detail-shell .mspv-readmore{margin:12px 0 20px;padding:11px 15px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--mspv-accent);border-radius:3px;background:var(--mspv-soft);color:var(--mspv-deep);font:800 11px/1.2 Inter,Arial,sans-serif;cursor:pointer;letter-spacing:.025em}
.mspv-detail-shell .mspv-readmore:hover{background:var(--mspv-accent);color:#fff}
.mspv-detail-shell .mspv-readmore[hidden]{display:none!important}

/* ======================================================================
   MAD SPORTS PRO / DETAIL V4 — Facility atlas + reliable chapter navigation
   Pure visual enhancement. Source records, API data and form behavior remain.
   ====================================================================== */
#detailSportPageRoot.mspv-detail-shell,
#detailPageRoot.mspv-detail-shell{
  --mspv-anchor-offset:220px;
  scroll-padding-top:var(--mspv-anchor-offset);
}
html:has(.mspv-detail-shell){scroll-padding-top:var(--mspv-anchor-offset,220px)}
.mspv-detail-shell [id]{scroll-margin-top:var(--mspv-anchor-offset,220px)!important}

/* A compact floating chapter selector, not an opaque full-width shelf. */
#detailSportPageRoot.mspv-detail-shell #mspxDetailNav,
#detailPageRoot.mspv-detail-shell #mspxDetailNav{
  position:sticky!important;
  z-index:850!important;
  top:var(--mspv-header-offset,110px)!important;
  width:max-content!important;
  max-width:calc(100% - 10px)!important;
  min-height:0!important;
  margin:14px auto 22px!important;
  border:1px solid rgba(24,45,42,.12)!important;
  border-radius:5px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 32px rgba(14,38,34,.13)!important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  isolation:isolate;
}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track{
  gap:3px!important;padding:5px!important;display:flex!important;
  overscroll-behavior-inline:contain;
  scroll-padding-inline:8px;
}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a{
  min-height:39px!important;padding:10px 13px!important;
  font-size:10px!important;font-weight:800!important;letter-spacing:.035em!important;
  border:1px solid transparent!important;border-radius:3px!important;
  border-bottom:0!important;
  color:#455450!important;white-space:nowrap!important;
  text-transform:none!important;background:transparent!important;
}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a:is(:hover,:focus-visible){
  background:var(--mspv-soft)!important;color:var(--mspv-deep)!important;
  outline:0;border-color:color-mix(in srgb,var(--mspv-accent) 28%,white)!important;
}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a.is-active{
  background:var(--mspv-accent)!important;color:#fff!important;
  border-color:var(--mspv-accent)!important;
  box-shadow:0 4px 10px var(--mspv-glow)!important;
}
.mspv-detail-shell #mspxDetailNav .mspv-nav-progress{
  background:var(--mspv-accent)!important;opacity:.55;height:2px!important;
}
.mspv-detail-shell #mspxDetailNav.mspv-nav-pinned{box-shadow:0 10px 25px rgba(10,30,27,.19)!important}

/* Each actual facility becomes an editorial technical specification spread. */
.mspv-detail-shell #sportPitches{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:18px!important;max-width:100%!important;
}
.mspv-detail-shell #sportPitches .pitch-summary-row.mspv-facility-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr)!important;
  grid-template-areas:'heading heading' 'drawing features'!important;
  gap:16px 22px!important;
  align-items:stretch!important;
  padding:clamp(17px,2vw,27px)!important;
  margin:0!important;
  border:1px solid #dce5e0!important;
  border-top:4px solid var(--mspv-accent)!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:0 15px 34px rgba(17,40,33,.055)!important;
  overflow:hidden!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card>.pitch-summary-top{
  grid-area:heading!important;min-width:0!important;display:flex!important;
  align-items:center!important;justify-content:space-between!important;
  flex-wrap:wrap!important;gap:9px 18px!important;
  padding:0 0 17px!important;margin:0!important;
  border-bottom:1px solid #e5ede8!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-summary-title-wrap{
  display:flex!important;align-items:center!important;min-width:0;gap:11px!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-icon-badge{
  background:var(--mspv-accent)!important;color:#fff!important;
  width:44px!important;height:44px!important;border:0!important;border-radius:3px!important;
  box-shadow:none!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-chip{
  font-family:Inter,system-ui,Arial,sans-serif!important;
  font-weight:900!important;letter-spacing:-.035em!important;
  line-height:1.08!important;font-size:clamp(20px,2.2vw,32px)!important;
  color:#182b2b!important;overflow-wrap:anywhere;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-summary-dimension{
  display:inline-flex!important;align-items:center;justify-content:center;
  background:var(--mspv-soft)!important;border:1px solid color-mix(in srgb,var(--mspv-accent) 20%,white)!important;
  padding:9px 12px!important;color:var(--mspv-deep)!important;
  line-height:1.45!important;letter-spacing:.01em!important;font-size:12px!important;
  font-weight:800!important;border-radius:3px!important;white-space:normal!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pool-type-chip{
  background:var(--mspv-soft)!important;color:var(--mspv-accent)!important;
  border:1px solid color-mix(in srgb,var(--mspv-accent) 17%,white)!important;
  border-radius:3px!important;margin:0!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram{
  grid-area:drawing!important;display:flex!important;flex-direction:column!important;
  min-height:0!important;min-width:0!important;align-self:start;
  margin:0!important;border-radius:4px!important;
  background:linear-gradient(133deg,var(--mspv-deep) 0%,var(--mspv-accent) 100%)!important;
  overflow:hidden!important;box-shadow:0 12px 20px rgba(14,27,22,.12)!important;
}
.mspv-detail-shell .mspv-diagram-canvas{
  width:100%!important;padding:8px!important;aspect-ratio:520/280;
  background:linear-gradient(148deg,transparent 40%,rgba(255,255,255,.12) 100%);
}
.mspv-detail-shell .mspv-diagram-canvas svg{
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;
  overflow:visible;filter:drop-shadow(0 1px 1px rgba(2,18,19,.08));
}
.mspv-detail-shell .mspv-diagram-caption{
  padding:9px 12px!important;font-size:10px!important;letter-spacing:.015em;
  line-height:1.45!important;font-weight:600!important;color:rgba(255,255,255,.82)!important;
  background:rgba(0,0,0,.18)!important;display:flex!important;align-items:center;gap:8px!important;
}
.mspv-detail-shell .mspv-diagram-caption i{font-size:12px;flex-shrink:0;}
.mspv-detail-shell #sportPitches .mspv-facility-card>.pitch-summary-highlights{
  grid-area:features!important;
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;margin:0!important;max-width:none!important;
  align-content:start!important;min-width:0!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-highlight-item{
  display:flex!important;align-items:flex-start!important;gap:8px!important;
  min-width:0!important;min-height:54px!important;
  background:#f6f8f7!important;border:1px solid #e5ece8!important;
  border-radius:3px!important;margin:0!important;padding:12px!important;
  color:#243934!important;font-size:12px!important;line-height:1.5!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-highlight-item i{
  width:18px!important;height:18px!important;flex:0 0 18px!important;
  display:grid!important;place-items:center!important;
  background:var(--mspv-accent)!important;color:#fff!important;
  border-radius:3px!important;padding:0!important;font-size:10px!important;margin-top:1px!important;
}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-highlight-item span{
  color:#243934!important;font-weight:560!important;overflow-wrap:anywhere!important;
}
/* Less visual dead space in photo-light sport facilities and room/service chapters. */
.mspv-detail-shell #sportMediaSection.mspv-media-compact{
  min-height:0!important;padding-bottom:clamp(20px,2.5vw,34px)!important;
}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid{
  display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:12px!important;
}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid>*{
  flex:0 1 300px!important;max-width:100%!important;margin:0!important;
}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid img{
  width:100%!important;max-height:230px!important;object-fit:cover!important;
}
.mspv-detail-shell #otherSportsSection .sports-collapse-wrap{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;max-height:none!important;overflow:visible!important;
}
.mspv-detail-shell #otherSportsSection .msp-sport-chip{
  min-width:0!important;border-radius:4px!important;
  box-shadow:none!important;
}
@media (max-width:1100px){
 .mspv-detail-shell #sportPitches .pitch-summary-row.mspv-facility-card{
   grid-template-columns:minmax(0,1fr)!important;
   grid-template-areas:'heading' 'drawing' 'features'!important;
 }
 .mspv-detail-shell #otherSportsSection .sports-collapse-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px){
 #detailSportPageRoot.mspv-detail-shell #mspxDetailNav,
 #detailPageRoot.mspv-detail-shell #mspxDetailNav{
   max-width:calc(100% - 12px)!important;
   margin:8px auto 14px!important;
   border-radius:4px!important;
 }
 .mspv-detail-shell #mspxDetailNav .mspv-nav-track{padding:4px!important}
 .mspv-detail-shell #mspxDetailNav .mspv-nav-track>a{
   min-height:38px!important;padding:9px 11px!important;font-size:10px!important;
 }
 .mspv-detail-shell #sportPitches .pitch-summary-row.mspv-facility-card{
   padding:15px!important;gap:13px!important;
 }
 .mspv-detail-shell #sportPitches .mspv-facility-card .pitch-summary-title-wrap{gap:7px!important}
 .mspv-detail-shell #sportPitches .mspv-facility-card .pitch-chip{font-size:22px!important}
 .mspv-detail-shell #sportPitches .mspv-facility-card>.pitch-summary-highlights{
   grid-template-columns:1fr!important;gap:7px!important;
 }
 .mspv-detail-shell #sportPitches .mspv-facility-card .pitch-highlight-item{
   min-height:0!important;padding:10px 11px!important;
 }
 .mspv-detail-shell #otherSportsSection .sports-collapse-wrap{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){
 .mspv-detail-shell #mspxDetailNav,
 .mspv-detail-shell #sportPitches .mspv-facility-card{transition:none!important}
}
/* Data-generated quick access to distinct pitch/pool/court records. */
.mspv-detail-shell .mspv-facility-nav{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;
  margin:10px 0 20px;padding:12px;
  border:1px solid color-mix(in srgb,var(--mspv-accent) 22%,white);
  border-radius:4px;background:var(--mspv-soft);
}
.mspv-detail-shell .mspv-facility-nav[hidden]{display:none!important}
.mspv-detail-shell .mspv-facility-nav-title{
  flex:0 0 auto;font-size:10px;font-weight:900;text-transform:uppercase;
  letter-spacing:.09em;color:var(--mspv-deep);
}
.mspv-detail-shell .mspv-facility-nav-track{
  flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;min-width:0;
}
.mspv-detail-shell .mspv-facility-nav-link{
  border:1px solid color-mix(in srgb,var(--mspv-accent) 23%,white);
  border-radius:3px;padding:8px 12px;background:#fff;color:var(--mspv-deep);
  font:800 11px/1.4 Inter,system-ui,Arial,sans-serif;cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.mspv-detail-shell .mspv-facility-nav-link:is(:hover,:focus-visible){
  background:var(--mspv-accent);color:white;outline:0;
}
@media(max-width:600px){
 .mspv-detail-shell .mspv-facility-nav{display:block;padding:11px}
 .mspv-detail-shell .mspv-facility-nav-title{display:block;margin-bottom:10px}
 .mspv-detail-shell .mspv-facility-nav-track{
   display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin;
 }
 .mspv-detail-shell .mspv-facility-nav-link{flex:0 0 auto}
}
/* MAD SPORTS PRO — Ultimate consumer detail | 2026-10-30
   Browser-drawn HTML/CSS sport lines. No inline SVG, canvas, fake dimensions or fake prices.
   Scoped to detail pages so site-wide typography/navigation remain unchanged. */
.mspv-detail-shell {--mspu-white:#fff;--mspu-border:#dfe8e3;--mspu-ink:#172726;}
.mspv-detail-shell .mspu-plan{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;aspect-ratio:1.86;overflow:hidden;background:repeating-linear-gradient(90deg,#ffffff0a 0%,#ffffff0a 12.5%,transparent 12.5%,transparent 25%),var(--mspv-accent);color:#fff;}
.mspv-detail-shell .mspu-line{position:absolute;display:block;pointer-events:none;box-sizing:border-box;}
.mspv-detail-shell .mspu-plan .mspu-line--boundary{inset:8% 5%;border:2px solid rgba(255,255,255,.9);}
.mspv-detail-shell .mspu-plan .mspu-line--half{top:8%;bottom:8%;left:50%;border-left:2px solid rgba(255,255,255,.9);}
.mspv-detail-shell .mspu-plan .mspu-line--centre{width:15%;aspect-ratio:1;border:2px solid rgba(255,255,255,.92);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);}
.mspv-detail-shell .mspu-plan .mspu-line--penalty-left{top:25%;bottom:25%;left:5%;width:18%;border:2px solid #ffffffe0;border-left:0;}
.mspv-detail-shell .mspu-plan .mspu-line--penalty-right{top:25%;bottom:25%;right:5%;width:18%;border:2px solid #ffffffe0;border-right:0;}
.mspv-detail-shell .mspu-plan .mspu-line--goalbox-left{top:37%;bottom:37%;left:5%;width:8%;border:2px solid #fff;border-left:0;}
.mspv-detail-shell .mspu-plan .mspu-line--goalbox-right{top:37%;bottom:37%;right:5%;width:8%;border:2px solid #fff;border-right:0;}
.mspv-detail-shell .mspu-plan .mspu-line--goal-left{top:44%;bottom:44%;left:3%;width:2%;border:2px solid white;border-right:0;}
.mspv-detail-shell .mspu-plan .mspu-line--goal-right{top:44%;bottom:44%;right:3%;width:2%;border:2px solid white;border-left:0;}
.mspv-detail-shell .mspu-plan .mspu-line--spot-left,.mspv-detail-shell .mspu-plan .mspu-line--spot-right{width:4px;height:4px;background:#fff;border-radius:50%;top:50%;transform:translateY(-50%);}
.mspv-detail-shell .mspu-plan .mspu-line--spot-left{left:17%}.mspv-detail-shell .mspu-plan .mspu-line--spot-right{right:17%}
.mspv-detail-shell .mspu-plan .mspu-line--arc-left{top:40%;left:21%;height:20%;width:5%;border:2px solid #fff;border-left:0;border-radius:0 100% 100% 0;}
.mspv-detail-shell .mspu-plan .mspu-line--arc-right{top:40%;right:21%;height:20%;width:5%;border:2px solid #fff;border-right:0;border-radius:100% 0 0 100%;}
/* Basketball: hard-wood impression, CSS-only courts and lines. */
.mspv-detail-shell .mspu-plan--basketball{background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 13px,rgba(0,0,0,.04) 14px 15px),linear-gradient(120deg,#b57845,#d29d62);}
.mspv-detail-shell .mspu-plan .mspu-line--key-left,.mspv-detail-shell .mspu-plan .mspu-line--key-right{top:31%;height:38%;width:19%;border:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--key-left{left:5%;border-left:0;}.mspv-detail-shell .mspu-plan .mspu-line--key-right{right:5%;border-right:0;}
.mspv-detail-shell .mspu-plan .mspu-line--three-left,.mspv-detail-shell .mspu-plan .mspu-line--three-right{top:15%;height:70%;width:34%;border:2px solid #fff;border-radius:50%;}
.mspv-detail-shell .mspu-plan .mspu-line--three-left{left:-17%;}.mspv-detail-shell .mspu-plan .mspu-line--three-right{right:-17%;}
.mspv-detail-shell .mspu-plan .mspu-line--hoop-left,.mspv-detail-shell .mspu-plan .mspu-line--hoop-right{top:46%;width:7%;aspect-ratio:1;border:2px solid #fff;border-radius:50%;}
.mspv-detail-shell .mspu-plan .mspu-line--hoop-left{left:8%;}.mspv-detail-shell .mspu-plan .mspu-line--hoop-right{right:8%;}
.mspv-detail-shell .mspu-plan .mspu-line--backboard-left,.mspv-detail-shell .mspu-plan .mspu-line--backboard-right{top:41%;height:18%;border-left:3px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--backboard-left{left:7.5%;}.mspv-detail-shell .mspu-plan .mspu-line--backboard-right{right:7.5%;}
/* Swimming: actual number of lanes if supplied; otherwise six strictly illustrative rows. */
.mspv-detail-shell .mspu-plan--swimming,.mspv-detail-shell .mspu-plan--rowing-canoeing{background:repeating-linear-gradient(0deg,#ffffff0a 0 20px,transparent 20px 40px),linear-gradient(130deg,#087ab3,#0c597f);}
.mspv-detail-shell .mspu-plan .mspu-line--pool-boundary,.mspv-detail-shell .mspu-plan .mspu-line--water-boundary{inset:9% 5%;border:3px solid #ffffffd9;border-radius:3px;}
.mspv-detail-shell .mspu-swim-lanes{position:absolute;inset:9% 5%;display:grid;grid-template-rows:repeat(var(--mspu-lanes,6),1fr);}
.mspv-detail-shell .mspu-swim-lanes .mspu-line--swim-lane{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:100%;height:100%;border-bottom:2px dashed #f7d86ba8;box-shadow:inset 0 1px #fff6;}
.mspv-detail-shell .mspu-plan .mspu-line--pool-start-left,.mspv-detail-shell .mspu-plan .mspu-line--pool-start-right{top:7%;height:86%;width:2%;background:repeating-linear-gradient(to bottom,#fff 0 5px,transparent 5px 16px);}.mspv-detail-shell .mspu-plan .mspu-line--pool-start-left{left:5%;}.mspv-detail-shell .mspu-plan .mspu-line--pool-start-right{right:5%;}
/* Tennis and volleyball use simple CSS sidelines and service/attack/net lines. */
.mspv-detail-shell .mspu-plan--tennis{background:linear-gradient(145deg,#ad6349,#bf8061);}
.mspv-detail-shell .mspu-plan .mspu-line--tennis-single-top{top:22%;left:5%;right:5%;border-top:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--tennis-single-bottom{bottom:22%;left:5%;right:5%;border-top:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--tennis-service-left{left:28%;top:22%;bottom:22%;border-left:2px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--tennis-service-right{right:28%;top:22%;bottom:22%;border-left:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--tennis-service-mid{top:50%;left:28%;right:28%;border-top:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--tennis-net,.mspv-detail-shell .mspu-plan .mspu-line--volley-net{top:6%;bottom:6%;left:50%;border-left:3px dashed #ffe4b4;}
.mspv-detail-shell .mspu-plan--volleyball{background:linear-gradient(120deg,#b97943,#dba369);}
.mspv-detail-shell .mspu-plan .mspu-line--volley-attack-left{top:8%;bottom:8%;left:33.3%;border-left:2px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--volley-attack-right{top:8%;bottom:8%;right:33.3%;border-left:2px solid #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--volley-pole-top,.mspv-detail-shell .mspu-plan .mspu-line--volley-pole-bottom{width:8px;height:8px;background:white;border-radius:50%;left:calc(50% - 4px);}.mspv-detail-shell .mspu-plan .mspu-line--volley-pole-top{top:5%;}.mspv-detail-shell .mspu-plan .mspu-line--volley-pole-bottom{bottom:5%;}
/* Ice-hockey rink: rink borders, blue lines, central red line, face-off circles. */
.mspv-detail-shell .mspu-plan--ice-hockey{background:linear-gradient(115deg,#d7f2fc,#f3fbff);}
.mspv-detail-shell .mspu-plan .mspu-line--rink-boundary{inset:7% 4%;border:4px solid #aa2b3b;border-radius:26% / 40%;}
.mspv-detail-shell .mspu-plan .mspu-line--ice-blue-left,.mspv-detail-shell .mspu-plan .mspu-line--ice-blue-right{top:7%;bottom:7%;border-left:5px solid #3d95da;}.mspv-detail-shell .mspu-plan .mspu-line--ice-blue-left{left:35%;}.mspv-detail-shell .mspu-plan .mspu-line--ice-blue-right{right:35%;}
.mspv-detail-shell .mspu-plan .mspu-line--ice-mid{top:7%;bottom:7%;left:50%;border-left:3px solid #dd4455;}
.mspv-detail-shell .mspu-plan--ice-hockey .mspu-line--centre{border-color:#cc4758;width:13%;}
.mspv-detail-shell .mspu-plan .mspu-line--faceoff-lt,.mspv-detail-shell .mspu-plan .mspu-line--faceoff-lb,.mspv-detail-shell .mspu-plan .mspu-line--faceoff-rt,.mspv-detail-shell .mspu-plan .mspu-line--faceoff-rb{width:12%;aspect-ratio:1;border:2px solid #ca465c;border-radius:50%;}.mspv-detail-shell .mspu-plan .mspu-line--faceoff-lt{left:14%;top:15%;}.mspv-detail-shell .mspu-plan .mspu-line--faceoff-lb{left:14%;bottom:15%;}.mspv-detail-shell .mspu-plan .mspu-line--faceoff-rt{right:14%;top:15%;}.mspv-detail-shell .mspu-plan .mspu-line--faceoff-rb{right:14%;bottom:15%;}
.mspv-detail-shell .mspu-plan .mspu-line--ice-goal-left,.mspv-detail-shell .mspu-plan .mspu-line--ice-goal-right{top:42%;height:16%;width:5%;border:2px solid #c94352;border-radius:50%;}.mspv-detail-shell .mspu-plan .mspu-line--ice-goal-left{left:6%;}.mspv-detail-shell .mspu-plan .mspu-line--ice-goal-right{right:6%;}
/* Tracks, rugby and field hockey */
.mspv-detail-shell .mspu-plan--athletics{background:#b34b4e;}
.mspv-detail-shell .mspu-plan .mspu-line--track-outer,.mspv-detail-shell .mspu-plan .mspu-line--track-lane-1,.mspv-detail-shell .mspu-plan .mspu-line--track-lane-2,.mspv-detail-shell .mspu-plan .mspu-line--track-lane-3,.mspv-detail-shell .mspu-plan .mspu-line--track-lane-4,.mspv-detail-shell .mspu-plan .mspu-line--track-inner{border:2px solid #fff; border-radius:999px;}
.mspv-detail-shell .mspu-plan .mspu-line--track-outer{inset:5% 4%;}.mspv-detail-shell .mspu-plan .mspu-line--track-lane-1{inset:10% 7%;}.mspv-detail-shell .mspu-plan .mspu-line--track-lane-2{inset:15% 10%;}.mspv-detail-shell .mspu-plan .mspu-line--track-lane-3{inset:20% 13%;}.mspv-detail-shell .mspu-plan .mspu-line--track-lane-4{inset:25% 16%;}.mspv-detail-shell .mspu-plan .mspu-line--track-inner{inset:30% 19%;background:#3c8a58;}.mspv-detail-shell .mspu-plan .mspu-line--track-finish{top:5%;bottom:30%;left:53%;border-left:3px dashed #fff;}
.mspv-detail-shell .mspu-plan .mspu-line--rugby-goal-left,.mspv-detail-shell .mspu-plan .mspu-line--rugby-goal-right{top:8%;bottom:8%;border-left:2px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-goal-left{left:14%;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-goal-right{right:14%;}
.mspv-detail-shell .mspu-plan .mspu-line--rugby-22-left,.mspv-detail-shell .mspu-plan .mspu-line--rugby-22-right,.mspv-detail-shell .mspu-plan .mspu-line--rugby-10-left,.mspv-detail-shell .mspu-plan .mspu-line--rugby-10-right{top:8%;bottom:8%;border-left:2px dashed #fff;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-22-left{left:26%;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-22-right{right:26%;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-10-left{left:40%;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-10-right{right:40%;}
.mspv-detail-shell .mspu-plan .mspu-line--rugby-post-left,.mspv-detail-shell .mspu-plan .mspu-line--rugby-post-right{top:45%;height:10%;width:2%;border:2px solid #fff;border-left:0;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-post-left{left:5%;}.mspv-detail-shell .mspu-plan .mspu-line--rugby-post-right{right:5%;transform:rotate(180deg);}
.mspv-detail-shell .mspu-plan .mspu-line--hockey-circle-left,.mspv-detail-shell .mspu-plan .mspu-line--hockey-circle-right{top:26%;height:48%;width:20%;border:2px solid #fff;border-radius:50%;}.mspv-detail-shell .mspu-plan .mspu-line--hockey-circle-left{left:-8%;}.mspv-detail-shell .mspu-plan .mspu-line--hockey-circle-right{right:-8%;}
/* Additional sports: precise-looking schematics, no invented venue dimensions */
.mspv-detail-shell .mspu-plan--golf{background:radial-gradient(ellipse at 78% 35%,#95c879 0 18%,transparent 19%),linear-gradient(140deg,#265d3e,#568954);}
.mspv-detail-shell .mspu-plan .mspu-line--golf-fairway{inset:20% 14%;border:25px solid #9dcc70;border-radius:48% 38% 51% 34%;transform:rotate(-8deg);opacity:.65;}.mspv-detail-shell .mspu-plan .mspu-line--golf-green{top:24%;right:17%;height:27%;width:18%;border:3px solid #eefbd6;border-radius:50%;background:#80b96b;}.mspv-detail-shell .mspu-plan .mspu-line--golf-hole{top:34%;right:24%;width:8px;height:8px;background:#111;border:2px solid #fff;border-radius:50%;}.mspv-detail-shell .mspu-plan .mspu-line--golf-flag{right:25%;top:16%;height:20%;border-left:3px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--golf-flag::after{content:'';position:absolute;left:0;top:0;border:11px solid transparent;border-left-color:#fff;}.mspv-detail-shell .mspu-plan .mspu-line--golf-bunker{left:24%;top:20%;height:16%;width:12%;background:#f7edcc;border-radius:45%;}.mspv-detail-shell .mspu-plan .mspu-line--golf-tee{bottom:24%;left:20%;width:15px;height:15px;border-radius:50%;border:3px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--golf-path{left:22%;top:32%;height:48%;width:45%;border-bottom:3px dashed #fff8;transform:rotate(-11deg);}
.mspv-detail-shell .mspu-plan--cycling{background:linear-gradient(135deg,#265a57,#31766c);}
.mspv-detail-shell .mspu-plan .mspu-line--cycle-track-outer{inset:17% 8%;border:22px solid #b6babc;border-radius:45% 28% 48% 34%;transform:rotate(-8deg);}.mspv-detail-shell .mspu-plan .mspu-line--cycle-track-inside{inset:22% 12%;border:2px dashed #fff;border-radius:45% 28% 48% 34%;transform:rotate(-8deg);}.mspv-detail-shell .mspu-plan .mspu-line--cycle-start{top:30%;left:12%;width:13px;height:13px;background:#40d3a9;border:2px solid white;border-radius:50%;}.mspv-detail-shell .mspu-plan .mspu-line--cycle-finish{bottom:27%;right:15%;width:13px;height:13px;background:#fbc45a;border:2px solid white;border-radius:50%;}
.mspv-detail-shell .mspu-plan .mspu-line--river-lane-1,.mspv-detail-shell .mspu-plan .mspu-line--river-lane-2,.mspv-detail-shell .mspu-plan .mspu-line--river-lane-3{left:5%;right:5%;border-top:2px dashed #ffffffa0;}.mspv-detail-shell .mspu-plan .mspu-line--river-lane-1{top:30%;}.mspv-detail-shell .mspu-plan .mspu-line--river-lane-2{top:50%;}.mspv-detail-shell .mspu-plan .mspu-line--river-lane-3{top:70%;}.mspv-detail-shell .mspu-plan .mspu-line--river-start,.mspv-detail-shell .mspu-plan .mspu-line--river-finish{top:9%;bottom:9%;border-left:3px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--river-start{left:16%;}.mspv-detail-shell .mspu-plan .mspu-line--river-finish{right:16%;}
.mspv-detail-shell .mspu-plan--martial-arts{background:repeating-conic-gradient(#b04054 0 25%,#a03649 0 50%) 0 0/55px 55px;}.mspv-detail-shell .mspu-plan .mspu-line--mat-boundary{inset:8% 23%;border:5px solid #fff;background:#fff1;}.mspv-detail-shell .mspu-plan .mspu-line--mat-inner{inset:16% 29%;border:2px dashed #fff;}.mspv-detail-shell .mspu-plan .mspu-line--mat-centre{top:50%;left:50%;width:17%;aspect-ratio:1;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-50%);}.mspv-detail-shell .mspu-plan .mspu-line--mat-corner-tl{left:23%;top:8%;height:13%;width:12%;background:#ddd;}.mspv-detail-shell .mspu-plan .mspu-line--mat-corner-br{right:23%;bottom:8%;height:13%;width:12%;background:#ddd;}
.mspv-detail-shell .mspu-plan--wellness-yoga{background:linear-gradient(145deg,#96769d,#684c77);}.mspv-detail-shell .mspu-plan .mspu-line--studio-boundary{inset:8% 10%;border:3px solid #fff8;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-1,.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-2,.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-3,.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-4{height:23%;width:18%;border:3px solid #f4daec;border-radius:10px;background:#fff2;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-1{top:18%;left:25%;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-2{top:18%;right:25%;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-3{bottom:18%;left:25%;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-mat-4{bottom:18%;right:25%;}.mspv-detail-shell .mspu-plan .mspu-line--yoga-focus{top:50%;left:50%;width:12%;aspect-ratio:1;border:3px solid #f3c5e0;border-radius:50%;transform:translate(-50%,-50%);}
.mspv-detail-shell .mspu-plan .mspu-line--indoor-goal-left,.mspv-detail-shell .mspu-plan .mspu-line--indoor-goal-right{top:34%;height:32%;width:14%;border:2px solid #fff;}.mspv-detail-shell .mspu-plan .mspu-line--indoor-goal-left{left:5%;border-left:0;}.mspv-detail-shell .mspu-plan .mspu-line--indoor-goal-right{right:5%;border-right:0;}
/* A retail-style inventory experience, without changing any API-generated content. */
.mspv-detail-shell #sportPitches .pitch-summary-row.mspv-facility-card{border:1px solid #d9e4de!important;border-top:0!important;border-left:4px solid var(--mspv-accent)!important;box-shadow:0 3px 12px #1527210b!important;background:#fff!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram{border:1px solid #ffffff26!important;border-radius:4px!important;box-shadow:none!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram-canvas{padding:11px!important;aspect-ratio:1.86!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-highlight-item{background:#fff!important;min-height:0!important;border-color:#e5ebe7!important;padding:10px 11px!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-chip{font-size:clamp(18px,2vw,27px)!important;letter-spacing:-.02em!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .pitch-summary-top{border-bottom-color:#eef1ed!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram-caption{font-size:10px!important;}
.mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram--ice-hockey{background:linear-gradient(130deg,#224a69,#367ea2)!important;}
/* Customer overview panel: digestible facts and direct actions, all real data. */
.mspv-detail-shell .mspu-discovery{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:16px 0 22px;padding:18px 20px;border:1px solid var(--mspu-border);border-left:4px solid var(--mspv-accent);background:#fff;border-radius:4px;}
.mspv-detail-shell .mspu-discovery[hidden]{display:none!important;}
.mspv-detail-shell .mspu-discovery__eyebrow{display:block;font-size:10px;letter-spacing:.12em;font-weight:850;color:var(--mspv-accent);text-transform:uppercase;margin-bottom:6px;}
.mspv-detail-shell .mspu-discovery__title{font-size:clamp(17px,1.45vw,23px);font-weight:850;color:#172824;margin:0 0 5px;line-height:1.15;letter-spacing:-.03em;}
.mspv-detail-shell .mspu-discovery__subtitle{font-size:12px;line-height:1.55;color:#596965;margin:0;max-width:70ch;}
.mspv-detail-shell .mspu-discovery__links{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.mspv-detail-shell .mspu-go{appearance:none;border:1px solid #cbdcd0;border-radius:3px;background:#fff;color:var(--mspv-deep);font-weight:800;font-size:11px;padding:12px 15px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;}
.mspv-detail-shell .mspu-go.primary{background:var(--mspv-accent);border-color:var(--mspv-accent);color:#fff;}
.mspv-detail-shell .mspu-go:hover{border-color:var(--mspv-accent);box-shadow:0 4px 14px #223c2717;}
/* Compact nav = precise scroll, strong active state, no large floating billboard. */
#detailSportPageRoot.mspv-detail-shell #mspxDetailNav,#detailPageRoot.mspv-detail-shell #mspxDetailNav{z-index:890!important;top:var(--mspv-header-offset,100px)!important;min-height:0!important;margin:10px 0 20px!important;border-radius:3px!important;background:#fff!important;border:1px solid #e3e9e4!important;box-shadow:0 8px 20px #1a29180f!important;}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track{display:flex;gap:2px!important;padding:5px!important;scroll-behavior:smooth;}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a{font-size:10px!important;min-height:39px!important;padding:10px 12px!important;border-radius:3px!important;border:0!important;color:#445750!important;font-weight:760!important;line-height:1.2!important;}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a.is-active{background:var(--mspv-soft)!important;color:var(--mspv-deep)!important;box-shadow:inset 0 -3px var(--mspv-accent)!important;}
.mspv-detail-shell #mspxDetailNav .mspv-nav-track>a:focus-visible,.mspv-detail-shell .mspu-go:focus-visible{outline:3px solid var(--mspv-light)!important;outline-offset:1px;}
.mspv-detail-shell #mspxDetailNav .mspv-nav-progress{height:2px!important;background:var(--mspv-accent)!important;}
.mspv-detail-shell [id="sportInfoSection"],.mspv-detail-shell [id="sportMediaSection"],.mspv-detail-shell [id="hotelInfoSection"],.mspv-detail-shell [id="hotelFacilitiesSection"],.mspv-detail-shell [id="hotelMediaSection"],.mspv-detail-shell [id="addSportsSection"],.mspv-detail-shell [id="otherSportsSection"],.mspv-detail-shell [id="otherHotelsRegionSection"]{scroll-margin-top:var(--mspv-anchor-offset,170px);}
/* Safer mobile commerce UX: no overlap with global site's bottom action strip. */
.mspv-detail-shell .mspu-compare{border:1px solid #dce8e0;border-radius:4px;background:#fff;margin:6px 0 22px;overflow:hidden;}
.mspv-detail-shell .mspu-compare[hidden]{display:none!important;}
.mspv-detail-shell .mspu-compare__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:var(--mspv-soft);color:var(--mspv-deep);padding:13px 16px;font-size:12px;font-weight:850;cursor:pointer;}
.mspv-detail-shell .mspu-compare__body{padding:10px 15px 15px;overflow-x:auto;}
.mspv-detail-shell .mspu-compare__body[hidden]{display:none!important;}
.mspv-detail-shell .mspu-compare table{width:100%;border-collapse:collapse;min-width:500px;font-size:12px;text-align:left;}
.mspv-detail-shell .mspu-compare th,.mspv-detail-shell .mspu-compare td{padding:10px;border-bottom:1px solid #e3ebe5;vertical-align:top;}
.mspv-detail-shell .mspu-compare th{background:#f7faf7;color:#63736c;font-size:10px;text-transform:uppercase;letter-spacing:.06em;}
.mspv-detail-shell .mspu-compare td:first-child{font-weight:800;color:var(--mspv-deep);}
.mspv-detail-shell .mspu-compare td:last-child{max-width:360px;line-height:1.5;color:#354a40;}
.mspv-detail-shell .mspu-compare__rowlink{appearance:none;border:1px solid var(--mspv-accent);background:#fff;color:var(--mspv-deep);border-radius:3px;padding:7px 10px;font-weight:750;font-size:10px;cursor:pointer;}
.mspv-detail-shell .mspu-compare__rowlink:hover{background:var(--mspv-soft);}
.mspv-detail-shell #sportMediaSection.mspv-media-compact{background:#fff!important;}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:10px!important;}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid>*{max-width:none!important;min-width:0!important;width:100%!important;}
.mspv-detail-shell #sportMediaSection.mspv-media-compact #sportMediaGalleryGrid img{max-height:250px!important;height:250px!important;width:100%!important;object-fit:cover!important;}
@media(max-width:1050px){.mspv-detail-shell .mspu-discovery{grid-template-columns:1fr;}.mspv-detail-shell .mspu-discovery__links{justify-content:flex-start;}}
@media(max-width:760px){
 .mspv-detail-shell .mspu-discovery{margin:10px 12px 14px;padding:16px 14px;gap:12px;}
 .mspv-detail-shell .mspu-discovery__links{display:grid;grid-template-columns:1fr 1fr;}
 .mspv-detail-shell .mspu-go{justify-content:center;font-size:10px;padding:11px 6px;white-space:normal;text-align:center;}
 .mspv-detail-shell .mspv-keyfacts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 #detailSportPageRoot.mspv-detail-shell #mspxDetailNav,#detailPageRoot.mspv-detail-shell #mspxDetailNav{max-width:calc(100% - 16px)!important;margin:7px auto 12px!important;}
 .mspv-detail-shell #mspxDetailNav .mspv-nav-track>a{font-size:9px!important;padding:9px 10px!important;min-height:39px!important;}
 .mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram-canvas{padding:7px!important;}
 .mspv-detail-shell #sportPitches .mspv-facility-card .mspv-diagram-caption{font-size:9px!important;}
 .mspv-detail-shell .mspu-compare{margin:10px 0 16px;}
}
@media(prefers-reduced-motion:reduce){.mspv-detail-shell #mspxDetailNav .mspv-nav-track{scroll-behavior:auto;}}
/* Visible without JS theme initialization and in print/slow-network conditions. */
.mspv-detail-shell .mspu-plan--football{background:repeating-linear-gradient(90deg,#ffffff0b 0 12.5%,transparent 12.5% 25%),linear-gradient(145deg,#1b6039,#27774a)!important;}
.mspv-detail-shell .mspu-plan--rugby{background:repeating-linear-gradient(90deg,#ffffff0a 0 14%,transparent 14% 28%),linear-gradient(145deg,#385f2d,#4c7738)!important;}
.mspv-detail-shell .mspu-plan--field-hockey{background:repeating-linear-gradient(90deg,#ffffff0b 0 12.5%,transparent 12.5% 25%),linear-gradient(145deg,#526b30,#69823f)!important;}
.mspv-detail-shell .mspu-plan--indoor{background:linear-gradient(145deg,#405171,#546787)!important;}
