/*
 * Shared aesthetic rules for all active public pages.
 *
 * Keeps the trademarked logo assets untouched while standardising the
 * utility toolbar, cyan navigation, booking CTA and WhatsApp shortcut.
 */

.sitewide-aesthetic-refresh {
  --site-pink: #d770ad;
  --site-pink-dark: #bd568f;
  --site-cyan: rgba(173, 216, 230, 0.93);
  --site-line: #e4eef2;
}

.sitewide-aesthetic-refresh .site-toolbar {
  background: #f7fbfd !important;
  border-bottom: 1px solid var(--site-line);
  min-height: 45px;
  padding: 7px 0 6px;
}

.sitewide-aesthetic-refresh .site-toolbar .row {
  align-items: center;
  display: flex;
}

.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-socials {
  margin: 0;
}

.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-socials a {
  opacity: 0.94;
  transition: opacity 160ms ease;
}

.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-socials a:hover {
  opacity: 1;
}

.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-booking {
  background: var(--site-pink) !important;
  border: 1px solid var(--site-pink) !important;
  border-radius: 3px;
  color: #fff !important;
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.7px;
  line-height: 1.4;
  padding: 6px 13px;
  text-transform: uppercase;
}

.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-booking:hover,
.sitewide-aesthetic-refresh .site-toolbar .site-toolbar-booking:focus {
  background: var(--site-pink-dark) !important;
  border-color: var(--site-pink-dark) !important;
  color: #fff !important;
}

.sitewide-aesthetic-refresh .header-nav-wrapper {
  background: var(--site-cyan) !important;
  border-bottom: 1px solid rgba(129, 183, 201, 0.55);
  box-shadow: 0 5px 18px rgba(73, 121, 137, 0.1);
}

.sitewide-aesthetic-refresh .menuzord-menu > li > a {
  color: #4f4b4d;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.55px;
}

.sitewide-aesthetic-refresh .menuzord-menu .label-success {
  background: var(--site-pink);
  border-radius: 10px;
  font-size: 8px;
  padding: 3px 6px;
  vertical-align: 2px;
}

.sitewide-aesthetic-refresh .header-nav .btn-theme-colored {
  background: var(--site-pink) !important;
  border-color: var(--site-pink) !important;
  border-radius: 4px;
  color: #fff !important;
}

.sitewide-aesthetic-refresh .header-nav .btn-theme-colored:hover {
  background: var(--site-pink-dark) !important;
  border-color: var(--site-pink-dark) !important;
}

.sitewide-aesthetic-refresh .menuzord .megamenu {
  border: 1px solid #e9e3e7;
  border-top: 2px solid var(--site-pink);
  box-shadow: 0 14px 30px rgba(62, 49, 56, 0.12);
}

/*
 * Permanent responsive-image guard.
 *
 * The HTML width/height attributes reserve space while images load, but the
 * rendered height must remain automatic whenever Bootstrap scales the width.
 * Keeping this in the sitewide layer prevents older cached phase stylesheets
 * from reintroducing stretched treatment, award or gallery images.
 */
.sitewide-aesthetic-refresh .main-content img.img-responsive:not(.rev-slidebg),
.sitewide-aesthetic-refresh .main-content img.img-fullwidth:not(.rev-slidebg),
.sitewide-aesthetic-refresh .main-content img[width][height]:not(.rev-slidebg) {
  aspect-ratio: auto;
  height: auto !important;
  object-fit: contain;
}

.sitewide-aesthetic-refresh .fixedbutton {
  align-items: flex-end;
  bottom: 12px !important;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: fixed !important;
  right: 12px !important;
  z-index: 3000;
}

.sitewide-aesthetic-refresh .fixedbutton a {
  display: block;
  line-height: 0;
}

.sitewide-aesthetic-refresh .fixedbutton img {
  height: 64px !important;
  max-width: none;
  width: 64px !important;
}

@media (max-width: 767px) {
  .sitewide-aesthetic-refresh .site-toolbar {
    min-height: 44px;
  }

  .sitewide-aesthetic-refresh .site-toolbar .site-toolbar-booking {
    font-size: 11px;
    padding: 6px 12px;
  }

  .sitewide-aesthetic-refresh .fixedbutton {
    bottom: 10px;
    right: 10px;
  }

  .sitewide-aesthetic-refresh .fixedbutton img {
    height: 58px !important;
    width: 58px !important;
  }
}
