@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap");

/*============================================================================================*/
/* Horizon Hotel Ã¢ÂÂ brand overrides
/* Colors: Mid Turquoise #30BBBB | Sun-Drenched Gold #F8BB38 | Pearl White #F3EFE0
/* Type: Supreme (EN) | Somar (AR) | Playfair Display (banner Title 1) Ã¢ÂÂ files in ../fonts/ (see ../fonts/README.txt)
/*============================================================================================*/

:root {
  --horizon-turquoise: #30BBBB;
  --horizon-gold: #F8BB38;
  --horizon-pearl: #F3EFE0;
  --font-en: "Supreme", "Montserrat", Helvetica, Arial, sans-serif;
  --font-ar: "Somar", "Noto Sans Arabic", "Supreme", "Montserrat", Helvetica, Arial, sans-serif;
  /* edit: banner Title 1 display face (English banners) */
  --font-banner-title1: "Playfair Display", Georgia, "Times New Roman", serif;
  --page-gutter: 1.5rem;
  --page-gutter-mobile: 1rem;
  --page-gutter-tablet: 1.25rem;
  --btn-bg: #30BBBB;
  --btn-color: #fff;
  --btn-accent: var(--horizon-gold);
  --btn-accent-default: 3px;
  --btn-accent-hover: 7px;
  --btn-radius: 5px;
  --btn-padding: max(1rem, 16px) max(2.25rem, 36px);
  --btn-padding-mobile: max(0.875rem, 14px) max(1.5rem, 24px);
  --btn-padding-tablet: max(0.9375rem, 15px) max(2rem, 32px);
  --btn-size: inherit;
  --btn-size-mobile: 0.875rem;
  --btn-size-tablet: inherit;
  --btn-weight: 500;
  --btn-style: normal;
  --btn-spacing: 0.12em;
  --btn-transform: uppercase;
  --btn-header-size: 12px;
  --menu-glass-bg: rgba(255, 255, 255, 0.72);
  --menu-glass-blur: 12px;
}

/* =============================================================================
   BACKGROUND COLORS PER SECTION
   Edit values below. Banner images are unchanged Ã¢ÂÂ color fills the section
   content band (banner is the visual cutoff). Home + dedicated pages share IDs.
   ============================================================================= */
:root {
  /* Site / page shell */
  --bg-page: var(--horizon-pearl);
  --bg-booking: var(--horizon-pearl);

  /* Homepage + matching pages (rooms.html, meetings.html, Ã¢ÂÂ¦) */
  --bg-about: #fff ;
  --bg-rooms:  #fff;
  --bg-meetings: var(--horizon-pearl);
  --bg-restaurant:  #fff;
  --bg-wellness:  #fff;
  --bg-offers:  #fff;
  --bg-explore: var(--horizon-pearl);
  --bg-virtual-tour: var(--horizon-pearl);
  --bg-chairman:  #fff;
  --bg-our-projects: var(--horizon-pearl);

  /* Contact + copyright footer */
  --bg-contacts: #fff;
  --bg-copyright: #1f2127;
}

/* Content skeleton (not hero). Div only — empty <img> paints the broken-image icon. */
@keyframes horizon-skel {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}
.media-skel,
.carousel_item_1.media-pending:not(.owl-loaded),
body.page-room-center #rooms .container:not(:has(.horizon-card-preview))::before {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  background-color: #f7f4ec;
  background-image: linear-gradient(100deg, #f7f4ec 30%, #fffdf8 48%, #f7f4ec 66%);
  background-size: 220% 100%;
  animation: horizon-skel 1.6s ease-in-out infinite;
}
.carousel_item_1.media-pending:not(.owl-loaded),
body.page-room-center #rooms .container:not(:has(.horizon-card-preview))::before {
  aspect-ratio: 16 / 10;
  content: "";
}
body.page-room-center #rooms .container:not(:has(.horizon-card-preview))::before {
  max-width: 72%;
  margin: 2rem auto;
}
img[data-about-main][hidden],
img[data-about-overlay][hidden],
.img_over[hidden] {
  display: none !important;
}

/* edit: preloader Ã¢ÂÂ icon stays still; gold line circles it */
[data-loader="circle-side"] {
  animation: none;
}

[data-loader="circle-side"]::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-top-color: var(--horizon-gold, #F8BB38);
  animation: circle 0.95s linear infinite;
}

/* Ã¢ÂÂÃ¢ÂÂ Fonts (add matching files under ../fonts/) Ã¢ÂÂÃ¢ÂÂ */
/* Supreme upright Ã¢ÂÂ full range */
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-THIN.woff2") format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-EXTRALIGHT.woff2") format("woff2");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-LIGHT.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/Supreme-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/Supreme-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/Supreme-Bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/Supreme-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Supreme italics Ã¢ÂÂ full range */
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-THINITALIC.woff2") format("woff2");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-EXTRALIGHTITALIC.woff2") format("woff2");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-LIGHTITALIC.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-ITALIC.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-MEDIUMITALIC.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-BOLDITALIC.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Supreme";
  src: url("../fonts/SUPREME-BOLDITALIC.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
/* Playfair Display italic Ã¢ÂÂ banner Title 1 */
@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay-Italic-VariableFont_wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Somar";
  src: url("../fonts/Somar-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Somar";
  src: url("../fonts/Somar-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Somar";
  src: url("../fonts/Somar-Bold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Somar";
  src: url("../fonts/Somar-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: var(--font-en);
  background: var(--bg-page);
}

main {
  background-color: var(--bg-page);
}

/* -----------------------------------------------------------------------------
   RESPONSIVE FOUNDATION Ã¢ÂÂ overflow guards, media max-width, page gutters
   EN PC rem tokens stay frozen; mobile scales rem via fluid html root only.
   ----------------------------------------------------------------------------- */
html {
  overflow-x: clip;
  font-size: 100%;
}

@media (max-width: 767px) {
  html {
    /* viewport-relative root Ã¢ÂÂ rem tokens track screen; clamp for readability */
    font-size: clamp(14px, calc(100vw / 90), 16px);
  }
}

body {
  overflow-x: clip;
  max-width: 100vw;
}

img,
video,
svg,
iframe {
  max-width: 100%;
  height: auto;
}

header.fixed_header .container,
.container,
.container-fluid {
  padding-inline: var(--page-gutter);
}

.section_banner__inner small,
.section_banner__inner h1,
.section_banner__inner h2,
body.page-index-2 #carousel-home.hero-video-home .hero-copy small,
body.page-index-2 #carousel-home.hero-video-home .hero-copy h1,
body.page-index-2 #carousel-home.hero-video-home .hero-copy h2 {
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}

[dir="rtl"] body,
[dir="rtl"] p,
[dir="rtl"] .intro p {
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  :root {
    --page-gutter: var(--page-gutter-mobile);
  }

  a.btn_1,
  .btn_1 {
    padding: var(--btn-padding-mobile);
  }
}

:lang(ar),
[lang="ar"],
[dir="rtl"] {
  font-family: var(--font-ar);
}

.btn_4.learn-more .circle {
  background: var(--horizon-turquoise);
}

.btn_4.learn-more:hover .circle {
  background: var(--horizon-gold);
}

/* Room cards: two-column amenity lists, card grows with content */
.box_item_info .facilities-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 0 max(1.25rem, 20px);
  margin-bottom: max(0.9375rem, 15px);
}

.box_item_info .facilities-cols .facilities-col {
  flex: 1 1 calc(50% - 10px);
  min-width: 140px;
}

.box_item_info .facilities-cols .facilities-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.box_item_info .facilities-cols .facilities-col ul li {
  float: none;
  width: 100%;
  display: flex;
  align-items: center;
  gap: var(--icon-card-gap);
  line-height: 1.3;
  margin: 0 0 max(0.625rem, 10px) 0;
}

.box_item_info .facilities-cols .facilities-col ul li:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  /* edit: mobile cards Ã¢ÂÂ layout only (icon size remaps live after :root Icons section) */
  body.page-index-2 .box_item_info .facilities-cols {
    gap: 0 max(0.5rem, 8px);
  }

  body.page-index-2 .box_item_info .facilities-cols .facilities-col {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
  }

  body.page-index-2 .box_item_info .facilities ul li {
    margin-bottom: max(0.5rem, 8px);
    gap: var(--icon-card-gap);
  }

  body.page-index-2 .box_item_info .facilities ul li i {
    flex-shrink: 0;
  }

  body.page-index-2 #restaurant .box_facilities,
  body.page-index-2 #wellness .box_facilities {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: max(0.375rem, 6px);
    padding: max(0.5rem, 8px) max(0.25rem, 4px) !important;
  }

  body.page-index-2 #restaurant .box_facilities i,
  body.page-index-2 #wellness .box_facilities i {
    width: 1.15em;
    height: 1.15em;
  }

  body.page-index-2 #restaurant .row > .col-4,
  body.page-index-2 #wellness .row > .col-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  body.page-index-2 #restaurant .box_facilities h3,
  body.page-index-2 #wellness .box_facilities h3 {
    line-height: 1.3;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Header
   Nav links (About, Rooms, Explore, Ã¢ÂÂ¦)
   ----------------------------------------------------------------------------- */
header.fixed_header {
  --header-padding-y: max(0.9375rem, 15px);
  --header-padding-y-mobile: max(0.75rem, 12px);
  --header-padding-y-tablet: max(0.875rem, 14px);
  --header-bar-padding-inline: 0;
  --header-bar-padding-inline-mobile: max(0.75rem, env(safe-area-inset-left, 0px));
  --header-bar-padding-inline-tablet: 0;
  --header-logo-width: 135px;
  --header-logo-width-mobile: 108px;
  --header-logo-width-tablet: 126px;
  --header-nav-color: #F3EFE0;
  --header-nav-size: inherit;
  --header-nav-size-mobile: 0.9375rem;
  --header-nav-size-tablet: inherit;
  --header-nav-weight: 600;
  --header-nav-weight-mobile: 500;
  --header-nav-weight-tablet: 600;
  --header-menu-btn-size-mobile: 0.875rem;
  --header-menu-btn-size-tablet: inherit;
  --header-menu-btn-weight-mobile: 600;
  --header-menu-btn-weight-tablet: 600;
  --header-nav-style: normal;
  --header-nav-letter-spacing: normal;
  --header-nav-underline: #30BBBB;
  --header-nav-active-underline: #F8BB38;
  --header-nav-hover-underline: #30BBBB;
  --header-hamburger-color: #fff;
  --header-sticky-nav-color: #000000;
  --header-sticky-nav-underline: #333;
  --header-sticky-hamburger-color: #333;
  --header-sticky-border: rgba(217, 225, 230, 0.55);
  padding-top: var(--header-padding-y);
  padding-bottom: var(--header-padding-y);
}

@media (max-width: 767px) {
  header.fixed_header {
    --header-padding-y: var(--header-padding-y-mobile);
  }
}

header.fixed_header nav ul li a {
  color: var(--header-nav-color);
  font-size: var(--header-nav-size);
  font-weight: var(--header-nav-weight);
  font-style: var(--header-nav-style);
  letter-spacing: var(--header-nav-letter-spacing);
}

header.fixed_header nav ul li a.animated_link::before {
  background-color: var(--header-nav-underline);
}

header.fixed_header nav ul li a.animated_link.active::before {
  background-color: var(--header-nav-active-underline);
}

header.fixed_header nav ul li a.animated_link:hover::before,
header.fixed_header nav ul li a.animated_link.active:hover::before {
  background-color: var(--header-nav-hover-underline);
}


header.fixed_header .hamburger_2 .hamburger__inner,
header.fixed_header .hamburger_2 .hamburger__inner::before,
header.fixed_header .hamburger_2 .hamburger__inner::after {
  background-color: var(--header-hamburger-color);
}

header.fixed_header {
  /* Above .layer (9999) so the menu dim only covers page content, not the chrome */
  z-index: 10000;
}

header.fixed_header.sticky {
  /* No backdrop-filter on the header (or ::before ancestors of .main-menu) Ã¢ÂÂ
     it traps position:fixed .main-menu and can darken the whole viewport.
     Opaque frosted fill keeps sticky contrast without those side effects. */
  background-color: rgba(255, 255, 255, 0.94);
  border-bottom-color: var(--header-sticky-border);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

header.fixed_header.sticky nav ul li a {
  color: var(--header-sticky-nav-color);
}

header.fixed_header.sticky nav ul li a.animated_link::before {
  background-color: var(--header-sticky-nav-underline);
}

header.fixed_header.sticky nav ul li a.animated_link.active::before {
  background-color: var(--header-nav-active-underline);
}

header.fixed_header.sticky nav ul li a.animated_link:hover::before,
header.fixed_header.sticky nav ul li a.animated_link.active:hover::before {
  background-color: var(--header-nav-hover-underline);
}

header.fixed_header.sticky .hamburger_2 .hamburger__inner,
header.fixed_header.sticky .hamburger_2 .hamburger__inner::before,
header.fixed_header.sticky .hamburger_2 .hamburger__inner::after {
  background-color: var(--header-sticky-hamburger-color);
}

/* edit: centered logo Ã¢ÂÂ sides flex; menu + hamburger on the right (PC + mobile) */
header.fixed_header .header-bar {
  position: relative;
  flex-wrap: nowrap;
  padding-inline: var(--header-bar-padding-inline);
  min-height: 2.75rem;
}

header.fixed_header .header-bar__logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  text-align: center;
}

header.fixed_header .header-bar__logo a {
  /* edit: do not set display Ã¢ÂÂ theme toggles .logo_normal / .logo_sticky */
  pointer-events: auto;
}

header.fixed_header .header-bar__logo img {
  width: var(--header-logo-width);
  height: auto;
}

header.fixed_header .header-bar__side--right {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  /* no z-index Ã¢ÂÂ traps fixed .main-menu (99999) below .layer (9999); logo uses z-index on .header-bar__logo */
  padding-inline-end: env(safe-area-inset-right, 0px);
  pointer-events: none;
}

header.fixed_header .header-bar__side--left {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-start;
  align-items: center;
  padding-inline-start: env(safe-area-inset-left, 0px);
  pointer-events: none;
}

/* edit: pass clicks through empty flex side space to centered logo; keep controls clickable */
header.fixed_header .header-bar__side--left > *,
header.fixed_header .header-bar__side--right > * {
  pointer-events: auto;
}

@media (max-width: 767px) {
  header.fixed_header {
    --header-bar-padding-inline: var(--header-bar-padding-inline-mobile);
  }

  header.fixed_header .header-bar__logo img {
    width: var(--header-logo-width-mobile);
  }
}

/* Contact Us Ã¢ÂÂ left of logo on desktop only; removed from phone */
header.fixed_header .header-contact-desktop {
  display: inline-block;
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 991px) {
  header.fixed_header .header-contact-desktop {
    display: none !important;
  }

  /* theme hid first nav item on mobile (was About); keep Rooms visible */
  body.page-index-2 header nav ul li:first-child {
    display: list-item;
  }
}

/* Subpages (not home): banner image sits under transparent header; copy clears the bar */
body.page-index-2:not([data-bs-spy]) {
  --subpage-header-offset: 5.25rem;
  --subpage-header-offset-mobile: 4.75rem;
  --subpage-header-offset-tablet: 5rem;
}

body.page-index-2:not([data-bs-spy]) > main {
  padding-top: var(--subpage-header-offset);
}

body.page-index-2:not([data-bs-spy]) .section_banner {
  margin-top: calc(-1 * var(--subpage-header-offset));
}

body.page-index-2:not([data-bs-spy]) .section_banner__inner {
  padding-top: calc(var(--subpage-header-offset) + -3.1rem);
}

@media (max-width: 991px) {
  /* edit: mobile drawer Ã¢ÂÂ frosted glass (menu sits above .layer after side-column z-index fix) */
  .main-menu {
    background-color: var(--menu-glass-bg);
    backdrop-filter: blur(var(--menu-glass-blur));
    -webkit-backdrop-filter: blur(var(--menu-glass-blur));
  }

  .main-menu #mainNav ul li a.active {
    color: var(--header-nav-active-underline) !important;
  }

  .main-menu #mainNav ul li a:hover,
  .main-menu #mainNav ul li a.active:hover {
    color: var(--header-nav-hover-underline) !important;
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Header buttons (Contact Us) Ã¢ÂÂ colors from SECTION: Buttons (--btn-*)
   ----------------------------------------------------------------------------- */
header.fixed_header nav ul li a.btn_1,
header.fixed_header .header-contact-desktop {
  background: var(--btn-bg);
  color: var(--btn-color);
  font-size: var(--btn-header-size);
  font-weight: var(--btn-weight);
  font-style: var(--btn-style);
  letter-spacing: var(--btn-spacing);
  text-transform: var(--btn-transform);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
}

header.fixed_header nav ul li a.btn_1:hover,
header.fixed_header .header-contact-desktop:hover {
  background: var(--btn-bg) !important;
  color: var(--btn-color) !important;
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent) !important;
  opacity: 1 !important;
}

header.fixed_header.sticky nav ul li a.btn_1,
header.fixed_header.sticky .header-contact-desktop {
  color: var(--btn-color);
}

/* -----------------------------------------------------------------------------
   MOBILE HEADER + SLIDE MENU (Ã¢ÂÂ¤991px) Ã¢ÂÂ Contact Us beside hamburger; translucent panel; no logo_panel; .nav-contact at bottom
   ----------------------------------------------------------------------------- */
.header-mobile-actions {
  display: none;
}

.header-contact-mobile {
  display: none;
}

body.page-index-2 .main-menu #mainNav ul li.nav-contact {
  display: none; /* desktop: Contact Us is header-contact-desktop only */
}

@media (max-width: 991px) {
  body.page-index-2 .header-mobile-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: max(0.75rem, 12px);
    float: right;
  }

  body.page-index-2 .header-contact-mobile {
    display: inline-block;
    margin: 0;
    padding: max(0.5rem, 8px) max(0.875rem, 14px);
    font-size: var(--btn-header-size);
    line-height: 1.2;
    white-space: nowrap;
  }

  body.page-index-2 .header-mobile-actions .hamburger_2 {
    float: none;
    position: relative;
    top: 0;
  }

  body.page-index-2 .main-menu .logo_panel {
    display: none !important;
  }

  body.page-index-2 .main-menu {
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: var(--menu-glass-bg);
    backdrop-filter: blur(var(--menu-glass-blur));
    -webkit-backdrop-filter: blur(var(--menu-glass-blur));
    width: min(300px, 82vw);
  }

  body.page-index-2 .main-menu #mainNav {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-top: max(3.125rem, 50px);
    padding-bottom: 0;
  }

  body.page-index-2 .main-menu #mainNav ul {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
  }

  body.page-index-2 .main-menu #mainNav ul li.nav-contact {
    display: block;
    margin-top: auto;
    padding: 0;
    text-align: center;
    /* flush bottom bar within menu padding */
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: 0;
    width: calc(100% + 60px);
  }

  /* edit: sidepane Contact Us = full-width bottom bar (match attached mark-up) */
  body.page-index-2 .main-menu #mainNav ul li.nav-contact a.btn_1 {
    background: var(--btn-bg) !important;
    color: var(--btn-color) !important;
    border: none;
    border-radius: 0;
    box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent) !important;
    text-align: center;
    text-transform: var(--btn-transform);
    font-size: var(--btn-header-size);
    font-weight: var(--btn-weight);
    letter-spacing: var(--btn-spacing);
    padding: max(1.125rem, 18px) max(1.25rem, 20px) !important;
    display: block;
    width: 100%;
    margin: 0 !important;
  }

  body.page-index-2 .main-menu #mainNav ul li.nav-contact a.btn_1:hover,
  body.page-index-2 .main-menu #mainNav ul li.nav-contact a.btn_1:active {
    background: var(--btn-bg) !important;
    color: var(--btn-color) !important;
    box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent) !important;
  }

  /* edit: mobile drawer Ã¢ÂÂ show active underline (style.css hides ::before); gold like PC */
  /* PC uses bottom:-5px on tight inline links; mobile links are block+padding so compensate */
  body.page-index-2 .main-menu #mainNav ul li a.animated_link {
    line-height: 1.2;
  }

  body.page-index-2 .main-menu #mainNav ul li a.animated_link::before {
    display: block !important;
    bottom: 1px;
    background-color: var(--header-nav-active-underline, #F8BB38);
  }

  body.page-index-2 .main-menu #mainNav ul li a.animated_link.active {
    color: var(--header-nav-active-underline) !important;
  }

  body.page-index-2 .main-menu #mainNav ul li a.animated_link.active::before {
    transform: scaleX(1);
    background-color: var(--header-nav-active-underline, #F8BB38);
  }
}


/* -----------------------------------------------------------------------------
   LANDING HERO (#carousel-home.hero-video-home)
   edit: CSS vars below drive .hero-copy + volume + mouse (wired further down).
   Desktop EN: change --landing-eyebrow-* / --landing-title-* here.
   Mobile (Ã¢ÂÂ¤767): uses --landing-*-mobile (same block).
   Arabic: size/weight remapped to --ar-title1/2-* later in this file Ã¢ÂÂ edit those for AR.
   Cache: HTML loads custom.css?v=Ã¢ÂÂ¦ Ã¢ÂÂ hard-refresh or bump HORIZON_VERSION if edits donÃ¢ÂÂt show.
   edit: data-landing-volume / copy-ms / photo-ms + media lists in HTML; JS in slider.js
   ----------------------------------------------------------------------------- */
body.page-index-2 #carousel-home.hero-video-home {
  --landing-height: 100vh;
  --landing-height-mobile: 95dvh;
  --landing-height-tablet: 100vh;
  --landing-media-fit: cover;
  --landing-media-position: center center;
  --landing-overlay: rgba(0, 0, 0, 0.5);
  /* edit: desktop hero copy */
  --landing-eyebrow-color: #ffffff;
  --landing-eyebrow-size: 3.75rem;
  --landing-eyebrow-size-mobile: 2.95rem;
  --landing-eyebrow-size-tablet: 3.18rem;
  --landing-eyebrow-weight: 500;
  --landing-eyebrow-weight-mobile: 500;
  --landing-eyebrow-weight-tablet: 500;
  --landing-eyebrow-style: normal;
  --landing-eyebrow-spacing: 0px;
  --landing-eyebrow-spacing-mobile: max(0.125rem, 2px);
  --landing-eyebrow-spacing-tablet: 0px;
  --landing-eyebrow-transform: normal;
  --landing-eyebrow-line-height: 1.4;
  --landing-eyebrow-margin-bottom: max(0.625rem, 10px);
  /* edit: single accent word inside eyebrow (e.g. final "home") */
  --landing-accent-color: #F8BB38;
  --landing-accent-style: italic;
  --landing-accent-family: Playfair Display;
  --landing-accent-weight: inherit;
  --landing-accent-size: inherit;
  --landing-title-color: #fff;
  --landing-title-size: 2.1875rem;
  --landing-title-size-mobile: 1.75rem;
  --landing-title-size-tablet: 2.04rem;
  --landing-title-weight: 200;
  --landing-title-weight-mobile: 200;
  --landing-title-weight-tablet: 200;
  --landing-title-style: normal;
  --landing-title-spacing: 0;
  --landing-title-transform: normal;
  --landing-title-line-height: 1.2;
  --landing-title-margin-bottom: 0;
  --landing-copy-padding-mobile: 1rem;
  --landing-copy-padding-tablet: 0.1rem;
  --landing-vol-size: hidden;  
  --landing-vol-size-mobile: hidden;
  --landing-vol-size-tablet: hidden;
  --landing-vol-right: hidden;
  --landing-vol-bottom: hidden;
  --landing-vol-bg: rgba(0, 0, 0, 0.45);
  --landing-vol-bg-hover: rgba(0, 0, 0, 0.65);
  --landing-vol-color: #fff;

  position: relative;
  height: var(--landing-height);
  overflow: hidden;
  background: #000;
}

body.page-index-2 #carousel-home.hero-video-home .hero-video-slide {
  position: relative;
  height: 100%;
  width: 100%;
}

body.page-index-2 #carousel-home.hero-video-home .hero-video-bg,
body.page-index-2 #carousel-home.hero-video-home .hero-photo-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--landing-media-fit);
  object-position: var(--landing-media-position);
  z-index: 0;
}

/* Hold still sits above video; fades out when playback starts */
body.page-index-2 #carousel-home.hero-video-home .hero-photo-bg {
  z-index: 1;
  opacity: 1;
  transition: opacity 0.7s ease;
  pointer-events: none;
}

body.page-index-2 #carousel-home.hero-video-home .hero-photo-bg.is-fading-out {
  opacity: 0;
}

body.page-index-2 #carousel-home.hero-video-home .hero-photo-bg[hidden],
body.page-index-2 #carousel-home.hero-video-home .hero-video-bg[hidden] {
  display: none;
}

body.page-index-2 #carousel-home.hero-video-home .opacity-mask {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: var(--landing-height);
  background-color: var(--landing-overlay);
  transition: background-color 0.6s ease, opacity 0.6s ease;
}

body.page-index-2 #carousel-home.hero-video-home .opacity-mask.is-hidden {
  background-color: transparent !important;
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy {
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy.is-visible {
  opacity: 1;
  visibility: visible;
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy small {
  display: block;
  color: var(--landing-eyebrow-color);
  font-size: var(--landing-eyebrow-size);
  font-weight: var(--landing-eyebrow-weight);
  font-style: var(--landing-eyebrow-style);
  letter-spacing: var(--landing-eyebrow-spacing);
  text-transform: var(--landing-eyebrow-transform);
  line-height: var(--landing-eyebrow-line-height);
  margin: 0 0 var(--landing-eyebrow-margin-bottom) 0;
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy .hero-eyebrow--mobile {
  display: none;
}

@media (max-width: 767px) {
  body.page-index-2 #carousel-home.hero-video-home .hero-copy .hero-eyebrow--desktop {
    display: none;
  }

  body.page-index-2 #carousel-home.hero-video-home .hero-copy .hero-eyebrow--mobile {
    display: block;
  }
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy .hero-accent {
  color: var(--landing-accent-color);
  font-style: var(--landing-accent-style);
  font-family: var(--landing-accent-family);
  font-weight: var(--landing-accent-weight);
  font-size: var(--landing-accent-size);
}

body.page-index-2 #carousel-home.hero-video-home .hero-copy h1,
body.page-index-2 #carousel-home.hero-video-home .hero-copy h2 {
  color: var(--landing-title-color);
  font-size: var(--landing-title-size);
  font-weight: var(--landing-title-weight);
  font-style: var(--landing-title-style);
  letter-spacing: var(--landing-title-spacing);
  text-transform: var(--landing-title-transform);
  line-height: var(--landing-title-line-height);
  margin-bottom: var(--landing-title-margin-bottom);
}

body.page-index-2 #carousel-home.hero-video-home .hero-volume-btn {
  position: absolute;
  right: var(--landing-vol-right);
  bottom: var(--landing-vol-bottom);
  z-index: 3;
  width: var(--landing-vol-size);
  height: var(--landing-vol-size);
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--landing-vol-bg);
  color: var(--landing-vol-color);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.page-index-2 #carousel-home.hero-video-home .hero-volume-btn[hidden] {
  display: none;
}

body.page-index-2 #carousel-home.hero-video-home .hero-volume-btn:hover,
body.page-index-2 #carousel-home.hero-video-home .hero-volume-btn:focus {
  background: var(--landing-vol-bg-hover);
  color: var(--landing-vol-color);
}

@media (max-width: 767px) {
  body.page-index-2 #carousel-home.hero-video-home {
    height: var(--landing-height-mobile);
    --landing-vol-right: 1rem;
    --landing-vol-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }

  body.page-index-2 #carousel-home.hero-video-home .opacity-mask {
    min-height: var(--landing-height-mobile);
  }

  body.page-index-2 #carousel-home.hero-video-home .hero-copy .container {
    padding-inline: var(--landing-copy-padding-mobile);
  }
}

/* Shared section Title1/Title2 Ã¢ÂÂ color/size deltas per #section */
:root {
  --section-title-size: 0.75rem;
  --section-title-size-mobile: 0.7rem;
  --section-title-size-tablet: 0.73rem;
  --section-title-weight: 600;
  --section-title-spacing: max(0.1875rem, 3px);
  --section-title-spacing-mobile: max(0.125rem, 2px);
  --section-title-spacing-tablet: max(0.1875rem, 3px);
  --section-title-transform: uppercase;
  --section-title-margin-bottom: max(0.3125rem, 5px);
  --section-title2-size: 2.375rem;
  --section-title2-size-mobile: 1.75rem;
  --section-title2-size-tablet: 2.17rem;
  --section-title2-weight: 700;
  --section-title2-line-height: 1.3;
  --section-title2-margin-bottom: max(0.9375rem, 15px);
}

/* -----------------------------------------------------------------------------
   SECTION: About Us (#about)
   ----------------------------------------------------------------------------- */
#about {
  --section-title-color: #30BBBB;
  --section-title2-color: #F8BB38;
  --about-text-margin-bottom: max(1.5625rem, 25px);
  --about-lead-margin-bottom: max(1.5625rem, 25px);
  --about-text-size-mobile: 1rem;
  --about-text-size-tablet: 1rem;
  --about-text-weight-mobile: 400;
  --about-text-weight-tablet: 400;
  --about-lead-size-mobile: 1rem;
  --about-lead-size-tablet: 1rem;
  --about-lead-weight-mobile: 400;
  --about-lead-weight-tablet: 400;
}

#about .title small,
#rooms > .title.mb-4 small,
#contacts .title small,
#chairman .title small,
#explore-basra .title small,
#virtual-tour .title small,
#virtual-tour.title small,
body.page-index-2 .our_projects_head .title small {
  color: var(--section-title-color);
  font-size: var(--section-title-size);
  font-weight: var(--section-title-weight);
  letter-spacing: var(--section-title-spacing);
  text-transform: var(--section-title-transform);
  margin-bottom: var(--section-title-margin-bottom);
}

#about .title h2,
#rooms > .title.mb-4 h2,
#contacts .title h2,
#chairman .title h1,
#chairman .title h2,
#explore-basra .title h2,
#virtual-tour .title h2,
#virtual-tour.title h2,
body.page-index-2 .our_projects_head .title h2 {
  color: var(--section-title2-color);
  font-size: var(--section-title2-size);
  font-weight: var(--section-title2-weight);
  line-height: var(--section-title2-line-height);
  margin-bottom: var(--section-title2-margin-bottom);
}

#about .intro p {
  font-size: var(--about-text-size, inherit);
  font-weight: var(--about-text-weight, inherit);
  margin-bottom: var(--about-text-margin-bottom);
  text-align: justify;
  text-justify: inter-word;
}

#about .intro p.mt-3 {
  text-align: start;
  text-justify: auto;
}

#about .intro p.lead {
  font-size: var(--about-lead-size, inherit);
  font-weight: var(--about-lead-weight, inherit);
  margin-bottom: var(--about-lead-margin-bottom);
}

#about > .container > .row,
#chairman > .container > .row {
  align-items: flex-start !important;
}

@media (min-width: 992px) {
  #about .parallax_wrapper,
  #chairman .parallax_wrapper,
  #restaurant .parallax_wrapper {
    margin-bottom: 0;
  }
}

/* Mobile: center parallax image pairs (theme pads 25% left only) */
@media (max-width: 991px) {
  .parallax_wrapper:not(.inverted) {
    padding-left: var(--parallax-pair-inset-mobile, 12.5%);
    padding-right: var(--parallax-pair-inset-mobile, 12.5%);
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Icons Ã¢ÂÂ size / color / stroke (card stroke kept)
   ----------------------------------------------------------------------------- */
@font-face {
  font-family: "hotel";
  src: url("custom-icons/fonts/hotel.woff") format("woff"),
       url("custom-icons/fonts/hotel.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class*="icon-hotel"]:before {
  font-family: "hotel";
}
:root {
  --icon-card-color: #30BBBB;
  --icon-card-size: 2.175rem; /* PC card amenity glyphs */
  --icon-card-stroke-width: 0.5px;
  --icon-card-stroke-color: currentColor;
  --icon-card-stroke-width-mobile: 0;
  --icon-card-stroke-width-tablet: 0.5px;
  --icon-card-gap: max(0.625rem, 10px);
  --icon-card-gap-mobile: max(0.5rem, 8px);
  --icon-card-gap-tablet: max(0.5625rem, 9px);
  --icon-card-size-mobile: 2.2rem; /* mobile (Ã¢ÂÂ¤767) card amenity glyphs Ã¢ÂÂ all pages */
  --icon-card-size-tablet: 2.25rem;
  --icon-facility-color: #30BBBB;
  --icon-facility-size: 3.575rem; /* PC restaurant/wellness facility glyphs */
  --icon-facility-size-mobile: 2.45rem; /* mobile (Ã¢ÂÂ¤767) facility glyphs Ã¢ÂÂ all pages */
  --icon-facility-size-tablet: 3.2rem;
  --icon2-color: #30BBBB;
  --icon2-hover-color: #F8BB38;
  --icon2-size: 2.070rem;
  --icon2-size-mobile: 1.775rem;
  --icon2-size-tablet: 1.97rem;
  --icon3-color: #30BBBB;
  --icon3-hover-color: #F8BB38;
  --icon3-size: 1.175rem;
  --icon3-size-mobile: 1.375rem;
  --icon3-size-tablet: 1.24rem;
}

/* Must come AFTER :root icon vars above Ã¢ÂÂ earlier Ã¢ÂÂ¤767 remaps were overwritten by this block */
@media (max-width: 767px) {
  :root {
    --icon-card-size: var(--icon-card-size-mobile);
    --icon-card-stroke-width: var(--icon-card-stroke-width-mobile);
    --icon-card-gap: var(--icon-card-gap-mobile);
    --icon-facility-size: var(--icon-facility-size-mobile);
    --icon2-size: var(--icon2-size-mobile);
    --icon3-size: var(--icon3-size-mobile);
  }
}

.box_item_info .facilities ul li i,
.horizon-card-preview.hero.cat_hover .hover-room-card__icons i,
.room-info-modal__card .facilities li i,
.horizon-list-icons i {
  color: var(--icon-card-color);
  font-size: var(--icon-card-size) !important;
  /* override style.css height:36px so --icon-card-size actually changes visible glyph */
  height: auto !important;
  width: auto !important;
  margin-right: 0 !important;
  line-height: 1;
  -webkit-text-stroke-width: var(--icon-card-stroke-width);
  -webkit-text-stroke-color: var(--icon-card-stroke-color);
  paint-order: stroke fill;
}

.box_facilities:not(.white) i {
  color: var(--icon-facility-color);
  font-size: var(--icon-facility-size) !important;
  height: auto !important;
  width: auto !important;
  line-height: 1;
}

#contacts .phone_element a i,
#restaurant .phone_element a i {
  color: var(--icon2-color);
  font-size: var(--icon2-size) !important;
  line-height: 1;
}

#contacts .phone_element a:hover i,
#restaurant .phone_element a:hover i {
  color: var(--icon2-hover-color);
}

#contacts .social ul li a i {
  color: var(--icon3-color);
  font-size: var(--icon3-size) !important;
  line-height: 1;
}

#contacts .social ul li a:hover i {
  color: var(--icon3-hover-color);
}

/* -----------------------------------------------------------------------------
   SECTION: Cards Ã¢ÂÂ global booking cards (#rooms / #meetings / #offers)
   ----------------------------------------------------------------------------- */
#rooms .box_item_info.card_booking,
#meetings .box_item_info.card_booking,
#offers .box_item_info.card_booking {
  --card-title-color: #30BBBB;
  --card-title-size: 0.875rem;
  --card-title-weight: 600;
  --card-title-spacing: 0px;
  --card-title-transform: none;
  --card-title-margin-bottom: 0;
  --card-title2-color: #333;
  --card-title2-size: 1.875rem;
  --card-title2-weight: 600;
  --card-title2-line-height: 1.3;
  --card-title2-margin-bottom: max(1.25rem, 20px);
  --card-text-margin-bottom: max(1.5625rem, 25px);
  --card-text2-spacing: 0;
  --card-text2-transform: none;
  --card-text2-margin-bottom: max(0.9375rem, 15px);
  --card-padding: max(2.5rem, 40px) max(2.5rem, 40px) max(2.5rem, 40px) max(2.5rem, 40px);
  --card-padding-mobile: max(1.5rem, 24px) max(1.25rem, 20px) max(1rem, 16px) max(1.25rem, 20px);
  --card-padding-tablet: max(2rem, 32px) max(2rem, 32px) max(2rem, 32px) max(2rem, 32px);
  /* BOOK NOW: distance from card edge. Lower = closer to that edge. */
  --card-cta-inset: 15px;              /* side: EN right / AR left */
  --card-cta-inset-mobile: 8px;
  --card-cta-inset-tablet: 25px;
  --card-cta-inset-bottom: 8px;        /* bottom of card */
  --card-cta-inset-bottom-mobile: 8px;
  --card-cta-inset-bottom-tablet: 25px;
  --card-title-size-mobile: 0.8125rem;
  --card-title-size-tablet: 0.85rem;
  --card-title-weight-mobile: 600;
  --card-title-weight-tablet: 600;
  --card-title2-size-mobile: 1.5rem;
  --card-title2-size-tablet: 1.75rem;
  --card-title2-weight-mobile: 600;
  --card-title2-weight-tablet: 600;
  --card-text-size-mobile: 1rem;
  --card-text-size-tablet: 1rem;
  --card-text-weight-mobile: 400;
  --card-text-weight-tablet: 400;
  --card-text2-size-mobile: 0.875rem;
  --card-text2-size-tablet: 0.9rem;
  --card-text2-weight-mobile: 500;
  --card-text2-weight-tablet: 500;
  --card-facility-text-size-mobile: 0.8125rem;
  --card-facility-text-size-tablet: 0.85rem;
  --card-facility-text-weight-mobile: 500;
  --card-facility-text-weight-tablet: 500;
  padding: var(--card-padding);
}

#rooms .box_item_info.card_booking > small.card_booking_meta,
#meetings .box_item_info.card_booking > small.card_booking_meta,
#offers .box_item_info.card_booking > small.card_booking_meta {
  color: var(--card-title-color);
  font-size: var(--card-title-size);
  font-weight: var(--card-title-weight);
  letter-spacing: var(--card-title-spacing);
  text-transform: var(--card-title-transform);
  margin-bottom: var(--card-title-margin-bottom);
}

#rooms .box_item_info.card_booking > h2,
#meetings .box_item_info.card_booking > h2,
#offers .box_item_info.card_booking > h2 {
  color: var(--card-title2-color);
  font-size: var(--card-title2-size);
  font-weight: var(--card-title2-weight);
  line-height: var(--card-title2-line-height);
  margin-bottom: var(--card-title2-margin-bottom);
}

#rooms .box_item_info.card_booking > .card_booking_summary,
#meetings .box_item_info.card_booking > .card_booking_summary,
#offers .box_item_info.card_booking > .card_booking_summary {
  font-size: var(--card-text-size, inherit);
  font-weight: var(--card-text-weight, inherit);
  margin-bottom: var(--card-text-margin-bottom);
}

#rooms .box_item_info.card_booking .card_booking_details > p.card_booking_meta,
#meetings .box_item_info.card_booking .card_booking_details > p.card_booking_meta,
#offers .box_item_info.card_booking .card_booking_details > p.card_booking_meta {
  font-size: var(--card-text2-size, inherit);
  font-weight: var(--card-text2-weight, inherit);
  letter-spacing: var(--card-text2-spacing);
  text-transform: var(--card-text2-transform);
  margin-bottom: var(--card-text2-margin-bottom);
}

/* -----------------------------------------------------------------------------
   SECTION: Buttons Ã¢ÂÂ .btn_1 / .btn_1.outline (sitewide); edit --btn-* on :root
   Header Contact Us uses --btn-header-size; gallery/contact submit use --btn-*
   ----------------------------------------------------------------------------- */
a.btn_1,
.btn_1 {
  background: var(--btn-bg);
  color: var(--btn-color);
  border: none;
  border-radius: var(--btn-radius);
  padding: var(--btn-padding);
  font-family: var(--font-en);
  font-size: var(--btn-size);
  font-weight: var(--btn-weight);
  font-style: var(--btn-style);
  text-transform: var(--btn-transform);
  letter-spacing: var(--btn-spacing);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
  transition: box-shadow 0.3s ease-in-out;
}

:lang(ar) a.btn_1,
:lang(ar) .btn_1,
[lang="ar"] a.btn_1,
[lang="ar"] .btn_1,
[dir="rtl"] a.btn_1,
[dir="rtl"] .btn_1 {
  font-family: var(--font-ar);
}

a.btn_1:hover,
.btn_1:hover {
  background: var(--btn-bg);
  color: var(--btn-color);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent);
}

a.btn_1.outline,
.btn_1.outline {
  background: var(--btn-bg);
  color: var(--btn-color);
  border: none;
  box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
}

a.btn_1.outline:hover,
.btn_1.outline:hover {
  background: var(--btn-bg);
  color: var(--btn-color);
  border: none;
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent);
}

header.fixed_header nav ul li a.btn_1,
header.fixed_header .header-contact-mobile,
header.fixed_header .header-contact-desktop {
  font-size: var(--btn-header-size);
}

@media (max-width: 991px) {
  .main-menu #mainNav ul li a.btn_1 {
    background: var(--btn-bg);
    box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Rooms Ã¢ÂÂ section header (#rooms > .title.mb-4)
   ----------------------------------------------------------------------------- */
#rooms {
  --section-title-color: #30BBBB;
  --section-title2-color: #F8BB38;
  --rooms-header-margin-bottom: 1.5rem;
}

#rooms > .title.mb-4 {
  margin-bottom: var(--rooms-header-margin-bottom) !important;
}

/* -----------------------------------------------------------------------------
   SECTION: Rooms Ã¢ÂÂ center preview carousel (P1 / P2 / P3)
   Edit PC and mobile blocks separately (same knobs).
   Scale = whole card box (owl-item), not the photo alone. P2 keep Ã¢ÂÂ¤ 1 on PC
   or the stage will clip text. Peek/gap are applied by JS on load (hard-refresh).
   Safe peek ~0.12Ã¢ÂÂ0.28. Height = card box height (use calc / vh / px).
   ----------------------------------------------------------------------------- */
#rooms {
  /* PC (Ã¢ÂÂ¥992) */
  --rooms-preview-height: calc(100dvh - 7.5rem - 120px);
  --rooms-preview-side-scale: 0.92;    /* P1 / P3 box */
  --rooms-preview-center-scale: 1.00;     /* P2 box Ã¢ÂÂ max 1 on PC */
  --rooms-preview-side-opacity: 0.60;
  --rooms-preview-peek-ratio: 0.22;    /* side peek as fraction of carousel width */
  --rooms-preview-gap: 5px;           /* space between cards */

  /* Mobile (<992) */
  --rooms-preview-height-mobile: min(90vh, 360px);
  --rooms-preview-height-tablet: calc(100dvh - 8.5rem - 100px);
  --rooms-preview-side-scale-mobile: 0.9;    /* P1 / P3 */
  --rooms-preview-side-scale-tablet: 0.92;
  --rooms-preview-center-scale-mobile: 1.05; /* P2 */
  --rooms-preview-center-scale-tablet: 1.00;
  --rooms-preview-side-opacity-mobile: 0.5;
  --rooms-preview-side-opacity-tablet: 0.60;
  --rooms-preview-peek-ratio-mobile: 0.13;
  --rooms-preview-peek-ratio-tablet: 0.22;
  --rooms-preview-gap-mobile: max(0.0625rem, 1px);
  --rooms-preview-gap-tablet: max(0.3125rem, 5px);
}

@media (max-width: 767px) {
  #rooms {
    --rooms-preview-height: var(--rooms-preview-height-mobile);
    --rooms-preview-side-scale: var(--rooms-preview-side-scale-mobile);
    --rooms-preview-center-scale: var(--rooms-preview-center-scale-mobile);
    --rooms-preview-side-opacity: var(--rooms-preview-side-opacity-mobile);
    --rooms-preview-peek-ratio: var(--rooms-preview-peek-ratio-mobile);
    --rooms-preview-gap: var(--rooms-preview-gap-mobile);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #rooms {
    --rooms-preview-height: var(--rooms-preview-height-tablet);
    --rooms-preview-side-scale: var(--rooms-preview-side-scale-tablet);
    --rooms-preview-center-scale: var(--rooms-preview-center-scale-tablet);
    --rooms-preview-side-opacity: var(--rooms-preview-side-opacity-tablet);
    --rooms-preview-peek-ratio: var(--rooms-preview-peek-ratio-tablet);
    --rooms-preview-gap: var(--rooms-preview-gap-tablet);
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Footer Ã¢ÂÂ Contact Us (#contacts)
   Title / Title 2, body text, phone, social, form tabs & submit buttons
   Room Reservation calendar Ã¢ÂÂtodayÃ¢ÂÂ Ã¢ÂÂ text / box / fill alpha (footer + popup)
   ----------------------------------------------------------------------------- */
:root,
#contacts,
.booking-modal {
  /* edit: calendar today cell Ã¢ÂÂ text, box (outline+fill), fill alpha (0.15 = 85% transparent) */
  --booking-cal-today-text: #30BBBB;
  --booking-cal-today-box: #F8BB38;
  --booking-cal-today-fill-alpha: 0.15;
}

body.page-rooms #contacts #customTab,
body.page-meetings #contacts #customTab,
body.page-restaurant #contacts #customTab,
body.page-offers #contacts #customTab {
  display: none;
}

#contacts {
  --section-title-color: #30BBBB;
  --section-title2-color: #333;
  --section-title2-weight: 600;
  --footer-title2-size-mobile: 1.75rem;
  --footer-title2-size-tablet: 2.17rem;
  --footer-title-weight-mobile: 600;
  --footer-title-weight-tablet: 600;
  --footer-title2-weight-mobile: 600;
  --footer-title2-weight-tablet: 600;
  --footer-title-spacing-mobile: max(0.125rem, 2px);
  --footer-title-spacing-tablet: max(0.1875rem, 3px);
  --footer-text-margin-bottom: max(0.9375rem, 15px);
  --footer-tab-color: #999;
  --footer-tab-size: inherit;
  --footer-tab-size-mobile: 0.8125rem;
  --footer-tab-size-tablet: inherit;
  --footer-tab-weight: inherit;
  --footer-tab-weight-mobile: 600;
  --footer-tab-weight-tablet: inherit;
  --footer-tab-style: normal;
  --footer-tab-hover-color: #F8BB38;
  --footer-tab-border: #cfd8d8;
  --footer-tab-hover-border: #F8BB38;
  --footer-tab-active-color: #fff;
  --footer-tab-active-bg: #30BBBB;
  --footer-tab-active-border: #30BBBB;
  --footer-tab-gap: 0.5rem;
  --footer-form-padding-x: max(1.25rem, 20px);
}

/* Phone / email rows Ã¢ÂÂ shared by Contact Us + restaurant Reservations */
#contacts,
#restaurant {
  --footer-phone-label-color: #333;
  --footer-phone-value-color: #30BBBB;
  --footer-phone-label-size-mobile: 0.8125rem;
  --footer-phone-label-size-tablet: 0.875rem;
  --footer-phone-label-weight-mobile: 600;
  --footer-phone-label-weight-tablet: 600;
  --footer-phone-value-size-mobile: 1rem;
  --footer-phone-value-size-tablet: 1rem;
  --footer-phone-value-weight-mobile: 500;
  --footer-phone-value-weight-tablet: 500;
}

#contacts > .row > [class*="col-"] > div > p {
  font-size: var(--footer-text-size, inherit);
  font-weight: var(--footer-text-weight, inherit);
  margin-bottom: var(--footer-text-margin-bottom);
  text-align: justify;
  text-justify: inter-word;
}

#contacts .phone_element a span,
#restaurant .phone_element a span {
  color: var(--footer-phone-value-color);
  font-size: var(--footer-phone-value-size, inherit);
  font-weight: var(--footer-phone-value-weight, inherit);
}

#contacts .phone_element a span em,
#restaurant .phone_element a span em {
  color: var(--footer-phone-label-color);
  font-size: var(--footer-phone-label-size, inherit);
  font-weight: var(--footer-phone-label-weight, inherit);
}

#contacts .social ul li a {
  opacity: 1;
}

#contacts .social ul li a:hover {
  opacity: 1;
}

#contacts .contacts-booking-box {
  background: #fff;
  border-radius: 8px;
  padding: 1.25rem 1.25rem 1rem;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

#contacts .contacts-booking-box .nav-tabs#customTab {
  margin-bottom: var(--footer-tab-gap);
  padding-left: 0;
  padding-right: 0;
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--footer-tab-gap);
}

#contacts .contacts-booking-box .nav-tabs#customTab .nav-item {
  flex: 1 1 calc(50% - var(--footer-tab-gap));
  margin: 0;
}

#contacts .contacts-booking-box .nav-tabs#customTab .nav-link {
  width: 100%;
  text-align: center;
  white-space: normal;
  line-height: 1.25;
  padding: 0.5rem 0.4rem;
}

#contacts .contacts-booking-box .contacts_wrapper,
#contacts .contacts-booking-box .booking_wrapper {
  padding-left: 0;
  padding-right: 0;
}

#contacts .form-floating:has(.booking-message-overlay),
.booking-modal .form-floating:has(.booking-message-overlay) {
  position: relative;
}

.booking-message-overlay {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.65rem;
  z-index: 2;
  pointer-events: none;
  font-size: 0.8125rem;
  color: rgba(51, 51, 51, 0.55);
  margin: 0;
}

#contacts .form-hint.booking-message-hint,
.booking-modal .form-hint.booking-message-hint {
  display: none;
}

/* edit: contact tabs Ã¢ÂÂ above form with small gap; left edge matches Name field */
#contacts .nav-tabs#customTab {
  margin-bottom: var(--footer-tab-gap);
  padding-left: var(--footer-form-padding-x);
  padding-right: var(--footer-form-padding-x);
}

#contacts .tab-content {
  margin-top: 0;
  padding-top: 0;
}

/* theme padding-top was for flush tabs; horizontal padding shared with tabs */
#contacts .contacts_wrapper {
  padding-top: 0;
  padding-left: var(--footer-form-padding-x);
  padding-right: var(--footer-form-padding-x);
}

#contacts .nav-tabs#customTab .nav-link {
  color: var(--footer-tab-color);
  font-size: var(--footer-tab-size);
  font-weight: var(--footer-tab-weight);
  font-style: var(--footer-tab-style);
  border: 1px solid var(--footer-tab-border);
  background-color: transparent;
}

#contacts .nav-tabs#customTab .nav-link:hover {
  color: var(--footer-tab-hover-color);
  border-color: var(--footer-tab-hover-border);
}

#contacts .nav-tabs#customTab .nav-link.active {
  color: var(--footer-tab-active-color);
  background-color: var(--footer-tab-active-bg);
  border-color: var(--footer-tab-active-border);
}

@media (min-width: 992px) {
  #contacts {
    --footer-tab-size: 0.75rem;
  }

  #contacts .contacts-booking-box .nav-tabs#customTab .nav-item {
    flex: 1 1 0;
  }

  #contacts .contacts-booking-box .nav-tabs#customTab .nav-link {
    padding: 0.45rem 0.25rem;
  }

  /* Arabic labels are long Ã¢ÂÂ keep 2ÃÂ2 on PC */
  [dir="rtl"] #contacts .contacts-booking-box .nav-tabs#customTab .nav-item {
    flex: 1 1 calc(50% - var(--footer-tab-gap));
  }
}

/* Contact form footer: captcha + submit Ã¢ÂÂ one line on PC, stacked on mobile */
#contacts form > hr + .row {
  align-items: center;
}

#contacts form > hr + .row > [class*="col-"] {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #contacts form > hr + .row {
    flex-wrap: nowrap;
  }

  #contacts form > hr + .row > [class*="col-"] {
    flex: 1 1 0;
    max-width: none;
    width: auto;
  }
}

@media (max-width: 767.98px) {
  #contacts form > hr + .row {
    row-gap: 1rem;
  }

  #contacts form > hr + .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  #contacts form > hr + .row .text-end {
    text-align: start !important;
  }

  [dir="rtl"] #contacts form > hr + .row .text-end {
    text-align: right !important;
  }

  #contacts form > hr + .row .btn_1 {
    width: 100%;
  }

  /* Keep Ã¢ÂÂAre you human?Ã¢ÂÂ + captcha field on one line above Submit */
  #contacts form > hr + .row .row.align-items-center {
    flex-wrap: nowrap;
    gap: 0.75rem;
  }

  #contacts form > hr + .row .row.align-items-center > [class*="col-"] {
    flex: 0 1 auto;
    width: auto;
    max-width: none;
  }

  #contacts form > hr + .row .row.align-items-center > .col-md-4 {
    flex: 1 1 auto;
    min-width: 0;
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Copyright bar (.copy)
   ----------------------------------------------------------------------------- */
.copy a.js-cms-login-link {
  color: inherit;
  text-decoration: none;
}

.copy-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  justify-content: center;
  margin-bottom: 0.65rem;
  font-size: 0.75rem;
}

.copy-legal a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}

.copy-legal a:hover,
.copy-legal a:focus {
  color: #fff;
  text-decoration: underline;
}

.booking-rate-note {
  font-size: 0.85rem;
  color: #555;
  margin: 0.5rem 0 0;
}

.booking-policy-check {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
}

.booking-policy-check input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.copy {
  --copyright-bg: var(--bg-copyright);
  --copyright-color: #fff;
  --copyright-size: 0.8125rem;
  --copyright-weight: inherit;
  --copyright-style: normal;
  --copyright-line-height: inherit;
  --copyright-padding-y: max(1.5625rem, 25px);
  color: var(--copyright-color);
  background-color: var(--copyright-bg);
  font-size: var(--copyright-size);
  font-weight: var(--copyright-weight);
  font-style: var(--copyright-style);
  line-height: var(--copyright-line-height);
  padding-top: var(--copyright-padding-y);
  padding-bottom: var(--copyright-padding-y);
}

/* -----------------------------------------------------------------------------
   SECTION: Offers (#offers / offers.html)
   ----------------------------------------------------------------------------- */
#offers {
  --offers-title-color: #F8BB38;
  --offers-title-size: 2.75rem;
  --offers-title-size-mobile: 1.75rem;
  --offers-title-size-tablet: 2.42rem;
  --offers-title-weight: 600;
  --offers-title-spacing: max(0.1875rem, 3px);
  --offers-title-spacing-mobile: max(0.125rem, 2px);
  --offers-title-spacing-tablet: max(0.1875rem, 3px);
  --offers-title2-color: #ffffff;
  --offers-title2-size: 2.375rem;
  --offers-title2-size-mobile: 1.65rem;
  --offers-title2-size-tablet: 2.13rem;
  --offers-title2-weight: 700;
}

#offers .title small {
  color: var(--offers-title-color);
  font-size: var(--offers-title-size);
  font-weight: var(--offers-title-weight);
  letter-spacing: var(--offers-title-spacing);
  text-transform: uppercase;
  margin-bottom: max(0.3125rem, 5px);
}

#offers .title h2 {
  color: var(--offers-title2-color);
  font-size: var(--offers-title2-size);
  font-weight: var(--offers-title2-weight);
  line-height: 1.3;
  margin-bottom: max(0.9375rem, 15px);
}

#offers .box_item_info ul {
  padding-left: 1.25rem;
  margin-bottom: 0;
}

/* -----------------------------------------------------------------------------
   SECTION: Restaurant (#restaurant) Ã¢ÂÂ facilities, intro, hours, menu titles
   ----------------------------------------------------------------------------- */
#restaurant,
#wellness {
  --facility-title-size: 1.3125rem;
  --facility-title-size-mobile: 1.25rem;
  --facility-title-size-tablet: 1.5rem;
  --facility-title-weight: 500;
  --facility-title-weight-mobile: 400;
  --facility-title-weight-tablet: 400;
}

#restaurant .box_facilities h3,
#wellness .box_facilities h3 {
  font-size: var(--facility-title-size);
  font-weight: var(--facility-title-weight, 500);
}

#restaurant .restaurant-intro .title small {
  color: #30BBBB;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: max(0.1875rem, 3px);
  text-transform: uppercase;
  margin-bottom: max(0.3125rem, 5px);
}

#restaurant .restaurant-intro .title h2 {
  color: #F8BB38;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: max(0.9375rem, 15px);
}

#restaurant .restaurant-intro p:not(.lead):not(.phone_element):not(.restaurant-signature) {
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 1rem;
  text-align: justify;
  text-justify: inter-word;
}

#restaurant .restaurant-intro .lead {
  font-size: 1.1rem;
  font-weight: 400;
  margin-bottom: 1rem;
  text-align: justify;
  text-justify: inter-word;
}

#restaurant .restaurant-intro .restaurant-signature {
  font-family: Times New Roman;
  font-size: 1.20rem;
  font-weight: 700;
  font-style: italic;
  margin-top: 0.5rem;
  margin-bottom: 0;
}

#restaurant .restaurant-intro .restaurant-signature em {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
}

#restaurant .restaurant-intro .restaurant-signature--thin {
  font-size: 1.20rem;
  font-weight: 100;
  font-style: italic;
  margin-top: 0.15rem;
  margin-bottom: 0;
}

#restaurant .restaurant-hours strong {
  font-size: 1rem;
  font-weight: 700;
}

#restaurant .restaurant-hours span {
  font-size: 1rem;
  font-weight: 400;
}

#restaurant .restaurant-hours small {
  color: #888;
  font-size: 0.875rem;
  font-weight: 400;
}

#restaurant .restaurant-hours li {
  gap: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  padding-bottom: 0.5rem;
}

#restaurant-menu {
  --restaurant-menu-eyebrow-color: #30BBBB;
  --restaurant-menu-eyebrow-size: 0.75rem;
  --restaurant-menu-eyebrow-weight: 600;
  --restaurant-menu-eyebrow-spacing: 3px;
  --restaurant-menu-eyebrow-spacing-mobile: 2px;
  --restaurant-menu-eyebrow-spacing-tablet: 3px;
  --restaurant-menu-eyebrow-transform: uppercase;
  --restaurant-menu-eyebrow-margin-bottom: 5px;
  --restaurant-menu-title-color: #F8BB38;
  --restaurant-menu-title-size: 2.5rem;
  --restaurant-menu-title-size-mobile: 1.75rem;
  --restaurant-menu-title-size-tablet: 2.17rem;
  --restaurant-menu-title-weight: 700;
  --restaurant-menu-title-line-height: 1.3;
  --restaurant-menu-title-margin-bottom: 15px;
}

#restaurant-menu .title small {
  color: var(--restaurant-menu-eyebrow-color);
  font-size: var(--restaurant-menu-eyebrow-size);
  font-weight: var(--restaurant-menu-eyebrow-weight);
  letter-spacing: var(--restaurant-menu-eyebrow-spacing);
  text-transform: var(--restaurant-menu-eyebrow-transform);
  margin-bottom: var(--restaurant-menu-eyebrow-margin-bottom);
}

#restaurant-menu .title h2 {
  color: var(--restaurant-menu-title-color);
  font-size: var(--restaurant-menu-title-size);
  font-weight: var(--restaurant-menu-title-weight);
  line-height: var(--restaurant-menu-title-line-height);
  margin-bottom: var(--restaurant-menu-title-margin-bottom);
}

/* -----------------------------------------------------------------------------
   SECTION: Chairman (#chairman / founder.html)
   ----------------------------------------------------------------------------- */
#chairman {
  --section-title-color: #F8BB38;
  --section-title2-color: #333;
  --chairman-text-margin-bottom: max(1.5625rem, 25px);
}

#chairman .intro p {
  font-size: var(--chairman-text-size, inherit);
  font-weight: var(--chairman-text-weight, inherit);
  margin-bottom: var(--chairman-text-margin-bottom);
  text-align: justify;
  text-justify: inter-word;
}

/* -----------------------------------------------------------------------------
   SECTION: Explore Basra (#explore-basra)
   ----------------------------------------------------------------------------- */
#explore-basra {
  --section-title-color: #F8BB38;
  --section-title2-color: #333;
}

/* -----------------------------------------------------------------------------
   SECTION: Virtual Tour (#virtual-tour)
   ----------------------------------------------------------------------------- */
#virtual-tour {
  --section-title-color: #F8BB38;
  --section-title2-color: #333;
}

/* Discover Ã¢ÂÂ single Matterport player (lazy iframe) */
.horizon-discover-stage {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  background: var(--horizon-pearl, #f5f5f5);
  overflow: hidden;
}

.horizon-discover-stage iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  body.page-index-2 #discoverTourList.horizon-slide-pills {
    flex-wrap: wrap;
    gap: max(0.625rem, 10px);
  }

  body.page-index-2 #discoverTourList.horizon-slide-pills .nav-link {
    padding: max(0.5rem, 8px) max(0.75rem, 12px);
    font-size: 0.8rem;
  }
}

/* Shared circular owl dots (Our Projects #projectDots) */
body.page-index-2 .horizon-carousel-dots {
  position: static;
  width: 100%;
  right: auto;
  top: auto;
  transform: none;
  margin-top: max(1.25rem, 20px) !important;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: max(0.625rem, 10px);
}

/* dotsContainer (#projectDots) sits outside .owl-carousel Ã¢ÂÂ reset button chrome here */
body.page-index-2 .horizon-carousel-dots button.owl-dot,
body.page-index-2 #projectDots button.owl-dot {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  line-height: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  appearance: none;
}

body.page-index-2 .horizon-carousel-dots .owl-dot span,
body.page-index-2 #projectDots .owl-dot span {
  display: block;
  border-radius: 50%;
  box-sizing: border-box;
  background: transparent !important;
  border: 2px solid var(--horizon-turquoise) !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0;
  transition: background 0.2s ease, border-color 0.2s ease;
}

body.page-index-2 .horizon-carousel-dots .owl-dot.active span,
body.page-index-2 .horizon-carousel-dots .owl-dot:hover span,
body.page-index-2 #projectDots .owl-dot.active span,
body.page-index-2 #projectDots .owl-dot:hover span {
  background: var(--horizon-gold) !important;
  border-color: var(--horizon-gold) !important;
}

body.page-index-2 .horizon-carousel-dots .owl-dot span::before,
body.page-index-2 #projectDots .owl-dot span::before {
  content: none !important;
  display: none !important;
}

/* edit: continuous slow pan on rooms/meetings/offers (theme kenburns is one-shot; single-image carousels need infinite) */
body.page-index-2 .carousel_item_1.kenburns {
  overflow: hidden;
}

/* Owl stage math is LTR; html[dir=rtl] inherits direction:rtl and blanks/wrong-slides these carousels */
[dir="rtl"] .carousel_item_1.owl-carousel {
  direction: ltr;
}
[dir="rtl"] .carousel_item_1.owl-carousel .owl-item {
  float: left;
}

[dir="rtl"] .carousel_item_centered_rooms.owl-carousel {
  direction: ltr;
}
[dir="rtl"] .carousel_item_centered_rooms.owl-carousel .owl-item {
  float: left;
}

/* Owl LTR stage on AR pages Ã¢ÂÂ rtl+loop paints the wrong slide (see rooms carousel) */
[dir="rtl"] .carousel_projects.owl-carousel {
  direction: ltr;
}
[dir="rtl"] .carousel_projects.owl-carousel .owl-item {
  float: left;
}
[dir="rtl"] .carousel_projects .project-slide {
  direction: rtl;
}

body.page-index-2 .carousel_item_1.kenburns .owl-item.active .item img {
  animation: kenburns 15s linear infinite alternate;
  animation-fill-mode: both;
}

/* edit: rooms/meetings/offers dots Ã¢ÂÂ bottom center inside image (not side vertical) */
body.page-index-2 .row_list_version_2 .owl-carousel .owl-dots,
body.page-index-2 .row_list_version_2.inverted .owl-carousel .owl-dots,
body.page-index-2 .carousel_item_1.owl-carousel .owl-dots {
  position: absolute;
  left: 50%;
  right: auto;
  top: auto;
  bottom: 18px;
  width: auto;
  transform: translateX(-50%);
  margin: 0 !important;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: max(0.625rem, 10px);
  z-index: 3;
}

/* edit: card overlay pull Ã¢ÂÂ logical margins so RTL mirrors LTR (physical margin-left:-100px pulls away in RTL) */
@media (min-width: 1200px) {
  .row_list_version_2 .box_item_info {
    margin-top: 0;
    margin-bottom: 0;
    margin-inline-start: -100px;
    margin-inline-end: 0;
  }

  .row_list_version_2.inverted .box_item_info {
    margin-top: 0;
    margin-bottom: 0;
    margin-inline-start: 0;
    margin-inline-end: -100px;
  }
}

body.page-index-2 .row_list_version_2 .owl-carousel .owl-dots .owl-dot span,
body.page-index-2 .carousel_item_1.owl-carousel .owl-dots .owl-dot span {
  width: 12px;
  height: 12px;
  margin: 0;
  background: transparent;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

body.page-index-2 .row_list_version_2 .owl-carousel .owl-dots .owl-dot.active span,
body.page-index-2 .row_list_version_2 .owl-carousel .owl-dots .owl-dot:hover span,
body.page-index-2 .carousel_item_1.owl-carousel .owl-dots .owl-dot.active span,
body.page-index-2 .carousel_item_1.owl-carousel .owl-dots .owl-dot:hover span {
  background: #fff;
}

/* Hide scrollbars site-wide (scroll still works) */
html {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
* {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
*::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* Rooms + Meetings + Offers: hide edge-attached carousel arrows */
body.page-rooms .row_list_version_2 .owl-carousel .owl-nav,
body.page-meetings .row_list_version_2 .owl-carousel .owl-nav,
body.page-offers .row_list_version_2 .owl-carousel .owl-nav,
#rooms .owl-carousel .owl-nav,
#meetings .owl-carousel .owl-nav,
#offers .owl-carousel .owl-nav {
  display: none !important;
}

@media (max-width: 767px) {
  body.page-rooms .row_list_version_2 .owl-carousel .owl-dots,
  body.page-meetings .row_list_version_2 .owl-carousel .owl-dots {
    left: 15px;
    right: auto;
    top: 50%;
    bottom: auto;
    width: 40px;
    transform: translateY(-50%);
    flex-direction: column;
    gap: max(0.5rem, 8px);
  }

  body.page-rooms .row_list_version_2.inverted .owl-carousel .owl-dots,
  body.page-meetings .row_list_version_2.inverted .owl-carousel .owl-dots {
    left: auto;
    right: 15px;
  }

  /* RTL: flip side so dots stay on the image's outer edge */
  [dir="rtl"] body.page-rooms .row_list_version_2:not(.inverted) .owl-carousel .owl-dots,
  [dir="rtl"] body.page-meetings .row_list_version_2:not(.inverted) .owl-carousel .owl-dots {
    left: auto;
    right: 15px;
  }

  [dir="rtl"] body.page-rooms .row_list_version_2.inverted .owl-carousel .owl-dots,
  [dir="rtl"] body.page-meetings .row_list_version_2.inverted .owl-carousel .owl-dots {
    left: 15px;
    right: auto;
  }
}

/* edit: gallery centered carousel Ã¢ÂÂ unify mixed resolutions with cover crop */
body.page-index-2 .carousel_item_centered .item {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #1a1a1a;
}

body.page-index-2 .carousel_item_centered .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Room Owl slides: intrinsic ratio (no fake 1600×1000 attrs) */
body.page-index-2 #rooms .row_list_version_2 .owl-carousel .item img,
body.page-rooms .row_list_version_2 .owl-carousel .item img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Meetings + Offers preview: fixed frame so dots stay on the photo (not below) */
#meetings .carousel_item_1,
#offers .carousel_item_1,
body.page-meetings .carousel_item_1,
body.page-offers .carousel_item_1 {
  position: relative;
  overflow: hidden;
}

#meetings .carousel_item_1 .item,
#offers .carousel_item_1 .item,
body.page-meetings .carousel_item_1 .item,
body.page-offers .carousel_item_1 .item {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #1a1a1a;
}

#meetings .carousel_item_1 .item img,
#offers .carousel_item_1 .item img,
body.page-meetings .carousel_item_1 .item img,
body.page-offers .carousel_item_1 .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
/* edit: Gallery/Explore (.horizon-slide-pills) match .btn_1 Ã¢ÂÂ teal + gold underline; gap so pills donÃ¢ÂÂt touch; PC + mobile */
body.page-index-2 .horizon-slide-pills {
  gap: max(0.625rem, 10px);
  flex-wrap: wrap;
}

body.page-index-2 .horizon-slide-pills .nav-link {
  background: var(--btn-bg);
  color: var(--btn-color);
  border: none;
  border-radius: var(--btn-radius);
  font-family: var(--font-en);
  font-weight: var(--btn-weight);
  font-size: 0.875rem;
  text-transform: var(--btn-transform);
  letter-spacing: var(--btn-spacing);
  padding: max(0.625rem, 10px) max(1.25rem, 20px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
  transition: box-shadow 0.3s ease-in-out;
}

body.page-index-2 .horizon-slide-pills .nav-link:hover {
  background: var(--btn-bg);
  color: var(--btn-color);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent);
}

body.page-index-2 .horizon-slide-pills .nav-link.active {
  background: var(--btn-bg);
  color: var(--btn-color);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent);
}

/* edit: Gallery category pills only Ã¢ÂÂ one row on mobile; do not touch #exploreSlideTab */
@media (max-width: 767px) {
  body.page-index-2 #galleryTab.horizon-slide-pills {
    flex-wrap: nowrap;
    gap: max(0.875rem, 14px);
    justify-content: center;
  }

  body.page-index-2 #galleryTab.horizon-slide-pills .nav-link {
    padding: max(0.375rem, 6px) max(0.5rem, 8px);
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
    flex: 1 1 0;
    min-width: 0;
  }
}

/* -----------------------------------------------------------------------------
   ROOMS Ã¢ÂÂ View all rooms button (homepage #rooms; reuses --btn-*)
   ----------------------------------------------------------------------------- */
body.page-index-2 .rooms-see-more-ribbon {
  --rooms-ribbon-width: fit-content;
  --rooms-ribbon-margin-top: 1.75rem;
  --rooms-ribbon-width-mobile: 100%;
  --rooms-ribbon-width-tablet: fit-content;
  --rooms-ribbon-margin-top-mobile: 2.25rem;
  --rooms-ribbon-margin-top-tablet: 1.9rem;
  --rooms-ribbon-padding-mobile: max(1.125rem, 18px) max(1.25rem, 20px);
  --rooms-ribbon-padding-tablet: max(1rem, 16px) max(2.25rem, 36px);

  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--rooms-ribbon-width);
  max-width: 100%;
  margin: var(--rooms-ribbon-margin-top) auto 0;
  padding: var(--btn-padding);
  border: 0;
  border-radius: var(--btn-radius);
  background: var(--btn-bg);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-default)) 0 0 var(--btn-accent);
  transition: box-shadow 0.3s ease-in-out;
  font-family: var(--font-en);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

body.page-index-2 .rooms-see-more-ribbon:hover,
body.page-index-2 .rooms-see-more-ribbon:focus,
body.page-index-2 .rooms-see-more-ribbon:active {
  background: var(--btn-bg);
  box-shadow: inset 0 calc(-1 * var(--btn-accent-hover)) 0 0 var(--btn-accent);
  text-decoration: none;
}

body.page-index-2 .rooms-see-more-ribbon__label {
  display: inline-block;
  color: var(--btn-color);
  font-size: var(--btn-size, 0.9375rem);
  font-weight: var(--btn-weight);
  font-style: var(--btn-style);
  letter-spacing: var(--btn-spacing);
  text-transform: var(--btn-transform);
}

[dir="rtl"] body.page-index-2 .rooms-see-more-ribbon,
[dir="rtl"] body.page-index-2 .rooms-see-more-ribbon__label {
  font-family: var(--font-ar);
}

body.page-index-2 .rooms-style-ribbon__select {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 1.75rem 0 0;
  border: 0;
  border-radius: 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23fff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right center / 12px no-repeat;
  color: var(--btn-color);
  font-family: inherit;
  font-size: var(--btn-size, 0.9375rem);
  font-weight: var(--btn-weight);
  font-style: var(--btn-style);
  letter-spacing: var(--btn-spacing);
  text-transform: var(--btn-transform);
  text-align: center;
  text-align-last: center;
  cursor: pointer;
  outline: none;
}

body.page-index-2 .rooms-style-ribbon__select:focus {
  outline: none;
}

body.page-index-2 .rooms-style-ribbon__select option {
  color: #1a1a1a;
  background: #fff;
  text-transform: none;
  letter-spacing: normal;
}

body.page-index-2 #rooms.is-expanded .rooms-see-more-ribbon {
  display: none;
}

body.page-index-2 .rooms-more[hidden] {
  display: none !important;
}

@media (max-width: 767px) {
  body.page-index-2[data-bs-spy] #rooms {
    --rooms-card-stack-gap-mobile: 2.25rem;
    --rooms-card-info-padding-bottom-mobile: max(0.5rem, 8px);
  }

  body.page-index-2[data-bs-spy] #rooms .row_list_version_2 {
    margin-bottom: var(--rooms-card-stack-gap-mobile);
  }

  body.page-index-2[data-bs-spy] #rooms .row_list_version_2:last-of-type {
    margin-bottom: 0;
  }

  body.page-index-2[data-bs-spy] #rooms .row_list_version_2 .box_item_info {
    padding-bottom: var(--rooms-card-info-padding-bottom-mobile);
  }

  body.page-index-2 .rooms-see-more-ribbon {
    width: var(--rooms-ribbon-width-mobile);
    margin-top: var(--rooms-ribbon-margin-top-mobile);
    padding: var(--rooms-ribbon-padding-mobile);
  }
}

/* -----------------------------------------------------------------------------
   SECTION BANNERS Ã¢ÂÂ banner.jpg Ã¢ÂÂ¤767 | pc.jpg Ã¢ÂÂ¥768 via data-cms-banner
   ----------------------------------------------------------------------------- */
body.page-index-2 .section_banner {
  --section-banner-content-justify: center;
  --section-banner-title-gap: 0rem;
  --section-banner-title-color: #f8f8f8;
  --section-banner-title-family: var(--font-banner-title1);
  --section-banner-title-size: 4.25rem;
  --section-banner-title-size-mobile: 2.670rem;
  --section-banner-title-size-tablet: 3.92rem;
  --section-banner-title-weight: 600;
  --section-banner-title-weight-mobile: 500;
  --section-banner-title-weight-tablet: 600;
  --section-banner-title-style: italic;
  --section-banner-title-spacing: 0px;
  --section-banner-title-spacing-mobile: 0px;
  --section-banner-title-spacing-tablet: 0px;
  --section-banner-title-transform: normal;
  --section-banner-title-margin-bottom: 0px;
  --section-banner-title2-color: #fff;
  --section-banner-title2-family: var(--font-en);
  --section-banner-title2-size: 1.775rem;
  --section-banner-title2-size-mobile: 1.335rem;
  --section-banner-title2-size-tablet: 1.63rem;
  --section-banner-title2-weight: 300;
  --section-banner-title2-weight-mobile: 200;
  --section-banner-title2-weight-tablet: 200;
  --section-banner-title2-style: normal;
  --section-banner-title2-line-height: 0.3;
  --section-banner-title2-margin-bottom: 0px;
  --section-banner-box-padding: 0.2em 0.55em;
  --section-banner-box-padding-mobile: 0.15em 0.4em;
  --section-banner-box-padding-tablet: 0.18em 0.50em;
  --section-banner-padding: 2.5rem 1.5rem;
  --section-banner-padding-mobile: 1.5rem 1rem;
  --section-banner-padding-tablet: 1.8rem 1.35rem;
  --section-banner-ratio: 7 / 1;
  --section-banner-ratio-mobile: 22 / 9;
  --section-banner-ratio-tablet: 18 / 5.5;
  --section-banner-focus: 50% 50%;
  --section-banner-overlay-color: #000;
  --section-banner-overlay-opacity: 0.3;

  position: relative;
  display: flex;
  width: 100%;
  overflow: hidden;
  aspect-ratio: var(--section-banner-ratio);
  background-size: cover;
  background-position: var(--section-banner-focus);
  background-repeat: no-repeat;
  background-image: none;
  background-color: #1a1a1a;
}

body.page-index-2 .section_banner {
  /* CMS sets background-image via hydrateBanners — no local banner.jpg (404 on Vercel) */
  background-image: none;
  background-color: #1a1a1a;
}

body.page-index-2 .section_banner[data-cms-banner="meetings"],
body.page-index-2 .section_banner[data-cms-banner="restaurant"],
body.page-index-2 .section_banner[data-cms-banner="wellness"],
body.page-index-2 .section_banner[data-cms-banner="rooms"],
body.page-index-2 .section_banner[data-cms-banner="offers"],
body.page-index-2 .section_banner[data-cms-banner="explore"],
body.page-index-2 .section_banner[data-cms-banner="booking"] {
  /* placeholders only — real art from CMS banners.* media sets */
}

@media (min-width: 768px) {
  body.page-index-2 .section_banner {
    background-image: none;
  }
}

body.page-index-2 .section_banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--section-banner-overlay-color);
  opacity: var(--section-banner-overlay-opacity);
  pointer-events: none;
  z-index: 0;
}

body.page-index-2 .section_banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: var(--section-banner-content-justify);
  gap: var(--section-banner-title-gap);
  align-items: center;
  width: 100%;
  min-height: 0;
  flex: 1;
  margin: 0 auto;
  padding: var(--section-banner-padding);
  text-align: center;
  max-width: 900px;
}

body.page-index-2 .section_banner__inner small {
  display: inline-block;
  color: var(--section-banner-title-color);
  font-family: var(--section-banner-title-family);
  font-size: var(--section-banner-title-size);
  font-weight: var(--section-banner-title-weight);
  font-style: var(--section-banner-title-style);
  letter-spacing: var(--section-banner-title-spacing);
  text-transform: var(--section-banner-title-transform);
  margin-bottom: var(--section-banner-title-margin-bottom);
  padding: var(--section-banner-box-padding);
}

body.page-index-2 .section_banner__inner h1,
body.page-index-2 .section_banner__inner h2 {
  display: inline-block;
  color: var(--section-banner-title2-color);
  font-family: var(--section-banner-title2-family);
  font-size: var(--section-banner-title2-size);
  font-weight: var(--section-banner-title2-weight);
  font-style: var(--section-banner-title2-style);
  line-height: var(--section-banner-title2-line-height);
  margin-bottom: var(--section-banner-title2-margin-bottom);
  padding: var(--section-banner-box-padding);
}

body.page-index-2 .section_banner__inner p {
  display: none;
}

/* -----------------------------------------------------------------------------
   Index-2 page-only background + card/text-box colors
   (scoped so index.html stays unchanged)
   ----------------------------------------------------------------------------- */
body.page-index-2 {
  background: var(--bg-page);
}

body.page-index-2 main {
  background-color: var(--bg-page);
}

/* Full-bleed section backgrounds Ã¢ÂÂ --bg per #id, shared paint */
body.page-index-2 #about { --bg: var(--bg-about); }
body.page-index-2 #rooms { --bg: var(--bg-rooms); }
body.page-index-2 #meetings { --bg: var(--bg-meetings); }
body.page-index-2 #restaurant { --bg: var(--bg-restaurant); }
body.page-index-2 #wellness { --bg: var(--bg-wellness); }
body.page-index-2 #offers { --bg: var(--bg-offers); }
body.page-index-2 #explore,
body.page-index-2 #explore-basra { --bg: var(--bg-explore); }
body.page-index-2 #virtual-tour { --bg: var(--bg-virtual-tour); }
body.page-index-2 #chairman { --bg: var(--bg-chairman); }
body.page-index-2 #our-projects { --bg: var(--bg-our-projects); }
body.page-index-2 #contacts { --bg: var(--bg-contacts); }
body.page-index-2 .bg_white:not(#contacts):not(#about):not(#meetings):not(#offers):not(#chairman) {
  --bg: var(--bg-page);
}

body.page-index-2 #about,
body.page-index-2 #rooms,
body.page-index-2 #meetings,
body.page-index-2 #restaurant,
body.page-index-2 #wellness,
body.page-index-2 #offers,
body.page-index-2 #explore,
body.page-index-2 #explore-basra,
body.page-index-2 #virtual-tour,
body.page-index-2 #chairman,
body.page-index-2 #our-projects,
body.page-index-2 #contacts,
body.page-index-2 .bg_white:not(#contacts):not(#about):not(#meetings):not(#offers):not(#chairman) {
  background-color: var(--bg) !important;
  --stripe-bg: var(--bg);
}

/* Dedicated pages Ã¢ÂÂ shell matches primary section */
body.page-rooms main {
  background-color: var(--bg-rooms);
}

body.page-meetings main {
  background-color: var(--bg-meetings);
}

body.page-restaurant main {
  background-color: var(--bg-restaurant);
}

body.page-offers main {
  background-color: var(--bg-offers);
}

/* Card drop shadows vs section bg Ã¢ÂÂ edit these three */
:root {
  --meetings-card-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  --rooms-card-shadow: 0 8px 28px rgba(0, 0, 0, 0.12); /* room info popup */
  --offers-card-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

/* Meetings: homepage #meetings + meetings.html */
#meetings .box_item_info.card_booking,
body.page-meetings .box_item_info.card_booking,
body.page-meetings.page-cards-expanded .box_item_info.card_booking {
  box-shadow: var(--meetings-card-shadow);
}

/* Rooms: Learn-more popup (not list cards Ã¢ÂÂ center/preview UI) */
.room-info-modal .booking-modal__dialog,
.room-info-modal__dialog {
  box-shadow: var(--rooms-card-shadow);
}

/* Offers: homepage #offers + offers.html */
#offers .box_item_info.card_booking,
body.page-offers .box_item_info.card_booking,
body.page-offers.page-cards-expanded .box_item_info.card_booking {
  box-shadow: var(--offers-card-shadow);
}

body.page-chairman main {
  background-color: var(--bg-chairman);
}

body.page-booking main,
body.page-booking #booking-app {
  background-color: var(--bg-booking);
}

/* BookingMyStay embed: one header offset, no outer scroll (iframe scrolls) */
body.page-booking {
  overflow: hidden;
  height: 100dvh;
}
/* Opaque sticky chrome — transparent header + cream nav color read as an empty gap */
body.page-booking header.fixed_header {
  background-color: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--header-sticky-border, rgba(217, 225, 230, 0.55));
}
body.page-booking header.fixed_header .logo_normal {
  display: none;
}
body.page-booking header.fixed_header .logo_sticky {
  display: inline-block;
}
body.page-booking header.fixed_header nav ul li a {
  color: var(--header-sticky-nav-color, #000);
}
body.page-booking header.fixed_header .hamburger_2 .hamburger__inner,
body.page-booking header.fixed_header .hamburger_2 .hamburger__inner::before,
body.page-booking header.fixed_header .hamburger_2 .hamburger__inner::after {
  background-color: var(--header-sticky-hamburger-color, #333);
}
body.page-booking.page-index-2:not([data-bs-spy]) > main {
  padding-top: 0;
  padding-bottom: 0;
  min-height: 0;
  height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-booking, #F3EFE0);
}
body.page-booking .booking-iframe-shell {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  padding-top: var(--subpage-header-offset, 5.25rem);
  display: flex;
  flex-direction: column;
  background: #fff;
}
body.page-booking .booking-iframe {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: auto;
  border: 0;
  background: #fff;
}
body.page-booking .copy {
  display: none;
}

/* Full width color bands (fix "background not covering full range") */
body.page-index-2 #about,
body.page-index-2 #rooms,
body.page-index-2 #restaurant,
body.page-index-2 #offers,
body.page-index-2 #meetings,
body.page-index-2 #wellness,
body.page-index-2 #explore,
body.page-index-2 #explore-basra,
body.page-index-2 #virtual-tour,
body.page-index-2 #chairman,
body.page-index-2 #our-projects,
body.page-index-2 #contacts {
  position: relative;
  z-index: 0;
}

body.page-index-2 #about::before,
body.page-index-2 #rooms::before,
body.page-index-2 #restaurant::before,
body.page-index-2 #offers::before,
body.page-index-2 #meetings::before,
body.page-index-2 #wellness::before,
body.page-index-2 #explore::before,
body.page-index-2 #explore-basra::before,
body.page-index-2 #virtual-tour::before,
body.page-index-2 #chairman::before,
body.page-index-2 #our-projects::before,
body.page-index-2 #contacts::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  background: var(--stripe-bg);
  z-index: -1;
}

/* edit: rooms/meetings/offers info cards + carousel images use --btn-radius (same as buttons); PC + mobile */
body.page-index-2 .box_item_info {
  background-color: #fff !important;
  border-radius: var(--btn-radius);
}

body.page-index-2 #rooms .rounded-img,
body.page-index-2 #meetings .rounded-img,
body.page-index-2 #offers .rounded-img {
  border-radius: var(--btn-radius);
}

body.page-index-2 .box_facilities {
  background-color: transparent;
  border: none;
  border-image: none;
}

body.page-index-2 .booking_wrapper,
body.page-index-2 .contacts_wrapper {
  background-color: #fff !important;
  border-radius: var(--btn-radius);
}

/* Form fields (inputs/selects/textarea) */
body.page-index-2 .form-control,
body.page-index-2 textarea.form-control,
body.page-index-2 select.wide {
  background-color: #fff !important;
  color: #333;
}

/* Horizontal icon cards (icon left, title right) */
body.page-index-2 #restaurant .row,
body.page-index-2 #wellness .row {
  align-items: stretch;
}

body.page-index-2 #restaurant .box_facilities,
body.page-index-2 #wellness .box_facilities {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: max(0.875rem, 14px);
  text-align: left;
  height: 100%;
  width: 100%;
}

body.page-index-2 #restaurant .box_facilities i,
body.page-index-2 #wellness .box_facilities i {
  /* size/color from SECTION: Icons; box keeps glyph centered in the row */
  width: 1.15em;
  height: 1.15em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}

body.page-index-2 #restaurant .box_facilities h3,
body.page-index-2 #wellness .box_facilities h3 {
  margin: 0;
  line-height: 1.3;
}

/* -----------------------------------------------------------------------------
   OUR PROJECTS (#our-projects) Ã¢ÂÂ backdrop pan; mobile Ã¢ÂÂ¤767px: collapse to logo+slogan (small), tap expands details; card ~90% transparent
   inactive = turquoise outline, active = #F8BB38 fill
   ----------------------------------------------------------------------------- */
body.page-index-2 #our-projects {
  padding: 0;
  background: transparent !important;
  position: relative;
  /* edit: PC full viewport Ã¢ÂÂ overrides style.css .parallax_section_1 { height: 70vh } */
  --section-title-color: #F8BB38;
  --section-title2-color: #fff;
  --section-title2-size-mobile: 1.65rem;
  --section-title2-size-tablet: 2.05rem;
  --projects-title-weight-mobile: 600;
  --projects-title-weight-tablet: 600;
  --projects-title2-weight-mobile: 700;
  --projects-title2-weight-tablet: 700;
  /* Project cards: Title 1 = slogan (small) | Title 2 = name (h2) */
  --project-card-title-color: #F8BB38;
  --project-card-title-size: 0.75rem;
  --project-card-title-size-mobile: 0.7rem;
  --project-card-title-size-tablet: 0.73rem;
  --project-card-title-weight: 600;
  --project-card-title-weight-mobile: 600;
  --project-card-title-weight-tablet: 600;
  --project-card-title-style: normal;
  --project-card-title-spacing: 0.08em;
  --project-card-title-transform: uppercase;
  --project-card-title2-color: #fff;
  --project-card-title2-size: inherit;
  --project-card-title2-size-mobile: 1.2rem;
  --project-card-title2-size-tablet: inherit;
  --project-card-title2-weight: inherit;
  --project-card-title2-weight-mobile: 700;
  --project-card-title2-weight-tablet: inherit;
  --project-card-title2-style: normal;
  --project-card-title2-margin-bottom: 0.35rem;
  --project-card-desc-color: rgba(255, 255, 255, 0.88);
  --project-card-desc-size: 0.95rem;
  --project-card-desc-weight: inherit;
  --project-card-desc-size-mobile: 0.85rem;
  --project-card-desc-size-tablet: 0.92rem;
  --project-card-desc-weight-mobile: 400;
  --project-card-desc-weight-tablet: inherit;
  --project-card-desc-line-height: 1.5;
  --project-social-icon-size: 1.25rem;
  --project-social-icon-size-mobile: 1.125rem;
  --project-social-icon-size-tablet: 1.21rem;
  /* edit: name + dots Ã¢ÂÂ sit higher after Discover / Horizon Hotel removed */
  --projects-head-top: 5%;
  --projects-head-top-mobile: 4%;
  --projects-head-top-tablet: 4.5%;
  --projects-head-padding-top: 0;
  --projects-head-padding-top-mobile: 0;
  --projects-head-padding-top-tablet: 0;
  --projects-head-padding-bottom: 0;
  --projects-head-padding-bottom-mobile: 0;
  --projects-head-padding-bottom-tablet: 0;
  --projects-head-padding-inline: 0;
  --projects-name-padding-top: 0;
  --projects-name-padding-bottom: 0.15rem;
  --projects-name-margin-top: 0;
  --projects-dots-margin-top: 0.75rem;
  --projects-dots-margin-top-mobile: 0.65rem;
  --projects-dots-margin-top-tablet: 0.7rem;
  --projects-dots-padding-top: 0;
  /* Dots knobs — edit these on #our-projects:
     Hide:   --projects-dots-opacity: 0; --projects-dots-pointer: none; --projects-dots-visibility: hidden;
     Show:   --projects-dots-opacity: 1; --projects-dots-pointer: auto; --projects-dots-visibility: visible;
     Top:    --projects-dots-top: 11%; --projects-dots-bottom: auto;
     Bottom (above Explore 3D): --projects-dots-top: auto; --projects-dots-bottom: var(--projects-dots-bottom-offset); */
  --projects-dots-opacity: 1;
  --projects-dots-pointer: auto;
  --projects-dots-visibility: visible;
  --projects-dots-top: 97%;
  --projects-dots-bottom: auto;
  --projects-dots-bottom-offset: 5.5rem;
}

body.page-index-2 #our-projects::before {
  display: none;
}

body.page-index-2 .our_projects_head {
  position: absolute;
  top: var(--projects-head-top);
  left: 0;
  right: 0;
  z-index: 3;
  pointer-events: none;
  padding-top: var(--projects-head-padding-top);
  padding-bottom: var(--projects-head-padding-bottom);
  padding-inline: var(--projects-head-padding-inline);
}

body.page-index-2 .our_projects_head .title {
  margin-bottom: 0;
}

body.page-index-2 .our_projects_head .title small {
  opacity: 1;
}

body.page-index-2 .our_projects_head .project_dots {
  pointer-events: auto;
}

/* Hotel spaces dots — opacity + top/bottom placement (vars on #our-projects) */
body.page-index-2 #projectDots {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--projects-dots-top);
  bottom: var(--projects-dots-bottom);
  z-index: 5;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding-top: var(--projects-dots-padding-top);
  opacity: var(--projects-dots-opacity);
  visibility: var(--projects-dots-visibility);
  pointer-events: var(--projects-dots-pointer);
  transition: opacity 0.2s ease;
  text-align: center;
}

@media (min-width: 992px) {
  body.page-index-2 #our-projects.parallax_section_1 {
    height: 90dvh;
    min-height: 90dvh;
  }
}

body.page-index-2 .our_projects_section .project-slide {
  height: 100%;
  min-height: 0;
  position: relative;
  overflow: hidden;
}

body.page-index-2 .our_projects_section .project-slide__backdrop {
  /* edit: backdrop.jpg = mobile only (Ã¢ÂÂ¤767) | pc.jpg = tablet + PC (Ã¢ÂÂ¥768 / data-horizon-device=tablet) */
  position: absolute;
  inset: 0;
  background-image: var(--project-bg-mobile);
  background-size: cover;
  background-position: center;
  animation: projectBackdropPan 24s ease-in-out infinite alternate;
  z-index: 0;
}

@media (min-width: 768px) {
  body.page-index-2 .our_projects_section .project-slide__backdrop {
    background-image: var(--project-bg-pc, var(--project-bg-mobile));
  }
}

html[data-horizon-device="tablet"] body.page-index-2 .our_projects_section .project-slide__backdrop {
  background-image: var(--project-bg-pc, var(--project-bg-mobile));
}

html[data-horizon-device="tablet"] body.page-index-2 .section_banner {
  /* CMS hydrateBanners sets inline background-image; do not invent a local pc.jpg URL */
  background-image: none;
}

@keyframes projectBackdropPan {
  from { transform: scale(1.08) translate3d(0, 0, 0); }
  to { transform: scale(1.12) translate3d(-2%, -1.5%, 0); }
}

body.page-index-2 .our_projects_section .project-slide .wrapper {
  position: relative;
  z-index: 1;
}

body.page-index-2 .our_projects_section .carousel_projects,
body.page-index-2 .our_projects_section .owl-stage-outer,
body.page-index-2 .our_projects_section .owl-stage,
body.page-index-2 .our_projects_section .owl-item,
body.page-index-2 .our_projects_section .project-slide {
  height: 100%;
  min-height: 0;
}

body.page-index-2 .our_projects_section .project-slide .wrapper {
  min-height: 100%;
  height: 100%;
  width: 100%;
  padding: 0 1.25rem 2.5rem;
  box-sizing: border-box;
}

body.page-index-2 .our_projects_slide_name {
  margin: var(--projects-name-margin-top) 0 0;
  padding-top: var(--projects-name-padding-top);
  padding-bottom: var(--projects-name-padding-bottom);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

body.page-index-2 .project_card_cta {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  width: min(100%, 36rem);
  margin: 0 auto;
  padding-bottom: env(safe-area-inset-bottom, 0);
}

body.page-index-2 .project_card_cta .btn_1 {
  white-space: normal;
  line-height: 1.25;
  text-align: center;
  margin: 0;
}

@media (max-width: 767px) {
  body.page-index-2 .our_projects_section .project-slide .wrapper {
    padding-top: max(7.5rem, 120px);
    padding-bottom: 2rem;
    align-items: flex-end !important;
  }

  body.page-index-2 .our_projects_section .project-slide .wrapper.opacity-mask {
    background-color: rgba(0, 0, 0, 0.2) !important;
  }

  body.page-index-2 .our_projects_slide_name {
    font-size: 1rem;
  }

  body.page-index-2 #our-projects {
    --projects-head-top: var(--projects-head-top-mobile);
    --projects-head-padding-top: var(--projects-head-padding-top-mobile);
    --projects-head-padding-bottom: var(--projects-head-padding-bottom-mobile);
    --projects-dots-margin-top: var(--projects-dots-margin-top-mobile);
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Our Partners (#partners) Ã¢ÂÂ auto-scrolling logo ribbon
   edit: #Partners ribbon# Ã¢ÂÂ PC vars below; mobile remaps in @media (max-width: 767px).
   Logos from CMS set img/partners. No tile background (transparent PNG-safe).
   Loop uses equal .partners_ribbon__set groups; animation shifts exactly -50%.
   ----------------------------------------------------------------------------- */
.partners_section {
  /* PC (Ã¢ÂÂ¥768) */
  --partners-band-bg: #F3EFE0;
  --partners-title-color: #30BBBB;
  --partners-size: 180px;
  --partners-gap: 4.75rem;
  --partners-speed: 35s;
  --partners-filter-grayscale: 0%;
  --partners-filter-hightlight-grayscale: 0%;
  --partners-filter-brightness: 0.9;
  --partners-padding-y: 1.9rem;

  /* Mobile (<768) */
  --partners-size-mobile: 88px;
  --partners-size-tablet: 140px;
  --partners-gap-mobile: 1.25rem;
  --partners-gap-tablet: 3rem;
  --partners-speed-mobile: 28s;
  --partners-speed-tablet: 32s;
  --partners-filter-grayscale-mobile: 0;
  --partners-filter-grayscale-tablet: 0%;
  --partners-filter-brightness-mobile: 1;
  --partners-filter-brightness-tablet: 0.9;

  background: var(--partners-band-bg);
  padding: var(--partners-padding-y) 0;
  overflow: hidden;
}

.partners_section .title {
  margin-bottom: 1.5rem;
}

.partners_section .title small {
  color: var(--partners-title-color);
}

.partners_ribbon {
  overflow: hidden;
  width: 100%;
}

.partners_ribbon__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: partnersScroll var(--partners-speed) linear infinite;
}

.partners_ribbon__set {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--partners-gap);
  padding-inline-end: var(--partners-gap);
}

.partners_ribbon__tile {
  flex: 0 0 auto;
  width: var(--partners-size);
  height: var(--partners-size);
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.partners_ribbon__tile a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.partners_ribbon__tile img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
  filter:
    grayscale(var(--partners-filter-grayscale))
    brightness(var(--partners-filter-brightness));
  transition: filter 0.25s ease;
}

.partners_ribbon__tile:hover img,
.partners_ribbon__tile:focus-within img {
  filter:
    grayscale(var(--partners-filter-hightlight-grayscale))
    brightness(var(--partners-filter-brightness));
}

.partners_ribbon:hover .partners_ribbon__track,
.partners_ribbon:focus-within .partners_ribbon__track {
  animation-play-state: paused;
}

@keyframes partnersScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (max-width: 767px) {
  .partners_section {
    --partners-size: var(--partners-size-mobile);
    --partners-gap: var(--partners-gap-mobile);
    --partners-speed: var(--partners-speed-mobile);
    --partners-filter-grayscale: var(--partners-filter-grayscale-mobile);
    --partners-filter-brightness: var(--partners-filter-brightness-mobile);
  }
}

@media (prefers-reduced-motion: reduce) {
  .partners_ribbon__track {
    animation: none;
  }
}

html.cms-editing .partners_ribbon__track {
  animation: none;
}

/* -----------------------------------------------------------------------------
   CARD BOOKING Ã¢ÂÂ Learn more / Book Now expand on rooms, meetings, offers
   ----------------------------------------------------------------------------- */
body.page-index-2 .box_item_info.card_booking {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  transform-origin: center top;
}

body.page-index-2 .box_item_info.card_booking.is-expanded {
  transform: scale(1.02);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
}

body.page-index-2 .box_item_info.card_booking > .card_booking_meta {
  display: block;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease;
}

body.page-index-2 .box_item_info.card_booking.is-expanded > .card_booking_meta {
  max-height: 4rem;
  opacity: 1;
  margin-bottom: 0.5rem;
}

body.page-index-2 .box_item_info.card_booking .card_booking_details {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.45s ease, opacity 0.35s ease 0.05s;
}

body.page-index-2 .box_item_info.card_booking.is-expanded .card_booking_details {
  /* ponytail: ceiling for tallest card; raise if a card needs more lines */
  max-height: 520px;
  opacity: 1;
}

/* List 2 only: collapsed shows facility icons in a row; expanded keeps icon+text */
html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .card_booking_details {
  max-height: 3.5rem;
  opacity: 1;
  overflow: hidden;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .card_booking_details > p {
  display: none;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .facilities.facilities-cols {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--icon-card-gap);
  margin: 0;
  overflow: hidden;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .facilities-col {
  display: contents;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .facilities ul {
  display: contents;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .facilities li {
  display: flex;
  align-items: center;
  justify-content: center;
  float: none;
  width: auto;
  margin: 0;
  font-size: 0;
  line-height: 1;
}

html:not([data-horizon-card="1"]):not([data-horizon-card="3"]):not([data-horizon-card="4"]):not([data-horizon-card="5"]):not([data-horizon-card="6"]):not([data-horizon-card="7"])
body.page-index-2:not(.page-cards-expanded) .box_item_info.card_booking:not(.is-expanded) .facilities li i {
  font-size: var(--icon-card-size) !important;
}

/* Full pages Ã¢ÂÂ cards always expanded */
body.page-cards-expanded .box_item_info.card_booking > .card_booking_meta,
body.page-cards-expanded .box_item_info.card_booking .card_booking_details {
  max-height: none;
  opacity: 1;
  overflow: visible;
  margin-bottom: 0.5rem;
}

body.page-cards-expanded .box_item_info.card_booking {
  transform: none;
  box-shadow: none;
}

/* -----------------------------------------------------------------------------
   BOOK NOW CTAs (.box_item_info .btn_1) Ã¢ÂÂ all cards same side:
   EN (ltr): right ÃÂ· AR (rtl): left  Ã¢ÂÂ text-align: end
   Controllers (card block ~1145):
     --card-cta-inset / --card-cta-inset-mobile
     --card-cta-inset-bottom / --card-cta-inset-bottom-mobile
   Side: negative margin (width only). Bottom: translateY into padding (keeps card height).
   ----------------------------------------------------------------------------- */
body.page-index-2 .box_item_info.card_booking > .mt-3 {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  text-align: end;
  /* PC card pad: L/R/bottom 40px (--card-padding) */
  margin-inline-end: calc(var(--card-cta-inset) - 40px);
  transform: translateY(calc(40px - var(--card-cta-inset-bottom)));
}

@media (max-width: 767px) {
  body.page-index-2 .box_item_info.card_booking > .mt-3 {
    /* Mobile pad: L/R 20px, bottom 16px (--card-padding-mobile) */
    margin-inline-end: calc(var(--card-cta-inset-mobile) - 20px);
    transform: translateY(calc(16px - var(--card-cta-inset-bottom-mobile)));
  }

  /* Long labels (e.g. offers) wrap Ã¢ÂÂ inline-flex shrink-to-fit becomes 100% parent.
     min-content sizes to longest word so width stays Book-Now-like; center overrides inherited text-align:end. */
  body.page-offers .box_item_info.card_booking > .mt-3 > a.btn_1,
  body.page-index-2 #offers .box_item_info.card_booking > .mt-3 > a.btn_1 {
    width: min-content;
    max-width: 100%;
    text-align: center;
    line-height: 1.25;
  }
}

body.page-index-2 .box_item_info > .mt-3 {
  margin-top: 1rem !important;
}

/* -----------------------------------------------------------------------------
   BOOKING MODAL Ã¢ÂÂ single-form popups (rooms / meetings / offers Book Now)
   ----------------------------------------------------------------------------- */
.booking-modal[hidden] {
  display: none !important;
}

.booking-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}

.booking-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.booking-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: min(90vh, 900px);
  overflow: auto;
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem 1.25rem 1.25rem;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.booking-modal__close {
  position: absolute;
  top: 0.35rem;
  right: 0.6rem;
  border: 0;
  background: transparent;
  font-size: 1.75rem;
  line-height: 1;
  color: #333;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  min-width: 28px;
  min-height: 28px;
}

.booking-modal__title {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #333;
}

body.booking-modal-open {
  overflow: hidden;
}

/* -----------------------------------------------------------------------------
   Dev media toggle Ã¢ÂÂ visible only when JS injects .horizon-dev-toggle (?horizonDev=1)
   ----------------------------------------------------------------------------- */
.horizon-dev-toggle {
  position: fixed;
  z-index: 100000;
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  padding: max(0.625rem, 10px) max(0.875rem, 14px);
  font-size: max(0.75rem, 12px);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #1a1a1a;
  background: var(--horizon-gold, #F8BB38);
  border: none;
  border-radius: var(--btn-radius, 5px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}

.horizon-dev-cardbar {
  position: fixed;
  z-index: 100000;
  left: 12px;
  right: 220px;
  bottom: max(12px, env(safe-area-inset-bottom, 0px));
  display: flex;
  flex-wrap: wrap;
  gap: max(0.375rem, 6px);
  pointer-events: none;
}

.horizon-dev-cardbar button {
  pointer-events: auto;
  padding: max(0.5rem, 8px) max(0.625rem, 10px);
  font-size: max(0.6875rem, 11px);
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid var(--horizon-gold, #F8BB38);
  border-radius: var(--btn-radius, 5px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}

.horizon-dev-cardbar button.is-active {
  background: var(--horizon-gold, #F8BB38);
}

body:has(.horizon-dev-cardbar) {
  padding-bottom: max(4rem, 64px);
}

html[data-horizon-card="1"] .row_list_version_1 .row.g-0 {
  flex-direction: column;
  align-items: stretch;
}

html[data-horizon-card="1"] .row_list_version_1 [class*="col-xl"] {
  flex: 0 0 auto;
  max-width: 100%;
  width: 100%;
}

html[data-horizon-card="1"] .row_list_version_1 .col-xl-8,
html[data-horizon-card="1"] .row_list_version_1 .order-xl-2 {
  order: 1 !important;
}

html[data-horizon-card="1"] .row_list_version_1 .col-xl-4,
html[data-horizon-card="1"] .row_list_version_1 .order-xl-1 {
  order: 2 !important;
}

html[data-horizon-card="1"] .row_list_version_1 {
  margin-bottom: max(5rem, 80px);
}

html[data-horizon-card="1"] .row_list_version_1 .box_item_info {
  margin: -80px auto 0;
  position: relative;
  z-index: 2;
}

html[data-horizon-card="1"] .horizon-list-icons,
html[data-horizon-card="3"] .horizon-list-icons {
  display: flex;
  gap: var(--icon-card-gap);
  align-items: center;
  margin: 0.75rem 0 0;
}

html[data-horizon-card="1"] .horizon-list-icons i,
html[data-horizon-card="3"] .horizon-list-icons i {
  font-size: var(--icon-card-size) !important;
  color: var(--icon-card-color);
}

html[data-horizon-card="1"] .is-expanded .horizon-list-icons,
html[data-horizon-card="3"] .is-expanded .horizon-list-icons,
html[data-horizon-card="1"] body.page-cards-expanded .horizon-list-icons,
html[data-horizon-card="3"] body.page-cards-expanded .horizon-list-icons {
  display: none;
}

html[data-horizon-card="3"] .row_list_version_3 .row.g-0 {
  flex-direction: column;
}

html[data-horizon-card="3"] .row_list_version_3 [class*="col-xl"] {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

html[data-horizon-card="3"] .row_list_version_3 .col-xl-8,
html[data-horizon-card="3"] .row_list_version_3 .order-xl-2 {
  order: 1 !important;
}

html[data-horizon-card="3"] .row_list_version_3 .col-xl-4,
html[data-horizon-card="3"] .row_list_version_3 .order-xl-1 {
  order: 2 !important;
}

/* Center explorer: list rows are CMS source only — hide always (edit via preview cards) */
body.page-room-center #rooms .row_list_version_1,
body.page-room-center #rooms .row_list_version_2,
body.page-room-center #rooms .row_list_version_3,
html.cms-editing body.page-room-center #rooms .row_list_version_1,
html.cms-editing body.page-room-center #rooms .row_list_version_2,
html.cms-editing body.page-room-center #rooms .row_list_version_3 {
  display: none !important;
}

body.page-room-center #rooms .container {
  min-height: 0;
}

.horizon-card-preview {
  margin-bottom: 1rem;
}

body.page-room-center .horizon-card-preview:not(.hero) {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}

body.page-room-center .horizon-card-preview:not(.hero) .box_cat_rooms.center-room-tile {
  margin-bottom: 0;
}

/* PC: override style.css owl-item !important scale Ã¢ÂÂ vars control the card BOX */
@media (min-width: 992px) {
  body.page-room-center .horizon-card-preview:not(.hero) {
    margin-bottom: 0;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item {
    transform: scale(var(--rooms-preview-side-scale)) !important;
    -webkit-transform: scale(var(--rooms-preview-side-scale)) !important;
    opacity: var(--rooms-preview-side-opacity);
    z-index: 1;
    overflow: visible;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item .box_cat_rooms.center-room-tile {
    transform: none;
    /* ponytail: % height collapses to 0 inside floated .owl-item; use the var directly */
    height: var(--rooms-preview-height);
    max-height: none;
    margin-bottom: 0;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item.active.center {
    transform: scale(var(--rooms-preview-center-scale)) !important;
    -webkit-transform: scale(var(--rooms-preview-center-scale)) !important;
    opacity: 1;
    z-index: 2;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item.active.center .box_cat_rooms.center-room-tile {
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item,
  body.page-room-center .carousel_item_centered_rooms .owl-stage {
    height: var(--rooms-preview-height);
  }
}

/* Mobile: kill style.css owl-item scale; tile scale keeps soft edges (unchanged knobs) */
@media (max-width: 991px) {
  body.page-room-center .carousel_item_centered_rooms .owl-item,
  body.page-room-center .carousel_item_centered_rooms .owl-item.active.center {
    transform: none !important;
    -webkit-transform: none !important;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item {
    opacity: var(--rooms-preview-side-opacity);
    z-index: 1;
    overflow: visible;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item .box_cat_rooms.center-room-tile {
    transform: scale(var(--rooms-preview-side-scale));
    transform-origin: center center;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item.active.center {
    opacity: 1;
    z-index: 2;
  }
  body.page-room-center .carousel_item_centered_rooms .owl-item.active.center .box_cat_rooms.center-room-tile {
    transform: scale(var(--rooms-preview-center-scale));
  }
}

.horizon-card-preview.hero.cat_hover {
  position: relative;
  min-height: 70vh;
  padding: 0 max(0.9375rem, 15px) max(1.875rem, 30px);
  background: rgba(0, 0, 0, 0.7);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.horizon-card-preview.hero.cat_hover .cat_nav_hover {
  position: relative;
  z-index: 2;
  touch-action: pan-y;
}

.horizon-card-preview.hero.cat_hover .cat_nav_hover ul {
  list-style: none;
  padding: 0;
  margin: max(1.5625rem, 25px) 0 0 0;
  display: flex;
  align-items: flex-end;
  gap: max(0.625rem, 10px);
  overflow: hidden;
  transition: transform 0.35s ease;
}

.horizon-card-preview.hero.cat_hover .cat_nav_hover ul li {
  padding: 0;
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  text-align: left;
}

.horizon-card-preview.hero.cat_hover .hover-room-card {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0);
  min-height: 7.5rem;
  position: relative;
  overflow: visible;
  color: #fff;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

.horizon-card-preview.hero.cat_hover .hover-room-card .info {
  position: relative;
  z-index: 9;
  display: block;
  padding: 1rem 1.15rem 1.1rem;
  color: #fff;
}

.horizon-card-preview.hero.cat_hover .hover-room-card .info h2 {
  color: #fff;
  font-size: 1.3125rem;
  font-weight: 600;
  margin: 0 0 0.15rem;
}

.horizon-card-preview.hero.cat_hover .hover-room-card__slogan {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
}

.horizon-card-preview.hero.cat_hover .hover-room-card__price,
.horizon-card-preview.hero.cat_hover .hover-room-card__body,
.horizon-card-preview.hero.cat_hover .hover-room-card__icons,
.horizon-card-preview.hero.cat_hover .hover-room-card__book {
  display: none;
}

.horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card {
  background-color: rgba(255, 255, 255, 0.12);
}

.horizon-card-preview.hero.cat_hover .hover-room-card__price {
  color: var(--horizon-gold, #F8BB38);
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.2rem;
}

.horizon-card-preview.hero.cat_hover .hover-room-card__body {
  margin: 0.5rem 0 0.65rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
}

.horizon-card-preview.hero.cat_hover .hover-room-card__icons {
  gap: 0.55rem;
  align-items: center;
  flex-wrap: wrap;
}

.horizon-card-preview.hero.cat_hover .hover-room-card__book {
  margin-top: 0.75rem;
  padding: max(0.625rem, 10px) max(1.125rem, 18px);
  font-size: 0.75rem;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card {
    min-height: 0;
  }

  .horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card__price,
  .horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card__body {
    display: block;
  }

  .horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card__icons {
    display: flex;
  }

  .horizon-card-preview.hero.cat_hover .container-item.active .hover-room-card__book {
    display: inline-block;
  }
}

@media (max-width: 767px) {
  .horizon-card-preview.hero.cat_hover .cat_nav_hover ul {
    gap: 0;
    transform: translateX(calc(var(--hover-i, 0) * -100%));
  }

  [dir="rtl"] .horizon-card-preview.hero.cat_hover .cat_nav_hover ul {
    transform: translateX(calc(var(--hover-i, 0) * 100%));
  }

  .horizon-card-preview.hero.cat_hover .cat_nav_hover ul li {
    flex: 0 0 100%;
    width: 100%;
  }

  .horizon-card-preview.hero.cat_hover .container-item.is-expanded .hover-room-card {
    min-height: 0;
  }

  .horizon-card-preview.hero.cat_hover .container-item.is-expanded .hover-room-card__price,
  .horizon-card-preview.hero.cat_hover .container-item.is-expanded .hover-room-card__body {
    display: block;
  }

  .horizon-card-preview.hero.cat_hover .container-item.is-expanded .hover-room-card__icons {
    display: flex;
  }

  .horizon-card-preview.hero.cat_hover .container-item.is-expanded .hover-room-card__book {
    display: inline-block;
  }
}

.horizon-card-preview.hero.cat_hover .image-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: all 1s ease-in-out;
}

.horizon-card-preview.hero.cat_hover .image-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.horizon-card-preview.hero.cat_hover .image-bg.is-on {
  opacity: 1;
  visibility: visible;
}

body.page-room-center .box_cat_rooms.center-room-tile {
  display: block;
  width: 100%;
  /* Cap height so title + 3-up carousel fit the viewport (no extra page scroll) */
  height: min(32vh, 300px);
  max-height: 300px;
  aspect-ratio: auto;
  margin: 0 0 max(1.5625rem, 25px);
  padding: 0;
  border: 0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  background-color: #ccc;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
  text-align: left;
  color: #fff;
}

@media (max-width: 991px) {
  body.page-room-center .box_cat_rooms.center-room-tile {
    height: var(--rooms-preview-height);
    max-height: none;
  }
}

/* PC height is on .owl-item / stage above; tile fills that box */

body.page-room-center .center-room-tile__photo {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  font: inherit;
}

body.page-room-center .center-room-tile__photo:focus-visible {
  outline: 2px solid #F8BB38;
  outline-offset: -2px;
}

body.page-room-center .center-room-tile figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
}

body.page-room-center .center-room-tile .background-image {
  cursor: zoom-in;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
}

body.page-room-center .center-room-tile .info,
body.page-room-center .center-room-tile__info {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
  padding: 3.5rem 1.5rem 1.25rem;
  color: #fff;
  background: linear-gradient(to bottom, transparent, #000);
  text-align: left;
  margin: 0;
  border: 0;
  font-family: inherit;
  cursor: pointer;
}

body.page-room-center .center-room-tile__info:focus-visible {
  outline: 2px solid #F8BB38;
  outline-offset: -2px;
}

body.page-room-center .center-room-tile .info h3 {
  color: #fff;
  font-size: 1.625rem;
  font-weight: 600;
  margin: 0 0 max(0.375rem, 6px);
}

body.page-room-center .center-room-tile__slogan {
  display: block;
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 600;
  font-size: 0.875rem;
  color: #fff;
  margin: 0 0 0.35rem;
  line-height: 1.35;
}

body.page-room-center .center-room-tile__more {
  display: none;
  margin-top: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

body.page-room-center .owl-item.active.center .center-room-tile__more {
  display: block;
}

body.page-room-center .center-room-tile:hover .background-image {
  transform: scale(1.1);
}

[dir="rtl"] body.page-room-center .center-room-tile,
[dir="rtl"] body.page-room-center .center-room-tile .info,
[dir="rtl"] body.page-room-center .center-room-tile__info {
  text-align: right;
}

.room-info-modal__dialog {
  width: min(420px, 100%);
  padding: 1.75rem 1.5rem 1.25rem;
}

.room-info-modal__card {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.room-info-modal__card > small.card_booking_meta {
  display: block;
  color: #30BBBB;
  font-size: var(--card-title-size, 0.875rem);
  font-weight: var(--card-title-weight, 600);
  margin-bottom: 0.15rem;
  max-height: none;
  opacity: 1;
  overflow: visible;
}

.room-info-modal__card > h2 {
  color: #333;
  font-size: var(--card-title2-size, 1.75rem);
  font-weight: var(--card-title2-weight, 600);
  margin: 0 0 0.35rem;
  line-height: 1.25;
}

.room-info-modal__slogan {
  color: #333;
  font-size: var(--card-text-size, 0.9375rem);
  font-weight: var(--card-title2-weight, 600);
  margin: 0 0 0.75rem;
  line-height: 1.35;
}

.room-info-modal__card > .card_booking_summary {
  color: #444;
  font-size: var(--card-text-size, 0.9375rem);
  font-weight: var(--card-text-weight, 400);
  line-height: 1.5;
  margin-bottom: 1rem;
}

.room-info-modal__card > p.card_booking_meta {
  color: #333;
  font-size: var(--card-title-size, 0.875rem);
  font-weight: var(--card-title-weight, 600);
  margin-bottom: 1rem;
}

.room-info-modal__card .facilities-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 0 max(1.25rem, 20px);
  margin-bottom: 0;
}

.room-info-modal__card .facilities-col {
  flex: 1 1 calc(50% - 10px);
  min-width: 140px;
}

.room-info-modal__card .facilities-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.room-info-modal__card .facilities li {
  display: flex;
  align-items: center;
  gap: var(--icon-card-gap);
  float: none;
  width: 100%;
  margin: 0 0 0.45rem;
  font-size: 0.875rem;
  color: #333;
}

.room-info-modal__card .facilities li i {
  flex-shrink: 0;
  margin: 0;
  height: auto;
}

.room-info-modal__cta {
  margin: 1.25rem 0 0;
  text-align: right;
}

[dir="rtl"] .room-info-modal__cta {
  text-align: left;
}

[dir="rtl"] .horizon-card-preview.hero.cat_hover .cat_nav_hover ul li,
[dir="rtl"] .horizon-card-preview.hero.cat_hover .hover-room-card {
  text-align: right;
}

html.horizon-dev-framed,
html.horizon-dev-framed body,
html.cms-mobile-preview,
html.cms-mobile-preview body {
  height: 100%;
  overflow: hidden;
  background: #1a1a1a;
}

.horizon-dev-frame {
  position: fixed;
  inset: 0;
  z-index: 99990;
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: max(0.75rem, 12px) max(0.75rem, 12px) max(4.5rem, 72px);
  background: #1a1a1a;
  box-sizing: border-box;
  pointer-events: none;
}

.horizon-dev-frame__phone {
  width: 390px;
  max-width: 100%;
  height: 100%;
  border: 1px solid var(--horizon-gold, #F8BB38);
  border-radius: 20px;
  background: #fff;
  pointer-events: auto;
}

.horizon-dev-frame__tablet {
  width: 820px;
  max-width: 100%;
  height: 100%;
  border: 1px solid var(--horizon-gold, #F8BB38);
  border-radius: 16px;
  background: #fff;
  pointer-events: auto;
}

/* Tablet CMS preview Ã¢ÂÂ landscape: wide iframe so inner CSS sees Ã¢ÂÂ¥992 (real iPad landscape) */
html.cms-tablet-landscape .horizon-dev-frame {
  align-items: center;
}
html.cms-tablet-landscape .horizon-dev-frame__tablet,
.horizon-dev-frame__tablet.is-landscape {
  width: min(1180px, 100%);
  height: min(750px, 100%);
  max-height: 100%;
}

/* Parent CMS chrome stays above the device frame so Mobile/Tablet/PC stay usable */
html.horizon-dev-framed #cms-bar,
html.cms-mobile-preview #cms-bar,
html.cms-tablet-preview #cms-bar {
  z-index: 100050;
}

html.horizon-dev-framed #cms-pen,
html.cms-mobile-preview #cms-pen,
html.cms-tablet-preview #cms-pen {
  z-index: 100051;
}

html.cms-tablet-preview,
html.cms-tablet-preview body {
  height: 100%;
  overflow: hidden;
  background: #1a1a1a;
}

/* -----------------------------------------------------------------------------
   Language switch (EN Ã¢ÂÂ AR)
   ----------------------------------------------------------------------------- */
.lang-switch {
  display: inline-block;
  margin-inline-start: max(0.75rem, 12px);
  padding: max(0.5rem, 8px) max(0.875rem, 14px);
  font-size: var(--btn-header-size, 12px);
  font-weight: var(--btn-weight, 500);
  letter-spacing: 0.04em;
  text-transform: none;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: var(--btn-radius, 5px);
  white-space: nowrap;
  text-decoration: none;
  line-height: 1.2;
  vertical-align: middle;
}

.lang-switch:hover {
  color: #fff;
  border-color: var(--horizon-gold, #F8BB38);
  opacity: 1;
}

header.fixed_header.sticky .lang-switch {
  color: var(--header-sticky-nav-color, #333);
  border-color: rgba(0, 0, 0, 0.25);
}

header.fixed_header.sticky .lang-switch:hover {
  color: var(--horizon-turquoise, #30BBBB);
  border-color: var(--horizon-turquoise, #30BBBB);
}

.lang-switch--mobile {
  display: none;
}

@media (max-width: 991px) {
  .lang-switch--desktop {
    display: none !important;
  }

  .header-bar__side--left .lang-switch--mobile {
    display: inline-block;
    margin: 0;
    padding: max(0.5rem, 8px) max(0.75rem, 12px);
    font-size: max(0.6875rem, 11px);
  }

  .header-bar__side--left {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }

  .header-bar__side--right .header-mobile-actions {
    flex-shrink: 0;
  }
}

@media (min-width: 992px) {
  .lang-switch--mobile {
    display: none !important;
  }
}

/* =============================================================================
   MOBILE LAYOUT Ã¢ÂÂ max-width 767px
   Remap *-size (and related) to *-size-mobile so EN mobile controllers work.
   Must stay AFTER section :root / #id var definitions above.
   ============================================================================= */
@media (max-width: 767px) {
  body.page-index-2:not([data-bs-spy]) {
    --subpage-header-offset: var(--subpage-header-offset-mobile);
  }

  :root {
    --btn-size: var(--btn-size-mobile);
    --section-title-size: var(--section-title-size-mobile);
    --section-title2-size: var(--section-title2-size-mobile);
    --section-title-spacing: var(--section-title-spacing-mobile);
  }

  header.fixed_header {
    --header-nav-size: var(--header-nav-size-mobile);
  }

  body.page-index-2 #carousel-home.hero-video-home {
    --landing-eyebrow-size: var(--landing-eyebrow-size-mobile);
    --landing-eyebrow-spacing: var(--landing-eyebrow-spacing-mobile);
    --landing-title-size: var(--landing-title-size-mobile);
  }

  body.page-index-2 .section_banner {
    --section-banner-title-size: var(--section-banner-title-size-mobile);
    --section-banner-title-weight: var(--section-banner-title-weight-mobile);
    --section-banner-title-spacing: var(--section-banner-title-spacing-mobile);
    --section-banner-title2-size: var(--section-banner-title2-size-mobile);
    --section-banner-title2-weight: var(--section-banner-title2-weight-mobile);
    --section-banner-padding: var(--section-banner-padding-mobile);
    --section-banner-box-padding: var(--section-banner-box-padding-mobile);
    --section-banner-ratio: var(--section-banner-ratio-mobile);
  }

  #about {
    --about-text-size: var(--about-text-size-mobile);
    --about-lead-size: var(--about-lead-size-mobile);
  }

  #rooms .box_item_info.card_booking,
  #meetings .box_item_info.card_booking,
  #offers .box_item_info.card_booking {
    --card-padding: var(--card-padding-mobile);
    --card-title-size: var(--card-title-size-mobile);
    --card-title2-size: var(--card-title2-size-mobile);
    --card-text-size: var(--card-text-size-mobile);
    --card-text2-size: var(--card-text2-size-mobile);
  }

  #offers {
    --offers-title-size: var(--offers-title-size-mobile);
    --offers-title2-size: var(--offers-title2-size-mobile);
    --offers-title-spacing: var(--offers-title-spacing-mobile);
  }

  #restaurant,
  #wellness {
    --facility-title-size: var(--facility-title-size-mobile);
  }

  #contacts {
    --section-title2-size: var(--footer-title2-size-mobile);
    --footer-tab-size: var(--footer-tab-size-mobile);
    --footer-phone-label-size: var(--footer-phone-label-size-mobile);
    --footer-phone-value-size: var(--footer-phone-value-size-mobile);
  }

  #restaurant-menu {
    --restaurant-menu-eyebrow-spacing: var(--restaurant-menu-eyebrow-spacing-mobile);
    --restaurant-menu-title-size: var(--restaurant-menu-title-size-mobile);
    --menu-thumb-size: var(--menu-thumb-size-mobile);
    --menu-category-title-size: var(--menu-category-title-size-mobile);
    --menu-subsection-title-size: var(--menu-subsection-title-size-mobile);
    --menu-dish-text-size: var(--menu-dish-text-size-mobile);
  }

  body.page-index-2 #our-projects {
    --section-title2-size: var(--section-title2-size-mobile);
    --project-card-title-size: var(--project-card-title-size-mobile);
    --project-card-title2-size: var(--project-card-title2-size-mobile);
    --project-card-desc-size: var(--project-card-desc-size-mobile);
    --project-social-icon-size: var(--project-social-icon-size-mobile);
    --projects-head-top: var(--projects-head-top-mobile);
    --projects-head-padding-top: var(--projects-head-padding-top-mobile);
    --projects-head-padding-bottom: var(--projects-head-padding-bottom-mobile);
    --projects-dots-margin-top: var(--projects-dots-margin-top-mobile);
  }
}

/* =============================================================================
   TABLET LAYOUT Ã¢ÂÂ 768pxÃ¢ÂÂ991px
   Remap to *-tablet. PC defaults + mobile Ã¢ÂÂ¤767 stay unchanged.
   ============================================================================= */
@media (min-width: 768px) and (max-width: 991px) {
  :root {
    --page-gutter: var(--page-gutter-tablet);
    --btn-padding: var(--btn-padding-tablet);
    --btn-size: var(--btn-size-tablet);
    --section-title-size: var(--section-title-size-tablet);
    --section-title2-size: var(--section-title2-size-tablet);
    --section-title-spacing: var(--section-title-spacing-tablet);
    --icon-card-size: var(--icon-card-size-tablet);
    --icon-card-stroke-width: var(--icon-card-stroke-width-tablet);
    --icon-card-gap: var(--icon-card-gap-tablet);
    --icon-facility-size: var(--icon-facility-size-tablet);
    --icon2-size: var(--icon2-size-tablet);
    --icon3-size: var(--icon3-size-tablet);
  }

  body.page-index-2:not([data-bs-spy]) {
    --subpage-header-offset: var(--subpage-header-offset-tablet);
  }

  header.fixed_header {
    --header-padding-y: var(--header-padding-y-tablet);
    --header-bar-padding-inline: var(--header-bar-padding-inline-tablet);
    --header-logo-width: var(--header-logo-width-tablet);
    --header-nav-size: var(--header-nav-size-tablet);
    --header-nav-weight: var(--header-nav-weight-tablet);
  }

  body.page-index-2 #carousel-home.hero-video-home {
    --landing-height: var(--landing-height-tablet);
    --landing-eyebrow-size: var(--landing-eyebrow-size-tablet);
    --landing-eyebrow-spacing: var(--landing-eyebrow-spacing-tablet);
    --landing-title-size: var(--landing-title-size-tablet);
  }

  body.page-index-2 .section_banner {
    --section-banner-title-size: var(--section-banner-title-size-tablet);
    --section-banner-title-weight: var(--section-banner-title-weight-tablet);
    --section-banner-title-spacing: var(--section-banner-title-spacing-tablet);
    --section-banner-title2-size: var(--section-banner-title2-size-tablet);
    --section-banner-title2-weight: var(--section-banner-title2-weight-tablet);
    --section-banner-padding: var(--section-banner-padding-tablet);
    --section-banner-box-padding: var(--section-banner-box-padding-tablet);
    --section-banner-ratio: var(--section-banner-ratio-tablet);
  }

  #about {
    --about-text-size: var(--about-text-size-tablet);
    --about-lead-size: var(--about-lead-size-tablet);
  }

  #rooms .box_item_info.card_booking,
  #meetings .box_item_info.card_booking,
  #offers .box_item_info.card_booking {
    --card-padding: var(--card-padding-tablet);
    --card-title-size: var(--card-title-size-tablet);
    --card-title2-size: var(--card-title2-size-tablet);
    --card-text-size: var(--card-text-size-tablet);
    --card-text2-size: var(--card-text2-size-tablet);
    --card-cta-inset: var(--card-cta-inset-tablet);
    --card-cta-inset-bottom: var(--card-cta-inset-bottom-tablet);
  }

  #offers {
    --offers-title-size: var(--offers-title-size-tablet);
    --offers-title2-size: var(--offers-title2-size-tablet);
    --offers-title-spacing: var(--offers-title-spacing-tablet);
  }

  #restaurant,
  #wellness {
    --facility-title-size: var(--facility-title-size-tablet);
  }

  #contacts {
    --section-title2-size: var(--footer-title2-size-tablet);
    --footer-tab-size: var(--footer-tab-size-tablet);
    --footer-phone-label-size: var(--footer-phone-label-size-tablet);
    --footer-phone-value-size: var(--footer-phone-value-size-tablet);
  }

  #restaurant-menu {
    --restaurant-menu-eyebrow-spacing: var(--restaurant-menu-eyebrow-spacing-tablet);
    --restaurant-menu-title-size: var(--restaurant-menu-title-size-tablet);
    --menu-thumb-size: var(--menu-thumb-size-tablet);
    --menu-category-title-size: var(--menu-category-title-size-tablet);
    --menu-subsection-title-size: var(--menu-subsection-title-size-tablet);
    --menu-dish-text-size: var(--menu-dish-text-size-tablet);
  }

  body.page-index-2 #our-projects {
    --section-title2-size: var(--section-title2-size-tablet);
    --project-card-title-size: var(--project-card-title-size-tablet);
    --project-card-title2-size: var(--project-card-title2-size-tablet);
    --project-card-desc-size: var(--project-card-desc-size-tablet);
    --project-social-icon-size: var(--project-social-icon-size-tablet);
    --projects-head-top: var(--projects-head-top-tablet);
    --projects-head-padding-top: var(--projects-head-padding-top-tablet);
    --projects-head-padding-bottom: var(--projects-head-padding-bottom-tablet);
    --projects-dots-margin-top: var(--projects-dots-margin-top-tablet);
  }

  .partners_section {
    --partners-size: var(--partners-size-tablet);
    --partners-gap: var(--partners-gap-tablet);
    --partners-speed: var(--partners-speed-tablet);
    --partners-filter-grayscale: var(--partners-filter-grayscale-tablet);
    --partners-filter-brightness: var(--partners-filter-brightness-tablet);
  }

  body.page-index-2 .rooms-see-more-ribbon {
    --rooms-ribbon-width: var(--rooms-ribbon-width-tablet);
    --rooms-ribbon-margin-top: var(--rooms-ribbon-margin-top-tablet);
  }
}

/* =============================================================================
   FORCE TABLET Ã¢ÂÂ html[data-horizon-device="tablet"]
   JS sets this for view=tablet (CMS) and real tablets in landscape (>991px).
   Keeps tablet tokens + hamburger chrome when width alone would pick PC.
   ============================================================================= */
html[data-horizon-device="tablet"] {
  --page-gutter: var(--page-gutter-tablet);
  --btn-padding: var(--btn-padding-tablet);
  --btn-size: var(--btn-size-tablet);
  --section-title-size: var(--section-title-size-tablet);
  --section-title2-size: var(--section-title2-size-tablet);
  --section-title-spacing: var(--section-title-spacing-tablet);
  --icon-card-size: var(--icon-card-size-tablet);
  --icon-card-stroke-width: var(--icon-card-stroke-width-tablet);
  --icon-card-gap: var(--icon-card-gap-tablet);
  --icon-facility-size: var(--icon-facility-size-tablet);
  --icon2-size: var(--icon2-size-tablet);
  --icon3-size: var(--icon3-size-tablet);
}

html[data-horizon-device="tablet"] body.page-index-2:not([data-bs-spy]) {
  --subpage-header-offset: var(--subpage-header-offset-tablet);
}

html[data-horizon-device="tablet"] header.fixed_header {
  --header-padding-y: var(--header-padding-y-tablet);
  --header-bar-padding-inline: var(--header-bar-padding-inline-tablet);
  --header-logo-width: var(--header-logo-width-tablet);
  --header-nav-size: var(--header-nav-size-tablet);
  --header-nav-weight: var(--header-nav-weight-tablet);
}

html[data-horizon-device="tablet"] body.page-index-2 #carousel-home.hero-video-home {
  --landing-height: var(--landing-height-tablet);
  --landing-eyebrow-size: var(--landing-eyebrow-size-tablet);
  --landing-eyebrow-spacing: var(--landing-eyebrow-spacing-tablet);
  --landing-title-size: var(--landing-title-size-tablet);
}

html[data-horizon-device="tablet"] body.page-index-2 .section_banner {
  --section-banner-title-size: var(--section-banner-title-size-tablet);
  --section-banner-title-weight: var(--section-banner-title-weight-tablet);
  --section-banner-title-spacing: var(--section-banner-title-spacing-tablet);
  --section-banner-title2-size: var(--section-banner-title2-size-tablet);
  --section-banner-title2-weight: var(--section-banner-title2-weight-tablet);
  --section-banner-padding: var(--section-banner-padding-tablet);
  --section-banner-box-padding: var(--section-banner-box-padding-tablet);
  --section-banner-ratio: var(--section-banner-ratio-tablet);
}

html[data-horizon-device="tablet"] #about {
  --about-text-size: var(--about-text-size-tablet);
  --about-lead-size: var(--about-lead-size-tablet);
}

html[data-horizon-device="tablet"] #rooms .box_item_info.card_booking,
html[data-horizon-device="tablet"] #meetings .box_item_info.card_booking,
html[data-horizon-device="tablet"] #offers .box_item_info.card_booking {
  --card-padding: var(--card-padding-tablet);
  --card-title-size: var(--card-title-size-tablet);
  --card-title2-size: var(--card-title2-size-tablet);
  --card-text-size: var(--card-text-size-tablet);
  --card-text2-size: var(--card-text2-size-tablet);
  --card-cta-inset: var(--card-cta-inset-tablet);
  --card-cta-inset-bottom: var(--card-cta-inset-bottom-tablet);
}

html[data-horizon-device="tablet"] #offers {
  --offers-title-size: var(--offers-title-size-tablet);
  --offers-title2-size: var(--offers-title2-size-tablet);
  --offers-title-spacing: var(--offers-title-spacing-tablet);
}

html[data-horizon-device="tablet"] #restaurant,
html[data-horizon-device="tablet"] #wellness {
  --facility-title-size: var(--facility-title-size-tablet);
}

html[data-horizon-device="tablet"] #contacts {
  --section-title2-size: var(--footer-title2-size-tablet);
  --footer-tab-size: var(--footer-tab-size-tablet);
  --footer-phone-label-size: var(--footer-phone-label-size-tablet);
  --footer-phone-value-size: var(--footer-phone-value-size-tablet);
}

html[data-horizon-device="tablet"] #restaurant-menu {
  --restaurant-menu-eyebrow-spacing: var(--restaurant-menu-eyebrow-spacing-tablet);
  --restaurant-menu-title-size: var(--restaurant-menu-title-size-tablet);
  --menu-thumb-size: var(--menu-thumb-size-tablet);
  --menu-category-title-size: var(--menu-category-title-size-tablet);
  --menu-subsection-title-size: var(--menu-subsection-title-size-tablet);
  --menu-dish-text-size: var(--menu-dish-text-size-tablet);
}

html[data-horizon-device="tablet"] body.page-index-2 #our-projects {
  --section-title2-size: var(--section-title2-size-tablet);
  --project-card-title-size: var(--project-card-title-size-tablet);
  --project-card-title2-size: var(--project-card-title2-size-tablet);
  --project-card-desc-size: var(--project-card-desc-size-tablet);
  --project-social-icon-size: var(--project-social-icon-size-tablet);
  --projects-head-top: var(--projects-head-top-tablet);
  --projects-head-padding-top: var(--projects-head-padding-top-tablet);
  --projects-head-padding-bottom: var(--projects-head-padding-bottom-tablet);
  --projects-dots-margin-top: var(--projects-dots-margin-top-tablet);
}

html[data-horizon-device="tablet"] .partners_section {
  --partners-size: var(--partners-size-tablet);
  --partners-gap: var(--partners-gap-tablet);
  --partners-speed: var(--partners-speed-tablet);
  --partners-filter-grayscale: var(--partners-filter-grayscale-tablet);
  --partners-filter-brightness: var(--partners-filter-brightness-tablet);
}

html[data-horizon-device="tablet"] body.page-index-2 .rooms-see-more-ribbon {
  --rooms-ribbon-width: var(--rooms-ribbon-width-tablet);
  --rooms-ribbon-margin-top: var(--rooms-ribbon-margin-top-tablet);
}

html[data-horizon-device="tablet"] #rooms {
  --rooms-preview-height: var(--rooms-preview-height-tablet);
  --rooms-preview-side-scale: var(--rooms-preview-side-scale-tablet);
  --rooms-preview-center-scale: var(--rooms-preview-center-scale-tablet);
  --rooms-preview-side-opacity: var(--rooms-preview-side-opacity-tablet);
  --rooms-preview-peek-ratio: var(--rooms-preview-peek-ratio-tablet);
  --rooms-preview-gap: var(--rooms-preview-gap-tablet);
}

/* Tablet device chrome Ã¢ÂÂ same as Ã¢ÂÂ¤991 even when width Ã¢ÂÂ¥992 (landscape) */
html[data-horizon-device="tablet"] .menu_v1 .hamburger_2,
html[data-horizon-device="tablet"] .menu_v1 .closebt,
html[data-horizon-device="tablet"] .menu_v1 .layer {
  display: block;
}

html[data-horizon-device="tablet"] body.page-index-2 .header-mobile-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: max(0.75rem, 12px);
  float: right;
}

html[data-horizon-device="tablet"] body.page-index-2 .header-mobile-actions .hamburger_2 {
  float: none;
  position: relative;
  top: 0;
}

html[data-horizon-device="tablet"] header.fixed_header .header-contact-desktop {
  display: none !important;
}

html[data-horizon-device="tablet"] .lang-switch--desktop {
  display: none !important;
}

html[data-horizon-device="tablet"] .header-bar__side--left .lang-switch--mobile {
  display: inline-block;
  margin: 0;
  padding: max(0.5rem, 8px) max(0.75rem, 12px);
  font-size: max(0.6875rem, 11px);
}

html[data-horizon-device="tablet"] .main-menu {
  overflow-y: auto;
  transform: translateX(102%);
  top: 0;
  right: 0;
  bottom: 0;
  width: min(300px, 82vw);
  height: 100%;
  position: fixed;
  z-index: 99999;
  background-color: var(--menu-glass-bg);
  backdrop-filter: blur(var(--menu-glass-blur));
  -webkit-backdrop-filter: blur(var(--menu-glass-blur));
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

html[data-horizon-device="tablet"] .main-menu.show {
  transform: translateX(0);
}

html[data-horizon-device="tablet"] .main-menu .logo_panel {
  display: none !important;
}

html[data-horizon-device="tablet"] .main-menu #mainNav {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding-top: max(3.125rem, 50px);
  padding-bottom: 0;
}

html[data-horizon-device="tablet"] .main-menu #mainNav ul {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin-bottom: 0;
  text-align: left;
}

html[data-horizon-device="tablet"] .main-menu #mainNav ul li {
  display: block;
  margin: 0;
}

html[data-horizon-device="tablet"] .main-menu #mainNav ul li a {
  display: block;
  color: #333 !important;
  text-transform: uppercase;
  padding: 0.35rem 0.65rem !important;
  margin: 0 0 max(0.625rem, 10px) 0;
}

html[data-horizon-device="tablet"] body.page-index-2 .main-menu #mainNav ul li.nav-contact {
  display: block;
  margin-top: auto;
  padding: 0;
  text-align: center;
  margin-left: -30px;
  margin-right: -30px;
  margin-bottom: 0;
  width: calc(100% + 60px);
}

html[data-horizon-device="tablet"][dir="rtl"] .main-menu {
  right: auto;
  left: 0;
  transform: translateX(-102%);
}

html[data-horizon-device="tablet"][dir="rtl"] .main-menu.show {
  transform: translateX(0);
}

/* =============================================================================
   HOMEPAGE MOBILE Ã¢ÂÂ index.html / ar/index.html only (body[data-bs-spy])
   Weights / non-size remaps; text sizes remapped in MOBILE LAYOUT block above.
   ============================================================================= */
@media (max-width: 767px) {
  body.page-index-2[data-bs-spy] {
    --btn-weight: 600;
  }

  body.page-index-2[data-bs-spy] header.fixed_header {
    --header-nav-weight: var(--header-nav-weight-mobile);
  }

  body.page-index-2[data-bs-spy] .main-menu #mainNav ul li a:not(.btn_1) {
    font-weight: var(--header-nav-weight-mobile);
  }

  body.page-index-2[data-bs-spy] .main-menu #mainNav ul li.nav-contact a.btn_1 {
    font-weight: var(--header-menu-btn-weight-mobile);
  }

  body.page-index-2[data-bs-spy] #about {
    --about-text-weight: var(--about-text-weight-mobile);
    --about-lead-weight: var(--about-lead-weight-mobile);
  }

  body.page-index-2[data-bs-spy] #rooms .box_item_info.card_booking,
  body.page-index-2[data-bs-spy] #meetings .box_item_info.card_booking {
    --card-title-weight: var(--card-title-weight-mobile);
    --card-title2-weight: var(--card-title2-weight-mobile);
    --card-text-weight: var(--card-text-weight-mobile);
    --card-text2-weight: var(--card-text2-weight-mobile);
  }

  body.page-index-2[data-bs-spy] .box_item_info .facilities ul li {
    font-weight: var(--card-facility-text-weight-mobile);
  }

  body.page-index-2[data-bs-spy] #restaurant,
  body.page-index-2[data-bs-spy] #wellness {
    --facility-title-weight: var(--facility-title-weight-mobile);
  }

  body.page-index-2[data-bs-spy] #restaurant {
    --footer-phone-label-weight: var(--footer-phone-label-weight-mobile);
    --footer-phone-value-weight: var(--footer-phone-value-weight-mobile);
  }

  body.page-index-2[data-bs-spy] #our-projects {
    --section-title-weight: var(--projects-title-weight-mobile);
    --section-title2-weight: var(--projects-title2-weight-mobile);
    --project-card-title-weight: var(--project-card-title-weight-mobile);
    --project-card-title2-weight: var(--project-card-title2-weight-mobile);
    --project-card-desc-weight: var(--project-card-desc-weight-mobile);
    --project-social-icon-size: var(--project-social-icon-size-mobile);
  }

  body.page-index-2[data-bs-spy] #contacts {
    --section-title-weight: var(--footer-title-weight-mobile);
    --section-title-spacing: var(--footer-title-spacing-mobile);
    --section-title2-weight: var(--footer-title2-weight-mobile);
    --footer-phone-label-weight: var(--footer-phone-label-weight-mobile);
    --footer-phone-value-weight: var(--footer-phone-value-weight-mobile);
    --footer-tab-weight: var(--footer-tab-weight-mobile);
  }
}

/* -----------------------------------------------------------------------------
   RTL Ã¢ÂÂ nav gap, Arabic typography panel, contact icons, facility grid
   ----------------------------------------------------------------------------- */

/* 1) Nav: logical margins so ÃÂ§ÃÂÃÂºÃÂ±ÃÂ / ÃÂ§ÃÂÃÂÃÂ¹ÃÂ§ÃÂÃÂÃÂ§ÃÂª don't collapse */
[dir="rtl"] header nav ul li {
  margin-left: 0;
  margin-inline-start: max(1.5625rem, 25px);
}

[dir="rtl"] header nav ul li:first-child {
  margin-inline-start: 0;
}

[dir="rtl"] .main-menu #mainNav ul {
  text-align: right;
}

/* =============================================================================
   ARABIC TYPOGRAPHY Ã¢ÂÂ Somar; listed roles ÃÂ --ar-text-scale (PC + mobile)
   ============================================================================= */
[dir="rtl"] {
  --ar-font: var(--font-ar);
  --ar-text-scale: 1.35;
  /* holdouts from the 1.35 bump Ã¢ÂÂ contact footer + restaurant title 2 stay at plan 1.25 */
  --ar-text-scale-hold: 1.25;

  /* Header text (nav links) */
  --ar-header-size: calc(1em * var(--ar-text-scale));
  --ar-header-weight: 700;
  --ar-header-family: var(--ar-font);

  /* Button text (.btn_1 + header Contact Us) */
  --ar-btn-size: calc(1em * var(--ar-text-scale));
  --ar-btn-header-size: calc(var(--btn-header-size) * var(--ar-text-scale));
  --ar-btn-weight: 500;
  --ar-btn-family: var(--ar-font);

  /* Title 1 / Title 2 Ã¢ÂÂ EN section tokens (unscaled unless section overrides) */
  --ar-title1-size: var(--section-title-size);
  --ar-title1-weight: var(--section-title-weight);
  --ar-title1-family: var(--ar-font);
  --ar-title2-size: var(--section-title2-size);
  --ar-title2-weight: var(--section-title2-weight);
  --ar-title2-family: var(--ar-font);

  /* Body text */
  --ar-body-size: calc(1em * var(--ar-text-scale));
  --ar-body-weight: 400;
  --ar-body-family: var(--ar-font);

  /* Cards + room info modal */
  --ar-card-family: var(--ar-font);

  /* Banners Ã¢ÂÂ family only; sizes/weights stay EN on .section_banner */
  --ar-banner-family: var(--ar-font);

  /* Card amenity labels (not restaurant facility h3) */
  --ar-icon-text-size: calc(1em * var(--ar-text-scale));
  --ar-icon-text-weight: 500;
  --ar-icon-text-family: var(--ar-font);
  --ar-icon-gap: 0.95rem;

  /* Our Projects */
  --ar-projects-family: var(--ar-font);

  /* Reservation form + pop-ups Ã¢ÂÂ leave unscaled (already large in AR) */
  --ar-form-size: 1rem;
  --ar-form-weight: 500;
  --ar-form-label-weight: 500;
  --ar-form-tab-size: inherit;
  --ar-form-tab-weight: 500;
  --ar-form-title-size: inherit;
  --ar-form-title-weight: 600;
  --ar-form-family: var(--ar-font);

  /* Weight bridges only Ã¢ÂÂ do not overwrite EN size tokens globally */
  --btn-weight: var(--ar-btn-weight);
  --header-nav-weight: var(--ar-header-weight);
  --header-nav-weight-mobile: var(--ar-header-weight);
  --footer-tab-weight: var(--ar-form-tab-weight);
  --footer-text-weight: var(--ar-body-weight);
  --footer-phone-value-weight: var(--ar-body-weight);
  --footer-phone-label-weight: var(--ar-form-label-weight);
}

/* Body Ã¢ÂÂ family/weight only; size inherits EN */
[dir="rtl"] body {
  font-weight: var(--ar-body-weight);
  font-family: var(--ar-body-family);
}

/* Header text */
[dir="rtl"] header.fixed_header {
  --header-nav-weight: var(--ar-header-weight);
  --header-nav-weight-mobile: var(--ar-header-weight);
}

[dir="rtl"] header nav ul li a,
[dir="rtl"] .main-menu #mainNav ul li a {
  font-size: var(--ar-header-size);
  font-weight: var(--ar-header-weight);
  font-family: var(--ar-header-family);
}

[dir="rtl"] body.page-index-2[data-bs-spy] .main-menu #mainNav ul li a:not(.btn_1) {
  font-weight: var(--ar-header-weight);
}

/* Button text */
[dir="rtl"] a.btn_1,
[dir="rtl"] .btn_1,
[dir="rtl"] input.btn_1 {
  font-size: var(--ar-btn-size);
  font-weight: var(--ar-btn-weight);
  font-family: var(--ar-btn-family);
}

[dir="rtl"] header.fixed_header nav ul li a.btn_1,
[dir="rtl"] .header-contact-desktop,
[dir="rtl"] .lang-switch {
  font-size: var(--ar-btn-header-size);
  font-weight: var(--ar-btn-weight);
  font-family: var(--ar-btn-family);
}

/* Title 1 / Title 2 Ã¢ÂÂ family only; sizes stay EN --section-title* */
[dir="rtl"] #about .title small,
[dir="rtl"] #about .title h2,
[dir="rtl"] #rooms > .title.mb-4 small,
[dir="rtl"] #rooms > .title.mb-4 h2,
[dir="rtl"] #offers .title small,
[dir="rtl"] #offers .title h2,
[dir="rtl"] #contacts .title small,
[dir="rtl"] #contacts .title h2,
[dir="rtl"] #chairman .title small,
[dir="rtl"] #chairman .title h1,
[dir="rtl"] #chairman .title h2,
[dir="rtl"] #explore-basra .title small,
[dir="rtl"] #explore-basra .title h2,
[dir="rtl"] #virtual-tour .title small,
[dir="rtl"] #virtual-tour .title h2,
[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy small,
[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy h1,
[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy h2 {
  font-family: var(--ar-title1-family);
}

[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home {
  --landing-accent-style: normal;
  /* Playfair Display has no Arabic shaping Ã¢ÂÂ inherit Somar/Noto so ÃÂ§ÃÂÃÂÃÂÃÂ²ÃÂ joins correctly */
  --landing-accent-family: inherit;
}

[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy .hero-accent {
  unicode-bidi: isolate;
}

[dir="rtl"] #about .title h2,
[dir="rtl"] #rooms > .title.mb-4 h2,
[dir="rtl"] #offers .title h2,
[dir="rtl"] #contacts .title h2,
[dir="rtl"] #chairman .title h1,
[dir="rtl"] #chairman .title h2,
[dir="rtl"] #explore-basra .title h2,
[dir="rtl"] #virtual-tour .title h2,
[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy h1,
[dir="rtl"] body.page-index-2 #carousel-home.hero-video-home .hero-copy h2 {
  font-family: var(--ar-title2-family);
}

/* Cards Ã¢ÂÂ family + body/meta ÃÂ scale */
[dir="rtl"] #rooms .box_item_info.card_booking,
[dir="rtl"] #meetings .box_item_info.card_booking,
[dir="rtl"] #offers .box_item_info.card_booking,
[dir="rtl"] .room-info-modal__card {
  --card-text-size: calc(1em * var(--ar-text-scale));
  --card-text2-size: calc(1em * var(--ar-text-scale));
}

[dir="rtl"] #rooms .box_item_info.card_booking,
[dir="rtl"] #meetings .box_item_info.card_booking,
[dir="rtl"] #offers .box_item_info.card_booking,
[dir="rtl"] .room-info-modal__card,
[dir="rtl"] #rooms .box_item_info.card_booking > small.card_booking_meta,
[dir="rtl"] #meetings .box_item_info.card_booking > small.card_booking_meta,
[dir="rtl"] #offers .box_item_info.card_booking > small.card_booking_meta,
[dir="rtl"] .room-info-modal__card > small.card_booking_meta,
[dir="rtl"] #rooms .box_item_info.card_booking > h2,
[dir="rtl"] #meetings .box_item_info.card_booking > h2,
[dir="rtl"] #offers .box_item_info.card_booking > h2,
[dir="rtl"] .room-info-modal__card > h2,
[dir="rtl"] #rooms .box_item_info.card_booking > .card_booking_summary,
[dir="rtl"] #meetings .box_item_info.card_booking > .card_booking_summary,
[dir="rtl"] #offers .box_item_info.card_booking > .card_booking_summary,
[dir="rtl"] .room-info-modal__card > .card_booking_summary,
[dir="rtl"] .room-info-modal__slogan,
[dir="rtl"] .room-info-modal__card > p.card_booking_meta {
  font-family: var(--ar-card-family);
}

/* About body ÃÂ scale */
[dir="rtl"] #about {
  --about-text-size: calc(1em * var(--ar-text-scale));
  --about-lead-size: calc(1em * var(--ar-text-scale));
}

/* Contact footer / phone / social Ã¢ÂÂ hold at 1.25; form fields stay --ar-form-* */
[dir="rtl"] #contacts {
  --footer-text-size: calc(1em * var(--ar-text-scale-hold));
  --footer-phone-label-size: calc(1em * var(--ar-text-scale-hold));
  --footer-phone-value-size: calc(1em * var(--ar-text-scale-hold));
}

[dir="rtl"] #restaurant {
  --footer-phone-label-size: calc(1em * var(--ar-text-scale));
  --footer-phone-value-size: calc(1em * var(--ar-text-scale));
}

[dir="rtl"] #contacts .phone_element a i {
  font-size: calc(var(--icon2-size) * var(--ar-text-scale-hold)) !important;
}

[dir="rtl"] #restaurant .phone_element a i {
  font-size: calc(var(--icon2-size) * var(--ar-text-scale)) !important;
}

[dir="rtl"] #contacts .social ul li a i {
  font-size: calc(var(--icon3-size) * var(--ar-text-scale-hold)) !important;
}

/* Banners Ã¢ÂÂ AR keeps Somar upright; Playfair italic is English-only */
[dir="rtl"] body.page-index-2 .section_banner {
  --section-banner-title-family: var(--ar-banner-family);
  --section-banner-title-style: normal;
  --section-banner-title2-family: var(--ar-banner-family);
}

[dir="rtl"] body.page-index-2 .section_banner__inner small,
[dir="rtl"] body.page-index-2 .section_banner__inner h1,
[dir="rtl"] body.page-index-2 .section_banner__inner h2 {
  font-family: var(--ar-banner-family);
}

[dir="rtl"] #restaurant,
[dir="rtl"] #wellness {
  --facility-title-weight: 500;
}

[dir="rtl"] #restaurant .restaurant-intro .title small {
  font-size: calc(0.75rem * var(--ar-text-scale));
  font-weight: 400;
}

[dir="rtl"] #restaurant .restaurant-intro .title h2 {
  font-size: calc(2.5rem * var(--ar-text-scale-hold));
  font-weight: 400;
}

[dir="rtl"] #restaurant .restaurant-intro p:not(.lead):not(.phone_element):not(.restaurant-signature) {
  font-size: calc(1rem * var(--ar-text-scale));
}

[dir="rtl"] #restaurant .restaurant-intro .lead {
  font-size: calc(1.1rem * var(--ar-text-scale));
}

[dir="rtl"] #restaurant .restaurant-intro .restaurant-signature {
  font-size: calc(1.2rem * var(--ar-text-scale));
  font-weight: 700;
  font-style: italic;
  font-family: var(--font-ar);
}

[dir="rtl"] #restaurant .restaurant-intro .restaurant-signature--thin {
  font-size: calc(1.2rem * var(--ar-text-scale));
  font-weight: 400;
}

[dir="rtl"] #restaurant .restaurant-hours strong {
  font-size: calc(1rem * var(--ar-text-scale));
  font-weight: 400;
}

[dir="rtl"] #restaurant .restaurant-hours span {
  font-size: calc(1rem * var(--ar-text-scale));
}

[dir="rtl"] #restaurant .restaurant-hours small {
  font-size: calc(0.875rem * var(--ar-text-scale));
}

[dir="rtl"] #restaurant-menu {
  --restaurant-menu-eyebrow-weight: var(--ar-title1-weight);
  --restaurant-menu-title-weight: var(--ar-title2-weight);
}

[dir="rtl"] #restaurant .restaurant-intro .title small,
[dir="rtl"] #restaurant .restaurant-intro .title h2,
[dir="rtl"] #restaurant-menu .title small,
[dir="rtl"] #restaurant-menu .title h2 {
  font-family: var(--ar-title2-family);
}

[dir="rtl"] #restaurant .restaurant-intro .lead,
[dir="rtl"] #restaurant .restaurant-intro p:not(.phone_element),
[dir="rtl"] #restaurant .restaurant-hours,
[dir="rtl"] #restaurant .restaurant-hours strong,
[dir="rtl"] #restaurant .restaurant-hours span,
[dir="rtl"] #restaurant .restaurant-hours small {
  font-family: var(--ar-body-family);
}

[dir="rtl"] body.page-index-2 #restaurant .box_facilities h3,
[dir="rtl"] body.page-index-2 #wellness .box_facilities h3,
[dir="rtl"] #restaurant .box_facilities h3,
[dir="rtl"] #wellness .box_facilities h3 {
  font-family: var(--ar-icon-text-family);
  text-align: center;
}

/* Icon Ã¢ÂÂ text gap (cards) Ã¢ÂÂ use shared --icon-card-gap so EN/AR mobile controllers match */
[dir="rtl"] #rooms .box_item_info .facilities ul li,
[dir="rtl"] #meetings .box_item_info .facilities ul li,
[dir="rtl"] #offers .box_item_info .facilities ul li {
  display: flex;
  align-items: center;
  gap: var(--icon-card-gap);
  font-size: var(--ar-icon-text-size);
  font-weight: var(--ar-icon-text-weight);
  font-family: var(--ar-icon-text-family);
}

[dir="rtl"] #rooms .box_item_info .facilities ul li i,
[dir="rtl"] #meetings .box_item_info .facilities ul li i,
[dir="rtl"] #offers .box_item_info .facilities ul li i {
  margin-right: 0;
  margin-left: 0;
  flex-shrink: 0;
  direction: ltr;
  unicode-bidi: isolate;
}

/* Collapsed cards: icon row only Ã¢ÂÂ keep --icon-card-gap (do not force 0; that broke AR vs EN) */
[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #rooms .box_item_info.card_booking:not(.is-expanded) .facilities ul li,
[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #meetings .box_item_info.card_booking:not(.is-expanded) .facilities ul li,
[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #offers .box_item_info.card_booking:not(.is-expanded) .facilities ul li {
  font-size: 0;
  gap: var(--icon-card-gap);
}

[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #rooms .box_item_info.card_booking:not(.is-expanded) .facilities ul li i,
[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #meetings .box_item_info.card_booking:not(.is-expanded) .facilities ul li i,
[dir="rtl"] body.page-index-2:not(.page-cards-expanded) #offers .box_item_info.card_booking:not(.is-expanded) .facilities ul li i {
  font-size: var(--icon-card-size) !important;
}

[dir="rtl"] body.page-index-2 #restaurant .box_facilities,
[dir="rtl"] body.page-index-2 #wellness .box_facilities,
[dir="rtl"] #restaurant .box_facilities,
[dir="rtl"] #wellness .box_facilities {
  gap: var(--ar-icon-gap);
}

[dir="rtl"] .phone_element a {
  gap: var(--ar-icon-gap);
}

/* Our Projects Ã¢ÂÂ section title1 + card fonts ÃÂ scale */
[dir="rtl"] body.page-index-2 #our-projects {
  --section-title-size: calc(0.75rem * var(--ar-text-scale));
  --project-card-title-size: calc(0.75rem * var(--ar-text-scale));
  --project-card-title2-size: calc(1em * var(--ar-text-scale));
  --project-card-desc-size: calc(0.95rem * var(--ar-text-scale));
}

[dir="rtl"] body.page-index-2 .our_projects_head .title small,
[dir="rtl"] body.page-index-2 .our_projects_head .title h2,
[dir="rtl"] body.page-index-2 #our-projects .project_card,
[dir="rtl"] body.page-index-2 #our-projects .project_card small,
[dir="rtl"] body.page-index-2 #our-projects .project_card h2,
[dir="rtl"] body.page-index-2 #our-projects .project_card p {
  font-family: var(--ar-projects-family);
}

[dir="rtl"] body.page-index-2 #our-projects .project_card p {
  font-weight: 400;
}

/* Project social icons Ã¢ÂÂ isolate from RTL so glyphs stay optically centered (all slides) */
[dir="rtl"] body.page-index-2 .project_card_social a {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
  text-align: center;
}

[dir="rtl"] body.page-index-2 .project_card_social a i {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1;
  width: 1em;
  height: 1em;
  font-style: normal;
}

[dir="rtl"] body.page-index-2 .project_card_social a i::before {
  display: block;
  line-height: 1;
  margin: 0;
  padding: 0;
  vertical-align: 0;
}

/* Reservation form + pop-ups */
[dir="rtl"] #contacts .nav-tabs#customTab .nav-link,
[dir="rtl"] #contacts .contacts-booking-box .nav-tabs#customTab .nav-link {
  font-size: var(--ar-form-tab-size);
  font-weight: var(--ar-form-tab-weight);
  font-family: var(--ar-form-family);
}

[dir="rtl"] #contacts .form-floating label,
[dir="rtl"] #contacts .form-control,
[dir="rtl"] #contacts .col-form-label,
[dir="rtl"] #contacts .qty.form-control,
[dir="rtl"] .booking-modal .form-floating label,
[dir="rtl"] .booking-modal .form-control,
[dir="rtl"] .booking-modal .col-form-label,
[dir="rtl"] .booking-modal .qty.form-control,
[dir="rtl"] .nice-select,
[dir="rtl"] .nice-select .current,
[dir="rtl"] .nice-select .list li {
  font-size: var(--ar-form-size);
  font-weight: var(--ar-form-weight);
  font-family: var(--ar-form-family);
}

[dir="rtl"] #contacts .form-floating label,
[dir="rtl"] .booking-modal .form-floating label,
[dir="rtl"] #contacts .col-form-label,
[dir="rtl"] .booking-modal .col-form-label {
  font-weight: var(--ar-form-label-weight);
}

[dir="rtl"] .booking-modal__title {
  font-size: var(--ar-form-title-size);
  font-weight: var(--ar-form-title-weight);
  font-family: var(--ar-form-family);
}

[dir="rtl"] #contacts .phone_element a span {
  text-align: right;
}

[dir="rtl"] #contacts .phone_element a span em {
  display: block;
  font-style: normal;
}

/* 3) Contact: icon on the right, text to its left (DOM iÃ¢ÂÂspan; no row-reverse) */
[dir="rtl"] .phone_element a {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  text-align: right;
}

[dir="rtl"] .phone_element a i {
  margin-right: 0;
  margin-left: 0;
}

/* Phone/WhatsApp digits stay LTR; RTL bidi otherwise moves + to the end */
[dir="rtl"] .phone_element a > span > span {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
}

/* 4) Restaurant / wellness: centered column grid */
[dir="rtl"] body.page-index-2 #restaurant .box_facilities,
[dir="rtl"] body.page-index-2 #wellness .box_facilities {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

[dir="rtl"] .closebt {
  right: auto;
  left: 25px;
}

@media (max-width: 991px) {
  [dir="rtl"] .main-menu {
    right: auto;
    left: 0;
    transform: translateX(-102%);
  }

  [dir="rtl"] .main-menu.show {
    transform: translateX(0);
  }

  [dir="rtl"] .main-menu #mainNav ul li {
    margin-left: 0;
    margin-inline-start: 0;
    margin-bottom: max(0.75rem, 12px);
  }

  [dir="rtl"] .lang-switch--mobile {
    font-size: var(--ar-btn-header-size);
  }
}

[dir="rtl"] {
  letter-spacing: normal;
}

[dir="rtl"] .section_banner__inner small,
[dir="rtl"] .section_banner__inner h1,
[dir="rtl"] .section_banner__inner h2,
[dir="rtl"] .title small,
[dir="rtl"] .title h2,
[dir="rtl"] .box_item_info h2,
[dir="rtl"] .box_item_info h3,
[dir="rtl"] .box_facilities h3,
[dir="rtl"] .btn_1,
[dir="rtl"] a.btn_1,
[dir="rtl"] .facilities ul li,
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3 {
  letter-spacing: normal;
  text-transform: none;
}

[dir="rtl"] .section_banner__inner small,
[dir="rtl"] .section_banner__inner h1,
[dir="rtl"] .section_banner__inner h2 {
  overflow-wrap: break-word;
  word-break: normal;
}

[dir="rtl"] body.page-index-2 #restaurant .box_facilities h3,
[dir="rtl"] body.page-index-2 #wellness .box_facilities h3 {
  hyphens: none;
}

@media (max-width: 767px) {
  [dir="rtl"] body.page-index-2 .box_item_info .facilities-cols .facilities-col {
    flex: 1 1 100%;
    min-width: 0;
  }
  [dir="rtl"] body.page-index-2 .box_item_info .facilities ul li {
    letter-spacing: normal;
    word-break: normal;
    overflow-wrap: break-word;
  }
}

/* -----------------------------------------------------------------------------
   SECTION: Booking page (.page-booking / #booking-app)
   ----------------------------------------------------------------------------- */
/* Legacy booking-app styles below; iframe layout overrides live near --bg-booking */
body.page-booking main {
  background: var(--bg-booking);
}

.booking-app {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
  padding: 2rem var(--bs-gutter-x, 0.75rem) 0;
}

.booking-stay--type {
  margin-bottom: 1rem;
}

.booking-stay--type label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #555;
  font-weight: 600;
  max-width: 22rem;
}

.booking-stay--type select {
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  color: #1a1a1a;
  border: 1px solid #d9e1e6;
  background: #fff;
  border-radius: 4px;
  padding: 0.7rem 0.85rem;
}

.booking-stay__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-stay__full {
  grid-column: 1 / -1;
}

.booking-progress {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-bottom: 2.25rem;
}

.booking-progress__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  position: relative;
  flex: 1 1 0;
  max-width: 10rem;
  color: #999;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
}

.booking-progress__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0.875rem;
  inset-inline-start: calc(50% + 1.1rem);
  width: calc(100% - 2.2rem);
  height: 2px;
  background: #ccc;
  pointer-events: none;
}

.booking-progress__item.is-done:not(:last-child)::after {
  background: var(--horizon-turquoise);
}

.booking-progress__item span {
  width: 1.75rem;
  height: 1.75rem;
  min-width: 28px;
  min-height: 28px;
  border-radius: 50%;
  border: 2px solid #ccc;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  background: #fff;
  position: relative;
  z-index: 1;
}

.booking-progress__item em {
  font-style: normal;
  font-size: 0.7rem;
  line-height: 1.25;
  max-width: 7.5rem;
}

.booking-progress__item.is-active {
  color: var(--horizon-gold);
}

.booking-progress__item.is-active span {
  border-color: var(--horizon-gold);
  background: var(--horizon-gold);
  color: #1a1a1a;
}

.booking-progress__item.is-done {
  color: var(--horizon-turquoise);
}

.booking-progress__item.is-done span {
  border-color: var(--horizon-turquoise);
  background: var(--horizon-turquoise);
  color: #fff;
}

.booking-step > h1,
.booking-step > h2 {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  margin-bottom: 1.5rem;
  color: #1a1a1a;
}

.booking-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
  gap: 1.75rem;
  align-items: start;
}

.booking-sidebar {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 0, 0, 0.06);
  padding: 1.25rem;
  border-radius: 6px;
  position: sticky;
  top: 6rem;
}

.booking-sidebar h2 {
  font-size: 1rem;
  margin: 0 0 1rem;
}

.booking-stay {
  background: rgba(255, 255, 255, 0.65);
  padding: 1.25rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.booking-stay h2,
.booking-choose-title {
  font-size: 1.05rem;
  margin: 0 0 0.85rem;
}

.booking-hint {
  margin: -0.35rem 0 1rem;
  color: #666;
  font-size: 0.9rem;
}

.booking-stay__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.booking-stay__grid--stay {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.booking-stay__dates {
  grid-column: 1 / -1;
}

#booking-app .booking-stay__dates input {
  direction: ltr;
  cursor: pointer;
  width: 100%;
}

#booking-app .booking-stay .qty-buttons {
  width: 100%;
}

#booking-app .booking-stay .qty-buttons input.qty {
  width: 100%;
}

.booking-stay__grid label,
.booking-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #555;
  font-weight: 600;
}

.booking-stay__grid input,
.booking-stay__grid select,
.booking-form-grid input,
.booking-form-grid select,
.booking-form-grid textarea {
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 400;
  color: #1a1a1a;
  border: 1px solid #d9e1e6;
  background: #fff;
  border-radius: 4px;
  padding: 0.65rem 0.75rem;
}

.booking-room-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
}

.booking-room-card {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  text-align: start;
  width: 100%;
  padding: 0.85rem;
  border: 1px solid #d9e1e6;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.booking-room-card.is-selected {
  border-color: var(--horizon-gold);
  box-shadow: 0 0 0 1px var(--horizon-gold);
}

.booking-room-card img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  border-radius: 4px;
}

.booking-room-card__body h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.booking-room-card__badge {
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--horizon-gold);
  color: #1a1a1a;
  padding: 0.2rem 0.45rem;
  border-radius: 3px;
  font-weight: 600;
}

.booking-room-card__qty {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.55rem;
}

.booking-room-card__qty span {
  min-width: 1.25rem;
  text-align: center;
  font-weight: 600;
  color: #1a1a1a;
}

.booking-qty-btn {
  width: 1.75rem;
  height: 1.75rem;
  min-width: 28px;
  min-height: 28px;
  border: 1px solid #d9e1e6;
  border-radius: 4px;
  background: #fff;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  color: #1a1a1a;
}

.booking-qty-btn:hover {
  border-color: var(--horizon-gold);
  color: var(--horizon-gold);
}

.booking-confirm__note {
  color: #666;
  font-size: 0.9rem;
}

.booking-room-card__body p {
  margin: 0;
  font-size: 0.9rem;
  color: #555;
}

.booking-room-card__meta {
  margin-top: 0.35rem !important;
  font-size: 0.8rem !important;
  color: #888 !important;
}

.booking-room-card__price {
  text-align: end;
  white-space: nowrap;
}

.booking-room-card__price strong {
  display: block;
  font-size: 1.25rem;
  color: var(--horizon-gold);
}

.booking-room-card__price span {
  font-size: 0.8rem;
  color: #888;
}

.booking-cta {
  width: 100%;
  text-align: center;
}

.booking-summary__empty {
  color: #888;
  margin: 0;
}

.booking-summary__rooms {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
}

.booking-summary__rooms li {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.9rem;
}

.booking-summary__meta {
  margin: 0 0 1rem;
}

.booking-summary__meta > div {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  font-size: 0.85rem;
  padding: 0.25rem 0;
}

.booking-summary__meta dt {
  color: #888;
  margin: 0;
}

.booking-summary__meta dd {
  margin: 0;
  font-weight: 600;
}

.booking-summary__total {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 0.75rem;
}

.booking-summary__total span {
  display: block;
  font-size: 0.85rem;
  color: #666;
}

.booking-summary__total strong {
  display: block;
  font-size: 1.75rem;
  color: #1a1a1a;
  line-height: 1.2;
}

.booking-summary__total small {
  color: #888;
}

.booking-form-card {
  background: #fff;
  border-radius: 6px;
  padding: 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.booking-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.booking-form-grid__full {
  grid-column: 1 / -1;
}

.booking-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.booking-form-actions--center {
  justify-content: center;
  margin-top: 1.5rem;
}

.booking-confirm {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  border-radius: 8px;
  padding: 2rem 1.5rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
}

.booking-confirm__icon {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  border: 2px solid var(--horizon-turquoise);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--horizon-turquoise);
  font-size: 1.75rem;
}

.booking-confirm__eyebrow {
  color: var(--horizon-turquoise);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 600;
}

.booking-confirm h2 {
  margin: 0.35rem 0 0.75rem;
}

.booking-confirm__ref {
  background: var(--horizon-pearl);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 1rem;
  margin: 1.25rem 0;
}

.booking-confirm__ref span {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
}

.booking-confirm__ref strong {
  font-size: 1.35rem;
  letter-spacing: 0.06em;
}

.booking-confirm__summary {
  text-align: start;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 1rem;
}

.booking-confirm__summary h3 {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #888;
}

#contacts .booking-ref-field[hidden] {
  display: none !important;
}

@media (max-width: 991px) {
  .booking-layout {
    grid-template-columns: 1fr;
  }

  .booking-sidebar {
    position: static;
    order: -1;
  }

  .booking-stay__grid {
    grid-template-columns: 1fr 1fr;
  }

  .booking-stay__grid--stay {
    grid-template-columns: 1fr 1fr;
  }

  .booking-stay__grid--3 {
    grid-template-columns: 1fr 1fr;
  }

  .booking-room-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .booking-room-card img {
    width: 88px;
    height: 72px;
  }

  .booking-room-card__price {
    grid-column: 2;
    text-align: start;
  }

  .booking-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .booking-stay__grid,
  .booking-stay__grid--3 {
    grid-template-columns: 1fr;
  }
}

/* -----------------------------------------------------------------------------
   CONTACT BOOKING DEEP-LINK Ã¢ÂÂ no visual rules here; logic in slider.js
   ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
   SECTION: Restaurant menu
   ----------------------------------------------------------------------------- */
#restaurant-menu {
  /* Menu Title1 (category), Title2 (subcategory), Dish text, and thumbnail sizing */
  --menu-category-title-color: #333;
  --menu-category-title-size: 0.9375rem;
  --menu-category-title-size-mobile: 0.8125rem;
  --menu-category-title-size-tablet: 0.9rem;
  --menu-category-title-weight: 600;
  --menu-subsection-title-color: #24262d;
  --menu-subsection-title-size: 1.05rem;
  --menu-subsection-title-size-mobile: 0.9rem;
  --menu-subsection-title-size-tablet: 1rem;
  --menu-subsection-title-weight: 700;
  --menu-subsection-title-spacing: 0.06em;
  --menu-dish-text-color: #666;
  --menu-dish-text-size: 0.9rem;
  --menu-dish-text-size-mobile: 0.8125rem;
  --menu-dish-text-size-tablet: 0.87rem;
  --menu-price-color: #000;
  --menu-thumb-size: 5rem;
  --menu-thumb-size-mobile: 3.75rem;
  --menu-thumb-size-tablet: 4.5rem;
  --menu-item-padding-start-mobile: 4.5rem;
  --menu-item-padding-start-tablet: 5.25rem;
  /* Selected category + subcategory highlight */
  --menu-tab-active-color: #F8BB38;
  --menu-tab-active-border-color: #F8BB38;
  --menu-subnav-active-color: #F8BB38;
  --menu-subnav-active-border-color: #F8BB38;
}

.menu_subsection__title {
  margin: 1.25rem 0 0.75rem;
  color: var(--menu-subsection-title-color);
  font-size: var(--menu-subsection-title-size);
  font-weight: var(--menu-subsection-title-weight);
  letter-spacing: var(--menu-subsection-title-spacing);
  text-transform: uppercase;
}

[dir="rtl"] .menu_subsection__title {
  text-align: start;
}

.tabs_menu .menu_subnav {
  justify-content: center;
  margin: 0.35rem 0 0.25rem;
}

.tabs_menu .menu_subnav .nav-link {
  height: auto;
  line-height: 1.35;
  padding: 0.45rem 0.85rem;
  font-size: var(--menu-subsection-title-size);
  font-weight: var(--menu-subsection-title-weight);
  letter-spacing: var(--menu-subsection-title-spacing);
  color: var(--menu-subsection-title-color);
  border-bottom: 2px solid transparent;
}

.tabs_menu .menu_subnav .nav-link.active {
  border-bottom-color: var(--menu-subnav-active-border-color);
  color: var(--menu-subnav-active-color);
}

.restaurant-hours li {
  gap: 1rem;
  padding-bottom: 0.5rem;
}

.pattern_3 {
  background: var(--horizon-pearl, #f7f5f0);
}

.restaurant-menu-banner {
  background: linear-gradient(135deg, #1a1a1a 0%, #2c3e3a 100%);
  color: #fff;
  border-radius: 6px;
  padding: 1.75rem 1.5rem;
  margin-bottom: 1.75rem;
}

.restaurant-menu-banner small {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.75rem;
  opacity: 0.85;
}

.restaurant-menu-banner h3 {
  color: #fff;
  margin: 0.35rem 0;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
}

.restaurant-menu-banner p {
  margin: 0;
  opacity: 0.9;
}

.add_top_30 {
  margin-top: 1.5rem;
}

.add_bottom_25 {
  margin-bottom: 1.25rem;
}

.menu_item {
  position: relative;
  padding: 1.25rem 0 0;
  padding-inline-start: 5.625rem;
  margin-bottom: 1.25rem;
  min-height: 5rem;
}

.menu_item figure {
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: var(--menu-thumb-size);
  height: var(--menu-thumb-size);
  overflow: hidden;
  border-radius: 50%;
  margin: 0;
}

.menu_item figure img {
  width: var(--menu-thumb-size);
  height: var(--menu-thumb-size);
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.menu_item figure a:hover img {
  transition: transform 0.3s ease;
  transform: translate(-50%, -50%) scale(1.08);
}

.menu_item--text {
  padding-inline-start: 0;
  min-height: 0;
}

.menu_item .menu_title {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  background: radial-gradient(#d5d5d5 40%, transparent 10%);
  background-position: 0 50%;
  background-size: 4px 4px;
  background-repeat: repeat-x;
}

.menu_item .menu_title h3 {
  display: inline-block;
  flex: 0 1 auto;
  min-width: 0;
  background-color: var(--horizon-pearl, #f7f5f0);
  font-size: 1.05rem;
  margin: 0;
  padding-inline-end: 0.25rem;
}

.menu_item .menu_title em {
  margin-inline-start: auto;
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 600;
  background-color: var(--horizon-pearl, #f7f5f0);
  font-style: normal;
  padding-inline-start: 0.25rem;
  color: var(--menu-price-color);
}

.menu_item p {
  margin: 0.25rem 0 0;
  color: var(--menu-dish-text-color);
  font-size: var(--menu-dish-text-size);
}

.tabs_menu {
  margin-top: 0.75rem;
}

.tabs_menu .nav-link {
  display: block;
  padding: 0 1rem;
  height: 2.5rem;
  line-height: 2.5rem;
  font-size: var(--menu-category-title-size);
  color: var(--menu-category-title-color);
  border: none;
  font-weight: var(--menu-category-title-weight);
  text-transform: uppercase;
}

.tabs_menu .nav-link:hover,
.tabs_menu .nav-link:focus {
  color: var(--horizon-turquoise, #30bbbb);
}

.tabs_menu .nav-tabs .nav-link.active {
  border-bottom: 2px solid var(--menu-tab-active-border-color);
  color: var(--menu-tab-active-color);
  background: transparent;
}

.tabs_menu .nav-tabs {
  border: none;
  border-bottom: 2px solid #ededed;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.tabs_menu .tab-content .card {
  border: none;
  background-color: transparent;
  padding: 0 1.5rem;
}

.tabs_menu .tab-content .card .card-header {
  padding: 0;
  background: transparent;
  border: 0;
}

.tabs_menu .tab-content .card .card-header a {
  display: block;
  font-size: 1.05rem;
  padding: 0.85rem;
  color: #333;
  text-decoration: none;
}

[dir="rtl"] .tabs_menu .tab-content .card .card-header a {
  text-align: start;
}

.tabs_menu .tab-content .card .card-body {
  padding: 1.5rem 0 0.5rem;
}

/* Same tab UI on mobile as PC/tablet Ã¢ÂÂ no accordion */
.tabs_menu .tab-content .card .card-header {
  display: none;
}

.tabs_menu .tab-content .card .collapse {
  display: block;
}

@media (max-width: 767px) {
  .menu_item:not(.menu_item--text) {
    padding-inline-start: var(--menu-item-padding-start-mobile);
    min-height: var(--menu-thumb-size);
  }
}

[dir="rtl"] .restaurant-hours li {
  text-align: start;
}

/* Launch a11y / CLS Â icon fonts + controls */
@font-face {
  font-family: bootstrap-icons;
  font-display: swap;
  src: url("bs-icon-font/fonts/bootstrap-icons.woff2") format("woff2");
}
.closebt.open_close_menu {
  min-width: 44px;
  min-height: 44px;
  /* do not set display — forces menu X visible on desktop and scrolls via href="#" */
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .menu_v1 .closebt.open_close_menu {
    display: inline-flex;
  }
}
html[data-horizon-device="tablet"] .menu_v1 .closebt.open_close_menu {
  display: inline-flex;
}

/* Edge back-to-top (theme progress-wrap) */
.progress-wrap {
  position: fixed;
  right: 30px;
  bottom: 30px;
  height: 46px;
  width: 46px;
  cursor: pointer;
  border-radius: 50px;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px);
  transition: all 200ms linear;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.92);
}
[dir="rtl"] .progress-wrap {
  right: auto;
  left: 30px;
}
.progress-wrap.active-progress {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.progress-wrap::after {
  position: absolute;
  font-family: bootstrap-icons;
  content: "\f145";
  text-align: center;
  line-height: 1.9167;
  font-size: max(1.5rem, 24px);
  color: #30BBBB;
  left: 0;
  top: 0;
  height: 46px;
  width: 46px;
  z-index: 1;
}
.progress-wrap svg path {
  fill: none;
}
.progress-wrap svg.progress-circle path {
  stroke: #30BBBB;
  stroke-width: 4;
  box-sizing: border-box;
  transition: stroke-dashoffset 10ms linear;
}
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  min-width: 44px;
  min-height: max(2.75rem, 44px);
}
.owl-carousel button.owl-dot span {
  display: block;
  width: 12px;
  height: max(0.75rem, 12px);
  margin: auto;
}
a.btn_1,
.btn_1 {
  /* bump contrast vs soft backgrounds */
  color: #fff !important;
}
small, .card_booking_meta {
  color: #4a4a4a;
}
