:root {
  --wa-accept-coral: #f44336;
  --wa-accept-coral-dark: #d82f25;
  --wa-accept-ink: #111215;
  --wa-accept-muted: #746f69;
  --wa-accept-line: #ddd4ca;
  --wa-accept-cream: #f7f2ec;
  --wa-accept-ui: var(--wa-font-ui, Montserrat, Arial, sans-serif);
}

/* The restaurant form must use the same 1120px working canvas as Stay and Property. */
body.wa310-restaurant-studio-page article.wa310-form-shell,
body.wa310-restaurant-studio-page .wa310-form-shell {
  width: 100% !important;
  max-width: none !important;
}
body.wa310-restaurant-studio-page .wa310-studio {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: none !important;
}

/* Accommodation media follows the compact, stacked listing-card language. */
body.wa721-stay-studio-page .wa721-studio .wa721-native-slot[data-wa721-slot="media"] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-legacy-guard--media-gallery,
body.wa721-stay-studio-page .wa721-studio .wa721-legacy-guard--media-logo {
  grid-column: 1 !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media {
  padding: 16px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-media-title {
  margin-bottom: 12px !important;
  padding-bottom: 11px !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-media-title h4 {
  margin: 4px 0 !important;
  font-size: clamp(22px, 2vw, 26px) !important;
  line-height: 1 !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media .plupload-upload-uic,
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media .plupload-upload-ui,
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media.geodir-files-dropbox,
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media [class*="dropzone"],
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media [class*="upload-ui"] {
  min-height: 170px !important;
  padding: 20px 16px !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-media-card--logo .plupload-upload-uic,
body.wa721-stay-studio-page .wa721-studio .wa721-media-card--logo .plupload-upload-ui,
body.wa721-stay-studio-page .wa721-studio .wa721-media-card--logo.geodir-files-dropbox,
body.wa721-stay-studio-page .wa721-studio .wa721-media-card--logo [class*="dropzone"],
body.wa721-stay-studio-page .wa721-studio .wa721-media-card--logo [class*="upload-ui"] {
  min-height: 145px !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media .plupload-thumbs {
  min-height: 0 !important;
  height: auto !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media .plupload-thumbs:empty,
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media .plupload-thumbs:empty + #upload-msg {
  display: none !important;
}
body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media input.gd_image_required_field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Branded Google/GeoDirectory listing bubble. */
.gm-style .gm-style-iw-c {
  width: min(310px, calc(100vw - 30px)) !important;
  max-width: min(310px, calc(100vw - 30px)) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(17, 18, 21, .12) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(17, 18, 21, .22) !important;
  font-family: var(--wa-accept-ui) !important;
}
.gm-style .gm-style-iw-chr {
  position: absolute !important;
  z-index: 9 !important;
  top: 7px !important;
  right: 7px !important;
  height: 38px !important;
}
.gm-style .gm-style-iw-ch { display: none !important; }
.gm-style .gm-ui-hover-effect {
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  border: 1px solid rgba(17, 18, 21, .12) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .96) !important;
  opacity: 1 !important;
  box-shadow: 0 5px 14px rgba(17, 18, 21, .14) !important;
}
.gm-style .gm-ui-hover-effect > span {
  width: 18px !important;
  height: 18px !important;
  margin: 8px !important;
  background-color: var(--wa-accept-ink) !important;
}
.gm-style .gm-style-iw.gm-style-iw-c .gm-style-iw-d {
  width: 100% !important;
  max-height: 390px !important;
  overflow: hidden !important;
}
.gm-style .gd-bubble,
.gm-style .gd-bubble-inside,
.gm-style .geodir-bubble_desc {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}
.gm-style .geodir-bubble_desc {
  display: flex !important;
  flex-direction: column !important;
}
.gm-style .geodir-bubble_image {
  order: 1 !important;
  width: 100% !important;
  height: 142px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--wa-accept-cream) !important;
}
.gm-style .geodir-bubble_image .ratio,
.gm-style .geodir-bubble_image .carousel-item,
.gm-style .geodir-bubble_image .geodir-image-container,
.gm-style .geodir-bubble_image .geodir-images {
  width: 100% !important;
  height: 100% !important;
}
.gm-style .geodir-bubble_image img {
  width: 100% !important;
  height: 142px !important;
  max-width: none !important;
  object-fit: cover !important;
}
.gm-style .geodir-post-title {
  order: 2 !important;
  margin: 0 !important;
  padding: 15px 16px 5px !important;
}
.gm-style .geodir-entry-title,
.gm-style .geodir-entry-title a {
  margin: 0 !important;
  color: var(--wa-accept-ink) !important;
  font: 850 20px/1.16 var(--wa-accept-ui) !important;
  text-decoration: none !important;
}
.gm-style .geodir-bubble-meta-top {
  position: absolute !important;
  z-index: 8 !important;
  top: 9px !important;
  left: 9px !important;
  margin: 0 !important;
}
.gm-style .gd-list-favorite {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 5px 14px rgba(17, 18, 21, .14) !important;
}
.gm-style .geodir-bubble-meta-side {
  order: 3 !important;
  padding: 2px 16px 6px !important;
}
.gm-style .geodir-bubble-meta-side .geodir_post_meta {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--wa-accept-muted) !important;
  font: 600 11px/1.48 var(--wa-accept-ui) !important;
}
.gm-style .geodir-bubble-meta-side .geodir-field-address,
.gm-style .geodir-bubble-meta-side .geodir-field-phone {
  display: block !important;
}
.gm-style .geodir-bubble-meta-side .geodir-field-address {
  position: relative !important;
  max-height: 52px !important;
  padding-left: 15px !important;
  overflow: hidden !important;
}
.gm-style .geodir-bubble-meta-side .geodir-field-address::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 1px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wa-accept-coral);
}
.gm-style .geodir-bubble-meta-side .geodir-field-phone {
  margin-top: 6px !important;
  color: var(--wa-accept-ink) !important;
  font-weight: 800 !important;
}
.gm-style .geodir-bubble-meta-side .geodir_post_meta_icon i,
.gm-style .geodir-bubble-meta-side .geodir_post_meta_title,
.gm-style .geodir-bubble-meta-side br { display: none !important; }
.wa-map-bubble-action {
  order: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 4px 16px 15px !important;
  padding-top: 10px !important;
  border-top: 1px solid #eee5dc !important;
  color: var(--wa-accept-muted) !important;
  font: 800 9px/1.2 var(--wa-accept-ui) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.wa-map-bubble-action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 0 12px !important;
  border-radius: 7px !important;
  background: var(--wa-accept-coral) !important;
  color: #fff !important;
  font: 850 10px/1 var(--wa-accept-ui) !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Discover dropdown makes Classifieds and Deals visible without crowding the header. */
.wa-discover-nav-item { position: relative; }
.wa-discover-nav-trigger { display: inline-flex !important; align-items: center; gap: 4px; }
.wa-discover-nav-trigger svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.wa-discover-menu {
  position: absolute;
  z-index: 10040;
  top: calc(100% + 14px);
  left: -16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 7px;
  width: 510px;
  padding: 12px;
  border: 1px solid rgba(17, 18, 21, .12);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(17, 18, 21, .16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.wa-discover-menu::before { content: ""; position: absolute; top: -18px; left: 0; right: 0; height: 20px; }
.wa-discover-menu a {
  display: grid !important;
  gap: 3px !important;
  padding: 11px 12px !important;
  border-radius: 9px !important;
  color: var(--wa-accept-ink) !important;
  text-decoration: none !important;
}
.wa-discover-menu a:hover,
.wa-discover-menu a:focus { background: #fff1ee !important; }
.wa-discover-menu strong { font: 850 12px/1.25 var(--wa-accept-ui); }
.wa-discover-menu small { color: var(--wa-accept-muted); font: 600 9px/1.35 var(--wa-accept-ui); }
.wa-discover-nav-item:hover .wa-discover-menu,
.wa-discover-nav-item:focus-within .wa-discover-menu,
.wa-discover-nav-item.is-open .wa-discover-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Community's type chooser is a real custom menu so Windows cannot paint it blue. */
.wa-community-selection select[data-wa-community-type] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.wa-community-type-menu { position: relative; width: min(330px, 100%); }
.wa-community-type-menu__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #514f51;
  border-radius: 8px;
  background: #202024;
  color: #fff;
  font: 750 11px/1.3 var(--wa-accept-ui);
  text-align: left;
  box-shadow: none;
}
.wa-community-type-menu__button span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wa-community-type-menu__button span:last-child { color: var(--wa-accept-coral); font-size: 17px; letter-spacing: 2px; }
.wa-community-type-menu__list {
  position: absolute;
  z-index: 10060;
  top: calc(100% + 6px);
  right: 0;
  display: none;
  width: min(390px, calc(100vw - 32px));
  max-height: min(420px, 60vh);
  padding: 7px;
  overflow-y: auto;
  scrollbar-width: none;
  border: 1px solid #444348;
  border-radius: 10px;
  background: #17171a;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .32);
}
.wa-community-type-menu__list::-webkit-scrollbar { display: none; }
.wa-community-type-menu.is-open .wa-community-type-menu__list { display: grid; }
.wa-community-type-menu__option {
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #fff;
  font: 700 11px/1.3 var(--wa-accept-ui);
  text-align: left;
}
.wa-community-type-menu__option:hover,
.wa-community-type-menu__option:focus,
.wa-community-type-menu__option[aria-selected="true"] {
  outline: 0;
  background: var(--wa-accept-coral) !important;
  color: #fff !important;
}

/* Community category navigation stays on one line and survives live viewport changes. */
.wa-community-category-chips.wa-acceptance-community-chips {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
  scroll-snap-type: none !important;
}
.wa-acceptance-community-chips > a {
  flex: 0 0 auto !important;
  align-self: center !important;
}
.wa-acceptance-chip-more__menu { display: none; }
.wa-acceptance-community-more {
  position: relative;
  flex: 0 0 auto;
  align-self: center;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--wa-accept-ink);
  border-radius: 999px;
  background: var(--wa-accept-ink);
  color: #fff;
  font: 850 10px/1 var(--wa-accept-ui);
  letter-spacing: .01em;
  box-shadow: none;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__button:hover,
.wa-acceptance-community-more > .wa-acceptance-chip-more__button:focus-visible,
.wa-acceptance-community-more.is-open > .wa-acceptance-chip-more__button {
  outline: 0;
  border-color: var(--wa-accept-coral);
  background: var(--wa-accept-coral);
  color: #fff;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu {
  position: absolute;
  z-index: 10030;
  top: calc(100% + 7px);
  right: 0;
  width: min(310px, calc(100vw - 32px));
  max-height: min(430px, 62vh);
  padding: 8px;
  overflow-y: auto;
  scrollbar-width: none;
  border: 1px solid var(--wa-accept-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(17, 18, 21, .2);
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu::-webkit-scrollbar { display: none; }
.wa-acceptance-community-more.is-open > .wa-acceptance-chip-more__menu {
  display: grid;
  gap: 4px;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--wa-accept-ink) !important;
  font: 800 10px/1.25 var(--wa-accept-ui) !important;
  text-align: left !important;
  text-decoration: none !important;
  transform: none !important;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a > span {
  display: grid;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--wa-accept-cream);
  color: var(--wa-accept-coral);
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a svg { width: 14px; height: 14px; }
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a:hover,
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a:focus-visible,
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a.is-active {
  outline: 0;
  background: var(--wa-accept-coral) !important;
  color: #fff !important;
}
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a:hover > span,
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a:focus-visible > span,
.wa-acceptance-community-more > .wa-acceptance-chip-more__menu > a.is-active > span {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}

/* Orderable outputs its drawer HTML globally while its CSS is intentionally absent elsewhere. */
body:not(.wa310-eat-page):not(.single-gd_restaurant) > .orderable-drawer,
body:not(.wa310-eat-page):not(.single-gd_restaurant) > .orderable-drawer-locations,
body:not(.wa310-eat-page):not(.single-gd_restaurant) > .orderable-floating-cart,
body:not(.wa310-eat-page):not(.single-gd_restaurant) .orderable-drawer:not([class*="open"]):not([class*="active"]) {
  display: none !important;
}
/*
 * The Whereabouts basket is the sitewide floating cart. Keep it available on
 * public discovery and detail pages; only suppress it inside guided forms and
 * the dashboard shell where it would cover form navigation.
 */
body.wa717-listing-form-page .wa-floating-cart,
body.wa-app-shell .wa-floating-cart { display: none !important; }
body.wa717-listing-single-page:not(.wa-app-shell) .wa-floating-cart { display: flex !important; }

body > .wa-acceptance-recaptcha-error { display: none !important; }

.wa-acceptance-progress-toggle {
  display: none;
}

@media (max-width: 980px) {
  /* A compact step chooser replaces every horizontal form-progress scroller. */
  .wa-acceptance-progress-toggle {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 54px;
    margin: 14px 0 0;
    padding: 10px 12px;
    border: 1px solid var(--wa-accept-coral);
    border-radius: 10px;
    background: #fff;
    color: var(--wa-accept-ink);
    text-align: left;
  }
  .wa-acceptance-progress-toggle__number {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--wa-accept-coral);
    color: #fff;
    font: 850 11px/1 var(--wa-accept-ui);
  }
  .wa-acceptance-progress-toggle__copy { min-width: 0; }
  .wa-acceptance-progress-toggle__copy strong,
  .wa-acceptance-progress-toggle__copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wa-acceptance-progress-toggle__copy strong { font: 850 12px/1.2 var(--wa-accept-ui); }
  .wa-acceptance-progress-toggle__copy small { margin-top: 3px; color: var(--wa-accept-muted); font: 650 9px/1.2 var(--wa-accept-ui); }
  .wa-acceptance-progress-toggle__dots { color: var(--wa-accept-coral); font: 900 16px/1 var(--wa-accept-ui); letter-spacing: 2px; }
  .wa30-progress.wa-acceptance-progress,
  .wa310-progress.wa-acceptance-progress,
  .wa320-progress.wa-acceptance-progress,
  .wa721-progress.wa-acceptance-progress,
  .wa-rental-steps.wa-acceptance-progress {
    display: none !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
    max-height: min(440px, 58vh) !important;
    margin: 7px 0 16px !important;
    padding: 7px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    border: 1px solid var(--wa-accept-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(17, 18, 21, .12) !important;
  }
  .wa30-progress.wa-acceptance-progress::-webkit-scrollbar,
  .wa310-progress.wa-acceptance-progress::-webkit-scrollbar,
  .wa320-progress.wa-acceptance-progress::-webkit-scrollbar,
  .wa721-progress.wa-acceptance-progress::-webkit-scrollbar,
  .wa-rental-steps.wa-acceptance-progress::-webkit-scrollbar { display: none !important; }
  .wa30-progress.wa-acceptance-progress.is-open,
  .wa310-progress.wa-acceptance-progress.is-open,
  .wa320-progress.wa-acceptance-progress.is-open,
  .wa721-progress.wa-acceptance-progress.is-open,
  .wa-rental-steps.wa-acceptance-progress.is-open { display: grid !important; }
  .wa-acceptance-progress .wa30-progress__item,
  .wa-acceptance-progress button,
  .wa-acceptance-progress [data-wa320-go] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    scroll-snap-align: none !important;
  }

}

@media (max-width: 700px) {
  body.wa310-restaurant-studio-page .wa310-studio { width: calc(100% - 20px) !important; }
  body.wa721-stay-studio-page .wa721-studio .wa721-native-field--media { padding: 13px !important; }
  body.wa721-stay-studio-page .wa721-studio .wa721-native-media-title h4 { font-size: 25px !important; }
  .wa-community-selection label { width: 100%; }
  .wa-community-type-menu { width: 100%; }

  /* Category rails become four visible choices plus a compact ellipsis menu. */
  .wa-acceptance-chip-group {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  .wa-acceptance-chip-more { position: relative; }
  .wa-acceptance-chip-more__button {
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--wa-accept-line);
    border-radius: 999px;
    background: #fff;
    color: var(--wa-accept-ink);
    font: 850 10px/1 var(--wa-accept-ui);
  }
  .wa-acceptance-chip-more__menu {
    position: absolute;
    z-index: 10030;
    top: calc(100% + 6px);
    right: 0;
    display: none;
    width: min(300px, calc(100vw - 32px));
    padding: 8px;
    border: 1px solid var(--wa-accept-line);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(17, 18, 21, .18);
  }
  .wa-acceptance-chip-more.is-open .wa-acceptance-chip-more__menu { display: grid; gap: 5px; }
  .wa-acceptance-chip-more__menu > * {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .wa-community-category-chips.wa-acceptance-community-chips {
    display: block !important;
    width: 100% !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
  }
  .wa-acceptance-community-more {
    width: 100%;
  }
  .wa-acceptance-community-more > .wa-acceptance-chip-more__button {
    display: flex;
    width: 100%;
    min-height: 46px;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 9px;
    text-align: left;
  }
  .wa-acceptance-community-more > .wa-acceptance-chip-more__menu {
    right: auto;
    left: 0;
    width: 100%;
  }
}
