.rooms-list__headline{
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  margin-bottom:40px;
}

.basecamp-hotel__amenities-block{
  padding:24px;
}

.basecamp-hotel__amenities-block--info{
  margin-bottom:24px;
}

#content-package .rates{
  background-color:transparent;
  color:#2f3551;
}

#content-package .rates__heading,
#content-package .rates__price{
  color:#10154c;
}

#content-package .rates__info,
#content-package .rates__list__item{
  color:#2f3551;
}

.pictures{
  background-color:transparent !important;
}

/* Home: basecamps list should be 1 column and full width */
.host-city__basecamps__wrapper.wrapper{
  display:block !important;
  max-width:none !important;
  width:100% !important;
  margin-bottom:32px !important;
}

.host-city__basecamps__wrapper.wrapper > .facetwp-template{
  display:block;
}

.host-city__basecamps__wrapper.wrapper .basecamp{
  margin-bottom:24px;
}

.host-city__basecamps__wrapper.wrapper .basecamp:last-child{
  margin-bottom:0;
}

.homepage__filters__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:28px 0 18px;
}

.homepage__filters__bar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-wrap:wrap;
}

.homepage__filters__view-row{
  display:flex;
  gap:12px;
  align-items:center;
}

.homepage__filters__title{
  margin:0;
  font-size:42px;
  line-height:1.1;
  color:#111;
}

.homepage__filters__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:2px solid rgba(17,17,17,0.12);
  background:#fff;
  border-radius:14px;
  padding:12px 18px;
  font-size:18px;
  color:#111;
}

.homepage__filters__toggle.is-open{
  background:#eef0f3;
}

.homepage__filters__toggle__icon{
  width:22px;
  height:22px;
  display:inline-block;
  background:currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4-2v-4L3 5z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4-2v-4L3 5z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}

.homepage__filters__panel{
  border:1px solid rgba(17,17,17,0.14);
  border-radius:16px;
  background:#fff;
  padding:18px;
  margin-bottom:18px;
}

.homepage__filters__search{
  background:#f3f4f6;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:18px;
}

.homepage__filters__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  padding:6px 2px 20px;
  border-bottom:1px solid rgba(17,17,17,0.12);
}

.homepage__filters__group__title{
  font-size:22px;
  margin:0 0 12px;
  color:#111;
}

.homepage__filters__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:18px;
}

.homepage__filters__count{
  font-size:16px;
  color:#6b7280;
}

.homepage__filters__actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.homepage__filters__clear{
  border:2px solid rgba(17,17,17,0.12);
  background:#fff;
  border-radius:14px;
  padding:10px 16px;
  font-size:18px;
  color:#111;
}

/* FacetWP reset button styling (Clear Filters) */
.homepage__filters__actions .facetwp-reset{
  width:100%;
  min-height:52px;
  padding:12px 18px;
  border:2px solid rgba(17,17,17,0.12);
  background:#fff;
  border-radius:14px;
  font-size:18px;
  line-height:1;
  color:#111;
}

.homepage__filters__actions .facetwp-reset:hover{
  background:#f6f7f9;
}

@media (max-width: 1023px){
  .homepage__filters__actions{
    width:100%;
  }
  .homepage__filters__actions .facetwp-reset,
  .homepage__filters__clear{
    width:100%;
  }
}


.homepage__filters__placeholder{
  color:#6b7280;
}

/* FacetWP search width */
.homepage__filters__panel .facetwp-input-wrap{
  display:block;
  width:100%;
  background:#eef0f3;
  border-radius:14px;
  min-height:56px;
  padding:14px 16px;
  box-sizing:border-box;
}

.homepage__filters__panel .facetwp-facet input.facetwp-search{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  font-size:20px;
  outline:none;
}

/* UEFA Euro Pro typography */
@font-face{
  font-family:'UEFA Euro Pro Light';
  src:url('../fonts/UEFAEuroPro-Light.otf') format('opentype');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'UEFA Euro Pro Medium';
  src:url('../fonts/UEFAEuroPro-Medium.otf') format('opentype');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Uefa Euro Pro Narrow Extra Bold';
  src:url('../fonts/UEFAEuroPro-ExtraBoldNarrow.otf') format('opentype');
  font-weight:800;
  font-style:normal;
  font-display:swap;
}

html, body{
  font-family:'UEFA Euro Pro Medium', system-ui, sans-serif !important;
}

p,
input,
button,
select,
textarea,
.basecamp-single__tab-intro,
.basecamp-hotel__chip,
.rooms-list__info__detail{
  font-family:'UEFA Euro Pro Medium', system-ui, sans-serif !important;
}

body h1,
body h2,
body h3,
body h4,
body h6,
body h1 *,
body h2 *,
body h3 *,
body h4 *,
body h6 *,
body [class$="__heading"],
body [class*="__heading "],
body [class$="__title"],
body [class*="__title "],
body [class$="__heading"] *,
body [class*="__heading "] *,
body [class$="__title"] *,
body [class*="__title "] *,
.basecamp-hotel__section__title{
  font-family:'Uefa Euro Pro Narrow Extra Bold', system-ui, sans-serif !important;
  font-weight:800 !important;
}

/* FacetWP search icon positioning */
.facetwp-icon:before{
  background-position:1px 16% !important;
}

/* Global button shape/size (keep existing colors) */
:where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  .button,
  .btn,
  .facetwp-reset,
  .simplefavorite-button,
  .favorites-button,
  .basecamp-single__cta__button,
  .basecamp__cta__details-btn,
  .basecamp__cta__compare-btn,
  .info-box__download-pdf-btn,
  .share-button
){
  border-radius:18px !important;
  min-height:50px !important;
  max-height:50px;
  
  font-size:16px !important;
  line-height:1.1 !important;
  font-weight:600 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
  text-decoration:none;
  box-sizing:border-box;
}

:where(a.button, a.btn, a[role="button"], .info-box__download-pdf-btn, .basecamp__cta__details-btn):hover{
  text-decoration:none;
}

.host-city__section-title{
  background:transparent !important;
  color:#253740 !important;
  font-family:"Uefa Euro Pro Narrow Extra Bold", system-ui, sans-serif !important;
  font-size:32px !important;
  text-transform:none !important;
}

/* Exception: small view toggle buttons (Map/List) */
.host-city__controls__view-btn{
  height:50px !important;
  min-height:50px !important;
  min-width:200px !important;
  padding:10px 16px !important;
  border-radius:18px !important;
  font-size:16px !important;
  line-height:1.2 !important;
  justify-content:center !important;
}

@media (max-width: 1023px){
  .homepage__filters__title{font-size:34px}
  .homepage__filters__grid{grid-template-columns:1fr}
  .homepage__filters__footer{flex-direction:column;align-items:flex-start}
  .homepage__filters__bar{
    flex-direction:column;
    align-items:flex-start;
  }
  .homepage__filters__bar-actions{
    width:100%;
    justify-content:flex-start;
  }
  .homepage__filters__view-row{
    width:100%;
  }
  .homepage__filters__view-row .host-city__controls__view-btn{
    flex:1;
    min-width:0 !important;
  }
  .homepage__filters__toggle{
    width:100%;
  }
}

/* === Basecamp > Training centre tab (placeholders) === */
.basecamp-training__sections{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-bottom:24px;
}

@media (max-width: 991px){
  .basecamp-training__sections{grid-template-columns:1fr}
}

.basecamp-training__section{
  cursor:pointer;
  border-radius:18px;
  overflow:hidden;
  border:3px solid transparent;
  transition:all .3s ease;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  background-color:#00a6bd;
}

.basecamp-training__section.active{
  border-color:#009cb4;
  background:rgba(0,156,180,0.06);
  box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

.basecamp-training__section__image{
  display:block;
  width:100%;
  height:140px;
  object-fit:cover;
}

.basecamp-training__section__title{
  padding:14px 16px;
  font-weight:700;
  font-size: 1.6rem;
  color:#e5fcff;
  text-align:center;
}

.basecamp-training__section.active .basecamp-training__section__title{
  color:#00a6bd;
}

.basecamp-training__section:hover:not(.active){
  opacity:.85;
}

.basecamp-training__content{display:none}
.basecamp-training__content.active{display:block}

.basecamp-training__placeholder{
  border:1px solid rgba(17,17,17,0.10);
  border-radius:18px;
  padding:22px;
  background:#fff;
}

/* Hide host cities count badge on homepage cards */
.homepage__hosts__count-badge{
  display:none !important;
}
/* Front page: pagination (override) */
.basecamp-pagination__card{background:#ffffff;border:1px solid rgba(31,35,105,0.12);border-radius:18px;box-shadow:0 12px 30px rgba(31,35,105,0.08);padding:18px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.basecamp-pagination__center{font-size:1.85rem;color:#4b5563;text-align:center;flex:1}
.basecamp-pagination__side{flex:0 0 auto}
.basecamp-pagination__btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px;border-radius:16px;border:3px solid #1f2369;background:#ffffff;color:#1f2369;text-decoration:none;font-size:1.85rem;line-height:1}
.basecamp-pagination__btn:hover{border-color:#1f2369;color:#1f2369;text-decoration:none}
.basecamp-pagination__btn.is-disabled{opacity:.35;pointer-events:none}
.basecamp-pagination__chev{font-size:2.4rem;line-height:1}

/* Basecamp card: static image (no slider) */
.basecamp__media{position:relative;overflow:hidden}
.basecamp__image{display:block;width:100%;height:100%;min-height:240px;object-fit:cover}
@media (min-width:768px){.basecamp__image{min-height:280px}}

/* Home page background */
body.home, body.front-page, body.page-template-front-page{background:#e7eff3}
.homepage{background:#e7eff3}

/* Home: space under hero */
body.home .homepage__header{
  margin-bottom:22px !important;
}

/* Home: two-column layout (filters left, content right) */
@media (min-width: 1024px){
  .homepage{display:grid;grid-template-columns:minmax(260px, 320px) minmax(0, 1fr);column-gap:26px;align-items:start}
  .homepage > .homepage__header,
  .homepage > .homepage__welcome,
  .homepage > .homepage__hosts{grid-column:1 / -1}
  .homepage > .homepage__filters{grid-column:1}
  .homepage > .homepage__content{grid-column:2;min-width:0}
  .homepage > .homepage__filters .wrapper,
  .homepage > .homepage__content .homepage__map__wrapper,
  .homepage > .homepage__content .homepage__basecamps__wrapper,
  .homepage > .homepage__content .wrapper{width:100%;max-width:none;padding-left:0;padding-right:0}
  .homepage > .homepage__filters .wrapper{position:sticky;top:18px}
}

/* Home: filter options stacked */
.homepage__filter-option{
  display:block;
  margin:5px 0;
  cursor:pointer;
}
.homepage__filter-option input[type="checkbox"]{
  cursor:pointer;
  margin-right:10px;
}

/* Home: remove extra gap between map and list */
body.home .homepage__map{
  padding-bottom:18px;
}
body.home .host-city__basecamps{
  padding-top:0;
  margin-top:0;
}
body.home .host-city__basecamps .wrapper{
  margin-top:0;
  padding-top:0;
}
body.home .host-city__basecamps .host-city__section-title{
  margin-top:0;
  margin-bottom:14px;
}

/* Home: filters groups stacked (City, Hotel, Training Centre, Distances) */
body.home .homepage__filters__grid{
  display:block;
}
body.home .homepage__filters__group{
  width:100%;
  margin-bottom:18px;
}
body.home .homepage__filters__group__title{
  margin-bottom:10px;
}

/* Home: map should hug the list */
body.home .homepage__map{
  padding-top:18px;
  padding-left:0;
  padding-right:0;
  margin-bottom:0;
}
body.home .homepage__map .homepage__map__wrapper{
  margin-bottom:0;
}
body.home .homepage__map .acf-map{
  position:relative;
  width:100% !important;
  max-width:none !important;
}
body.home .homepage__map-key{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  width:100%;
  margin-top:12px;
  padding:12px;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 34px rgba(31,35,105,0.10);
}
body.home .homepage__map-key__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:6px 12px 6px 8px;
  border:1px solid rgba(31,35,105,0.12);
  border-radius:8px;
  background:#ffffff;
  color:#1f2369;
  
  font-size:14px;
  line-height:1;
}
body.home .homepage__map-key__icon{
  width:26px;
  height:26px;
  object-fit:contain;
  flex:0 0 26px;
}
.host-city__map-key{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  width:100%;
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 14px 34px rgba(31,35,105,0.10);
}
.host-city__map-key__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:6px 12px 6px 8px;
  border:1px solid rgba(31,35,105,0.12);
  border-radius:8px;
  background:#ffffff;
  color:#1f2369;
  
  font-size:14px;
  line-height:1;
}
.host-city__map-key__icon{
  width:26px;
  height:26px;
  object-fit:contain;
  flex:0 0 26px;
}

/* Host city detail: focus section with intro and galleries */
.host-city__extra{
  padding:54px 0 64px !important;
  background:#ffffff !important;
}

.host-city__extra__grid.wrapper{
  display:grid !important;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap:34px 48px !important;
  align-items:start !important;
  max-width:1680px;
  padding-left:40px;
  padding-right:40px;
}

.host-city__extra__intro,
.host-city__extra__stadium{
  border-radius:10px !important;
  padding:28px 32px !important;
  background:#ffffff !important;
  box-shadow:0 10px 28px rgba(31,35,105,0.08) !important;
}

.host-city__extra__eyebrow{
  margin:0 0 10px !important;
  color:#002c9c !important;
}

.host-city__extra__title{
  margin:0 0 16px !important;
  font-size:30px !important;
}

.host-city__extra__description,
.host-city__extra__stadium-description{
  font-size:15px !important;
  line-height:1.75 !important;
}

.host-city__extra__gallery-block{
  min-width:0;
}

.host-city__extra__gallery-block--city{
  align-self:end;
}

.host-city__extra__gallery-title,
.host-city__extra__stadiums-title{
  margin:0 0 18px !important;
  color:#1f2369 !important;
  
  font-size:24px !important;
  line-height:1.2 !important;
}

.host-city__extra__gallery{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
}

.host-city__extra__gallery-item{
  min-height:150px !important;
  border-radius:14px !important;
  background-size:cover !important;
  background-position:center center !important;
  box-shadow:0 14px 30px rgba(31,35,105,0.10) !important;
}

.host-city-media-gallery{
  overflow:hidden;
  border-radius:16px;
  background:#ffffff;
  box-shadow:0 14px 30px rgba(31,35,105,0.10);
}

.host-city-media-gallery .training-pictures__layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:14px;
  padding:14px;
  align-items:stretch;
}

.host-city-media-gallery .training-pictures__layout--count-1{
  grid-template-columns:minmax(0, min(820px, 100%));
  justify-content:center;
}

.host-city-media-gallery .training-pictures__main,
.host-city-media-gallery .training-pictures__thumbnail{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:#eef4f7;
  cursor:pointer;
}

.host-city-media-gallery .training-pictures__main{
  min-height:270px;
}

.host-city-media-gallery .training-pictures__main-image,
.host-city-media-gallery .training-pictures__thumbnail img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.host-city-media-gallery .training-pictures__thumbnails-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-content:center;
}

.host-city-media-gallery .training-pictures__thumbnails-grid--count-1{
  grid-template-columns:minmax(0, 72%);
  justify-content:center;
}

.host-city-media-gallery .training-pictures__thumbnails-grid--count-3 > .training-pictures__thumbnail-wrapper:last-child{
  grid-column:1 / -1;
  justify-self:center;
  width:calc(50% - 7px);
}

.host-city-media-gallery .training-pictures__thumbnails-row{
  display:flex;
  flex:1;
  gap:14px;
}

.host-city-media-gallery .training-pictures__thumbnail-wrapper{
  min-width:0;
}

.host-city-media-gallery .training-pictures__thumbnail{
  height:100%;
  min-height:128px;
  border:2px solid transparent;
  transition:border-color .2s ease, transform .2s ease;
}

.host-city-media-gallery .training-pictures__thumbnail:hover:not(.training-pictures__thumbnail--empty){
  border-color:#002c9c;
  transform:translateY(-2px);
}

.host-city-media-gallery .training-pictures__thumbnail--empty{
  cursor:default;
  background:#ffffff;
}

.host-city-media-gallery .training-pictures__thumbnail--with-overlay img{
  filter:brightness(.65);
}

.host-city-media-gallery .training-pictures__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ffffff;
  
  font-size:26px;
  background:rgba(0,0,0,0.35);
}

.host-city-gallery-modal.lightbox-modal{
  display:none;
  position:fixed;
  z-index:99999;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.92);
}

.host-city-gallery-modal .lightbox-modal__content{
  position:relative;
  top:50%;
  width:90%;
  max-width:1180px;
  margin:0 auto;
  padding:24px;
  transform:translateY(-50%);
}

.host-city-gallery-modal .lightbox-modal__close{
  position:absolute;
  top:0;
  right:0;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  color:#1f2369;
  background:#ffffff;
  font-size:34px;
  line-height:44px;
  text-align:center;
  cursor:pointer;
}

.host-city-gallery-modal .lightbox-modal__main{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:56vh;
}

.host-city-gallery-modal .lightbox-modal__image{
  display:block;
  max-width:100%;
  max-height:62vh;
  object-fit:contain;
}

.host-city-gallery-modal .lightbox-modal__controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:22px;
}

.host-city-gallery-modal .lightbox-modal__nav{
  width:56px;
  height:56px;
  border:0;
  border-radius:14px;
  color:#1f2369;
  background:#ffffff;
  font-size:32px;
  line-height:1;
  cursor:pointer;
}

.host-city-gallery-modal .lightbox-modal__thumbnails{
  display:flex;
  flex:1 1 auto;
  max-width:78%;
  gap:12px;
  overflow-x:auto;
  padding:4px 2px;
  min-width:0;
  scroll-behavior:smooth;
}

.host-city-gallery-modal .lightbox-modal__thumb{
  width:112px;
  height:72px;
  flex:0 0 112px;
  object-fit:cover;
  border:3px solid transparent;
  border-radius:8px;
  opacity:.7;
  cursor:pointer;
}

.host-city-gallery-modal .lightbox-modal__thumb:first-child{
  margin-left:auto;
}

.host-city-gallery-modal .lightbox-modal__thumb:last-child{
  margin-right:auto;
}

.host-city-gallery-modal .lightbox-modal__thumb.active,
.host-city-gallery-modal .lightbox-modal__thumb:hover{
  border-color:#ffffff;
  opacity:1;
}

.host-city__extra__stadiums{
  grid-column:auto !important;
  margin-top:0 !important;
}

.host-city__extra__stadiums-list{
  display:block !important;
}

.host-city__extra__stadium-logo,
.host-city__extra__stadium-figure-label,
.host-city__extra__stadium-image{
  display:none !important;
}

.host-city__extra__stadium-title{
  margin:0 0 12px !important;
  color:#002c9c !important;
  font-size:18px !important;
}

@media (max-width:991px){
  .host-city__extra__grid.wrapper{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:767px){
  .host-city__extra{
    padding:36px 0 44px !important;
  }

  .host-city__extra__grid.wrapper{
    padding-left:18px;
    padding-right:18px;
    gap:26px !important;
  }

  .host-city__extra__gallery{
    grid-template-columns:1fr !important;
  }

  .host-city__extra__gallery-item{
    min-height:190px !important;
  }

  .host-city-media-gallery .training-pictures__layout{
    grid-template-columns:1fr;
  }

  .host-city-media-gallery .training-pictures__thumbnails-grid--count-1{
    grid-template-columns:minmax(0, 100%);
  }

  .host-city-media-gallery .training-pictures__thumbnails-grid--count-3 > .training-pictures__thumbnail-wrapper:last-child{
    width:100%;
  }

  .host-city-media-gallery .training-pictures__main{
    min-height:220px;
  }

  .host-city-media-gallery .training-pictures__thumbnail{
    min-height:96px;
  }

  .host-city-gallery-modal .lightbox-modal__content{
    width:96%;
    padding:18px 12px;
  }

  .host-city-gallery-modal .lightbox-modal__close{
    width:40px;
    height:40px;
    font-size:30px;
    line-height:38px;
  }

  .host-city-gallery-modal .lightbox-modal__main{
    min-height:44vh;
  }

  .host-city-gallery-modal .lightbox-modal__image{
    max-height:50vh;
  }

  .host-city-gallery-modal .lightbox-modal__controls{
    gap:10px;
  }

  .host-city-gallery-modal .lightbox-modal__nav{
    width:44px;
    height:44px;
    font-size:24px;
  }

  .host-city-gallery-modal .lightbox-modal__thumbnails{
    max-width:68%;
  }

  .host-city-gallery-modal .lightbox-modal__thumb{
    width:82px;
    height:56px;
    flex-basis:82px;
  }
}

/* Host city detail: map beside available base camps */
.host-city__overview{
  padding:48px 0 64px;
  background:#ffffff;
}

.host-city__overview__grid.wrapper{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:34px;
  align-items:start;
  max-width:1680px;
  padding-left:40px;
  padding-right:40px;
}

.host-city__overview-map{
  min-width:0;
}

.host-city__overview-map .acf-map{
  width:100% !important;
  height:620px !important;
  min-height:620px !important;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(31,35,105,0.10);
}

.host-city__overview-list{
  min-width:0;
  max-height:620px;
  overflow:auto;
  padding-right:8px;
}

.host-city__overview-list-title{
  margin:0 0 16px !important;
  color:#1f2369;
  
  font-size:24px;
  line-height:1.2;
}

.host-city__map-basecamps .banner.basecamp{
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 0 14px !important;
  border:2px solid #0033A0;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#dffbff !important;
}

.host-city__map-basecamps .banner__image-wrapper{
  width:220px !important;
  min-height:150px !important;
  border-radius:0 !important;
}

.host-city__map-basecamps .banner__image,
.host-city__map-basecamps .no-image-placeholder{
  height:100% !important;
  min-height:150px !important;
}

.host-city__map-basecamps .banner__content{
  padding:10px 14px 12px !important;
  min-width:0;
}

.host-city__map-basecamps .basecamp__social{
  top:12px !important;
  right:14px !important;
  gap:6px !important;
  z-index:12 !important;
}

.host-city__map-basecamps .banner__title{
  margin:0 auto 4px !important;
  font-size:18px !important;
  line-height:1.15 !important;
  color:#0033A0 !important;
}

.host-city__map-basecamps .title-underline{
  height:2px !important;
  margin:0 auto 8px !important;
}

.host-city__map-basecamps .banner__subtitle-row{
  gap:10px !important;
}

.host-city__map-basecamps .banner__subtitle,
.host-city__map-basecamps .info-row,
.host-city__map-basecamps .info-row strong{
  font-size:12px !important;
  line-height:1.3 !important;
}

.host-city__map-basecamps .banner__info{
  gap:8px !important;
  margin-bottom:16px !important;
}

.host-city__map-basecamps .info-row{
  min-height:26px !important;
  margin-bottom:0 !important;
  align-items:center !important;
}

.host-city__map-basecamps .hotel-main{
  min-height:0 !important;
}

.host-city__map-basecamps .info-row .icon,
.host-city__map-basecamps .info-row .icon svg{
  width:18px !important;
  height:18px !important;
  font-size:16px !important;
  flex:0 0 18px !important;
}

.host-city__map-basecamps .nearby-box{
  min-width:96px !important;
  margin-left:auto !important;
  margin-right:6px !important;
  padding:4px 6px !important;
  border-radius:0 !important;
}

.host-city__map-basecamps .nearby-label{
  font-size:8px !important;
  line-height:1.05 !important;
}

.host-city__map-basecamps .city-name{
  font-size:11px !important;
  line-height:1.1 !important;
}

.host-city__map-basecamps .category{
  transform:scale(.75);
  transform-origin:left center;
}

.host-city__map-basecamps .full-exclusivity{
  font-size:11px !important;
}

.host-city__map-basecamps .banner__cta{
  gap:8px !important;
  margin-top:8px !important;
}

.host-city__map-basecamps .btn-action{
  min-height:32px !important;
  padding:6px 12px !important;
  font-size:12px !important;
  border-radius:6px !important;
}

@media (max-width:1299px){
  .host-city__overview__grid.wrapper{
    grid-template-columns:1fr;
  }

  .host-city__overview-list{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }
}

@media (min-width:768px) and (max-width:1023px){
  .host-city__map-basecamps .banner.basecamp{
    flex-direction:column !important;
  }

  .host-city__map-basecamps .banner__image-wrapper{
    width:100% !important;
    min-height:280px !important;
  }

  .host-city__map-basecamps .banner__image,
  .host-city__map-basecamps .no-image-placeholder{
    width:100% !important;
    min-height:280px !important;
  }

  .host-city__map-basecamps .banner__content{
    width:100% !important;
  }
}

@media (max-width:767px){
  .host-city__overview{
    padding:32px 0 44px;
  }

  .host-city__overview__grid.wrapper{
    padding-left:18px;
    padding-right:18px;
  }

  .host-city__overview-map .acf-map{
    height:360px !important;
    min-height:360px !important;
  }

  .host-city__map-basecamps .banner.basecamp{
    flex-direction:column !important;
  }

  .host-city__map-basecamps .banner__image-wrapper{
    width:100% !important;
    min-height:210px !important;
  }

  .host-city__map-basecamps .banner__image,
  .host-city__map-basecamps .no-image-placeholder{
    min-height:210px !important;
  }

  .host-city__map-basecamps .banner__content{
    padding:50px 16px 16px !important;
  }

  .host-city__map-basecamps .basecamp__social{
    top:10px !important;
    right:14px !important;
    gap:8px !important;
    margin-top:0 !important;
  }

  .host-city__map-basecamps .basecamp__social .share-button,
  .host-city__map-basecamps .basecamp__social .favorites-button,
  .host-city__map-basecamps .basecamp__social .simplefavorite-button{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    padding:0 !important;
    border-radius:50% !important;
  }

  .host-city__map-basecamps .banner__subtitle-row .nearby-box{
    align-self:flex-end !important;
    min-width:158px !important;
    margin:0 0 24px auto !important;
    padding:7px 10px !important;
  }

  .host-city__map-basecamps .banner__subtitle-row .nearby-label{
    font-size:11px !important;
    line-height:1.1 !important;
  }

  .host-city__map-basecamps .banner__subtitle-row .city-name{
    font-size:16px !important;
    line-height:1.1 !important;
  }
}
body.home .homepage__map button[jsaction="scale.click"],
body.home .homepage__map button.gm-style-cc[aria-label*="Map scale"],
body.home .homepage__map button[aria-label^="Map Scale"],
body.home .homepage__map button[aria-label^="Map scale"],
body.home .homepage__map button[title^="Map Scale"],
body.home .homepage__map .LNGekf,
body.home .homepage__map div[style*="background-color: rgb(245, 245, 245)"][style*="margin-left: 1px"],
.acf-map button[jsaction="scale.click"],
.acf-map button.gm-style-cc[aria-label*="Map scale"],
.acf-map button[aria-label^="Map Scale"],
.acf-map button[aria-label^="Map scale"],
.acf-map button[title^="Map Scale"],
.acf-map .LNGekf,
.acf-map div[style*="background-color: rgb(245, 245, 245)"][style*="margin-left: 1px"]{
  display:none !important;
}

/* Home: responsive containment pass */
body.home,
body.home .homepage{
  max-width:100%;
  overflow-x:hidden;
}

body.home .homepage,
body.home .homepage *,
body.home .footer,
body.home .footer *{
  box-sizing:border-box;
}

body.home .homepage .wrapper,
body.home .footer-camps-row__inner,
body.home .footer.footer--solid{
  max-width:100%;
}

body.home .homepage__header__search{
  width:min(520px, 100%);
  max-width:100%;
  box-sizing:border-box;
}

body.home .homepage__header__search__input{
  flex:1 1 auto;
  min-width:0;
  width:100%;
}

body.home .homepage__filters,
body.home .homepage__content,
body.home .homepage__map,
body.home .host-city__basecamps{
  min-width:0;
  max-width:100%;
}

body.home .homepage__filters__panel,
body.home .homepage__filters__form,
body.home .homepage__filters__grid,
body.home .homepage__filters__footer,
body.home .homepage__map .acf-map,
body.home .host-city__basecamps__wrapper,
body.home .basecamp-pagination,
body.home .basecamp-pagination-wrap{
  min-width:0;
  max-width:100%;
}

body.home .basecamp,
body.home .basecamp__media,
body.home .basecamp__body{
  min-width:0;
  max-width:100%;
}

body.home .basecamp__meta,
body.home .basecamp-single__meta__item,
body.home .basecamp__name,
body.home .basecamp__description{
  overflow-wrap:anywhere;
  word-break:normal;
}

body.home .footer.footer--solid{
  width:100%;
  padding-left:24px;
  padding-right:24px;
  overflow:hidden;
}

body.home .footer__logo-col,
body.home .footer__sponsors,
body.home .footer__social-network,
body.home .footer__disclaimers{
  min-width:0;
}

body.home .footer__logo,
body.home .footer__sponsors__sponsor__logo{
  max-width:100%;
  height:auto;
}

body.home .footer__logo-col{
  justify-content:flex-start !important;
  margin-top:0 !important;
}

body.home .footer__logo-col .footer__logo{
  width:auto !important;
  max-width:229px !important;
  max-height:89px !important;
  height:auto !important;
  object-fit:contain !important;
  transform:none !important;
}

body.home .footer__sponsors__list{
  max-width:100%;
  min-width:0;
}

.footer.footer--solid{
  padding-left:max(40px, calc((100vw - 1440px) * 0.5 + 40px)) !important;
  padding-right:max(40px, calc((100vw - 1440px) * 0.5 + 40px)) !important;
  grid-template-columns:1fr !important;
  grid-template-areas:"sponsors" "disclaimers" !important;
  justify-items:center !important;
  overflow:hidden;
}

.footer.footer--solid .footer__sponsors{
  grid-area:sponsors !important;
  width:100%;
}

.footer.footer--solid .footer__disclaimers{
  grid-area:disclaimers !important;
  width:100%;
}

.footer.footer--solid .footer__logo-col,
.footer.footer--solid .footer__sponsors,
.footer.footer--solid .footer__social-network,
.footer.footer--solid .footer__disclaimers{
  min-width:0;
}

.footer.footer--solid .footer__logo-col{
  justify-content:flex-start !important;
  align-items:flex-start !important;
  margin-top:0 !important;
}

.footer.footer--solid .footer__logo-col .footer__logo{
  width:auto !important;
  max-width:229px !important;
  max-height:89px !important;
  height:auto !important;
  margin:0 !important;
  object-fit:contain !important;
  transform:none !important;
}

.footer.footer--solid .footer__social-network__link{
  display:flex;
  align-items:center;
  gap:12px;
  white-space:nowrap;
}

@media (max-width:1023px){
  body.home .homepage{
    display:block;
  }

  body.home .homepage > .homepage__filters .wrapper,
  body.home .homepage > .homepage__content .homepage__map__wrapper,
  body.home .homepage > .homepage__content .homepage__basecamps__wrapper,
  body.home .homepage > .homepage__content .wrapper{
    width:100%;
    max-width:100%;
    padding-left:16px;
    padding-right:16px;
  }

  body.home .homepage__filters{
    padding-top:0;
  }

  body.home .homepage__filters__panel{
    padding:16px;
    border-radius:18px;
  }

  body.home .homepage__filters__group__title{
    font-size:22px;
  }

  body.home .homepage__map{
    padding-top:16px;
  }

  body.home .host-city__section-title{
    margin-left:16px;
    margin-right:16px;
  }

  body.home .basecamp-pagination-wrap.wrapper{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width:767px){
  body.home .homepage__header{
    min-height:520px;
    height:auto;
    padding:110px 18px 54px;
  }

  body.home .homepage__header__heading{
    font-size:clamp(42px, 15vw, 66px);
  }

  body.home .homepage__header__search{
    padding:5px 6px 5px 12px;
    gap:8px;
  }

  body.home .homepage__header__search__input{
    font-size:14px;
  }

  body.home .homepage__header__search__search-btn{
    flex:0 0 42px;
    width:42px;
    height:42px;
    min-width:42px !important;
  }

  body.home .homepage__filters__panel{
    margin-bottom:14px;
  }

  body.home .homepage__filters__footer{
    gap:12px;
  }

  body.home .homepage__filters__count{
    font-size:15px;
  }

  body.home .homepage__filters__clear{
    width:100%;
    font-size:14px !important;
  }

  body.home .homepage__map .acf-map{
    height:300px;
    border-radius:18px;
  }

  body.home .homepage__map-key{
    gap:8px;
    padding:10px;
  }

  body.home .homepage__map-key__item{
    flex:1 1 calc(50% - 8px);
    justify-content:flex-start;
    font-size:13px;
    padding-right:10px;
  }

  body.home .basecamp{
    width:100%;
    min-height:0;
    border-radius:18px;
  }

  body.home .basecamp__media{
    width:100%;
    min-height:190px;
  }

  body.home .basecamp__image{
    min-height:190px;
  }

  body.home .basecamp__body{
    padding:22px 18px 18px;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  body.home .basecamp__name{
    order:1;
    display:block;
    width:100%;
    padding-right:96px;
    margin:0 0 14px;
    font-size:2rem;
    line-height:1.15;
    color:#243042;
  }

  body.home .basecamp__social{
    position:absolute;
    top:16px;
    right:14px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    width:auto;
    height:auto;
    padding:0;
  }

  body.home .basecamp__social .share-button,
  body.home .basecamp__social .favorites-button,
  body.home .basecamp__social .simplefavorite-button{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    padding:0 !important;
    border-radius:50% !important;
    background:#ffffff;
    box-shadow:0 8px 18px rgba(31,35,105,0.12);
  }

  body.home .basecamp__social i{
    font-size:22px;
    line-height:1;
  }

  body.home .basecamp__meta{
    order:2;
    width:100%;
    margin:0 0 8px;
  }

  body.home .basecamp-single__meta__item{
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:7px;
    width:100%;
    min-width:0;
    font-size:1.35rem;
    line-height:1.35;
  }

  body.home .basecamp-single__meta__item > span{
    min-width:0;
  }

  body.home .basecamp__info{
    order:3;
  }

  body.home .basecamp__description{
    order:4;
  }

  body.home .basecamp__stats{
    order:5;
  }

  body.home .basecamp__cta{
    order:6;
  }

  body.home .basecamp__description{
    font-size:1.3rem;
  }

  body.home .basecamp__cta{
    gap:10px;
  }

  body.home .basecamp__cta__details-btn,
  body.home .basecamp__cta__compare-btn{
    min-height:50px !important;
    padding-left:12px;
    padding-right:12px;
    font-size:1.35rem !important;
  }

  body.home .basecamp-pagination__card{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    align-items:center;
    gap:12px;
    padding:14px;
    border-radius:16px;
  }

  body.home .basecamp-pagination__center{
    grid-column:1 / -1;
    grid-row:1;
    order:-1;
    font-size:1.45rem;
  }

  body.home .basecamp-pagination__side{
    width:100%;
    min-width:0;
  }

  body.home .basecamp-pagination__btn{
    width:100%;
    min-height:46px !important;
    padding:0 10px;
    gap:6px;
    border-width:2px;
    border-radius:14px !important;
    font-size:1.35rem !important;
    white-space:nowrap;
  }

  body.home .basecamp-pagination__chev{
    font-size:2rem;
  }

  body.home .footer-camps-row{
    padding:20px 16px;
  }

  body.home .footer-camps-row__inner{
    align-items:stretch;
    gap:14px;
  }

  body.home .footer-camps-row__text{
    font-size:1.5rem;
  }

  body.home .footer-camps-row__button{
    width:100%;
    justify-content:center;
    white-space:normal;
  }

  body.home .footer.footer--solid{
    padding-left:18px;
    padding-right:18px;
    gap:24px;
  }

  body.home .footer__logo-col{
    margin-top:0 !important;
  }

  body.home .footer__logo-col .footer__logo{
    max-width:min(220px, 80vw);
  }

  body.home .footer__sponsors__list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    width:100%;
  }

  body.home .footer__sponsors__sponsor{
    width:100%;
    min-width:0;
  }

  body.home .footer__social-network__wrapper{
    align-items:flex-start;
  }

  body.home .footer__social-network__link,
  body.home .footer__disclaimers{
    overflow-wrap:anywhere;
  }
}

@media (max-width:420px){
  body.home .homepage > .homepage__filters .wrapper,
  body.home .homepage > .homepage__content .homepage__map__wrapper,
  body.home .homepage > .homepage__content .homepage__basecamps__wrapper,
  body.home .homepage > .homepage__content .wrapper:not(.basecamp-pagination-wrap){
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body.home .homepage__filters__panel{
    padding:14px;
  }

  body.home .basecamp__cta{
    flex-direction:column;
    align-items:stretch;
  }

  body.home .basecamp__cta__details-btn,
  body.home .basecamp__cta__compare-btn{
    width:100%;
  }
}

@media (max-width:420px){
  body.home .basecamp-pagination-wrap.wrapper{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* Compare: toast notification (near cursor) */
.basecamp-compare__toast{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%) translateY(8px);
  opacity:0;
  pointer-events:none;
  z-index:999999;
  width:max-content;
  max-width:min(520px, calc(100vw - 28px));
  min-height:0;
  padding:14px 16px;
  border-radius:16px;
  background:#ffffff;
  color:#1f2369;
  border:3px solid #1f2369;
  
  font-size:16px;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
  box-sizing:border-box;
  box-shadow:0 12px 24px rgba(31,35,105,0.12);
  transition:opacity .18s ease, transform .18s ease;
}

@media (max-width:767px){
  .basecamp-compare__toast{
    width:260px;
    max-width:calc(100vw - 48px);
    height:64px;
    min-height:64px;
    padding:10px 14px;
    border-width:2px;
    border-radius:12px;
    font-size:14px;
    line-height:1.25;
  }

  .basecamp-compare__toast.is-anchored{
    transform:translate(-50%, -100%);
  }
}

/* New hotel/training forms: example image blocks */
body.page-template-page_team-hotel-data-collection-form .data-collection-form .example,
body.page-template-page_team-training-centre-data-collection-form .data-collection-form .example{
  position:relative;
  border:1px solid rgba(31,35,105,0.16);
  border-radius:12px;
  overflow:hidden;
  background:#ffffff;
  margin:10px 0 12px;
}
body.page-template-page_team-hotel-data-collection-form .data-collection-form .example .description,
body.page-template-page_team-training-centre-data-collection-form .data-collection-form .example .description{
  padding:10px 12px;
  font-size:13px;
  line-height:1.3;
  color:#4b5563;
  border-bottom:1px solid rgba(31,35,105,0.10);
}
body.page-template-page_team-hotel-data-collection-form .data-collection-form .example .overlay,
body.page-template-page_team-training-centre-data-collection-form .data-collection-form .example .overlay{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#eef2f6;
}
body.page-template-page_team-hotel-data-collection-form .data-collection-form .example img,
body.page-template-page_team-training-centre-data-collection-form .data-collection-form .example img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* New hotel form: collapsible panels */
body.page-template-page_team-hotel-data-collection-form .thdc-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
body.page-template-page_team-hotel-data-collection-form .thdc-panel__heading{
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.page-template-page_team-hotel-data-collection-form .thdc-panel__title{
  margin:0;
  font-size:20px;
  line-height:1.1;
  cursor:pointer;
}
body.page-template-page_team-hotel-data-collection-form .thdc-panel__toggle{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(31,35,105,0.18);
  background:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.page-template-page_team-hotel-data-collection-form .thdc-panel__chev{
  display:inline-block;
  font-size:24px;
  line-height:1;
  color:#1f2369;
  transform:rotate(90deg);
  transition:transform .18s ease;
}
body.page-template-page_team-hotel-data-collection-form .thdc-panel__toggle[aria-expanded="false"] .thdc-panel__chev{
  transform:rotate(0deg);
}

/* New hotel form: custom file upload */
body.page-template-page_team-hotel-data-collection-form .thdc-upload{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* New training centre form: custom file upload (hide native input) */
body.page-template-page_team-training-centre-data-collection-form .thdc-upload{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-upload__input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* New training centre form: collapsible panels (match hotel form) */
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__heading{
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__title{
  margin:0;
  font-size:20px;
  line-height:1.1;
  cursor:pointer;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__toggle{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(31,35,105,0.18);
  background:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__chev{
  display:inline-block;
  font-size:24px;
  line-height:1;
  color:#1f2369;
  transform:rotate(90deg);
  transition:transform .18s ease;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-panel__toggle[aria-expanded="false"] .thdc-panel__chev{
  transform:rotate(0deg);
}

/* Upload remove button: hidden until a file is selected */
body.page-template-page_team-hotel-data-collection-form .thdc-upload__remove,
body.page-template-page_team-training-centre-data-collection-form .thdc-upload__remove{
  display:none;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(31,35,105,0.18);
  background:#ffffff;
  color:#1f2369;
  line-height:1;
  font-size:18px;
  padding:0;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__remove:not([hidden]),
body.page-template-page_team-training-centre-data-collection-form .thdc-upload__remove:not([hidden]){
  display:inline-flex;
}

/* Training centre form: keep spec fields aligned even with long labels */
body.page-template-page_team-training-centre-data-collection-form .thdc-spec-row .data-collection-form__form_group > label{
  display:flex;
  align-items:flex-end;
  min-height:44px;
  margin-bottom:8px;
}

/* Pitches/facilities rows: add spacing only when stacked (xs) */
body.page-template-page_team-training-centre-data-collection-form [data-thdc-pitches] .row > [class*="col-"] + [class*="col-"]{
  margin-top:10px;
}
@media (min-width: 768px){
  body.page-template-page_team-training-centre-data-collection-form [data-thdc-pitches] .row > [class*="col-"] + [class*="col-"]{
    margin-top:0;
  }
}

body.page-template-page_team-training-centre-data-collection-form [data-thdc-facilities] .row > [class*="col-"] + [class*="col-"]{
  margin-top:10px;
}
@media (min-width: 768px){
  body.page-template-page_team-training-centre-data-collection-form [data-thdc-facilities] .row > [class*="col-"] + [class*="col-"]{
    margin-top:0;
  }
}

/* Data collection forms: small helper text */
body.page-template-page_team-hotel-data-collection-form .thdc-help,
body.page-template-page_team-training-centre-data-collection-form .thdc-help{
  display:block;
  margin:6px 0 0;
  font-size:13px;
  line-height:1.3;
  color:#6b7280;
  text-transform:none;
}

/* Data collection forms: required asterisk */
body.page-template-page_team-hotel-data-collection-form .thdc-required,
body.page-template-page_team-training-centre-data-collection-form .thdc-required{
  color:#d32f2f;
  margin-left:4px;
  font-weight:700;
}

/* "Add another" button: keep same color on hover */
body.page-template-page_team-hotel-data-collection-form [data-thdc-refresh]:hover,
body.page-template-page_team-training-centre-data-collection-form [data-ttdc-refresh]:hover{
  color:#ffffff;
  text-decoration:none;
}
body.page-template-page_team-hotel-data-collection-form .thdc-help--section,
body.page-template-page_team-training-centre-data-collection-form .thdc-help--section{
  margin:0;
}

body.page-template-page_team-training-centre-data-collection-form .thdc-help--above-field{
  white-space:nowrap;
  margin:0 0 10px;
}

/* Training centre form: picture rows (label + upload side-by-side) */
body.page-template-page_team-training-centre-data-collection-form .thdc-upload-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(31,35,105,0.10);
}
body.page-template-page_team-training-centre-data-collection-form .thdc-upload-row:last-child{
  border-bottom:0;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-upload-row__label{
  flex:1;
  color:#1f2369;
  font-size:15px;
  line-height:1.3;
}
body.page-template-page_team-training-centre-data-collection-form .thdc-upload-row__control{
  flex:0 0 auto;
}
@media (max-width: 767px){
  body.page-template-page_team-training-centre-data-collection-form .thdc-upload-row{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Hotel form: picture rows (label + upload side-by-side) */
body.page-template-page_team-hotel-data-collection-form .thdc-upload-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(31,35,105,0.10);
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload-row:last-child{
  border-bottom:0;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload-row__label{
  flex:1;
  color:#1f2369;
  font-size:15px;
  line-height:1.3;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload-row__control{
  flex:0 0 auto;
}
@media (max-width: 767px){
  body.page-template-page_team-hotel-data-collection-form .thdc-upload-row{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Home map pin card */
.basecamp-map__preview{
  position:absolute;
  z-index:9999;
  pointer-events:none;
  background:#ffffff;
  border:1px solid rgba(31,35,105,0.16);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(31,35,105,0.18);
  padding:0;
  overflow:hidden;
}
.basecamp-map__infowindow{
  display:flex;
  align-items:stretch;
  gap:10px;
  text-align:left;
  width:340px;
  max-width:340px;
  min-height:96px;
  padding:0;
  margin-right:0;
}
.basecamp-map__infowindow__media{
  flex:0 0 96px;
  align-self:flex-start;
  display:flex;
  width:96px;
  height:96px;
  background:#eef4f7;
}
.basecamp-map__infowindow__image{
  width:96px;
  height:96px;
  object-fit:cover;
  border-radius:0;
  display:block;
}
.basecamp-map__infowindow__content{
  min-width:0;
  flex:1 1 auto;
  padding:8px 12px 8px 0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:3px;
}
.basecamp-map__infowindow__row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  column-gap:7px;
  min-width:0;
}
.basecamp-map__infowindow__icon{
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
  line-height:1;
}
.basecamp-map__infowindow__icon img{
  width:18px;
  height:18px;
  object-fit:contain;
  display:block;
}
.basecamp-map__infowindow__icon--hotel i::before{
  color:#0033A0 !important;
  font-size:15px !important;
  line-height:1 !important;
}
.basecamp-map__infowindow__icon--clock{
  color:#6b7280;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif !important;
  font-size:15px !important;
  line-height:1 !important;
}
.basecamp-map__infowindow__title{
  font-size:13px;
  line-height:1.15;
  margin:0;
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  min-width:0;
}
.basecamp-map__infowindow__stars{
  color:#f7b500;
  font-size:12px;
  line-height:1;
  margin:0;
  letter-spacing:1px;
  display:block;
}
.basecamp-map__infowindow__rating{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.basecamp-map__infowindow__exclusivity{
  display:inline-flex;
  align-items:center;
  min-height:16px;
  padding:2px 5px;
  border-radius:4px;
  background:#0033A0;
  color:#ffffff;
  font-size:9px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.basecamp-map__infowindow__meta{
  color:#6b7280;
  font-size:11px;
  line-height:1.2;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
  max-width:200px;
}
.basecamp-map__infowindow--compact{
  width:auto;
  max-width:320px;
  min-height:0;
  padding:0;
}
.basecamp-map__infowindow--compact .basecamp-map__infowindow__content{
  padding:10px 14px;
}
.basecamp-map__infowindow--compact .basecamp-map__infowindow__title{
  margin:0;
  white-space:nowrap;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:292px;
}

/* Prevent InfoWindow inner scroll */
.gm-style .gm-style-iw-d{
  overflow:hidden !important;
}

/* Slightly wider info window container */
.gm-style .gm-style-iw-c{
  max-width:340px !important;
  padding:12px !important;
}
.gm-style .gm-style-iw-chr{
  display:none !important;
}


/* Smaller font for input placeholders (training centre form repeaters) */
body.page-template-page_team-training-centre-data-collection-form input::placeholder{
  font-size:12px!important;
  color:#8aa5ad;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:10px 16px;
  border-radius:10px;
  border:0;
  background-color:#002c9c;
  color:#ffffff;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  font-size:inherit;
  line-height:1;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__btn:hover{
  filter:brightness(0.95);
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__filename{
  color:#6b7280;
  font-size:13px;
  line-height:1.2;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__filename.is-empty{
  display:none;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__remove{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(31,35,105,0.18);
  background:#ffffff;
  color:#1f2369;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__remove:hover{
  background:#f3f6fb;
}
body.page-template-page_team-hotel-data-collection-form .thdc-upload__remove[hidden]{
  display:none !important;
}

/* Repeaters: keep fields aligned */
body.page-template-page_team-hotel-data-collection-form .thdc-bedroom .thdc-upload,
body.page-template-page_team-hotel-data-collection-form .thdc-meeting-room .thdc-upload{
  width:100%;
}
body.page-template-page_team-hotel-data-collection-form .thdc-bedroom .thdc-upload__btn,
body.page-template-page_team-hotel-data-collection-form .thdc-meeting-room .thdc-upload__btn{
  width:100%;
  justify-content:center;
}

/* Data collection buttons: tweak padding + spacing */
.data-collection-form__panel .button{
  padding:10px 16px !important;
  margin-top:10px;
}
.basecamp-compare__toast.is-anchored{
  transform:translate(-50%, -100%);
}
.basecamp-compare__toast.is-visible{
  opacity:1;
}

@media (max-width:767px){
  .basecamp-compare__toast{
    width:260px !important;
    max-width:calc(100vw - 48px) !important;
    min-height:64px !important;
    height:64px !important;
  }
}

.basecamp-hotel__image-placeholder{
  width:100%;
  height:100%;
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:20px;
  background:linear-gradient(135deg, #eef5f8 0%, #dbe8ee 100%);
  border:1px dashed rgba(31,35,105,0.28);
  border-radius:12px;
  color:#1f2369;
  font-family:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
}

.basecamp-hotel__image-placeholder__icon{
  width:38px;
  height:30px;
  display:block;
  position:relative;
  border:2px solid rgba(31,35,105,0.5);
  border-radius:6px;
}

.basecamp-hotel__image-placeholder__icon::before{
  content:"";
  position:absolute;
  left:8px;
  bottom:7px;
  width:20px;
  height:12px;
  background:rgba(31,35,105,0.22);
  clip-path:polygon(0 100%, 38% 35%, 58% 65%, 75% 40%, 100% 100%);
}

.basecamp-hotel__image-placeholder__icon::after{
  content:"";
  position:absolute;
  top:6px;
  right:7px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(31,35,105,0.45);
}

.basecamp-training__section__placeholder{
  min-height:140px;
  border:0;
  border-radius:0;
}

.basecamp-hotel__sections{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
}

.header__logo--disabled,
.footer-camps-row__button--disabled{
  cursor:default;
  pointer-events:none;
}

.header__logo,
.header__logo:hover,
.header__logo:focus,
.header__logo:focus-visible,
.header__logo:active{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  text-decoration:none !important;
  transform:none !important;
}

@media (min-width:1280px){
  .header__wrapper{
    width:100% !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

.main-navigation a,
.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation a:focus-visible,
.main-navigation a:active,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation__item.current-menu-item a,
.main-navigation__item.current_page_item a,
.main-navigation__item.current-menu-ancestor a{
  background:transparent !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  text-decoration:none !important;
  transform:none !important;
}

.main-navigation a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-ancestor > a{
  color:#ffffff !important;
}

.main-navigation a:hover,
.main-navigation a:focus,
.main-navigation a:focus-visible,
.main-navigation a:active{
  color:var(--euro-dark, #2100a0) !important;
}

.main-navigation > li > a:hover,
.main-navigation > li > a:focus,
.main-navigation > li > a:focus-visible,
.main-navigation > li > a:active,
.main-navigation > li.open > a{
  color:#ffffff !important;
}

.main-navigation > .current-menu-item > a,
.main-navigation > .current_page_item > a,
.main-navigation > .current-menu-ancestor > a{
  background-color:transparent !important;
  border-radius:0 !important;
  color:#ffffff !important;
}

.main-navigation .sub-menu .current-menu-item > a,
.main-navigation .sub-menu .current_page_item > a,
.main-navigation .sub-menu .current-menu-ancestor > a{
  background-color:transparent !important;
  color:#1f2369 !important;
}

.main-navigation .sub-menu a,
.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus,
.main-navigation .sub-menu a:focus-visible,
.main-navigation .sub-menu a:active{
  background:transparent !important;
  border:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  text-decoration:none !important;
}

.main-navigation .sub-menu a{
  color:#1f2369 !important;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus,
.main-navigation .sub-menu a:focus-visible,
.main-navigation .sub-menu a:active{
  color:var(--euro-dark, #2100a0) !important;
}

.main-navigation .my-profile > a,
.main-navigation .my-profile > a:hover,
.main-navigation .my-profile > a:focus,
.main-navigation .my-profile > a:focus-visible,
.main-navigation .my-profile > a:active,
.main-navigation .my-profile.open > a,
.main-navigation .my-profile.current-menu-item > a,
.main-navigation .my-profile.current-menu-ancestor > a{
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  border-radius:0 !important;
  color:#ffffff !important;
}

.main-navigation .my-profile > a:hover,
.main-navigation .my-profile > a:focus,
.main-navigation .my-profile > a:focus-visible,
.main-navigation .my-profile > a:active{
  color:var(--euro-light-blue, rgb(150, 236, 255)) !important;
}

.header__navigation__open-btn,
.header__navigation__close-btn{
  display:none !important;
}

@media (max-width:1299px){
  .header__wrapper{
    padding:0 !important;
  }

  body.header-navigation-open,
  body:has(.header__navigation.open){
    overflow-x:hidden;
  }

  .header__navigation__open-btn{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    outline:none;
  }

  .header__navigation__open-btn span,
  .header__navigation__close-btn span{
    display:block;
    width:26px;
    height:3px;
    border-radius:999px;
    background:#ffffff;
  }

  .header__navigation{
    position:fixed !important;
    top:0;
    right:0 !important;
    bottom:0;
    left:0 !important;
    z-index:10000;
    display:none !important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:24px;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    height:100vh;
    padding:86px 30px 30px;
    background:#1f2369 !important;
    margin:0 !important;
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    transform:none !important;
  }

  .header__navigation.open{
    display:flex !important;
  }

  .header__navigation__brand{
    display:none !important;
  }

  .header__navigation__close-btn{
    display:flex !important;
    align-items:center;
    justify-content:center;
    position:fixed !important;
    top:18px !important;
    right:18px !important;
    z-index:2147483647 !important;
    width:48px !important;
    height:48px !important;
    padding:0;
    border:0;
    border-radius:50%;
    background:#ffffff;
    box-shadow:0 8px 22px rgba(0,0,0,0.25);
    outline:none;
    pointer-events:auto;
  }

  .header__navigation__close-btn span{
    display:block !important;
    position:absolute !important;
    width:24px !important;
    height:3px !important;
    margin:0 !important;
    border-radius:999px;
    background:#1f2369 !important;
  }

  .header__navigation__close-btn span:first-child{
    transform:rotate(45deg);
  }

  .header__navigation__close-btn span:last-child{
    transform:rotate(-45deg);
  }

  .main-navigation{
    width:100% !important;
    max-width:100% !important;
    align-items:flex-start;
    align-self:stretch !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box;
  }

  .header__navigation .main-navigation > li{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:50px;
    margin:0 !important;
    overflow:visible !important;
  }

  .header__navigation .main-navigation > li.menu-item-has-children{
    display:block !important;
  }

  .header__navigation .main-navigation > li > a{
    justify-content:flex-start !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    padding:12px 0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere;
  }

  body .header__navigation .main-navigation > li > a,
  body .header__navigation .main-navigation > li > a:hover,
  body .header__navigation .main-navigation > li > a:focus,
  body .header__navigation .main-navigation > li > a:focus-visible,
  body .header__navigation .main-navigation > li > a:active,
  body .header__navigation .main-navigation > li.open > a,
  body .header__navigation .main-navigation > li.current-menu-item > a,
  body .header__navigation .main-navigation > li.current_page_item > a,
  body .header__navigation .main-navigation > li.current-menu-ancestor > a{
    display:flex !important;
    color:#ffffff !important;
    opacity:1 !important;
  }

  .header__navigation .main-navigation a,
  .header__navigation .main-navigation a:hover,
  .header__navigation .main-navigation a:focus,
  .header__navigation .main-navigation a:focus-visible,
  .header__navigation .main-navigation a:active,
  .header__navigation .main-navigation .current-menu-item > a,
  .header__navigation .main-navigation .current_page_item > a,
  .header__navigation .main-navigation .current-menu-ancestor > a,
  .header__navigation .main-navigation .sub-menu a,
  .header__navigation .main-navigation .sub-menu a:hover,
  .header__navigation .main-navigation .sub-menu a:focus,
  .header__navigation .main-navigation .sub-menu a:focus-visible,
  .header__navigation .main-navigation .sub-menu a:active,
  .header__navigation .main-navigation .my-profile > a,
  .header__navigation .main-navigation .my-profile > a:hover,
  .header__navigation .main-navigation .my-profile > a:focus,
  .header__navigation .main-navigation .my-profile > a:focus-visible,
  .header__navigation .main-navigation .my-profile > a:active{
    color:#ffffff !important;
  }
}

@media (min-width:1300px){
  .header__navigation__open-btn,
  .header__navigation__close-btn,
  .header__navigation__open-btn span,
  .header__navigation__close-btn span{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}

@media (min-width:1300px) and (max-width:1399px){
  .header__wrapper,
  body.home .header__wrapper{
    gap:10px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .header__brand{
    flex:0 1 auto !important;
    min-width:0 !important;
  }

  .header__logo img{
    max-width:220px !important;
    height:auto !important;
  }

  .header__navigation{
    position:static !important;
    top:auto !important;
    right:auto !important;
    left:auto !important;
    bottom:auto !important;
    display:flex !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    min-width:0 !important;
    justify-content:flex-end !important;
    overflow:visible !important;
    z-index:auto !important;
  }

  .main-navigation{
    gap:8px !important;
    flex-wrap:nowrap !important;
    flex-direction:row !important;
    align-items:center !important;
    width:auto !important;
    max-width:none !important;
    padding:0 !important;
    margin:0 !important;
  }

  .main-navigation__item{
    border-bottom:0 !important;
  }

  .main-navigation > li > a{
    padding-left:3px !important;
    padding-right:3px !important;
    font-size:12px !important;
    letter-spacing:.025em !important;
    white-space:nowrap !important;
  }
}

.homepage__header__search,
.homepage__header__search:focus,
.homepage__header__search:focus-within,
.homepage__header__search__input,
.homepage__header__search__input:focus,
.homepage__header__search__input:focus-visible{
  outline:none !important;
}

.homepage__header__search__input{
  border:0 !important;
  box-shadow:none !important;
  -webkit-appearance:none;
  appearance:none;
}

.basecamp.phone-link,
.basecamp.phone-link:focus,
.basecamp.phone-link:focus-visible,
.basecamp__name,
.basecamp__name:focus,
.basecamp__name:focus-visible,
.basecamp__name:active{
  outline:none !important;
  box-shadow:none !important;
}

.basecamp__name{
  -webkit-tap-highlight-color:transparent;
}

.homepage__header__search__input::-webkit-search-decoration,
.homepage__header__search__input::-webkit-search-cancel-button,
.homepage__header__search__input::-webkit-search-results-button,
.homepage__header__search__input::-webkit-search-results-decoration{
  display:none;
}

.gallery{
  z-index:99999 !important;
}

.gallery__close-btn{
  position:fixed !important;
  top:110px !important;
  right:32px !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.25) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:transform .2s ease, box-shadow .2s ease;
}

@media (max-height:760px), (max-width:1024px){
  .gallery__close-btn{
    position:fixed !important;
    top:18px !important;
    right:22px !important;
    z-index:2147483647 !important;
  }
}

.gallery__close-btn:hover,
.gallery__close-btn:focus{
  transform:scale(1.06);
  box-shadow:0 14px 34px rgba(0,0,0,.32) !important;
}

.gallery__close-btn span{
  position:absolute !important;
  width:24px !important;
  height:3px !important;
  margin:0 !important;
  border-radius:999px;
  background:#1f2369 !important;
}

.gallery__close-btn span:first-child{
  transform:rotate(45deg);
}

.gallery__close-btn span:last-child{
  transform:rotate(-45deg);
}

.gallery__thumbnails__wrapper{
  transition:transform .25s ease;
}

.gallery__control-btn{
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

body:not(.logged-in) .favorites-button,
body:not(.logged-in) .basecamp-single__favorite,
body:not(.logged-in) .basecamp-compare__favorite,
body:not(.logged-in) .info-window__favorite-btn,
body:not(.logged-in) .simplefavorite-button{
  display:none !important;
}

@media (max-width:767px){
  .gallery__close-btn{
    top:24px !important;
    right:18px !important;
    width:42px !important;
    height:42px !important;
  }
}

/* Host city cards: keep card still, zoom only the background image */
.homepage__hosts__box{
  background-image:none !important;
  transform:none !important;
  transition:box-shadow .2s ease !important;
}

.homepage__hosts__box::before{
  content:'' !important;
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--base-image);
  background-position:center center;
  background-size:cover;
  transform:scale(1);
  transition:transform .35s ease, background-image .2s ease;
}

.homepage__hosts__box::after{
  content:'' !important;
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(15, 38, 112, 0.06) 0%, rgba(15, 38, 112, 0.28) 58%, rgba(15, 38, 112, 0.45) 100%) !important;
  pointer-events:none;
}

.homepage__hosts__box:hover{
  background-image:none !important;
  transform:none !important;
  box-shadow:0 20px 44px rgba(17, 32, 84, 0.22);
}

.homepage__hosts__box:hover::before{
  background-image:var(--hover-image, var(--base-image));
  transform:scale(1.08);
}

@media (min-width:768px) and (max-width:1199px){
  .homepage__hosts__wrapper{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:space-between !important;
    gap:0 !important;
  }

  .homepage__hosts__wrapper .homepage__hosts__box,
  .homepage__hosts__wrapper .homepage__hosts__box:nth-child(3n+3){
    width:calc(50% - 14px) !important;
    flex:0 0 calc(50% - 14px) !important;
    max-width:calc(50% - 14px) !important;
    margin:0 0 28px !important;
  }
}

/* UEFA Euro 2028 alignment reference: 24px edge rhythm and Euro Pro body font */
body.home{
  font-family:"UEFA Euro Pro Medium", system-ui, sans-serif;
}

body.home .header__wrapper{
  width:100% !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

body.home .homepage{
  width:100% !important;
  max-width:1440px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow-x:visible !important;
}

body.home .homepage > .homepage__header{
  position:relative !important;
  left:50% !important;
  right:50% !important;
  width:100vw !important;
  min-width:100vw !important;
  max-width:100vw !important;
  margin-left:-50vw !important;
  margin-right:-50vw !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}

body.home .homepage > .homepage__filters,
body.home .homepage > .homepage__content{
  padding-left:24px !important;
  padding-right:24px !important;
}

body.home .homepage > .homepage__filters .wrapper,
body.home .homepage > .homepage__content .homepage__map__wrapper,
body.home .homepage > .homepage__content .homepage__basecamps__wrapper,
body.home .homepage > .homepage__content .wrapper,
body.home .basecamp-pagination-wrap.wrapper{
  width:100% !important;
  max-width:none !important;
}

@media (max-width:767px){
  body.home .header__wrapper,
  body.home .homepage > .homepage__filters,
  body.home .homepage > .homepage__content{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body.home .basecamp-pagination-wrap.wrapper{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.home .basecamp-pagination{
    width:100% !important;
  }
}

/* Home: landing hero layout with search, map, and filters */
body.home .homepage{
  display:block !important;
}

body.home .homepage > .homepage__header{
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  padding:20px 24px 0 !important;
  overflow:visible !important;
}

body.home .homepage__hero-shell{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding-left:0;
  padding-right:0;
  box-sizing:border-box;
}

body.home .homepage__hero-shell > .homepage__header__heading{
  display:none !important;
}

body.home .homepage__header__search{
  width:min(560px, 100%) !important;
  margin:0 auto 16px !important;
  padding:4px 6px 4px 14px !important;
  gap:6px !important;
}

body.home .homepage__header__search__search-btn{
  background:transparent;
  flex:0 0 34px !important;
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
}

body.home .homepage__header__search__input::placeholder{
  color:#6b7280 !important;
  opacity:1;
}

@media (min-width:1200px){
  body.home .homepage__header__search__input{
    height:2.07304038vw !important;
  }
}

body.home .homepage__hero-panels{
  display:grid;
  grid-template-columns:minmax(0, 2.1fr) minmax(300px, .9fr);
  gap:20px;
  align-items:stretch;
}

body.home .homepage__hero-map,
body.home .homepage__hero-filters{
  padding:0 0 8px !important;
  margin:0 !important;
  min-width:0;
}

body.home .homepage__hero-map .homepage__map__wrapper,
body.home .homepage__hero-filters > .wrapper{
  width:100% !important;
  max-width:none !important;
  height:100%;
  margin:0 !important;
  padding:0 !important;
}

body.home .homepage__hero-map .acf-map{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  height:clamp(320px, 29vw, 440px) !important;
  border-radius:8px !important;
  box-shadow:0 18px 44px rgba(0, 0, 0, .28) !important;
}

body.home .homepage__hero-filters .homepage__filters__panel{
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:1px solid rgba(255, 255, 255, .16);
  border-radius:var(--pk-border-radius-xl, 28px);
  background:#0000004d;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 44px rgba(0, 0, 0, .28);
  overflow:auto;
}

body.home .homepage__hero-filters .homepage__filters__panel__inner{
  padding:14px 18px;
}

body.home .homepage__hero-filters .homepage__filters__group{
  margin-bottom:12px;
}

body.home .homepage__hero-filters .homepage__filters__group__title{
  font-size:16px;
  font-weight:600!important ;
  margin-bottom:6px;
}

body.home .homepage__hero-filters .homepage__filter-option{
  margin:2px 0;
  font-size:16px;
  line-height:1.25;
}

body.home .homepage__hero-filters .homepage__filter-option input[type="checkbox"]{
  margin-right:7px;
}

body.home .homepage__hero-filters .homepage__filters__grid{
  padding:0 0 12px;
}

body.home .homepage__hero-filters .homepage__filters__footer{
  padding-top:12px;
}

body.home .homepage__hero-map .homepage__map-key{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin-top:8px;
  padding:8px;
}

body.home .homepage__hero-filters .homepage__filters__group__title,
body.home .homepage__hero-filters .homepage__filter-option,
body.home .homepage__hero-filters .homepage__filters__count,
body.home .homepage__hero-filters .homepage__filters__clear{
  color:#fff;
  font-family:"UEFA Euro Pro Medium", system-ui, sans-serif;
  font-weight:400;
}

body.home .homepage__hero-filters .homepage__filters__grid{
  border-bottom-color:rgba(255, 255, 255, .22);
}

body.home .homepage__hero-filters .homepage__filter-option input[type="checkbox"]{
  accent-color:#001ec8;
}

body.home .homepage__hero-filters .homepage__filters__clear{
  border:1px solid currentColor !important;
  border-radius:8px !important;
  border-color:rgba(255, 255, 255, .55);
  background:rgba(255, 255, 255, .12);
  color:#fff;
  cursor:pointer;
}

body.home .homepage__hero-filters .homepage__filters__clear:not(:disabled):hover{
  background:#fff;
  color:#1f2369;
}

body.home .homepage__content{
  width:100%;
  max-width:1440px;
  margin:0 auto;
  padding:24px !important;
}

body.home .homepage__content .host-city__basecamps{
  padding-top:0 !important;
}

@media (max-width:1023px){
  body.home .homepage__hero-panels{
    grid-template-columns:1fr;
  }

  body.home .homepage__hero-map .acf-map,
  body.home .homepage__hero-filters .homepage__filters__panel{
    min-height:0;
    height:auto;
  }

  body.home .homepage__hero-map .acf-map{
    height:360px !important;
  }
}

@media (max-width:767px){
  body.home .homepage > .homepage__header{
    padding:16px 16px 0 !important;
  }

  body.home .homepage__hero-shell{
    padding-left:0;
    padding-right:0;
  }

  body.home .homepage__header__search{
    margin-bottom:14px !important;
  }

  body.home .homepage__hero-map .acf-map{
    height:300px !important;
  }

  body.home .homepage__content{
    padding:20px 16px !important;
  }

  body.home .host-city__section-title{
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:clamp(24px, 7vw, 30px) !important;
  }
}

body :where(
  button,
  input,
  select,
  textarea,
  a,
  img,
  iframe,
  video,
  .button,
  .btn,
  .card,
  .banner,
  .basecamp,
  .basecamp-compare__card,
  .basecamp-compare__image,
  .basecamp-compare__remove,
  .basecamp-compare__favorite,
  .basecamp-compare__clear,
  .basecamp-compare__details,
  .basecamp-single__cta__button,
  .basecamp__cta__details-btn,
  .basecamp__cta__compare-btn,
  .homepage__filters__panel,
  .homepage__map-key,
  .homepage__header__search,
  .hotel-pictures__container,
  .hotel-pictures__main,
  .hotel-pictures__thumbnail,
  .lightbox-modal__nav,
  .basecamp-pagination__card,
  .basecamp-pagination__btn,
  .basecamp-hotel__section,
  .basecamp-hotel__room-card,
  .basecamp-hotel__chip,
  .basecamp-hotel__included__value
):not(.gm-style *):not(.acf-map *){
  border-radius:8px !important;
}

:where( button, input[type="button"], input[type="submit"], input[type="reset"], [role="button"], .button, .btn, .facetwp-reset, .simplefavorite-button, .favorites-button, .basecamp-single__cta__button, .basecamp__cta__details-btn, .basecamp__cta__compare-btn, .info-box__download-pdf-btn, .share-button ){
  border-radius:8px !important;
}

.user-favorites__cta :where(button, a, input[type="button"], input[type="submit"], [role="button"]){
  border:1px solid #001ec8 !important;
  background:#ffffff !important;
  color:#001ec8 !important;
  cursor:pointer !important;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}

.user-favorites__cta :where(button, a, input[type="button"], input[type="submit"], [role="button"]):hover,
.user-favorites__cta :where(button, a, input[type="button"], input[type="submit"], [role="button"]):focus{
  border-color:#001ec8 !important;
  background:#001ec8 !important;
  color:#ffffff !important;
  text-decoration:none !important;
}

.user-favorites .user-favorites__list,
.user-favorites .user-favorites__list .basecamp{
  width:100% !important;
  max-width:none !important;
}

.main-navigation .my-profile > a{
  display:flex !important;
  align-items:center !important;
  gap:8px;
}

.main-navigation .my-profile > a .team_flag{
  width:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  max-height:20px !important;
  margin:0 !important;
  object-fit:cover !important;
  border-radius:50% !important;
  flex:0 0 20px !important;
}

.main-navigation .my-profile > a .user_name{
  margin:0 !important;
  line-height:1 !important;
}

.basecamp-single__hero__hotel-meta{
  margin-bottom:0px !important;
}

.basecamp .full-exclusivity,
.banner .full-exclusivity,
.basecamp-single__hero .full-exclusivity,
.basecamp-map__infowindow__exclusivity{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#4c9d2f !important;
  border:1px solid #4c9d2f !important;
  color:#ffffff !important;
  border-radius:8px !important;
  font-weight:400 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.banner__info,
.banner__info *,
.banner__info strong,
.banner__info .hotel-name,
.banner__info .full-exclusivity{
  font-weight:400 !important;
}

.banner__info .icon-time::before{
  content:"⏱";
  color:#6b7280 !important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif !important;
  font-size:24px !important;
  line-height:1 !important;
}

.basecamp .full-exclusivity,
.banner .full-exclusivity,
.basecamp-single__hero .full-exclusivity{
  padding:5px 10px !important;
}

.basecamp-map__infowindow__exclusivity{
  min-height:16px !important;
  padding:2px 5px !important;
  font-size:9px !important;
}

.homepage__hosts__available-icon{
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  flex:0 0 26px !important;
}

.tooltip,
.tooltip-inner,
.icon-tooltip::after,
.favorites-button::after,
.simplefavorite-button::after,
.share-button .icon-tooltip::after,
.share-button .icon-share::after,
.favorites-button .icon-favorite::after,
.favorites-button .icon-favorite-active::after,
.basecamp__social .icon-share::after,
.basecamp__social .icon-favorite::after,
.basecamp__social .icon-favorite-active::after{
  font-family:"UEFA Euro Pro Medium", system-ui, sans-serif !important;
}

.basecamp-compare__toast{
  box-sizing:border-box !important;
  overflow:hidden !important;
  width:360px !important;
  max-width:calc(100vw - 48px) !important;
  height:70px !important;
  min-height:70px !important;
  max-height:70px !important;
  padding:14px 16px !important;
}

@media (max-width:767px){
  .basecamp-compare__toast{
    width:min(280px, calc(100vw - 48px)) !important;
    max-width:calc(100vw - 48px) !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    padding:10px 14px !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }
}

.hotel-pictures__main,
.training-pictures .hotel-pictures__main,
.basecamp-hotel__amenities-block--pictures .hotel-pictures__main{
  border-radius:12px !important;
  overflow:hidden !important;
  isolation:isolate;
  -webkit-mask-image:-webkit-radial-gradient(white, black);
}

.hotel-pictures__main-image,
.training-pictures .hotel-pictures__main-image,
.basecamp-hotel__amenities-block--pictures .hotel-pictures__main-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border-radius:inherit !important;
  object-fit:cover;
}

@media (max-width:767px){
  .hotel-pictures__main,
  .training-pictures .hotel-pictures__main,
  .basecamp-hotel__amenities-block--pictures .hotel-pictures__main{
    aspect-ratio:auto !important;
    min-height:0 !important;
    height:auto !important;
  }

  .hotel-pictures__main-image,
  .training-pictures .hotel-pictures__main-image,
  .basecamp-hotel__amenities-block--pictures .hotel-pictures__main-image{
    height:auto !important;
    object-fit:contain !important;
  }
}

/* Global shell alignment: keep page content aligned with header/footer logos */
:root{
  --e28-shell-max:1440px;
  --e28-shell-pad:24px;
}

body.home .homepage__hero-shell,
body.home .homepage__content,
body:not(.home) .wrapper,
body:not(.home) .host-city__basecamps__wrapper.wrapper,
body:not(.home) .host-city__extra__grid.wrapper,
body:not(.home) .host-city__overview__grid.wrapper,
body:not(.home) .basecamp-list.wrapper,
body:not(.home) .basecamps__wrapper.wrapper,
body:not(.home) .team-transfers__city.wrapper,
body:not(.home) .transfer-city__wrapper.wrapper,
body:not(.home) .transfer-city__heading__wrapper.wrapper,
body:not(.home) .team-journey__wrapper.wrapper,
body:not(.home) .team-journey__heading__wrapper.wrapper,
body:not(.home) .section-nav__menu.wrapper{
  width:100% !important;
  max-width:var(--e28-shell-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--e28-shell-pad) !important;
  padding-right:var(--e28-shell-pad) !important;
  box-sizing:border-box !important;
}

body:not(.home) .host-cities__hosts__wrapper{
  width:100% !important;
  max-width:var(--e28-shell-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:40px !important;
  padding-right:40px !important;
  box-sizing:border-box !important;
}

body.single-basecamp .basecamp-single__hero{
  width:calc(100% - (var(--e28-shell-pad) * 2) - 20px) !important;
  max-width:calc(var(--e28-shell-max) - (var(--e28-shell-pad) * 2) - 20px) !important;
  box-sizing:border-box !important;
}

body.single-basecamp .basecamp-single__hero-mobile-title{
  display:none !important;
}

/* Basecamp detail hero: desktop balance */
@media (min-width:1025px){
  body.single-basecamp .basecamp-single__hero{
    overflow:visible !important;
  }

  body.single-basecamp .basecamp-single__hero__cover{
    background-position:center center !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div{
    align-items:flex-start !important;
    gap:16px !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.single-basecamp .basecamp-single__details__avatar{
    position:absolute !important;
    top:-60px !important;
    left:0 !important;
    width:340px !important;
    height:340px !important;
    min-width:375px !important;
    min-height:375px !important;
    flex:0 0 340px !important;
    z-index:4 !important;
    border:5px solid #ffffff !important;
    box-shadow:none !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2){
    position:absolute !important;
    left:440px !important;
    bottom:-4px !important;
    flex:0 1 auto !important;
    width:500px !important;
    max-width:500px !important;
    margin-bottom:0 !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:first-of-type{
    gap:4px !important;
    margin-bottom:8px !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2){
    position:absolute !important;
    left:-420px !important;
    bottom:-4px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    margin:0 !important;
  }

  body.single-basecamp .basecamp-single__hero .basecamp-single__cta__button{
    width:fit-content !important;
    min-width:190px !important;
    max-width:none !important;
    flex:0 0 auto !important;
    min-height:42px !important;
    max-height:42px !important;
    padding:0 18px !important;
    font-size:14px !important;
    line-height:1.1 !important;
  }

  body.single-basecamp .basecamp-single__hero .basecamp-single__cta__button:not(.basecamp-single__hero__watch-button){
    max-width:none !important;
  }

  body.single-basecamp .basecamp-single__hero .basecamp-single__cta__button[style]{
    margin-left:0 !important;
  }
}

@media (max-width:767px){
  body.single-basecamp{
    overflow-x:hidden !important;
  }

  body.single-basecamp .basecamp-single,
  body.single-basecamp .basecamp-single *{
    box-sizing:border-box !important;
  }

  body.single-basecamp .basecamp-single__hero{
    width:calc(100% - 32px) !important;
    max-width:calc(100% - 32px) !important;
  }

  body.single-basecamp .basecamp-single__details > .wrapper{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:18px !important;
  }

  body.single-basecamp .basecamp-distance-bar{
    width:100% !important;
    flex:0 0 auto !important;
  }

  body.single-basecamp .basecamp-single__details > .wrapper > div:last-child{
    width:100% !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    min-width:0 !important;
  }

  body.single-basecamp .basecamp-single__details > .wrapper > div:last-child .basecamp-single__compare{
    width:auto !important;
    max-width:none !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
  }

  body.single-basecamp .basecamp-single__details > .wrapper > div:last-child .favorites-button{
    flex:0 0 auto !important;
  }

  :root{
    --e28-shell-pad:16px;
  }

  .host-city__basecamps > .wrapper{
    width:100% !important;
    max-width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }

  .host-city__section-title{
    width:100% !important;
    margin:0 0 16px !important;
    font-size:26px !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere;
  }

  body.home .host-city__section-title{
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:clamp(24px, 7vw, 30px) !important;
  }

  body:not(.home) .host-cities__hosts__wrapper{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

@media (max-width:992px){
  .footer.footer--solid,
  .footer.footer--solid .footer__logo-col,
  .footer.footer--solid .footer__sponsors,
  .footer.footer--solid .footer__social-network,
  .footer.footer--solid .footer__disclaimers{
    text-align:center !important;
  }

  .footer.footer--solid .footer__logo-col,
  .footer.footer--solid .footer__sponsors,
  .footer.footer--solid .footer__social-network{
    align-items:center !important;
    justify-content:center !important;
  }

  .footer.footer--solid .footer__sponsors__list,
  .footer.footer--solid .footer__social-network__wrapper,
  .footer.footer--solid .footer__social-network__link{
    align-items:center !important;
    justify-content:center !important;
  }
}

/* Keep footer at viewport bottom on short/empty pages */
html,
body{
  min-height:100%;
}

body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

body > .header,
body > .footer{
  flex-shrink:0;
}

body > .footer{
  margin-top:auto;
}

/* Basecamp detail hero: mobile containment */
@media (max-width:767px){
  body.single-basecamp .basecamp-single__title-bar{
    display:none !important;
  }

  body.single-basecamp .basecamp-single__hero{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#ffffff !important;
    border-radius:18px !important;
    box-shadow:0 14px 34px rgba(31,35,105,0.10) !important;
  }

  body.single-basecamp .basecamp-single__hero__cover{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:190px !important;
    border-radius:18px 18px 0 0 !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#002c9c !important;
  }

  body.single-basecamp .basecamp-single__hero__overlay{
    display:none !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    padding:0 22px 24px !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.single-basecamp .basecamp-single__details__avatar{
    position:absolute !important;
    left:0 !important;
    top:-58px !important;
    bottom:auto !important;
    width:118px !important;
    height:118px !important;
    min-width:118px !important;
    min-height:118px !important;
    margin:0 !important;
    z-index:5 !important;
    border:5px solid #ffffff !important;
    box-shadow:0 14px 32px rgba(31,35,105,0.16) !important;
  }

  body.single-basecamp .basecamp-single__details__avatar img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2){
    position:relative !important;
    top:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:72px 0 0 !important;
    color:#253740 !important;
    z-index:5 !important;
  }

  body.single-basecamp .basecamp-single__hero-mobile-title{
    display:block !important;
    margin:0 0 10px !important;
    padding-right:0 !important;
    color:#10154c !important;
    font-size:34px !important;
    line-height:1.05 !important;
    text-align:left !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:first-of-type{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    margin:0 0 16px !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div > span,
  body.single-basecamp .basecamp-single__hero__hotel-meta{
    display:grid !important;
    grid-template-columns:30px minmax(0, 1fr) !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    color:#253740 !important;
    font-size:16px !important;
    line-height:1.3 !important;
    white-space:normal !important;
  }

  body.single-basecamp .basecamp-single__hero .icon{
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    flex:0 0 30px !important;
    font-size:22px !important;
  }

  body.single-basecamp .basecamp-single__hero .icon-hotel::before,
  body.single-basecamp .basecamp-single__hero .icon-training-ground::before{
    color:#0033A0 !important;
    font-size:25px !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category{
    display:inline-flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:1px !important;
    margin:0 !important;
    transform:none !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .icon{
    grid-column:1;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category{
    grid-column:2;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category__star{
    font-size:20px !important;
    line-height:1 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .full-exclusivity{
    grid-column:2;
    justify-self:start;
    margin:2px 0 0 !important;
    transform:none !important;
    padding:6px 10px !important;
    font-size:14px !important;
    min-height:0 !important;
    width:auto !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2){
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    z-index:5 !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2) .basecamp-single__cta__button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:260px !important;
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    margin:0 !important;
    padding:8px 10px !important;
    font-size:16px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    transform:none !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2) .basecamp-single__hero__watch-button.is-disabled{
    opacity:.72 !important;
  }
}

/* Basecamp detail hero: tablet profile-style layout */
@media (min-width:768px) and (max-width:1024px){
  body.single-basecamp{
    overflow-x:hidden !important;
  }

  body.single-basecamp .basecamp-single__title-bar{
    display:none !important;
  }

  body.single-basecamp .basecamp-single__hero{
    width:calc(100% - 48px) !important;
    max-width:calc(100% - 48px) !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    background:#ffffff !important;
    border-radius:22px !important;
    box-shadow:0 16px 38px rgba(31,35,105,0.10) !important;
  }

  body.single-basecamp .basecamp-single__hero__cover{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:280px !important;
    border-radius:22px 22px 0 0 !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#002c9c !important;
  }

  body.single-basecamp .basecamp-single__hero__overlay{
    display:none !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    padding:0 34px 34px !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.single-basecamp .basecamp-single__details__avatar{
    position:absolute !important;
    left:0 !important;
    top:-76px !important;
    bottom:auto !important;
    width:152px !important;
    height:152px !important;
    min-width:152px !important;
    min-height:152px !important;
    margin:0 !important;
    z-index:5 !important;
    border:6px solid #ffffff !important;
    box-shadow:0 16px 36px rgba(31,35,105,0.16) !important;
  }

  body.single-basecamp .basecamp-single__details__avatar img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2){
    position:relative !important;
    top:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:96px 0 0 !important;
    color:#253740 !important;
    z-index:5 !important;
  }

  body.single-basecamp .basecamp-single__hero-mobile-title{
    display:block !important;
    margin:0 0 14px !important;
    color:#10154c !important;
    font-size:42px !important;
    line-height:1.05 !important;
    text-align:left !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:first-of-type{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    margin:0 0 20px !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div > span,
  body.single-basecamp .basecamp-single__hero__hotel-meta{
    display:grid !important;
    grid-template-columns:34px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    color:#253740 !important;
    font-size:18px !important;
    line-height:1.35 !important;
    white-space:normal !important;
  }

  body.single-basecamp .basecamp-single__hero .icon{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    flex:0 0 34px !important;
    font-size:24px !important;
  }

  body.single-basecamp .basecamp-single__hero .icon-hotel::before,
  body.single-basecamp .basecamp-single__hero .icon-training-ground::before{
    color:#0033A0 !important;
    font-size:28px !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category{
    display:inline-flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:2px !important;
    margin:0 !important;
    transform:none !important;
    grid-column:2 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .icon{
    grid-column:1 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category__star{
    font-size:24px !important;
    line-height:1 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .full-exclusivity{
    grid-column:2 !important;
    justify-self:start !important;
    margin:4px 0 0 !important;
    padding:7px 12px !important;
    font-size:15px !important;
    min-height:0 !important;
    width:auto !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2){
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 260px)) !important;
    gap:12px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    z-index:5 !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2) .basecamp-single__cta__button{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    margin:0 !important;
    padding:8px 12px !important;
    font-size:17px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    box-sizing:border-box !important;
    opacity:1 !important;
    transform:none !important;
  }

  body.single-basecamp .basecamp-single__hero > .wrapper > div > div:nth-child(2) > div:nth-of-type(2) .basecamp-single__hero__watch-button.is-disabled{
    opacity:.72 !important;
  }
}

/* Host Cities landing: force consistent 2-column city cards on iPad/tablet */
@media (min-width:768px) and (max-width:1199px){
  .homepage__hosts__wrapper,
  .host-cities__hosts__wrapper{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:28px !important;
    justify-content:initial !important;
    align-items:start !important;
  }

  .homepage__hosts__wrapper > .homepage__hosts__box,
  .homepage__hosts__wrapper > .homepage__hosts__box:nth-child(3n+3),
  .homepage__hosts__wrapper > .homepage__hosts__box:nth-child(2n+2){
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    margin:0 !important;
  }

  .host-cities__hosts__wrapper > .homepage__hosts__box,
  .host-cities__hosts__wrapper > .homepage__hosts__box:nth-child(odd),
  .host-cities__hosts__wrapper > .homepage__hosts__box:nth-child(even){
    grid-column:auto !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    flex:none !important;
    margin:0 !important;
  }
}

/* Basecamp detail hero: keep exclusivity beside hotel rating on mobile/tablet */
@media (max-width:1024px){
  body.single-basecamp .basecamp-single__hero__hotel-meta{
    display:inline-grid !important;
    grid-template-columns:34px max-content max-content !important;
    align-items:center !important;
    justify-content:start !important;
    column-gap:6px !important;
    row-gap:0 !important;
    width:auto !important;
    max-width:100% !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .icon{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .category{
    grid-column:2 !important;
    grid-row:1 !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .full-exclusivity{
    grid-column:3 !important;
    grid-row:1 !important;
    align-self:center !important;
    justify-self:start !important;
    margin:0 !important;
  }
}

@media (max-width:767px){
  body.single-basecamp .basecamp-single__hero__hotel-meta{
    grid-template-columns:30px max-content max-content !important;
    column-gap:5px !important;
  }

  body.single-basecamp .basecamp-single__hero__hotel-meta .full-exclusivity{
    padding:6px 9px !important;
    font-size:13px !important;
  }
}
html body img.wp-smiley,
html body img.emoji{
  margin:-2px !important;
}

@media (max-width:1399px){
  .main-navigation__item.menu-item-has-children{
    overflow:visible !important;
  }
}

@media (min-width:1300px) and (max-width:1399px){
  .main-navigation .sub-menu{
    position:absolute;
    right:0;
    top:60px;
    width:auto;
    min-width:272px;
    height:auto;
    padding-left:0;
    display:none;
    z-index:100;
    background:rgb(255,255,255);
    border-radius:3px;
  }

  .main-navigation .my-profile > a{
    width:auto !important;
    padding-right:20px !important;
  }
}
