/**
 * ABAY Holidays — Premium editorial travel system
 * Independent, reversible presentation layer. WordPress/MyTravel/Elementor/WooCommerce.
 * The deliberately constrained selectors avoid rewriting business/booking behaviour.
 */

/* ---------------------------------------------------
   01. Brand tokens, type hierarchy and foundation
   --------------------------------------------------- */
:root {
  --abay-ds-navy: #18374d;
  --abay-ds-navy-dark: #112d42;
  --abay-ds-navy-light: #284f65;
  --abay-ds-ivory: #faf8f3;
  --abay-ds-sand: #dfc597;
  --abay-ds-sand-dark: #bd9557;
  --abay-ds-sand-pale: #f2eadd;
  --abay-ds-paper: #ffffff;
  --abay-ds-ink: #223746;
  --abay-ds-body: #445564;
  --abay-ds-muted: #526575;
  --abay-ds-border: #e4ded5;
  --abay-ds-soft-border: #ede8e1;
  --abay-ds-shadow: 0 10px 32px rgba(23, 53, 73, .065);
  --abay-ds-shadow-hover: 0 16px 40px rgba(23, 53, 73, .115);
  --abay-ds-radius: 12px;
  --abay-ds-radius-sm: 8px;
  --abay-ds-container: 1260px;
  --abay-ds-display: Baskerville, 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  --abay-ds-sans: Montserrat, 'Avenir Next', 'Segoe UI', Arial, sans-serif;
}

body:not(.wp-admin) {
  color: var(--abay-ds-body);
  font-family: var(--abay-ds-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery, .abay-section, .abay-plan, .abay-hero) {
  color: var(--abay-ds-body);
  font-family: var(--abay-ds-sans) !important;
  -webkit-font-smoothing: antialiased;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery, .abay-section, .abay-plan)
  :is(h1, h2, h3, h4),
body:not(.wp-admin) .abay-hero h1,
body:not(.wp-admin) .abay-trust strong,
body:not(.wp-admin) .abay-section .abay-title {
  font-family: var(--abay-ds-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.027em !important;
  text-wrap: balance;
  color: var(--abay-ds-ink);
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  :is(p, li, dd) {
  color: var(--abay-ds-body);
  line-height: 1.7;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  a:not(.abay-booking-button):not(.button):not(.btn) {
  text-underline-offset: 3px;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  :is(a, button, input, select, textarea, summary):focus-visible,
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--abay-ds-sand-dark) !important;
  outline-offset: 3px;
}

/* ---------------------------------------------------
   02. Shared page canvas and container alignment
   --------------------------------------------------- */
body.single-product:has(.abay-premium-single),
body.page:has(.abay-booking-page),
body.page:has(.abay-experiences-discovery) {
  background-color: var(--abay-ds-ivory) !important;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--abay-ds-ivory) !important;
}

body:not(.wp-admin) .abay-premium-single {
  padding: 18px 0 78px !important;
  min-height: min(600px, 75vh);
}

body:not(.wp-admin) :is(.abay-detail-container, .abay-booking-container) {
  box-sizing: border-box;
  max-width: var(--abay-ds-container) !important;
  width: calc(100% - 64px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}

body:not(.wp-admin) .abay-premium-single .abay-detail-container > * {
  max-width: 100%;
}

body:not(.wp-admin) .abay-premium-single .abay-crumbs {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  padding: 14px 0 19px !important;
  margin: 0 !important;
  color: var(--abay-ds-muted) !important;
  font-size: 11px !important;
}
body:not(.wp-admin) .abay-premium-single .abay-crumbs a {
  color: var(--abay-ds-navy-light) !important;
  font-size: 11px !important;
}

body:not(.wp-admin) .abay-premium-single .abay-detail-header {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-header h1 {
  font-size: clamp(34px, 3.3vw, 52px) !important;
  line-height: 1.12 !important;
  margin: 3px 0 13px !important;
}
body:not(.wp-admin) .abay-premium-single .abay-overline,
body:not(.wp-admin) .abay-experiences-discovery .abay-overline,
body:not(.wp-admin) .abay-booking-page .abay-overline {
  color: #8a642e !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .17em !important;
  line-height: 1.5;
  text-transform: uppercase;
}

/* Prevent the awkward contrasting full-height blank panel seen beside
   experience galleries. The body and all theme content wrappers share the
   same continuous canvas; the sidebar itself becomes a deliberate card. */
body.single-product:has(.abay-premium-single) :is(#content, .site-content, .content-area) {
  background-color: var(--abay-ds-ivory) !important;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-aside {
  box-sizing: border-box;
  background: transparent !important;
  min-width: 0;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-body {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 312px !important;
  column-gap: clamp(24px, 3vw, 42px) !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-body > * { min-width: 0; }

body:not(.wp-admin) .abay-premium-single .abay-detail-tabs {
  display: flex;
  gap: 28px;
  margin: 21px 0 37px !important;
  padding: 0 0 2px !important;
  border-bottom: 1px solid var(--abay-ds-border) !important;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-tabs a {
  display: inline-block;
  padding: 11px 1px 12px !important;
  color: var(--abay-ds-muted) !important;
  font: 700 12px/1.5 var(--abay-ds-sans) !important;
  text-decoration: none !important;
  white-space: nowrap;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-tabs a:hover,
body:not(.wp-admin) .abay-premium-single .abay-detail-tabs a:focus-visible,
body:not(.wp-admin) .abay-premium-single .abay-detail-tabs a[aria-current='page'] {
  color: var(--abay-ds-navy) !important;
  border-bottom-color: var(--abay-ds-sand-dark) !important;
}

/* ---------------------------------------------------
   03. Unified controls and buttons (navy + sand)
   --------------------------------------------------- */
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  .abay-booking-button,
body:not(.wp-admin) .abay-plan .abay-booking-button,
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  :is(.button, button.button, input.button, #place_order),
body:not(.wp-admin) .abay-native-booking .single_add_to_cart_button,
body:not(.wp-admin) .abay-home-search button[type='submit'] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 46px !important;
  padding: 12px 19px !important;
  background: var(--abay-ds-navy) !important;
  border: 1px solid var(--abay-ds-navy) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: .015em !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  cursor: pointer !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  .abay-booking-button:hover,
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  :is(.button, button.button, input.button, #place_order):hover,
body:not(.wp-admin) .abay-native-booking .single_add_to_cart_button:hover,
body:not(.wp-admin) .abay-home-search button[type='submit']:hover {
  background: var(--abay-ds-navy-light) !important;
  border-color: var(--abay-ds-navy-light) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 7px 16px rgba(15, 48, 68, .15) !important;
}

body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  .abay-booking-button.abay-outline,
body:not(.wp-admin) .abay-premium-single a.abay-booking-button.abay-outline {
  background: transparent !important;
  color: var(--abay-ds-navy) !important;
  border: 1px solid #a7b6c0 !important;
}
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  .abay-booking-button.abay-outline:hover {
  background: #e6eff2 !important;
  color: var(--abay-ds-navy) !important;
  border-color: var(--abay-ds-navy-light) !important;
}

/* Sand/gold is a reserved accent for the homepage’s principal discovery CTA. */
body.home .abay-hero .abay-btn--gold,
body.home .abay-hero a.abay-btn--gold,
body.home .abay-actions .abay-btn--gold {
  background: var(--abay-ds-sand) !important;
  border: 1px solid var(--abay-ds-sand) !important;
  color: var(--abay-ds-navy-dark) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  font: 750 11px/1.4 var(--abay-ds-sans) !important;
  min-height: 46px !important;
  padding: 13px 21px !important;
}
body.home .abay-hero .abay-btn--gold:hover {
  background: #edd8b1 !important;
  border-color: #edd8b1 !important;
}
body.home .abay-hero .abay-btn:not(.abay-btn--gold) {
  min-height: 46px !important;
  padding: 12px 20px !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  font: 750 11px/1.4 var(--abay-ds-sans) !important;
}

body:not(.wp-admin) :is(button, a.button, input[type='submit']):disabled,
body:not(.wp-admin) :is(button, a.button, input[type='submit'])[disabled] {
  cursor: not-allowed !important;
  opacity: .58;
}

/* Ensure the product heading’s date CTA aligns with its baseline. */
body:not(.wp-admin) .abay-premium-single .abay-detail-header > .abay-booking-button {
  align-self: end !important;
  flex-shrink: 0;
  margin: 0 0 4px !important;
}

/* ---------------------------------------------------
   04. Elegant image galleries, rooms and cards
   --------------------------------------------------- */
body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic {
  width: 100% !important;
  max-width: 100% !important;
  height: clamp(340px, 36vw, 500px) !important;
  border-radius: var(--abay-ds-radius) !important;
  overflow: hidden !important;
  gap: 7px !important;
  margin: 0 !important;
  box-shadow: 0 3px 18px rgba(20, 49, 67, .05);
}
body:not(.wp-admin) .abay-gallery-mosaic .abay-gallery-cell {
  display: block;
  min-width: 0;
  background: #e9ebe9 !important;
  padding: 0 !important;
  overflow: hidden !important;
  cursor: zoom-in;
}
body:not(.wp-admin) .abay-gallery-mosaic .abay-gallery-cell img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
  transition: transform .45s ease !important;
}
body:not(.wp-admin) .abay-gallery-mosaic .abay-gallery-cell:hover img {
  transform: scale(1.028);
}
body:not(.wp-admin) .abay-gallery-mosaic .abay-all-photos {
  right: 16px !important;
  bottom: 16px !important;
  background: var(--abay-ds-paper) !important;
  color: var(--abay-ds-navy) !important;
  border: 1px solid var(--abay-ds-border) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  padding: 10px 15px !important;
  min-height: 43px !important;
  font: 700 11px/1.4 var(--abay-ds-sans) !important;
}
body:not(.wp-admin) .abay-gallery-dialog .abay-dialog-inner,
body:not(.wp-admin) .abay-room-dialog {
  border-radius: var(--abay-ds-radius) !important;
  color: var(--abay-ds-ink) !important;
}

body:not(.wp-admin) :is(.abay-sidecard, .abay-availability-box, .abay-room-card, .abay-property-card,
   .abay-exp-result-card, .abay-faqs details, .abay-location-card, .abay-map-area) {
  border: 1px solid var(--abay-ds-border) !important;
  border-radius: var(--abay-ds-radius) !important;
  background: var(--abay-ds-paper) !important;
  box-shadow: var(--abay-ds-shadow) !important;
  overflow: hidden;
}
body:not(.wp-admin) :is(.abay-sidecard, .abay-availability-box) {
  padding: 25px !important;
}
body:not(.wp-admin) .abay-sidecard {
  position: sticky;
  top: 88px;
}
body:not(.wp-admin) :is(.abay-property-card, .abay-exp-result-card, .abay-room-card) {
  transition: border-color .18s ease, box-shadow .2s ease, transform .2s ease;
}
body:not(.wp-admin) :is(.abay-property-card, .abay-exp-result-card, .abay-room-card):hover {
  border-color: #c2cdd1 !important;
  box-shadow: var(--abay-ds-shadow-hover) !important;
}
body:not(.wp-admin) :is(.abay-property-photo, .abay-room-image, .abay-exp-result-image) img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
}
body:not(.wp-admin) :is(.abay-property-info, .abay-exp-result-copy) h3 {
  font-size: clamp(23px, 2vw, 31px) !important;
  line-height: 1.12 !important;
  margin: 0 0 9px !important;
}
body:not(.wp-admin) .abay-property-action,
body:not(.wp-admin) .abay-exp-result-action,
body:not(.wp-admin) .abay-room-action {
  background: #fff !important;
  border-color: var(--abay-ds-soft-border) !important;
}
body:not(.wp-admin) :is(.abay-property-action, .abay-exp-result-action, .abay-room-action)
  :is(strong, .woocommerce-Price-amount) {
  color: var(--abay-ds-ink) !important;
  font-family: var(--abay-ds-sans) !important;
  font-variant-numeric: tabular-nums;
}
body:not(.wp-admin) .abay-detail-section {
  padding-bottom: 30px !important;
  margin-bottom: 31px !important;
  border-bottom: 1px solid var(--abay-ds-border) !important;
}
body:not(.wp-admin) .abay-detail-section h2 {
  font-size: clamp(26px, 2.7vw, 38px) !important;
  line-height: 1.15 !important;
  margin-bottom: 17px !important;
}

/* ---------------------------------------------------
   05. Search, filters, labels and form controls
   --------------------------------------------------- */
body:not(.wp-admin) :is(.abay-searchbar, .abay-exp-search, .abay-home-search--premium) {
  border: 1px solid #d7c7ae !important;
  border-radius: var(--abay-ds-radius) !important;
  box-shadow: var(--abay-ds-shadow) !important;
  background: var(--abay-ds-paper) !important;
  padding: 8px !important;
}
body:not(.wp-admin) :is(.abay-search-field, .abay-people-toggle,
    .abay-exp-search label, .abay-home-search--premium label) {
  border: 1px solid var(--abay-ds-border) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  box-shadow: none !important;
  background: #fff !important;
}
body:not(.wp-admin) :is(.abay-search-field, .abay-exp-search label,
    .abay-home-search--premium label, .abay-cart-dates, .woocommerce form)
  label,
body:not(.wp-admin) :is(.abay-search-field, .abay-exp-search label) > span {
  color: var(--abay-ds-navy) !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery,
    .woocommerce-cart, .woocommerce-checkout)
  :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']), select, textarea) {
  color: var(--abay-ds-ink) !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 13px !important;
  min-height: 44px;
  border-radius: var(--abay-ds-radius-sm) !important;
  border-color: #cfd9dd;
}
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page,
    .abay-experiences-discovery, .woocommerce-checkout)
  :is(input, select, textarea):focus {
  border-color: #7f9aaa !important;
  box-shadow: 0 0 0 3px rgba(216, 187, 135, .15) !important;
}
body:not(.wp-admin) :is(.abay-filter-sidebar, .abay-sortbar, .abay-exp-sort-row, .abay-filter-active) {
  border-color: var(--abay-ds-border) !important;
}
body:not(.wp-admin) :is(.abay-filter-sidebar, .abay-sortbar) {
  background: #fff !important;
}
body:not(.wp-admin) .abay-booking-page .abay-results,
body:not(.wp-admin) .abay-experiences-discovery .abay-exp-discovery-main {
  padding-top: 36px !important;
  padding-bottom: 76px !important;
}
body:not(.wp-admin) .abay-booking-top,
body:not(.wp-admin) .abay-exp-hero {
  background: linear-gradient(112deg, #f1e9db, #fbf9f5 80%) !important;
  border-bottom: 1px solid var(--abay-ds-border) !important;
}
body:not(.wp-admin) .abay-booking-page .abay-results-top,
body:not(.wp-admin) .abay-experiences-discovery .abay-exp-discovery-head {
  margin-bottom: 23px !important;
}

/* ---------------------------------------------------
   06. Standard WooCommerce cart / checkout forms
   --------------------------------------------------- */
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout) {
  font-family: var(--abay-ds-sans) !important;
  color: var(--abay-ds-body) !important;
}
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  :is(.shop_table, .cart_totals, .woocommerce-checkout-review-order-table) {
  background: #fff;
  border-radius: var(--abay-ds-radius) !important;
  border-color: var(--abay-ds-border) !important;
}
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  :is(.woocommerce-info, .woocommerce-message) {
  border-top-color: var(--abay-ds-sand-dark) !important;
  background: #f4efe6 !important;
  color: var(--abay-ds-ink) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
}
body:not(.wp-admin) :is(.woocommerce-cart, .woocommerce-checkout)
  a:not(.button) { color: #225779; }
body:not(.wp-admin) .woocommerce .quantity .qty {
  border-radius: var(--abay-ds-radius-sm) !important;
  min-height: 44px !important;
}

/* ---------------------------------------------------
   07. Homepage sections and understated luxury details
   --------------------------------------------------- */
body.home .abay-section {
  background: var(--abay-ds-ivory) !important;
}
body.home .abay-hero h1 {
  color: #fffdf8 !important;
  font-family: var(--abay-ds-display) !important;
  font-weight: 500 !important;
  line-height: 1.09 !important;
  letter-spacing: -.029em !important;
}
body.home .abay-hero .abay-hero__inner,
body.home .abay-wrap {
  box-sizing: border-box;
  max-width: var(--abay-ds-container) !important;
  margin: 0 auto !important;
}
body.home .abay-stays,
body.home .abay-exp-grid {
  gap: clamp(14px, 1.6vw, 24px) !important;
}
body.home .abay-card,
body.home .abay-exp-card {
  border-radius: var(--abay-ds-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--abay-ds-shadow) !important;
}
body.home .abay-card__meta,
body.home .abay-exp-card__text {
  padding: 17px 15px !important;
}
body.home .abay-plan__box {
  background: transparent !important;
}

/* ---------------------------------------------------
   08. Header and footer — consistent compact identity
   --------------------------------------------------- */
body:not(.wp-admin) #header {
  font-family: var(--abay-ds-sans) !important;
}
body:not(.wp-admin) #header #logoAndNav {
  padding-left: clamp(14px, 2.15vw, 34px) !important;
  padding-right: clamp(14px, 2.15vw, 34px) !important;
}
body:not(.wp-admin) #header a.u-header__navbar-brand-default,
body:not(.wp-admin) #header a.u-header__navbar-brand-default.navbar-brand {
  flex-shrink: 0 !important;
  width: 214px !important;
  max-width: 214px !important;
  min-height: 0 !important;
  padding: 6px 9px 7px !important;
  margin: 3px 8px 3px 0 !important;
  border-radius: 5px !important;
  border: 1px solid rgba(219, 202, 179, .7) !important;
  background-color: #fffcf7 !important;
  box-shadow: 0 3px 14px rgba(13, 35, 54, .075) !important;
}
body:not(.wp-admin) #header a.u-header__navbar-brand-default img {
  width: 192px !important;
  max-width: 100% !important;
  height: auto !important;
}
body:not(.wp-admin) #header a.u-header__navbar-brand-default::after {
  color: var(--abay-ds-navy) !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 6.9px !important;
  font-weight: 750 !important;
  letter-spacing: .035em !important;
  line-height: 1.45 !important;
  margin-top: 3px !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}
body:not(.wp-admin) #header .navbar-toggler {
  border-radius: var(--abay-ds-radius-sm) !important;
  min-width: 44px;
  min-height: 44px;
  color: var(--abay-ds-navy) !important;
}
body:not(.wp-admin) :is(.abay-source-footer, #colophon, footer.site-footer) {
  background: #f3ecdf !important;
  border-top: 1px solid #e2d6c6;
  color: var(--abay-ds-body) !important;
}
body:not(.wp-admin) a.abay-source-footer__logo {
  width: 212px !important;
  max-width: 100% !important;
  border-radius: 5px !important;
  box-shadow: none !important;
}
body:not(.wp-admin) :is(.abay-source-footer, #colophon, footer.site-footer) a {
  color: var(--abay-ds-navy) !important;
}
body:not(.wp-admin) :is(.abay-source-footer, #colophon, footer.site-footer) a:hover {
  color: #906d32 !important;
}

/* ---------------------------------------------------
   09. Responsive layouts, not a shrunken desktop
   --------------------------------------------------- */
@media (max-width: 1120px) {
  body:not(.wp-admin) :is(.abay-detail-container, .abay-booking-container) {
    width: calc(100% - 42px) !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-body {
    grid-template-columns: minmax(0, 1fr) 280px !important;
    column-gap: 22px !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic {
    height: clamp(320px, 43vw, 460px) !important;
  }
}

@media (max-width: 820px) {
  body:not(.wp-admin) #header a.u-header__navbar-brand-default {
    width: 196px !important;
    max-width: 196px !important;
    padding: 6px 8px !important;
  }
  body:not(.wp-admin) #header a.u-header__navbar-brand-default img {
    width: 172px !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-body > *,
  body:not(.wp-admin) .abay-premium-single .abay-detail-aside {
    width: 100% !important;
    max-width: none !important;
  }
  body:not(.wp-admin) .abay-sidecard { position: static !important; }
  body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic {
    height: clamp(300px, 51vw, 420px) !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-header {
    align-items: flex-start !important;
    flex-wrap: wrap;
    gap: 12px !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-header > .abay-booking-button {
    margin: 0 !important;
  }
}

@media (max-width: 600px) {
  body:not(.wp-admin) :is(.abay-detail-container, .abay-booking-container) {
    width: calc(100% - 30px) !important;
  }
  body:not(.wp-admin) .abay-premium-single { padding-top: 10px !important; }
  body:not(.wp-admin) .abay-premium-single .abay-crumbs { padding: 13px 0 15px !important; }
  body:not(.wp-admin) .abay-premium-single .abay-detail-header h1 {
    font-size: clamp(31px, 8vw, 40px) !important;
    line-height: 1.12 !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-header > .abay-booking-button {
    width: 100%;
  }
  body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic {
    height: 340px !important;
    gap: 5px !important;
    border-radius: 10px !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-detail-tabs {
    gap: 19px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    margin: 16px 0 25px !important;
  }
  body:not(.wp-admin) #header #logoAndNav {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
  body:not(.wp-admin) #header a.u-header__navbar-brand-default {
    width: 177px !important;
    max-width: 177px !important;
    padding: 5px 6px !important;
  }
  body:not(.wp-admin) #header a.u-header__navbar-brand-default img {
    width: 159px !important;
    max-width: 100% !important;
  }
  body:not(.wp-admin) #header a.u-header__navbar-brand-default::after {
    font-size: 6.5px !important;
    letter-spacing: 0 !important;
  }
  body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic .abay-all-photos {
    right: 9px !important;
    bottom: 9px !important;
    padding: 9px 11px !important;
  }
  body:not(.wp-admin) .abay-room-action,
  body:not(.wp-admin) .abay-property-action,
  body:not(.wp-admin) .abay-exp-result-action {
    padding: 19px !important;
  }
  body:not(.wp-admin) :is(.abay-sidecard, .abay-availability-box) {
    padding: 19px !important;
  }
  body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
    .abay-booking-button {
    min-height: 48px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.wp-admin) :is(.abay-gallery-cell img, .abay-property-card, .abay-exp-result-card,
     .abay-room-card, .abay-booking-button, a.button, button.button) {
    transition: none !important;
    transform: none !important;
  }
}

/* ---------------------------------------------------
   10. Mobile gallery and footer composition
   --------------------------------------------------- */
@media(max-width:720px) {
  body:not(.wp-admin) .abay-source-footer :is(.row, .abay-source-footer__grid, .abay-source-footer__inner),
  body:not(.wp-admin) footer.site-footer .row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 23px !important;
    max-width: none !important;
    align-items: start !important;
  }
  body:not(.wp-admin) .abay-source-footer :is(.row, .abay-source-footer__grid) > *,
  body:not(.wp-admin) footer.site-footer .row > * {
    min-width: 0 !important;
    max-width: none !important;
  }
}
@media(max-width:600px) {
  body:not(.wp-admin) .abay-premium-single .abay-gallery-mosaic[data-count="5"] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    grid-template-rows: minmax(0, 2.2fr) minmax(0, 1fr) !important;
    height: 410px !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-gallery-0 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-gallery-1 {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-gallery-2 {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-gallery-3 {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: block !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-gallery-4 {
    grid-column: 4 !important;
    grid-row: 2 !important;
    display: block !important;
  }
  body:not(.wp-admin) .abay-gallery-mosaic[data-count="5"] .abay-all-photos {
    right: 7px !important;
    bottom: 7px !important;
    min-height: 32px !important;
    max-width: calc(100% - 14px) !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
    white-space: normal !important;
  }
  body:not(.wp-admin) .abay-source-footer :is(.row, .abay-source-footer__grid, .abay-source-footer__inner),
  body:not(.wp-admin) footer.site-footer .row {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 20px !important;
  }
  body:not(.wp-admin) :is(.abay-source-footer, footer.site-footer, #colophon) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* ---------------------------------------------------
   11. Elementor, contact forms and general-page consistency
   --------------------------------------------------- */
body:not(.wp-admin) .elementor-widget-heading .elementor-heading-title {
  font-family: var(--abay-ds-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.024em !important;
  line-height: 1.19 !important;
  color: var(--abay-ds-ink);
}
body:not(.wp-admin) .elementor-widget-text-editor,
body:not(.wp-admin) .elementor-widget-text-editor :is(p,li),
body:not(.wp-admin) .entry-content :is(p,li) {
  font-family: var(--abay-ds-sans);
  line-height: 1.7;
  color: var(--abay-ds-body);
}
body:not(.wp-admin) :is(.elementor-widget-button .elementor-button,
   .wp-block-button__link, button.wpforms-submit, .wpcf7-form input[type='submit'],
   .site-content .btn-primary, .site-content a.btn-primary) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 12px 21px !important;
  border: 1px solid var(--abay-ds-navy) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  color: #fff !important;
  background-color: var(--abay-ds-navy) !important;
  font: 750 12px/1.4 var(--abay-ds-sans) !important;
  letter-spacing: .012em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
body:not(.wp-admin) :is(.elementor-widget-button .elementor-button,
   .wp-block-button__link, button.wpforms-submit, .wpcf7-form input[type='submit'],
   .site-content .btn-primary, .site-content a.btn-primary):hover {
  border-color: var(--abay-ds-navy-light) !important;
  background-color: var(--abay-ds-navy-light) !important;
  color: #fff !important;
}
body:not(.wp-admin) :is(.elementor-form, .wpforms-form, .wpcf7-form)
  :is(input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']),
  select, textarea) {
  min-height: 45px;
  border-radius: var(--abay-ds-radius-sm) !important;
  border: 1px solid #ccd6dc !important;
  color: var(--abay-ds-ink) !important;
  background: #fff !important;
  font-family: var(--abay-ds-sans) !important;
  font-size: 13px !important;
}
body:not(.wp-admin) :is(.elementor-form, .wpforms-form, .wpcf7-form)
  :is(label, .wpforms-field-label) {
  color: var(--abay-ds-navy) !important;
  font-family: var(--abay-ds-sans) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}
body:not(.wp-admin) :is(.elementor-widget-button .elementor-button,
  .wp-block-button__link, button.wpforms-submit, .wpcf7-form input[type='submit']):focus-visible {
  outline: 3px solid var(--abay-ds-sand-dark) !important;
  outline-offset: 3px !important;
}

body:not(.wp-admin) .abay-source-footer :is(.abay-source-footer__desc, .abay-source-footer__bottom, .abay-source-footer__bottom span) {
  color: var(--abay-ds-body) !important;
  opacity: 1 !important;
}
body:not(.wp-admin) .abay-source-footer__bottom {
  border-top-color: var(--abay-ds-border) !important;
}
/* Contact fields share the same tokens as booking fields. */
body:not(.wp-admin) #cp2-form :is(.cp2-input, .cp2-select, .cp2-textarea) {
  min-height: 46px !important;
  border: 1px solid #cfd9dd !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  padding: 12px 14px !important;
  background: #fff !important;
  color: var(--abay-ds-ink) !important;
  font: 400 13px/1.5 var(--abay-ds-sans) !important;
}
body:not(.wp-admin) #cp2-form .cp2-textarea { min-height: 140px !important; }
body:not(.wp-admin) #cp2-form :is(input,select,textarea):focus-visible {
  outline: 3px solid var(--abay-ds-sand-dark) !important;
  outline-offset: 2px !important;
}
body:not(.wp-admin) #cp2-form .cp2-submit,
body.home:not(.wp-admin) .abay-hero .abay-actions a.abay-btn.abay-btn--gold {
  background: var(--abay-ds-navy) !important;
  color: #fff !important;
  border: 1px solid var(--abay-ds-sand) !important;
  border-radius: var(--abay-ds-radius-sm) !important;
  min-height: 46px !important;
}
body:not(.wp-admin) #cp2-form .cp2-submit:hover,
body.home:not(.wp-admin) .abay-hero .abay-actions a.abay-btn.abay-btn--gold:hover {
  background: var(--abay-ds-navy-light) !important;
  color: #fff !important;
}
/* Keep nested WooCommerce amounts at the same readable scale as their price parent. */
body:not(.wp-admin) :is(.abay-property-action, .abay-room-action, .abay-exp-result-action) strong,
body:not(.wp-admin) :is(.abay-property-action, .abay-room-action, .abay-exp-result-action) strong .amount,
body:not(.wp-admin) :is(.abay-property-action, .abay-room-action, .abay-exp-result-action) strong .woocommerce-Price-currencySymbol {
  font: 700 27px/1.25 var(--abay-ds-sans) !important;
  color: var(--abay-ds-navy) !important;
}
@media (max-width: 600px) {
  body:not(.wp-admin) #header a.u-header__navbar-brand-default.navbar-brand {
    width: 177px !important;
    max-width: 177px !important;
    padding: 5px 6px !important;
  }
  body:not(.wp-admin) #header a.u-header__navbar-brand-default::after {
    font-size: 5.3px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
}
/* Finishing touches: no stray default-blue links or mismatched small copy. */
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  a:not(.abay-booking-button):not(.button):not(.btn):not(.abay-gallery-cell) {
  color: var(--abay-ds-navy-light) !important;
}
body:not(.wp-admin) :is(.abay-premium-single, .abay-booking-page, .abay-experiences-discovery)
  a:not(.abay-booking-button):not(.button):not(.btn):not(.abay-gallery-cell):hover {
  color: #94692d !important;
}
body:not(.wp-admin) .abay-premium-single .abay-detail-header p {
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: var(--abay-ds-muted) !important;
}
body:not(.wp-admin) :is(.abay-source-footer, #colophon, footer.site-footer)
  :is(h2,h3,h4) {
  font-family: var(--abay-ds-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.015em !important;
  color: var(--abay-ds-navy) !important;
}
