/* Services & Amenities — approved desktop composition: 1536 × 1024. */
body.page:has(.mn-services-hero) { background: #fbfaf8; }

body.page .mn-services-hero {
  height: 162px;
  min-height: 162px;
  overflow: hidden;
  padding: 0 !important;
  color: var(--mn-white);
  position: relative;
  isolation: isolate;
  background: var(--mn-navy);
}

body.page .mn-services-hero > .e-con-inner {
  width: 960px !important;
  max-width: calc(100% - 48px) !important;
  height: 162px;
  min-height: 162px;
  justify-content: flex-start;
  gap: 9px !important;
  padding: 45px 0 25px !important;
  box-sizing: border-box;
}

body.page .mn-services-hero .elementor-widget { margin: 0; }
body.page .mn-services-hero h1 {
  margin: 0;
  color: var(--mn-gold);
  font-family: var(--mn-font-serif);
  font-size: 36px;
  font-weight: 500;
  line-height: 1.15;
}
body.page .mn-services-hero .elementor-widget-text-editor,
body.page .mn-services-hero .elementor-widget-text-editor p {
  margin: 0;
  color: var(--mn-white);
  font-size: 15px;
  line-height: 1.35;
}

body.page .mn-services-nav {
  height: 82px;
  min-height: 82px;
  overflow-x: clip;
  padding: 0 !important;
  background: #fbfaf8;
}
body.page .mn-services-nav > .e-con-inner {
  height: 82px;
  min-height: 82px;
  padding: 12px 10px 10px !important;
  box-sizing: border-box;
}
body.page .mn-services-nav .mn-widget-component { height: 60px; }
body.page .mn-services-nav .mn-amenity-nav {
  display: flex;
  width: 100%;
  height: 60px;
  gap: 15px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.page .mn-services-nav .mn-amenity-nav__item {
  display: grid;
  flex: 0 0 90px;
  min-width: 90px;
  height: 60px;
  min-height: 60px;
  place-items: center;
  align-content: center;
  gap: 3px;
  padding: 5px 9px;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 10px;
  color: var(--mn-text);
  font-size: 11px;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
body.page .mn-services-nav .mn-amenity-nav__item.is-selected {
  border-color: #e8c789;
  background: #fbf2e3;
  color: var(--mn-navy);
}
body.page .mn-services-nav .mn-amenity-nav__item > span:first-child {
  display: block;
  min-height: 20px;
  color: var(--mn-navy);
  font-size: 19px;
  font-style: normal;
  line-height: 1;
}
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(4) { flex-basis: 139px; }
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(5) { flex-basis: 101px; }
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(6) { flex-basis: 106px; }
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(7) { flex-basis: 105px; }
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(8) { flex-basis: 96px; }
body.page .mn-services-nav .mn-amenity-nav__item:nth-child(9) { flex-basis: 94px; }
body.page .mn-services-nav .fa-swimmer::before { content: '♒'; }
body.page .mn-services-nav .fa-dumbbell::before { content: '↔'; }
body.page .mn-services-nav .fa-spa::before { content: '♨'; }
body.page .mn-services-nav .fa-concierge-bell::before { content: '♜'; }
body.page .mn-services-nav .fa-users::before { content: '♙♙'; font-size: 13px; }
body.page .mn-services-nav .fa-utensils::before { content: '♨'; }
body.page .mn-services-nav .fa-tshirt::before { content: '▣'; }
body.page .mn-services-nav .fa-parking::before { content: 'Ⓟ'; }
body.page .mn-services-nav .fa-wifi::before { content: '⌁'; }

body.page .mn-services-layout { padding: 0 !important; background: #fbfaf8; }
body.page .mn-services-layout > .e-con-inner {
  display: grid;
  grid-template-columns: 1072px 300px;
  gap: 32px;
  align-items: start;
  justify-content: start;
  padding: 8px 0 0 !important;
}
body.page .mn-services-results,
body.page .mn-services-rail { min-width: 0; padding: 0 !important; }
body.page .mn-services-results { min-height: 0; padding-inline: 12px !important; }
body.page .mn-services-results > .e-con-inner,
body.page .mn-services-rail > .e-con-inner { padding: 0 !important; }
body.page .mn-services-results .mn-widget-component,
body.page .mn-services-results .elementor-widget-container { min-width: 0; }

body.page .mn-services-toolbar {
  display: flex;
  min-height: 53px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 12px;
}
body.page .mn-services-toolbar h2 {
  margin: 0;
  color: var(--mn-text);
  font-family: var(--mn-font-sans);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}
body.page .mn-services-toolbar__count {
  margin: 4px 0 0;
  color: var(--mn-muted);
  font-size: 13px;
  line-height: 1.2;
}
body.page .mn-services-sort {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  color: var(--mn-text);
  font-size: 12px;
}
body.page .mn-services-sort select {
  width: 116px;
  height: 36px;
  padding: 0 28px 0 12px;
  border: 1px solid var(--mn-border);
  border-radius: 6px;
  background: var(--mn-white);
  color: var(--mn-text);
  font: inherit;
}

body.page .mn-services-results .mn-hotel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 14px !important;
  row-gap: 14px !important;
}
body.page .mn-services-results .mn-near-me-card { min-width: 0; }
body.page .mn-services-results .mn-hotel-card--services {
  position: relative;
  height: 286px;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 8px;
  background: var(--mn-white);
  box-shadow: 0 2px 8px rgba(4,22,42,.035);
}
body.page .mn-services-results .mn-hotel-grid > .mn-near-me-card:nth-child(n+4) .mn-hotel-card--services { height: 258px; }
body.page .mn-services-results .mn-service-card__amenity {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  gap: 5px;
  padding: 0 8px;
  border-radius: 4px;
  background: #2466c7;
  color: var(--mn-white);
  font-size: 10px;
  line-height: 1;
}
body.page .mn-services-results .mn-service-card__favorite {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 13px;
  color: var(--mn-white);
  font-family: Arial, sans-serif;
  font-size: 31px;
  font-weight: 300;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,.22);
}
body.page .mn-services-results .mn-hotel-card--services .mn-card__image {
  display: block;
  width: 100%;
  height: 165px;
  object-fit: cover;
}
body.page .mn-services-results .mn-hotel-grid > .mn-near-me-card:nth-child(n+4) .mn-card__image { height: 137px; }
body.page .mn-services-results .mn-hotel-card--services .mn-card__body {
  position: relative;
  height: 121px;
  padding: 11px 13px;
  box-sizing: border-box;
}
body.page .mn-services-results .mn-card__destination,
body.page .mn-services-results .mn-hotel-card--services .mn-meta,
body.page .mn-services-results .mn-hotel-card--services .mn-card__body > p:not(.mn-card__base-price) { display: none; }
body.page .mn-services-results .mn-hotel-card--services h3 {
  overflow: hidden;
  margin: 0 0 8px;
  color: var(--mn-text);
  font-family: var(--mn-font-sans);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.page .mn-services-results .mn-hotel-card--services h3 a { color: inherit; text-decoration: none; }
body.page .mn-services-results .mn-hotel-card--services .mn-amenity-badges {
  display: flex;
  height: 20px;
  flex-wrap: nowrap;
  gap: 13px;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
body.page .mn-services-results .mn-hotel-card--services .mn-amenity-badge {
  position: relative;
  flex: 0 0 auto;
  padding: 0 0 0 14px;
  border: 0;
  border-radius: 0;
  color: var(--mn-muted);
  font-size: 10px;
  line-height: 18px;
  white-space: nowrap;
}
body.page .mn-services-results .mn-hotel-card--services .mn-amenity-badge::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--mn-navy);
  content: '♧';
}
body.page .mn-services-results .mn-card__base-price {
  position: absolute;
  bottom: 10px;
  left: 13px;
  margin: 0;
  color: var(--mn-text) !important;
  font-size: 9px;
  line-height: 1.1;
}
body.page .mn-services-results .mn-card__base-price span {
  display: block;
  margin-bottom: 3px;
  color: var(--mn-muted);
}
body.page .mn-services-results .mn-card__base-price strong {
  color: var(--mn-text);
  font-family: var(--mn-font-sans);
  font-size: 15px;
  line-height: 1;
}
body.page .mn-services-results .mn-card__base-price small { color: var(--mn-text); font-size: 9px; }
body.page .mn-services-results .mn-hotel-card--services .mn-button {
  position: absolute;
  right: 13px;
  bottom: 13px;
  display: inline-flex;
  width: auto;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid var(--mn-gold-dark);
  border-radius: 4px;
  background: transparent;
  color: var(--mn-gold-hover);
  font-size: 9px;
  line-height: 1;
  text-transform: uppercase;
}

body.page .mn-services-rail > .e-con-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
  --gap: 10px;
}
body.page .mn-services-filter-toggle { display: none; }
body.page .mn-services-filter {
  width: 300px;
  height: 410px;
  padding: 0;
  overflow: visible;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 8px;
  background: var(--mn-white);
  box-shadow: 0 2px 8px rgba(4,22,42,.025);
}
body.page .mn-services-filter .mn-filter__controls {
  display: flex;
  height: 100%;
  max-height: none;
  flex-direction: column;
  gap: 0;
  overflow: visible;
  padding: 16px;
  box-sizing: border-box;
  border: 0;
  background: transparent;
}
body.page .mn-services-filter .mn-filter__controls h2 {
  margin: 0 0 10px;
  color: var(--mn-text);
  font-family: var(--mn-font-sans);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
body.page .mn-services-destination-filter { display: block; margin: 0 0 20px; }
body.page .mn-services-destination-filter select {
  width: 100%;
  height: 34px;
  padding: 0 32px 0 11px;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 5px;
  background: var(--mn-white);
  color: var(--mn-text);
  font-size: 12px;
  font-weight: 400;
}
body.page .mn-services-amenity-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  padding: 0;
  margin: 0;
  border: 0;
}
body.page .mn-services-amenity-filter legend {
  margin: 0 0 8px;
  color: var(--mn-text);
  font-size: 13px;
  font-weight: 700;
}
body.page .mn-services-amenity-filter label {
  display: flex;
  min-height: 16px;
  align-items: center;
  gap: 8px;
  color: var(--mn-text);
  font-size: 11px;
  line-height: 1;
}
body.page .mn-services-amenity-filter input[type='radio'] {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  appearance: none;
  margin: 0;
  border: 1px solid var(--mn-gold-dark);
  border-radius: 3px;
  background: var(--mn-white);
}
body.page .mn-services-amenity-filter input[type='radio']:checked { border-color: var(--mn-navy); background: var(--mn-navy); }
body.page .mn-services-filter .mn-button {
  width: 100%;
  min-height: 34px;
  margin-top: auto;
  padding: 0 10px;
  border-radius: 4px;
  background: var(--mn-gold-dark);
  color: var(--mn-white);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

body.page .mn-services-rail .mn-support-panel {
  width: 300px;
  height: 194px;
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 8px;
  background: var(--mn-white);
  color: var(--mn-text);
}
body.page .mn-services-rail .mn-support-panel h2 {
  margin: 0 0 8px;
  color: var(--mn-text);
  font-family: var(--mn-font-sans);
  font-size: 15px;
  font-weight: 700;
}
body.page .mn-services-rail .mn-support-panel p {
  margin: 0 0 7px;
  color: var(--mn-muted);
  font-size: 10px;
  line-height: 1.45;
}
body.page .mn-services-rail .mn-support-panel__phone,
body.page .mn-services-rail .mn-support-panel__email {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--mn-text);
  font-size: 10px;
  text-decoration: none;
}
body.page .mn-services-rail .mn-support-panel__phone { margin-bottom: 5px; }
body.page .mn-services-rail .mn-support-panel__phone span,
body.page .mn-services-rail .mn-support-panel__email span { color: var(--mn-gold-hover); }
body.page .mn-services-rail .mn-support-panel__email a {
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
}
body.page .mn-services-rail .mn-support-panel .mn-support-panel__chat {
  display: flex;
  width: 170px;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 0 12px;
  border: 1px solid var(--mn-gold-dark);
  border-radius: 4px;
  background: transparent;
  color: var(--mn-gold-hover);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
body.page .mn-services-rail .mn-support-panel__chat span { display: none; }

body.page .mn-services-trust { padding: 0 !important; background: #fbfaf8; }
body.page .mn-services-trust > .e-con-inner { padding: 8px 0 14px !important; }
body.page .mn-services-trust .mn-widget-component { width: 1072px; max-width: 100%; }
body.page .mn-services-trust .mn-trust-strip {
  display: grid;
  width: 1072px;
  max-width: 100%;
  height: 62px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid var(--mn-border);
  border-radius: 99px;
  background: var(--mn-white);
}
body.page .mn-services-trust .mn-trust-strip > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border-right: 1px solid var(--mn-border);
}
body.page .mn-services-trust .mn-trust-strip > div:last-child { border-right: 0; }
body.page .mn-services-trust .mn-trust-strip > div > span {
  display: grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  color: var(--mn-gold-hover);
  font-size: 24px;
  line-height: 1;
}
body.page .mn-services-trust .mn-trust-strip > div > span svg,
body.page .mn-services-trust .mn-trust-strip > div > span i { width: 24px; color: inherit; fill: currentColor; }
body.page .mn-services-trust .mn-trust-strip p {
  min-width: 0;
  margin: 0;
  color: var(--mn-text);
  font-size: 10px;
  line-height: 1.2;
}
body.page .mn-services-trust .mn-trust-strip strong,
body.page .mn-services-trust .mn-trust-strip small { display: block; }
body.page .mn-services-trust .mn-trust-strip strong { margin-bottom: 3px; font-size: 11px; }
body.page .mn-services-trust .mn-trust-strip small {
  overflow: hidden;
  color: var(--mn-muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1499px) and (min-width: 1025px) {
  body.page .mn-services-layout > .e-con-inner { grid-template-columns: minmax(0,1fr) 280px; gap: 24px; }
  body.page .mn-services-filter,
  body.page .mn-services-rail .mn-support-panel { width: 280px; }
}

@media (max-width: 1024px) {
  body.page .mn-services-hero > .e-con-inner { width: auto !important; padding-inline: 24px !important; }
  body.page .mn-services-nav > .e-con-inner,
  body.page .mn-services-layout > .e-con-inner,
  body.page .mn-services-trust > .e-con-inner { padding-inline: 24px !important; }
  body.page .mn-services-nav .mn-amenity-nav { overflow-x: auto; }
  body.page .mn-services-nav .mn-amenity-nav__item { flex: 0 0 92px; }
  body.page .mn-services-layout > .e-con-inner { grid-template-columns: minmax(0,1fr) 270px; gap: 20px; }
  body.page .mn-services-results { padding-inline: 0 !important; }
  body.page .mn-services-results .mn-hotel-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.page .mn-services-filter,
  body.page .mn-services-rail .mn-support-panel { width: 270px; }
  body.page .mn-services-trust .mn-widget-component,
  body.page .mn-services-trust .mn-trust-strip { width: 100%; }
  body.page .mn-services-trust .mn-trust-strip { height: auto; grid-template-columns: 1fr 1fr; border-radius: 12px; }
  body.page .mn-services-trust .mn-trust-strip > div { min-height: 48px; border: 0; }
}

@media (max-width: 767px) {
  body.page .mn-services-hero { height: auto; min-height: 190px; }
  body.page .mn-services-hero > .e-con-inner { height: auto; min-height: 190px; justify-content: center; padding: 28px 20px !important; }
  body.page .mn-services-hero h1 { font-size: 32px; }
  body.page .mn-services-nav > .e-con-inner,
  body.page .mn-services-layout > .e-con-inner,
  body.page .mn-services-trust > .e-con-inner { padding-inline: 16px !important; }
  body.page .mn-services-layout > .e-con-inner { grid-template-columns: 1fr; }
  body.page .mn-services-toolbar { align-items: flex-end; }
  body.page .mn-services-toolbar h2 { font-size: 17px; }
  body.page .mn-services-sort > span { display: none; }
  body.page .mn-services-sort select { width: 104px; }
  body.page .mn-services-filter-toggle { display: inline-flex; margin-bottom: 10px; }
  body.page .mn-services-filter { display: none; width: 100%; height: auto; }
  body.page .mn-services-filter.is-open { display: block; }
  body.page .mn-services-filter .mn-filter__controls { height: auto; }
  body.page .mn-services-results .mn-hotel-grid { grid-template-columns: 1fr !important; }
  body.page .mn-services-results .mn-hotel-card--services,
  body.page .mn-services-results .mn-hotel-grid > .mn-near-me-card:nth-child(n+4) .mn-hotel-card--services { height: 286px; }
  body.page .mn-services-results .mn-hotel-grid > .mn-near-me-card:nth-child(n+4) .mn-card__image { height: 165px; }
  body.page .mn-services-rail .mn-support-panel { width: 100%; height: auto; min-height: 194px; }
  body.page .mn-services-trust .mn-trust-strip { grid-template-columns: 1fr; }
  body.page .mn-services-trust .mn-trust-strip > div { padding: 8px 6px; }
}
