@charset "UTF-8";
/* ==================================================
   Beyond Resort – Main SCSS Entry
   Compile this file only
================================================== */
:root {
  /* ==================================================
  	Base colors (raw values)
  ================================================== */
  --cl-brand-primary: #012F80;
  --cl-brand-secondary: #003E99;
  --cl-brand-tertiary: #F3F9FF; /* Role: Background only */
  --cl-brand-tertiary-dark: #7A94C0; /* Role: Background only - dark variant */
  --cl-black: #000000;
  --cl-white: #ffffff;
  /* Gray scale */
  --cl-gray-100: #f3f4f6;
  --cl-gray-200: #e5e7eb;
  --cl-gray-300: #d1d5db;
  --cl-gray-500: #6b7280;
  --cl-gray-600: #4b5563;
  --cl-gray-900: #111827;
  --cl-text-base: #454545;
  /* ==================================================
  	Semantic - Text
  	================================================== */
  --cl-tx-body: var(--cl-text-base);
  --cl-tx-header: var(--cl-brand-primary);
  --cl-tx-subheader: var(--cl-brand-secondary);
  --cl-tx-link: var(--cl-brand-primary);
  --cl-tx-link-hover: var(--cl-brand-secondary);
  /* ==================================================
  	Semantic - Background
  	================================================== */
  --cl-bg-body:	var(--cl-white);
  --cl-bg-section:	var(--cl-brand-tertiary);
  --cl-bg-section-soft:	var(--cl-gray-100);
  --cl-bg-section-dark:	var(--cl-brand-primary);
  --cl-bg-surface:	var(--cl-brand-tertiary);
  --cl-bg-surface-soft:	var(--cl-white);
  --cl-bg-surface-inverse:	var(--cl-white);
  --cl-border:	var(--cl-brand-tertiary-dark);
  /* ==================================================
  	Tables
  	================================================== */
  --cl-table-border:	var(--cl-brand-primary);
  --cl-table-row-even:	var(--cl-white);
  --cl-table-row-odd:	var(--cl-bg-section);
  --cl-table-cell-header-bg:	var(--cl-brand-primary);
  --cl-table-cell-header-text:	var(--cl-white);
  --cl-table-cell-border:	var(--cl-bg-section);
  --cl-table-cell-text:	var(--cl-tx-body);
  /* ==================================================
  	Header
  	================================================== */
  --cl-bg-header: var(--cl-white);
  /* ==================================================
  	Footer
  	================================================== */
  --cl-bg-footer: var(--cl-brand-tertiary);
  --cl-bg-footer-copyright: var(--cl-white);
  /* ==================================================
  	Status
  	================================================== */
  --cl-status-text: var(--cl-white);
  --cl-status-error: #df4811;
  --cl-status-error-border: #b33e0b;
  --cl-status-warning: #c0a55d;
  --cl-status-warning-border: #98803f;
  --cl-status-success: #00482f;
  --cl-status-success-border: #013120;
}

/* --------------------------------------------------
   Fluid size with clamp()
   ใช้กับ font-size, spacing, gap ฯลฯ
   วิธีใช้: font-size: fluid(16px, 24px, 375px, 1440px);
   -------------------------------------------------- */
/* --------------------------------------------------
PX to REM
-------------------------------------------------- */
/* Mixins */
/* ==================================================
   Typography Settings
   ================================================== */
:root {
  /* Font families */
  --ff-body: "Roboto", sans-serif;
  --ff-heading: "Anuphan", sans-serif;
  /* Font weights */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  /* Base size */
  --fs-base: 16px;
  /* Line-height */
  --lh-body: 1.6;
  --lh-heading: 1.3;
  --lh-h3-title: 1.3;
  --lh-content-card: 1.4;
  /* Letter-spacing */
  --ls-tight: -0.01em;
  --ls-normal: 0.01em;
  --ls-wide: 0.02em;
}
@media screen and (max-width: 480px) {
  :root {
    --lh-heading: 1.3;
  }
}
:root {
  /* ==================================================
     Type scale (Desktop)
     ================================================== */
  --fs-h1: clamp(32px, 24px + 1.6666666667vw, 48px);
  --fs-h2: clamp(26px, 25px + 0.2083333333vw, 28px);
  --fs-h3: clamp(24px, 22px + 0.4166666667vw, 28px);
  --fs-h4: clamp(22px, 21px + 0.2083333333vw, 24px);
  --fs-h5: clamp(16px, 15px + 0.2083333333vw, 18px);
  --fs-h6: clamp(14px, 13px + 0.2083333333vw, 16px);
  --fs-intro-title: clamp(30px, 27px + 0.625vw, 36px);
  --fs-intro-subtitle: clamp(18px, 17px + 0.2083333333vw, 20px);
  --fs-subtitle: clamp(19px, 17.2394366197px + 0.4694835681vw, 24px);
  --fs-body: clamp(14px, 13.6478873239px + 0.0938967136vw, 15px);
  --fs-small: .9rem;
  --fs-caption: .8rem;
  --fs-blog-h2: clamp(22px, 20px + 0.4166666667vw, 26px);
  --fs-blog-h3: clamp(18px, 17px + 0.2083333333vw, 20px);
  --fs-experience-h1: clamp(30px, 25px + 1.0416666667vw, 40px);
  --fs-button: 0.875rem;
  --fs-icon-title: clamp(20px, 19px + 0.2083333333vw, 22px);
  --fs-card-location: 1.0625rem;
  --fs-edit-cms: .8em;
}

/* ==================================================
Responsive Typography
================================================== */
@media screen and (max-width: 430px) {
  :root {
    --fs-h1: 28px;
    --fs-h3: 20px;
    --fs-h4: 20px;
    --fs-h5: 16px;
  }
}
/* 01-settings/_spacing.scss */
:root {
  /* ==================================================
  Spacing Scale
  ================================================== */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 80px;
  --sp-10: 96px;
  --sp-11: 120px;
  /* ==================================================
  Section spacing
  ================================================== */
  --section-pd-block-xl: var(--sp-11); /* 120px */
  --section-pd-block-lg: var(--sp-10); /* 96px */
  --section-pd-block-md: var(--sp-9); /* 80px */
  --section-pd-block-sm: var(--sp-8); /* 64px */
  --section-pd-block-xs: var(--sp-7); /* 32px */
  --section-pd-block-xxxs: var(--sp-4); /* 16px */
}
@media screen and (max-width: 1024px) {
  :root {
    --section-pd-block-xl: var(--sp-10);
    --section-pd-block-lg: var(--sp-9);
    --section-pd-block-md: var(--sp-8);
    --section-pd-block-sm: var(--sp-8);
  }
}
@media screen and (max-width: 768px) {
  :root {
    --section-pd-block-xl: var(--sp-9);
    --section-pd-block-lg: var(--sp-8);
    --section-pd-block-md: var(--sp-7);
    --section-pd-block-sm: var(--sp-7);
  }
}
@media screen and (max-width: 375px) {
  :root {
    --section-pd-block-xl: var(--sp-8);
    --section-pd-block-lg: var(--sp-7);
  }
}
:root {
  /* ==================================================
  Container spacing
  ================================================== */
  --container-pd-inline: var(--sp-10);
  --container-gap-row: var(--sp-8);
  --container-gap-row-xl: var(--sp-11);
  --container-gap-row-sm: var(--sp-5);
}
@media screen and (max-width: 1568px) {
  :root {
    --container-pd-inline: var(--sp-8);
  }
}
@media screen and (max-width: 1320px) {
  :root {
    --container-pd-inline: var(--sp-6);
  }
}
@media screen and (max-width: 880px) {
  :root {
    --container-gap-row-xl: var(--sp-9);
  }
}
@media screen and (max-width: 480px) {
  :root {
    --container-pd-inline: var(--sp-4);
    --container-gap-row-xl: 60px;
    --container-gap-row: 30px;
  }
}
@media screen and (max-width: 430px) {
  :root {
    --container-gap-row-xl: 50px;
  }
}
:root {
  /* ==================================================
  Content spacing
  ================================================== */
  --intro-content-gap-row: var(--sp-5);
}
@media screen and (max-width: 480px) {
  :root {
    --intro-content-gap-row: var(--sp-4);
  }
}
:root {
  /* ==================================================
  Card spacing
  ================================================== */
  --card-content-gap-row: var(--sp-3);
  --card-content-pd-wrapper: var(--sp-5) var(--sp-4);
  --card-content-pd-wrapper-lg: var(--sp-8) var(--sp-8);
  --card-content-pd-wrapper-md: var(--sp-7) var(--sp-6);
  --card-link-pd-top: var(--sp-3); /* 10px */
  --card-gap: var(--sp-4); /* 16px */
}
@media screen and (max-width: 1024px) {
  :root {
    --card-content-pd-wrapper-lg: var(--sp-7) var(--sp-7);
    --card-content-pd-wrapper-md: var(--sp-6) var(--sp-6);
  }
}
@media screen and (max-width: 480px) {
  :root {
    --card-content-pd-wrapper: 30px 20px;
    --card-content-pd-wrapper-lg: 40px 30px;
    --card-content-pd-wrapper-md: var(--sp-6) var(--sp-5);
  }
}
@media screen and (max-width: 375px) {
  :root {
    --card-content-pd-wrapper: 25px 15px;
    --card-content-pd-wrapper-lg: 30px 20px;
  }
}
:root {
  /* ==================================================
  Grid gaps
  ================================================== */
  --grid-gap-xl: var(--sp-8); /* 64px */
  --grid-gap-lg: var(--sp-7); /* 48px */
  --grid-gap-md: var(--sp-6); /* 32px */
  --grid-gap-sm: var(--sp-5); /* 24px */
  --grid-gap-xs: var(--sp-4); /* 16px */
}
@media screen and (max-width: 1440px) {
  :root {
    --grid-gap-lg: var(--sp-6);
    --grid-gap-md: var(--sp-5);
  }
}
@media screen and (max-width: 1024px) {
  :root {
    --grid-gap-lg: var(--sp-5);
  }
}
@media screen and (max-width: 560px) {
  :root {
    --grid-gap-xl: var(--sp-6);
    --grid-gap-md: var(--sp-4);
  }
}
:root {
  /* ==================================================
  Special gaps
  ================================================== */
  --gap-xl: var(--sp-11);
  --gap-lg: var(--sp-9);
  --gap-md: var(--sp-8);
  --gap-sm: var(--sp-6);
  --gap-xs: var(--sp-4);
}
@media screen and (max-width: 1024px) {
  :root {
    --gap-sm: var(--sp-4);
  }
}
@media screen and (max-width: 880px) {
  :root {
    --gap-md: var(--sp-5);
  }
}
@media screen and (max-width: 480px) {
  :root {
    --gap-md: var(--sp-4);
    --gap-sm: var(--sp-2);
    --gap-xs: var(--sp-2);
  }
}
:root {
  /* ==================================================
      Typography spacing
      ================================================== */
  --pd-paragraph-btm: var(--sp-4); /* 16px */
  --pd-ul-left: 20px; /* 20px */
  --gap-title: var(--sp-3); /* 12px */
  --gap-instargram-gallery: var(--sp-5);
}
@media screen and (max-width: 1024px) {
  :root {
    --gap-instargram-gallery: var(--sp-4);
  }
}
@media screen and (max-width: 480px) {
  :root {
    --gap-instargram-gallery: var(--sp-2);
  }
}

:root {
  /* ==================================================
  Button Theme Variables
  ================================================== */
  /* Primary */
  --btn-primary-bg: var(--cl-brand-primary);
  --btn-primary-tx: var(--cl-white);
  --btn-primary-border: var(--cl-brand-primary);
  --btn-primary-bg-hover: var(--cl-brand-secondary);
  --btn-primary-tx-hover: var(--cl-white);
  --btn-primary-border-hover: var(--cl-brand-secondary);
  /* Secondary */
  --btn-secondary-bg: var(--cl-brand-secondary);
  --btn-secondary-tx: var(--cl-white);
  --btn-secondary-border: var(--cl-brand-secondary);
  --btn-secondary-bg-hover: var(--cl-brand-primary);
  --btn-secondary-tx-hover: var(--cl-white);
  --btn-secondary-border-hover: var(--cl-brand-primary);
  /* Outline */
  --btn-outline-bg: transparent;
  --btn-outline-tx: var(--cl-brand-primary);
  --btn-outline-bd: var(--cl-brand-primary);
  --btn-outline-bg-hover: var(--cl-brand-secondary);
  --btn-outline-tx-hover: var(--cl-white);
  --btn-outline-bd-hover: var(--cl-brand-primary);
  /* outline is-inverse */
  --btn-outline-bg-inverse: transparent;
  --btn-outline-tx-inverse: var(--cl-white);
  --btn-outline-bd-inverse: var(--cl-white);
  --btn-outline-bg-hover-inverse: var(--cl-white);
  --btn-outline-tx-hover-inverse: var(--cl-brand-primary);
  --btn-outline-bd-hover-inverse: var(--cl-white);
  /* Line (เหมือน ghost) */
  --a-line-bg: transparent;
  --a-line-tx: var(--cl-brand-primary);
  --a-line-bg-hover: transparent;
  --a-line-tx-hover: var(--cl-brand-secondary);
  /* Icon */
  --btn-icon-bg: transparent;
  --btn-icon-tx: var(--cl-brand-primary);
  --btn-icon-bg-hover: var(--cl-bg-section-soft);
  --btn-icon-tx-hover: var(--cl-brand-secondary);
  --btn-radius: 4rem;
  --btn-border-width: 1px;
  --btn-padding-y: 10px;
  --btn-padding-x: 30px;
  --btn-font-family: var(--ff-heading);
  --btn-font-size: var(--fs-button);
  --btn-font-weight: var(--fw-regular);
  --btn-letter-spacing: var(--ls-normal);
  --btn-line-height: var(--lh-body);
}
@media screen and (max-width: 1024px) {
  :root {
    --btn-padding-x: 24px;
  }
}
@media screen and (max-width: 430px) {
  :root {
    --btn-padding-y: 8px;
    --btn-padding-x: 24px;
  }
}

/* Theme-level defaults (non-component) */
:root {
  /* ==================================================
  Card Tokens
  ================================================== */
  --card-radius: 6px;
  --card-padding: 40px;
  --card-border: 1px solid #cccccc; /* ใกล้ gray-900 แบบบาง */
  --card-shadow: 0 16px 40px rgba(0,0,0,.08);
  --card-bg: var(--cl-bg-surface);
  --card-title: var(--cl-tx-header);
  --card-text: var(--cl-tx-body);
  --card-muted: var(--cl-gray-600);
  /* ==================================================
  Container
  ================================================== */
  --ct-max: 1440px;
  --ct-intro-max: 890px;
  --ct-intro-bg-max: 1024px;
  --ct-mainslide-max: 890px;
  --ct-awardslide-max: 700px;
}
@media screen and (max-width: 1568px) {
  :root {
    --ct-max: 100%;
  }
}
@media screen and (max-width: 880px) {
  :root {
    --ct-intro-max: 90%;
    --ct-mainslide-max: 100%;
    --ct-awardslide-max: 80%;
  }
}
@media screen and (max-width: 560px) {
  :root {
    --ct-intro-max: 100%;
  }
}
:root {
  /* ==================================================
  Block widths
  ================================================== */
  --content-split-w: 430px;
}
@media screen and (max-width: 1200px) {
  :root {
    --content-split-w: 400px;
  }
}
@media screen and (max-width: 880px) {
  :root {
    --content-split-w: 100%;
  }
}
:root {
  /* ==================================================
  Image Ratios
  ================================================== */
  --img-ratio-card: 4 / 3;
  --img-ratio-hero-card: 2 / 3;
  --img-ratio-hero: 16 / 9;
  --img-ratio-landscape: 16 / 5;
  --img-ratio-portrait: 2 / 3;
  --img-ratio-experiences: 3 / 4;
  --img-ratio-blog-hero: 3 / 2;
  --size-icon-intro: 110px;
}
@media screen and (max-width: 480px) {
  :root {
    --size-icon-intro: 80px;
  }
}
:root {
  /* ==================================================
  Form Tokens
  ================================================== */
  --field-height: 48px;
  --field-radius: 6px;
  --field-padding-x: 14px;
  --field-padding-y: 12px;
  --field-bg: var(--cl-bg-surface);
  --field-text: var(--cl-tx-body);
  --field-placeholder: var(--cl-gray-500);
  --field-border: var(--cl-gray-300);
  --field-border-hover: var(--cl-gray-500);
  --field-border-focus: var(--cl-brand-primary);
  --field-focus-ring: 0 0 0 4px rgba(1, 47, 128, 0.14);
  --label-size: var(--fs-small);
  --label-cl-text: var(--cl-tx-body);
  --help-size: var(--fs-caption);
  --form-gap: var(--sp-4);
  /* ==================================================
     Slick Tokens
     ================================================== */
  --slick-wrap-gap: var(--gap-columns-sm);
  --slick-hlf-slide: 50vh;
  --slick-hlf-slide-min: 480px;
  /* slick dots */
  --slick-dot-size: 10px;
  --slick-dot-gap: 10px;
  --slick-dot-pb: var(--sp-7);
  --slick-dot-bg: rgba(0, 0, 0, 0);
  --slick-dot-bg-active: var(--cl-white);
  --slick-dot-bd: var(--cl-white);
  --slick-dot-bd-active: var(--cl-white);
  /* slick arrows */
  --slick-arrow-size: 2rem;
  --slick-arrow-bg: none;
  --slick-arrow-bd: rgba(0, 0, 0, 0);
  --slick-arrow-tx: var(--cl-white);
}
@media screen and (max-width: 560px) {
  :root {
    --slick-arrow-size: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  :root {
    --slick-arrow-size: 15px;
    --slick-dot-size: 8px;
    --slick-dot-gap: 8px;
  }
}
:root {
  /* ==================================================
  transition defaults
  ================================================== */
  --transition-duration: 0.6s;
  --transition-timing: ease;
  --transition-delay: 0s;
  /* 
  # header
  # ================================================================= */
  --header-h: 115px; /* fallback เผื่อ JS ยังไม่รัน */
}
@media screen and (max-width: 1440px) {
  :root {
    --header-h: 100px;
  }
}
@media screen and (max-width: 768px) {
  :root {
    --header-h: 95px;
  }
}
@media screen and (max-width: 560px) {
  :root {
    --header-h: 80px;
  }
}
@media screen and (max-width: 430px) {
  :root {
    --header-h: 70px;
  }
}
:root {
  /* ==================================================
  Google Map
  ================================================== */
  --map-height: 500px;
  /* 
  # Tag on page detail
  # ================================================================= */
  --tag-radius: 4px;
  --tag-padding: 4px 0.75rem;
  --tag-font-size: var(--fs-small);
  --tag-bg: var(--cl-gray-100);
  --tag-bg-hover: var(--cl-brand-tertiary);
  --tag-tx: var(--cl-tx-body);
  --tag-tx-hover: var(--cl-brand-secondary);
  /* 
  # Tags on Cards
  # ================================================================= */
  --tag-card-radius: 0px;
  --tag-card-padding: 0px;
  --tag-card-font-size: var(--fs-caption);
  --tag-card-tx: var(--cl-brand-tertiary-dark);
  --tag-card-tx-hover: var(--cl-tx-header);
  --tag-card-bg: none;
  --tag-card-bg-hover: none;
  /* 
  # Blog
  # ================================================================= */
  --sidebar-width: 350px;
}
@media screen and (max-width: 1024px) {
  :root {
    --sidebar-width: 300px;
  }
}

/* ==================================================
   Minimal Reset (Modern)
   ================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  margin: 0;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ==================================================
   Base Typography (Element level)
   ================================================== */
html {
  font-size: var(--fs-base);
}

body {
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  font-weight: var(--fw-light);
  line-height: var(--lh-body);
  color: var(--cl-tx-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==================================================
   Headings
   ================================================== */
h1,
h2,
h4,
h5,
h6 {
  font-family: var(--ff-heading);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-tight);
  color: var(--cl-tx-header);
  text-transform: uppercase;
  margin: 0;
}

h1 {
  font-size: var(--fs-h1);
}

h2 {
  font-size: var(--fs-h2);
}

h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading);
}

h4 {
  font-size: var(--fs-h4);
  text-transform: none;
}

h5 {
  font-size: var(--fs-h5);
}

h6 {
  font-size: var(--fs-h6);
  text-transform: none;
}

p {
  margin: 0 0 var(--pd-paragraph-btm);
}

p:last-child {
  margin-bottom: 0;
}

/* ==================================================
   Text elements
   ================================================== */
small {
  font-size: var(--fs-small);
}

.detail ul, .description ul {
  margin: 0 0 var(--pd-paragraph-btm);
  padding-left: var(--pd-ul-left);
}
.detail ul:last-child, .description ul:last-child {
  margin-bottom: 0;
}
.detail h3, .detail h4, .detail h5, .detail h6, .description h3, .description h4, .description h5, .description h6 {
  margin: 0 0 0.5rem;
}
.detail a, .description a {
  text-decoration: none;
  color: var(--cl-tx-link);
}
.detail a:hover, .description a:hover {
  color: var(--cl-tx-link-hover);
}
.detail h4, .detail h5, .description h4, .description h5 {
  padding-top: var(--pd-paragraph-btm);
}

.link {
  gap: 0.625rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: wrap;
}

/* Caption / helper text */
.caption {
  font-size: var(--fs-caption);
  color: var(--cl-gray-600);
}

.subtitle, .subtitle h3 {
  margin: 0;
  padding: 0;
  font-size: var(--fs-subtitle);
  font-weight: var(--fw-regular);
  line-height: var(--lh-heading);
}

.post-edit-link {
  font-size: var(--fs-small);
  color: #000;
  text-transform: uppercase;
  display: inline-block;
}
.post-edit-link:hover {
  color: var(--cl-tx-body);
}
.post-edit-link:before {
  position: relative;
  content: "";
  background: url(../images/icon--edit.svg) no-repeat center center;
  margin-right: 5px;
  width: 15px;
  height: 15px;
  display: inline-block;
  top: 2px;
}

/* Base link styles */
a {
  color: var(--cl-tx-link);
  text-decoration: none;
  text-underline-offset: 0.22em;
  text-decoration-thickness: 1px;
  transition: color 180ms ease;
}
a:hover {
  color: var(--cl-tx-link-hover);
  text-decoration: underline;
}
a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(1, 47, 128, 0.16);
  border-radius: 6px;
}

p a,
li a,
.caption a {
  text-decoration: underline;
}

/* Inverse context */
.is-inverse a {
  color: rgba(255, 255, 255, 0.92);
}
.is-inverse a:hover {
  color: var(--cl-white);
  text-decoration: underline;
}

/* 
# Back to top
# ================================================================= */
#back-to-top {
  display: none;
  position: fixed;
  z-index: 99;
  width: 35px;
  height: 33px;
  cursor: pointer;
  background-color: rgba(102, 102, 102, 0.7);
  top: auto;
  right: 20px;
  bottom: 20px;
  opacity: 0;
  border-radius: 3px;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
@media screen and (max-width: 560px) {
  #back-to-top {
    bottom: 20px !important;
  }
}
#back-to-top:before {
  height: 0;
}

#back-to-top.show {
  display: block;
  opacity: 0.5;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}

#back-to-top:hover {
  background-color: #202020;
  opacity: 1;
}

#back-to-top i.icon--backtotop {
  background: url(../images/icon--arrow-backtotop.svg) no-repeat center center;
  display: block;
  width: 100%;
  height: 100%;
  background-size: 15px;
}

#back-to-top.show + #chatpop-list {
  bottom: 65px;
}
@media screen and (max-width: 560px) {
  #back-to-top.show + #chatpop-list {
    bottom: 65px;
  }
}

/* ==================================================
Forms (Element level)
================================================== */
input,
select,
textarea,
button {
  font: inherit;
}

label {
  display: inline-block;
  font-size: var(--label-size);
  color: var(--label-cl-text);
  margin-bottom: 8px;
}

input,
select,
textarea {
  width: 100%;
  background: var(--cl-white);
  color: var(--field-text);
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  padding-inline: var(--field-padding-x);
  padding-block: var(--field-padding-y);
  min-height: var(--field-height);
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

textarea {
  min-height: 140px;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: var(--field-placeholder);
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--field-border-hover);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--field-border-focus);
  box-shadow: var(--field-focus-ring);
}

/* Disabled */
input:disabled,
select:disabled,
textarea:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

select {
  appearance: none;
  background-image: url(../images/icon--select-arrow.svg);
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: auto 18px;
  padding-right: 36px;
}

[type=radio] {
  width: 14px;
  height: 14px;
  border: 2px solid var(--field-border);
  border-radius: 50%;
  background-color: transparent;
  position: relative;
  transition: border-color 180ms ease;
}
[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background-color: var(--field-border-focus);
  border-radius: 50%;
}
[type=radio]:hover {
  border-color: var(--field-border-hover);
}
[type=radio]:focus {
  border: 0;
  box-shadow: none;
}

[type=checkbox] {
  width: 14px;
  height: 14px;
  border: 2px solid var(--field-border);
  border-radius: 4px;
  background-color: transparent;
  position: relative;
  transition: border-color 180ms ease;
}
[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 6px;
  height: 12px;
  border-right: 2px solid var(--field-border-focus);
  border-bottom: 2px solid var(--field-border-focus);
}
[type=checkbox]:hover {
  border-color: var(--field-border-hover);
}
[type=checkbox]:focus {
  border: 0;
  box-shadow: none;
}

.wpcf7-validates-as-date {
  padding-right: 36px;
  background-image: url(../images/icon--calendar.svg);
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: auto 15px;
}

/* 
# Calendar flatpickr custom styles
# ================================================================= */
.flatpickr-calendar {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border: 1px solid #eee;
  font-family: inherit;
  padding: 10px;
}

/* Header — month/year */
.flatpickr-months .flatpickr-month {
  padding: 0;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flatpickr-current-month {
  font-size: var(--fs-h5);
  font-weight: normal;
  min-height: inherit;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  padding: 0;
  margin: 0;
  min-height: inherit;
  color: var(--cl-tx-body);
}

.flatpickr-current-month .numInputWrapper {
  min-height: inherit;
  display: flex;
  align-items: center;
}

.flatpickr-current-month input.cur-year {
  min-height: inherit;
}

.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  top: 15px;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  left: 10px;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  right: 10px;
}

/* Day of week header */
.flatpickr-weekday {
  color: #888;
  font-weight: 500;
}

/* Days */
.flatpickr-day {
  border-radius: 50%;
  color: #333;
}
.flatpickr-day:hover {
  background: #f0f6ff;
  border-color: #f0f6ff;
}
.flatpickr-day.today {
  border: none;
  font-weight: 600;
  color: var(--cl-brand-primary);
}
.flatpickr-day.today:hover {
  background: #f0f6ff;
  border-color: #f0f6ff;
  color: var(--cl-brand-primary);
}
.flatpickr-day.selected {
  background: var(--cl-brand-primary);
  border-color: var(--cl-brand-primary);
  color: #fff;
}
.flatpickr-day.selected:hover {
  background: var(--cl-brand-primary);
  border-color: var(--cl-brand-primary);
  color: var(--cl-white);
}
.flatpickr-day.flatpickr-disabled {
  color: #ccc;
}

/* Navigation arrows */
.flatpickr-prev-month,
.flatpickr-next-month {
  color: var(--cl-tx-body) !important;
  fill: var(--cl-tx-body) !important;
}

.flatpickr-days {
  width: 100%;
}

.flatpickr-weekdays {
  background: #f7f7f7;
  border-radius: 6px;
}

.dayContainer {
  width: 100%;
  min-width: inherit;
  max-width: none;
}

.flatpickr-today-btn {
  background: #f0f6ff;
  border: none;
  color: var(--cl-brand-primary);
  font-weight: 500;
  cursor: pointer;
  width: 100%;
}

/* Tables if needed */
/* ================================================== 
Objects: Container
================================================== */
.container {
  width: 100%;
  max-width: var(--ct-max);
  margin-inline: auto;
  padding-inline: 0;
}
@media screen and (max-width: 1568px) {
  .container {
    padding-inline: var(--container-pd-inline);
  }
}

.container--full {
  max-width: 100%;
}

.container--pd {
  padding-inline: var(--container-pd-inline);
}
.container--pd .container {
  padding-inline: 0;
}

.ctc-gap {
  display: flex;
  flex-direction: column;
  gap: var(--container-gap-row);
}

.ctc-gap-xl {
  display: flex;
  flex-direction: column;
  gap: var(--container-gap-row-xl);
}

.ctc-gap-sm {
  display: flex;
  flex-direction: column;
  gap: var(--container-gap-row-sm);
}

.lyt__post-detail {
  display: flex;
  column-gap: var(--gap-lg);
}
@media screen and (max-width: 1320px) {
  .lyt__post-detail {
    column-gap: var(--gap-md);
  }
}
@media screen and (max-width: 880px) {
  .lyt__post-detail {
    flex-direction: column;
    row-gap: var(--container-gap-row);
  }
}
.lyt__post-detail .post-content {
  flex: 1;
}
.lyt__post-detail .sidebar {
  width: var(--sidebar-width);
}
@media screen and (max-width: 880px) {
  .lyt__post-detail .sidebar {
    width: 100%;
  }
}
.lyt__post-detail .c-blog--content {
  padding-bottom: var(--gap-sm);
}
.lyt__row-post-list {
  display: flex;
  flex-direction: column;
  gap: var(--gap-lg);
}
@media screen and (max-width: 1320px) {
  .lyt__row-post-list {
    gap: var(--gap-md);
  }
}
@media screen and (max-width: 880px) {
  .lyt__row-post-list {
    gap: var(--gap-sm);
  }
}
.lyt__intro-offers h3 {
  color: var(--cl-brand-secondary);
}
.lyt__content-offers-description {
  max-width: var(--ct-intro-bg-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-md);
  width: 100%;
}
.lyt__content h1 {
  font-size: var(--fs-h2);
}
.lyt__content h2 {
  font-size: var(--fs-h3);
}
.lyt__content h3 {
  font-size: var(--fs-h4);
  margin: 30px 0 10px;
}
.lyt__content h4 {
  font-size: var(--fs-h5);
  margin: 20px 0 10px;
}

/* ================================================== 
Objects: Grid
================================================== */
.o-grid--2col {
  display: flex;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--grid-gap-xl);
}
@media screen and (max-width: 560px) {
  .o-grid--2col {
    grid-template-columns: 1fr;
  }
}
.o-grid--3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap-lg);
}
@media screen and (max-width: 880px) {
  .o-grid--3col {
    grid-template-columns: repeat(2, 1fr);
    row-gap: calc(var(--grid-gap-lg) * 1.5);
  }
}
@media screen and (max-width: 560px) {
  .o-grid--3col {
    grid-template-columns: 1fr;
    row-gap: calc(var(--grid-gap-xl) * 1.5);
  }
}
.o-grid--3col .no-posts {
  grid-column: 1/-1; /* Span all columns */
  text-align: center;
  padding: var(--grid-gap-lg);
}
.o-grid--4col {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--grid-gap-md);
}
@media screen and (max-width: 880px) {
  .o-grid--4col {
    grid-template-columns: repeat(2, 1fr);
    row-gap: calc(var(--grid-gap-md) * 1.5);
  }
}
@media screen and (max-width: 560px) {
  .o-grid--4col {
    grid-template-columns: 1fr;
    row-gap: calc(var(--grid-gap-md) * 1.5);
  }
}

/* ================================================== 
Objects: Flex
================================================== */
.o-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--grid-gap-lg);
}
@media screen and (max-width: 375px) {
  .o-flex {
    gap: var(--grid-gap-md);
  }
}
.o-flex--icon-col {
  display: flex;
  flex-direction: column;
  gap: var(--gap-xs);
}
.o-flex--icon-row {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  width: 100%;
}
.o-flex--icon-4cols {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-md) 0;
}
@media screen and (max-width: 880px) {
  .o-flex--icon-4cols {
    flex-direction: column;
  }
}
.o-flex--icon-4cols > div {
  width: calc(25% - var(--grid-gap-lg) * 0.75);
  flex: 0 0 auto;
}
@media screen and (max-width: 1024px) {
  .o-flex--icon-4cols > div {
    width: calc(33.3333% - var(--grid-gap-lg) * 0.6666666667);
  }
}
@media screen and (max-width: 880px) {
  .o-flex--icon-4cols > div {
    width: 100%;
  }
}
.o-flex--icon-wedding > div {
  width: 180px;
  flex: none;
  flex-flow: wrap;
  display: flex;
  flex-direction: column;
}
.o-flex--1row {
  display: flex;
  gap: var(--grid-gap-lg);
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .o-flex--1row {
    flex-flow: wrap;
  }
}
.o-flex--1row.benefits-list {
  gap: var(--grid-gap-xl);
}
@media screen and (max-width: 1024px) {
  .o-flex--1row.benefits-list {
    max-width: 800px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 880px) {
  .o-flex--1row.benefits-list {
    max-width: none;
    gap: var(--grid-gap-lg);
  }
}
@media screen and (max-width: 768px) {
  .o-flex--1row.benefits-list {
    column-gap: 30px;
    row-gap: 60px;
  }
}
@media screen and (max-width: 480px) {
  .o-flex--1row.benefits-list {
    row-gap: 30px;
  }
}
@media screen and (max-width: 650px) {
  .o-flex--1row.benefits-list > div {
    min-width: calc(33.33% - 20px);
    flex: 1;
  }
}
@media screen and (max-width: 480px) {
  .o-flex--1row.benefits-list > div {
    min-width: calc(50% - 15px);
    flex: 1;
  }
}
@media screen and (max-width: 430px) {
  .o-flex--1row.benefits-list > div {
    min-width: 120px;
  }
}
.o-flex--2col {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap-lg);
}
@media screen and (max-width: 880px) {
  .o-flex--2col {
    flex-direction: column;
  }
}
@media screen and (max-width: 480px) {
  .o-flex--2col .contact-intro h2 {
    font-size: 1.6rem;
  }
}
.o-flex--2col > div {
  flex: 1 1 calc(50% - var(--grid-gap-lg) / 2);
}
@media screen and (max-width: 880px) {
  .o-flex--2col > div {
    flex: 1 1 100%;
  }
}
.o-flex--3col {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap-lg);
}
@media screen and (max-width: 560px) {
  .o-flex--3col {
    flex-direction: column;
  }
}
.o-flex--3col > div {
  flex: 1 1 calc(33.3333% - var(--grid-gap-lg) * 2 / 3);
}
@media screen and (max-width: 1024px) {
  .o-flex--3col > div {
    flex: 1 1 calc(50% - var(--grid-gap-lg) / 2);
  }
}
@media screen and (max-width: 560px) {
  .o-flex--3col > div {
    flex: 1 1 100%;
  }
}
.o-flex--4col {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap-md);
}
@media screen and (max-width: 640px) {
  .o-flex--4col {
    flex-direction: column;
  }
}
.o-flex--4col > div {
  flex: 1 1 calc(25% - var(--grid-gap-md) * 3 / 4);
}
@media screen and (max-width: 1024px) {
  .o-flex--4col > div {
    flex: 1 1 calc(33.3333% - var(--grid-gap-md) * 2 / 3);
  }
}
@media screen and (max-width: 768px) {
  .o-flex--4col > div {
    flex: 1 1 calc(50% - var(--grid-gap-md) / 2);
  }
}
@media screen and (max-width: 640px) {
  .o-flex--4col > div {
    flex: 1 1 100%;
  }
}
.o-flex--2-1-col {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap-lg);
}
@media screen and (max-width: 880px) {
  .o-flex--2-1-col {
    flex-direction: column;
  }
}
.o-flex--2-1-col .media, .o-flex--2-1-col .col-span2 {
  width: calc(66.6667% - var(--grid-gap-lg) * 0.3333333333);
}
@media screen and (max-width: 1024px) {
  .o-flex--2-1-col .media, .o-flex--2-1-col .col-span2 {
    width: calc(60% - var(--grid-gap-lg) * 0.3333333333);
  }
}
@media screen and (max-width: 880px) {
  .o-flex--2-1-col .media, .o-flex--2-1-col .col-span2 {
    width: 100%;
  }
}
.o-flex--2-1-col .media .media, .o-flex--2-1-col .col-span2 .media {
  width: 100%;
}
.o-flex--2-1-col .content, .o-flex--2-1-col .col-span1 {
  width: calc(33.3333% - var(--grid-gap-lg) * 2 / 3);
}
@media screen and (max-width: 1024px) {
  .o-flex--2-1-col .content, .o-flex--2-1-col .col-span1 {
    width: calc(40% - var(--grid-gap-lg) * 2 / 3);
  }
}
@media screen and (max-width: 880px) {
  .o-flex--2-1-col .content, .o-flex--2-1-col .col-span1 {
    width: 100%;
    padding-block-end: 0;
  }
}
.o-flex {
  /*
  # Alternative syntax for 2, 3, and 4 column layouts using .item class for children
  # ================================================================= */
}
.o-flex.flex--2col .item {
  width: calc(50% - var(--grid-gap-lg) / 2);
}
@media screen and (max-width: 880px) {
  .o-flex.flex--2col .item {
    width: 100%;
  }
}
.o-flex.flex--3col .item {
  width: calc(33.33% - var(--grid-gap-lg) * 0.6666666667);
}
@media screen and (max-width: 880px) {
  .o-flex.flex--3col .item {
    width: calc(50% - var(--grid-gap-lg) / 2);
  }
}
@media screen and (max-width: 640px) {
  .o-flex.flex--3col .item {
    width: 100%;
  }
}
.o-flex.flex--4col .item {
  width: calc(25% - var(--grid-gap-lg) * 0.75);
}
@media screen and (max-width: 1024px) {
  .o-flex.flex--4col .item {
    width: calc(33.3333% - var(--grid-gap-lg) * 0.6666666667);
  }
}
@media screen and (max-width: 880px) {
  .o-flex.flex--4col .item {
    width: calc(50% - var(--grid-gap-lg) / 2);
  }
}

/* ==================================================
   Buttons
   ================================================== */
.btn, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4, .wpcf7-submit, input[type=reset], .cf7mls-btns .cf7mls_next.action-button, .cf7mls-btns .cf7mls_back.action-button, form.cf7mls input.wpcf7-form-control.wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--btn-radius);
  border: var(--btn-border-width) solid transparent;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  letter-spacing: var(--btn-letter-spacing);
  line-height: var(--btn-line-height);
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  user-select: none;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.btn:hover, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4:hover, .wpcf7-submit:hover, input[type=reset]:hover, .cf7mls-btns .cf7mls_next.action-button:hover, .cf7mls-btns .cf7mls_back.action-button:hover, form.cf7mls input.wpcf7-form-control.wpcf7-submit:hover {
  text-decoration: none;
  box-shadow: inset 0 0 20px 0 var(--btn-primary-bg);
}

.btn:focus-visible, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4:focus-visible, .wpcf7-submit:focus-visible, input[type=reset]:focus-visible, .cf7mls-btns .cf7mls_next.action-button:focus-visible, .cf7mls-btns .cf7mls_back.action-button:focus-visible, form.cf7mls input.wpcf7-form-control.wpcf7-submit:focus-visible {
  outline: none;
}

.btn:disabled, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4:disabled, .wpcf7-submit:disabled, input[type=reset]:disabled, .cf7mls-btns .cf7mls_next.action-button:disabled, .cf7mls-btns .cf7mls_back.action-button:disabled, form.cf7mls input.wpcf7-form-control.wpcf7-submit:disabled,
.btn.is-disabled,
.c-form--meeting-inquiry .wrapper-form .-formbuttons .is-disabled#cf7mls-back-btn-cf7mls_step-4,
.is-disabled.wpcf7-submit,
input.is-disabled[type=reset],
.cf7mls-btns .is-disabled.cf7mls_next.action-button,
.cf7mls-btns .is-disabled.cf7mls_back.action-button,
form.cf7mls input.is-disabled.wpcf7-form-control.wpcf7-submit {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* Sizes */
.btn--sm {
  --btn-padding-y: 6px;
  --btn-padding-x: 12px;
  --btn-font-size: 14px;
}
.btn--lg {
  --btn-padding-y: 14px;
  --btn-padding-x: 26px;
  --btn-font-size: 16px;
}

.btn--primary, .wpcf7-submit, .cf7mls-btns .cf7mls_next.action-button, form.cf7mls input.wpcf7-form-control.wpcf7-submit {
  background-color: var(--btn-primary-bg);
  color: var(--btn-primary-tx);
  border-color: var(--btn-primary-border);
}
.btn--primary:hover, .wpcf7-submit:hover, .cf7mls-btns .cf7mls_next.action-button:hover, form.cf7mls input.wpcf7-form-control.wpcf7-submit:hover {
  background: var(--btn-primary-bg-hover);
  color: var(--btn-primary-tx-hover);
  border-color: var(--btn-primary-border-hover);
}
.btn--secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-tx);
  border-color: var(--btn-secondary-border);
}
.btn--secondary:hover {
  background: var(--btn-secondary-bg-hover);
  color: var(--btn-secondary-tx-hover);
  border-color: var(--btn-secondary-border-hover);
}
.btn--outline, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4, input[type=reset], .cf7mls-btns .cf7mls_back.action-button {
  background: var(--btn-outline-bg);
  color: var(--btn-outline-tx);
  border-color: var(--btn-outline-bd);
}
.btn--outline:hover, .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4:hover, input[type=reset]:hover, .cf7mls-btns .cf7mls_back.action-button:hover {
  background: var(--btn-outline-bg-hover);
  color: var(--btn-outline-tx-hover);
  border-color: var(--btn-outline-bd-hover);
}
.btn--icon {
  background: var(--btn-icon-bg);
  color: var(--btn-icon-tx);
}
.btn--icon:hover {
  background: var(--btn-icon-bg-hover);
  color: var(--btn-icon-tx-hover);
}
.btn--close {
  display: flex;
  column-gap: 5px;
  align-items: center;
  cursor: pointer;
}
.btn--close .tx-close {
  font-size: 0.9rem;
  color: var(--cl-tx-body);
}
@media screen and (max-width: 430px) {
  .btn--close .tx-close {
    font-size: 0.8rem;
  }
}
.btn--close .ic-close {
  width: 20px;
  height: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.btn--close .ic-close span {
  width: 100%;
  height: 2px;
  display: block;
  position: relative;
  background-color: var(--cl-tx-body);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.btn--close .ic-close span:nth-child(1) {
  transform: rotate(45deg);
  top: 1px;
}
.btn--close .ic-close span:nth-child(2) {
  transform: rotate(-45deg);
  top: -1px;
}
.btn--close:hover .ic-close span {
  transform: rotate(0);
}
.btn--popup-close {
  position: absolute;
  content: "";
  z-index: 1;
  top: -25px;
  right: 0px;
  transition: all 0.6s ease 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 3px;
  color: #fff;
}
@media screen and (max-width: 560px) {
  .btn--popup-close {
    right: 10px;
    top: 10px;
  }
}
@media screen and (max-width: 480px) {
  .btn--popup-close {
    right: 5px;
    top: 5px;
  }
}
.btn--popup-close span {
  width: 100%;
  height: 1px;
  display: block;
  background-color: #fff;
  transition: all 0.6s ease 0s;
  transform-origin: center center;
}
.btn--popup-close span:nth-child(1) {
  top: 1px;
  position: relative;
  transform: rotate(45deg);
}
.btn--popup-close span:nth-child(2) {
  transform: rotate(-45deg);
}
.btn--popup-close:hover span:nth-child(1), .btn--popup-close:hover span:nth-child(2) {
  transform: rotate(0);
}
.btn--popup-close .text {
  font-size: var(--fs-small);
}
@media screen and (max-width: 480px) {
  .btn--popup-close .text {
    font-size: var(--fs-small);
  }
}
.btn--popup-close .icon {
  width: 10px;
  height: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 5px;
}

.a--line {
  background-color: var(--a-line-bg);
  color: var(--a-line-tx);
  text-decoration: none;
  position: relative;
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  letter-spacing: var(--btn-letter-spacing);
  line-height: var(--btn-line-height);
  text-decoration: none;
  text-transform: uppercase;
}
.a--line:hover {
  background: var(--btn-line-bg-hover);
  color: var(--a-line-tx-hover);
  text-decoration: none;
}
.a--line::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  left: 0;
  bottom: -3px;
  background-color: var(--a-line-tx);
  transition: all 0.4s var(--transition-timing) var(--transition-delay);
}
.a--line:hover::after {
  background-color: var(--a-line-tx-hover);
  transform: scaleX(0);
}

.edit-link {
  position: fixed;
  z-index: 999;
  left: 0;
  bottom: 80px;
}
.edit-link .post-edit-link {
  background-color: #fff;
  padding: 10px 20px 7px;
  border-right: 4px solid var(--cl-brand-primary);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  column-gap: 5px;
  font-size: 0.85rem;
  text-transform: uppercase;
  text-decoration: none;
}
.edit-link .post-edit-link:before {
  position: relative;
  content: "";
  background: url(../images/icon--edit.svg) no-repeat center center;
  margin-right: 5px;
  width: 15px;
  height: 15px;
  display: inline-block;
  top: -2px;
}

.is-inverse .btn--outline, .is-inverse .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4, .c-form--meeting-inquiry .wrapper-form .-formbuttons .is-inverse #cf7mls-back-btn-cf7mls_step-4, .is-inverse input[type=reset], .is-inverse .cf7mls-btns .cf7mls_back.action-button, .cf7mls-btns .is-inverse .cf7mls_back.action-button {
  color: var(--btn-outline-tx-inverse);
  border-color: var(--btn-outline-bd-inverse);
}
.is-inverse .btn--outline:hover, .is-inverse .c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4:hover, .c-form--meeting-inquiry .wrapper-form .-formbuttons .is-inverse #cf7mls-back-btn-cf7mls_step-4:hover, .is-inverse input[type=reset]:hover, .is-inverse .cf7mls-btns .cf7mls_back.action-button:hover, .cf7mls-btns .is-inverse .cf7mls_back.action-button:hover {
  color: var(--btn-outline-tx-hover-inverse);
  border-color: var(--btn-outline-bd-hover-inverse);
  background-color: var(--btn-outline-bg-hover-inverse);
  text-decoration: none;
}

/* ==================================================
   Cards (Luxury / Minimal)
   ================================================== */
.c-card {
  display: flex;
  flex-direction: column;
  background-color: var(--cl-bg-surface);
}
.c-card .content {
  display: flex;
  flex-direction: column;
  padding: var(--card-content-pd-wrapper);
}
.c-card .card__intro {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: var(--card-content-gap-row);
}
.c-card .card__intro .link {
  padding-top: var(--card-link-pd-top);
}

.card--highlight {
  position: relative;
}
.card--highlight a {
  display: block;
  text-decoration: none;
  cursor: pointer;
  position: relative;
}
.card--highlight a::before, .card--highlight a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.card--highlight a::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 62, 153, 0.6) 100%);
  opacity: 1;
}
.card--highlight a::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 62, 153, 0.85) 100%);
  opacity: 0;
}
.card--highlight a:hover::before {
  opacity: 0;
}
.card--highlight a:hover::after {
  opacity: 1;
}
.card--highlight a:hover .media img {
  transform: scale(1.05);
}
.card--highlight .media {
  position: relative;
  overflow: hidden;
}
.card--highlight .media img {
  aspect-ratio: var(--img-ratio-hero-card);
  object-fit: cover;
  width: 100%;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.card--highlight .content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  color: var(--cl-white);
}
.card--highlight .content .title h4 {
  color: var(--cl-white);
  margin: 0;
  text-transform: none;
  font-weight: var(--fw-regular);
}
.card--highlight .content .subtitle {
  font-size: var(--fs-body);
  line-height: var(--lh-content-card);
  margin-top: calc(var(--card-content-gap-row) * -0.3);
}
.card--highlight .content .description {
  line-height: var(--lh-content-card);
  padding-top: var(--card-content-gap-row);
}
.card--highlight .content i {
  margin-right: 5px;
}
.card--icon-benefit {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: var(--card-content-gap-row);
  background-color: inherit !important;
}
.card--icon-benefit .icon i {
  font-size: 3rem;
  color: var(--cl-brand-primary);
}
@media screen and (max-width: 430px) {
  .card--icon-benefit .icon i {
    font-size: 2.5rem;
  }
}
.card--icon-benefit h4 {
  font-weight: var(--fw-regular);
  color: var(--cl-tx-body);
  font-size: var(--fs-icon-title);
}
@media screen and (max-width: 768px) {
  .card--icon-benefit h4 {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  .card--icon-benefit h4 {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 375px) {
  .card--icon-benefit h4 {
    font-size: 0.9rem;
  }
}
.card--icon-benefit .content {
  padding: 0;
}
.card--icon-benefit .description {
  margin-top: -10px;
}
.card--hotel {
  display: flex;
  flex-direction: column;
  background-color: var(--cl-white);
}
.card--hotel .media {
  overflow: hidden;
}
.card--hotel .media img {
  width: 100%;
  aspect-ratio: 8/7.2;
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
}
.card--hotel .media a:hover img {
  transform: scale(1.03);
}
.card--hotel .content {
  flex: 1;
  padding: var(--sp-4) 0 0 0;
}
.card--hotel .content .location {
  font-size: var(--fs-card-location);
}
.card--hotel .content .location i {
  font-size: var(--fs-h4);
  position: relative;
  top: 2px;
}
.card--hotel .content .location + .title {
  margin-top: calc(var(--card-content-gap-row) * -0.3);
}
.card--hotel .content .description {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 650px) {
  .card--hotel .content .link {
    flex-flow: wrap;
  }
}
.card--icon-feature-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid var(--cl-border);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  background: var(--cl-white);
  padding: var(--card-content-pd-wrapper-md);
  row-gap: var(--grid-gap-sm);
}
.card--icon-feature-grid .icon i {
  font-size: 3.8rem;
  color: var(--cl-brand-primary);
}
.card--icon-feature-grid .content, .card--icon-feature-grid .card__intro {
  padding: 0;
}
.card--icon-feature-grid h4 {
  font-weight: var(--fw-regular);
  font-size: var(--fs-icon-title);
}
.card--icon-feature-grid .description {
  margin-top: -10px;
}
.card--icon-feature-grid:hover {
  background: var(--cl-bg-section);
}
.card--icon-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  background: none;
  padding: var(--card-content-pd-wrapper-md);
  row-gap: var(--card-content-gap-row);
}
@media screen and (max-width: 1440px) {
  .card--icon-feature {
    padding: 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .card--icon-feature {
    min-width: 30%;
  }
}
@media screen and (max-width: 650px) {
  .card--icon-feature {
    min-width: 25%;
  }
}
@media screen and (max-width: 480px) {
  .card--icon-feature {
    padding: 20px 0;
  }
}
@media screen and (max-width: 430px) {
  .card--icon-feature {
    min-width: 130px;
    padding: 10px;
  }
}
.card--icon-feature .icon i {
  font-size: 3.8rem;
  color: var(--cl-brand-primary);
}
@media screen and (max-width: 1024px) {
  .card--icon-feature .icon i {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 480px) {
  .card--icon-feature .icon i {
    font-size: 2.8rem;
  }
}
.card--icon-feature .content, .card--icon-feature .card__intro {
  padding: 0;
}
.card--icon-feature h4 {
  font-weight: var(--fw-regular);
  color: var(--cl-tx-body);
  font-size: var(--fs-icon-title);
}
@media screen and (max-width: 1024px) {
  .card--icon-feature h4 {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  .card--icon-feature h4 {
    font-size: 1rem;
  }
}
.card--icon-feature .description {
  margin-top: -10px;
}
.card--icon-feature.nopd {
  padding: 0;
}
.card--icon-feature-highlight {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  row-gap: var(--gap-xs);
}
.card--icon-feature-highlight i {
  font-size: 2.8rem;
  color: var(--color-primary);
}
.card--icon-feature-highlight i.icon-summer-holiday {
  transform: scale(1.08);
}
.card--icon-feature-highlight .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.card--icon-feature-highlight .content {
  text-align: center;
}
.card--icon-feature-highlight .title h5 {
  text-transform: none;
}
.card--blog {
  display: flex;
  flex-direction: column;
  background-color: inherit !important;
}
.card--blog .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--sp-4) 0 0 0;
  row-gap: var(--card-content-gap-row);
}
.card--blog .media {
  overflow: hidden;
}
.card--blog .media img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
}
.card--blog .media a:hover img {
  transform: scale(1.03);
}
.card--blog .category {
  font-size: var(--fs-caption);
  color: var(--cl-gray-500);
}
.card--blog .category a {
  text-decoration: none;
  color: var(--cl-gray-500);
}
.card--blog .category a:hover {
  color: var(--cl-tx-link-hover);
}
.card--blog .category + .title {
  margin-top: -0.5rem;
}
.card--blog .title h3 {
  font-size: var(--fs-h4);
  line-height: var(--lh-h3-title);
  color: var(--cl-tx-header);
  font-weight: var(--fw-medium);
  margin: 0;
}
.card--blog .title a {
  text-decoration: none;
}
.card--blog .description {
  flex: 1;
}
.card--blog .description .wrap--description {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.card--blog .link {
  padding-top: var(--card-link-pd-top);
}
.card--blog .icon-highlights-room {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}
.card--blog.experiences .media img {
  aspect-ratio: var(--img-ratio-card);
}
.card--blog.meetings .description .wrap--description {
  -webkit-line-clamp: 2;
}
.card--guide {
  display: flex;
  flex-direction: column;
  background-color: var(--cl-bg-section);
}
.card--guide .content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.card--guide h3 {
  font-size: var(--fs-h4);
  color: var(--cl-tx-header);
  font-weight: var(--fw-medium);
  margin: 0;
}
@media screen and (max-width: 768px) {
  .card--guide h3 {
    font-size: 1.3rem;
  }
}
.card--guide .title a {
  text-decoration: none;
}
.card--guide .tags {
  font-size: var(--fs-caption);
  color: var(--cl-tx-body);
  margin-top: -0.5rem;
}
.card--guide .tags i {
  padding-right: 5px;
  font-size: 1.2rem;
  position: relative;
  top: 4px;
  color: var(--tag-card-tx);
}
.card--guide .tags a {
  color: var(--tag-card-tx);
  background-color: var(--tag-card-bg);
  padding: var(--tag-card-padding);
  border-radius: var(--tag-card-radius);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.card--guide .tags a:hover {
  background-color: var(--tag-card-bg-hover);
  color: var(--tag-card-tx-hover);
  text-decoration: none;
}
.card--guide .description {
  flex: 1;
}
.card--guide .description .wrap--description {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.card--guide .media {
  overflow: hidden;
}
.card--guide .media img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
}
.card--guide .media a:hover img {
  transform: scale(1.03);
}
.card--guide.offer {
  height: 100%;
}
.card--guide.offer .content {
  row-gap: 10px;
}
.card--guide.offer .subtitle {
  font-size: var(--fs-body);
  color: var(--cl-brand-secondary);
  flex: 1;
}
.card--guide.offer .link {
  padding-top: var(--sp-2);
}
.card--alt-media {
  padding: var(--card-content-pd-wrapper-lg);
}
@media screen and (max-width: 1200px) {
  .card--alt-media {
    padding: var(--card-content-pd-wrapper-md);
  }
}
@media screen and (max-width: 430px) {
  .card--alt-media h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 375px) {
  .card--alt-media h2 {
    font-size: 22px;
  }
}
.card--alt-media .c-highlight ul {
  list-style-type: none;
  padding-left: 0;
}
.card--alt-media .c-highlight ul li {
  position: relative;
  padding-left: 25px;
}
.card--alt-media .c-highlight ul li::before {
  content: "✅";
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 0.9rem;
}
.card--alt-media.offers .subtitle h3 {
  font-size: var(--fs-h5);
  color: var(--cl-brand-secondary);
}
.card--alt-media.offers .description {
  display: flex;
  flex-direction: column;
  row-gap: var(--sp-3);
}
.card--mediaslider {
  background-color: inherit !important;
}
.card--mediaslider .content {
  padding: var(--sp-4) 0 0 0;
}
.card--mediaslider img {
  aspect-ratio: var(--img-ratio-hero);
}
.card--mediaslider .c-intro {
  row-gap: var(--sp-2);
}
.card--mediaslider .link {
  padding-top: var(--sp-2);
}
.card--slider-media-list {
  display: flex;
}
@media screen and (max-width: 980px) {
  .card--slider-media-list {
    flex-direction: column;
  }
}
.card--slider-media-list .media {
  width: 50%;
}
@media screen and (max-width: 980px) {
  .card--slider-media-list .media {
    width: 100%;
  }
}
.card--slider-media-list .media .wrapper {
  width: 120%;
  margin-right: -20%;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .card--slider-media-list .media .wrapper {
    width: 130%;
    margin-right: -30%;
  }
}
@media screen and (max-width: 980px) {
  .card--slider-media-list .media .wrapper {
    width: 100%;
    margin-right: 0;
  }
}
.card--slider-media-list .media .wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 1;
}
.card--slider-media-list .media img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
}
.card--slider-media-list .media a:hover img {
  transform: scale(1.03);
}
.card--slider-media-list .content {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 980px) {
  .card--slider-media-list .content {
    width: 100%;
  }
}
.card--slider-media-list .c-card {
  min-height: 400px;
  justify-content: center;
}
@media screen and (max-width: 980px) {
  .card--slider-media-list .c-card {
    min-height: auto;
    padding: 60px;
  }
}
@media screen and (max-width: 560px) {
  .card--slider-media-list .c-card {
    padding: var(--card-content-pd-wrapper-lg);
  }
}
.card--slider-media-list .c-intro {
  row-gap: var(--sp-3);
}
.card--slider-media-list .c-intro.offers .subtitle, .card--slider-media-list .c-intro.wedding-package .subtitle, .card--slider-media-list .c-intro.blog .subtitle, .card--slider-media-list .c-intro.custom-slide .subtitle {
  margin-top: 0;
}
@media screen and (max-width: 1024px) {
  .card--slider-media-list .c-intro.offers .subtitle, .card--slider-media-list .c-intro.wedding-package .subtitle, .card--slider-media-list .c-intro.blog .subtitle, .card--slider-media-list .c-intro.custom-slide .subtitle {
    margin-top: -5px;
  }
}
.card--slider-media-list .c-intro.offers .subtitle h3, .card--slider-media-list .c-intro.wedding-package .subtitle h3, .card--slider-media-list .c-intro.blog .subtitle h3, .card--slider-media-list .c-intro.custom-slide .subtitle h3 {
  font-size: var(--fs-h5);
  color: var(--cl-brand-secondary);
}
@media screen and (max-width: 1200px) {
  .card--slider-media-list .title h2 {
    font-size: 1.65rem;
  }
}
@media screen and (max-width: 1024px) {
  .card--slider-media-list .title h2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 430px) {
  .card--slider-media-list .title h2 {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1200px) {
  .card--slider-media-list .description {
    font-size: 0.85rem;
  }
}
.card--slider-media-list .link {
  padding-top: var(--sp-2);
}
@media screen and (max-width: 980px) {
  .card--slider-media-list .link {
    justify-content: center;
    display: flex;
  }
}
.card--overlay {
  position: relative;
}
.card--overlay .media {
  position: relative;
  overflow: hidden;
  background: #000;
}
.card--overlay .media img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
  opacity: 0.7;
}
.card--overlay .content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: var(--card-content-pd-wrapper-lg);
  z-index: 1;
  color: var(--cl-white);
}
.card--overlay .content h3 {
  font-size: var(--fs-h2);
  color: var(--cl-white);
  margin: 0;
}
@media screen and (max-width: 430px) {
  .card--overlay .content h3 {
    font-size: 24px;
  }
}
@media screen and (max-width: 375px) {
  .card--overlay .content h3 {
    font-size: 22px;
  }
}
.card--overlay .content .link {
  padding-top: var(--sp-4);
}
.card--overlay:hover img {
  transform: scale(1.03);
}
.card--dining .media {
  overflow: hidden;
}
.card--dining .media img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  transition: all 1s var(--transition-timing) var(--transition-delay);
}
.card--dining .media a:hover img {
  transform: scale(1.03);
}
.card--dining .content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: var(--card-content-gap-row);
}
.card--dining .content .title h3 {
  margin: 0;
}
.card--dining .content .title a {
  text-decoration: none;
}
.card--dining .content .description {
  flex: 1;
}
.card--dining .content .link {
  padding-top: var(--card-link-pd-top);
}
.card--alt-media--facilities {
  padding: var(--card-content-pd-wrapper-lg);
}
.card--alt-media--facilities .c-intro {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: var(--card-content-gap-row);
}
.card--alt-media--facilities .c-intro .title h3 {
  margin: 0;
  color: var(--cl-brand-primary);
}
.card--alt-media--facilities .c-intro .title a {
  text-decoration: none;
}
.card--alt-media--facilities .c-intro .subtitle {
  padding-top: var(--sp-3);
}
.card--alt-media--facilities .c-intro .subtitle h4 {
  font-weight: normal;
  font-size: var(--fs-body);
  color: var(--cl-brand-secondary);
}
.card--alt-media--facilities .c-intro .description {
  flex: 1;
}
.card--alt-media--facilities .c-intro .icon-highlights-room {
  padding-top: var(--sp-3);
  width: 100%;
}
.card--alt-media--facilities .c-intro .link {
  padding-top: var(--card-link-pd-top);
}

/* ----------------------------------
   Context: Background Section Cards
   ---------------------------------- */
.u-bg-section .c-card {
  background: var(--cl-bg-surface-inverse);
}
.u-bg-section .card--icon-feature {
  background: none;
}

/* ==================================================
   Contact Form 7 (CF7)
   ================================================== */
.wpcf7 form {
  display: grid;
  gap: var(--form-gap);
  overflow: inherit;
}

/* Make CF7 full width fields look consistent */
.wpcf7-form-control-wrap {
  display: block;
}

/* Validation */
.wpcf7-not-valid {
  border-color: var(--cl-status-error) !important;
  box-shadow: 0 0 0 4px rgba(223, 72, 17, 0.14) !important;
}

.wpcf7-not-valid-tip {
  font-size: var(--help-size);
  color: var(--cl-status-error);
  margin-top: 8px;
}

.wpcf7-response-output {
  margin: 0;
  padding: var(--sp-2);
  border-radius: var(--field-radius);
  border: 1px solid var(--cl-gray-300);
  background: var(--cl-bg-section-soft);
  color: var(--cl-tx-body);
  text-align: center;
}

.wpcf7-spinner {
  position: absolute;
}

/* Submit button inherits your button system */
.wpcf7 form .wpcf7-response-output {
  border-width: 1px;
  margin: 0;
  padding: var(--sp-2);
}

.wpcf7 form.sent .wpcf7-response-output {
  background-color: var(--cl-status-success);
  border-color: var(--cl-status-success);
  color: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
  background-color: var(--cl-status-error);
  border-color: var(--cl-status-error);
  color: #fff;
}

.fieldset-cf7mls-wrapper div.wpcf7-validation-errors {
  background-color: var(--cl-status-error);
  border-color: var(--cl-status-error);
  color: #fff;
  margin: 0;
  padding: var(--sp-2);
}

.wpcf7-radio {
  display: flex;
  gap: var(--sp-2);
}
.wpcf7-radio .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
.wpcf7-radio .wpcf7-list-item label {
  margin: 0;
}
.wpcf7-radio .wpcf7-list-item input {
  margin: 0;
}

.cf7mls-btns .cf7mls_next.action-button {
  padding: var(--btn-padding-y) var(--btn-padding-x);
}
.cf7mls-btns .cf7mls_back.action-button {
  padding: var(--btn-padding-y) var(--btn-padding-x);
}

.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-5);
}
.wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item label {
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item input {
  margin: 0;
}

/* Contact block */
.c-form--airport-transfer .wrapper-title h3 {
  margin: 0 0 var(--sp-4);
  color: var(--cl-brand-primary);
}
.c-form--airport-transfer .wrapper-form {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-4);
}
.c-form--airport-transfer .wrapper-form .row {
  grid-column: span 3;
  position: relative;
}
.c-form--airport-transfer .wrapper-form .-noofguest, .c-form--airport-transfer .wrapper-form .-adults, .c-form--airport-transfer .wrapper-form .-children {
  grid-column: span 2;
}
.c-form--airport-transfer .wrapper-form .-transfertype {
  grid-column: span 6;
}
.c-form--airport-transfer .wrapper-form .section-label, .c-form--airport-transfer .wrapper-form .-remark {
  grid-column: span 6;
}
.c-form--airport-transfer .wrapper-form .section-label {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-weight: var(--fw-500);
  margin: var(--sp-4) 0 var(--sp-2);
}
.c-form--airport-transfer .wrapper-form .section-label::before {
  content: "";
  width: 20px;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--airport-transfer .wrapper-form .section-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--airport-transfer .group-leg2 {
  grid-column: span 6;
}

.c-form--wedding .wrapper-form {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-4);
}
.c-form--wedding .wrapper-form .row {
  grid-column: span 3;
  position: relative;
}
.c-form--wedding .wrapper-form .-enquiry {
  grid-column: span 6;
}
.c-form--wedding .wrapper-form .section-label {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-weight: var(--fw-500);
  margin: var(--sp-4) 0 var(--sp-2);
}
.c-form--wedding .wrapper-form .section-label::before {
  content: "";
  width: 20px;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--wedding .wrapper-form .section-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--wedding .wpcf7-spinner {
  top: 28px;
}

.c-form--newsletter {
  display: flex;
  max-width: 90%;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .c-form--newsletter {
    max-width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .c-form--newsletter {
    max-width: 520px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .c-form--newsletter {
    max-width: 420px;
    margin-top: 30px;
  }
}
.c-form--newsletter .row {
  position: relative;
}
.c-form--newsletter .-email {
  flex: 1;
}
.c-form--newsletter .-email input {
  border-radius: var(--btn-radius) 0 0 var(--btn-radius);
  border: 0;
  padding: var(--btn-padding-y) var(--btn-padding-x) var(--btn-padding-y) calc(var(--btn-padding-x) * 0.8);
}
.c-form--newsletter .-submit {
  width: 110px;
}
@media screen and (max-width: 1100px) {
  .c-form--newsletter .-submit {
    width: 100px;
  }
}
@media screen and (max-width: 1024px) {
  .c-form--newsletter .-submit {
    width: 120px;
  }
}
@media screen and (max-width: 430px) {
  .c-form--newsletter .-submit {
    width: 100px;
  }
}
.c-form--newsletter .-submit .btn.submit, .c-form--newsletter .-submit .c-form--meeting-inquiry .wrapper-form .-formbuttons .submit#cf7mls-back-btn-cf7mls_step-4, .c-form--meeting-inquiry .wrapper-form .-formbuttons .c-form--newsletter .-submit .submit#cf7mls-back-btn-cf7mls_step-4 {
  border-radius: 0 var(--btn-radius) var(--btn-radius) 0;
  padding: var(--btn-padding-y) var(--btn-padding-x) var(--btn-padding-y) calc(var(--btn-padding-x) * 0.8);
  display: inline-flex;
}
@media screen and (max-width: 1100px) {
  .c-form--newsletter .-submit .btn.submit, .c-form--newsletter .-submit .c-form--meeting-inquiry .wrapper-form .-formbuttons .submit#cf7mls-back-btn-cf7mls_step-4, .c-form--meeting-inquiry .wrapper-form .-formbuttons .c-form--newsletter .-submit .submit#cf7mls-back-btn-cf7mls_step-4 {
    padding: var(--btn-padding-y) 0;
  }
}
@media screen and (max-width: 375px) {
  .c-form--newsletter .-submit .btn.submit, .c-form--newsletter .-submit .c-form--meeting-inquiry .wrapper-form .-formbuttons .submit#cf7mls-back-btn-cf7mls_step-4, .c-form--meeting-inquiry .wrapper-form .-formbuttons .c-form--newsletter .-submit .submit#cf7mls-back-btn-cf7mls_step-4 {
    padding: 9px 0 7px;
  }
}
.c-form--newsletter .bar-email-error {
  position: absolute;
  bottom: -25px;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--cl-status-error);
  font-size: 13px;
  margin: 0;
}

.c-form--popup-newsletter {
  position: relative;
}
.c-form--popup-newsletter .wrapper-form {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-4);
}
.c-form--popup-newsletter .wrapper-form .row {
  grid-column: span 3;
  position: relative;
}
.c-form--popup-newsletter .wrapper-form .-submit {
  grid-column: span 6;
  padding-top: var(--sp-4);
}
.c-form--popup-newsletter .wrapper-form [type=date] {
  height: 50px;
}

.c-form--contactus {
  padding: var(--card-content-pd-wrapper-md);
  row-gap: var(--gap-sm);
  display: flex;
  flex-direction: column;
}
.c-form--contactus .fm__fillbox {
  display: grid;
  gap: var(--form-gap);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 430px) {
  .c-form--contactus .fm__fillbox {
    grid-template-columns: 1fr;
  }
}
.c-form--contactus .-subject, .c-form--contactus .-message, .c-form--contactus .-note, .c-form--contactus .-submit {
  grid-column: span 2;
}
@media screen and (max-width: 430px) {
  .c-form--contactus .-subject, .c-form--contactus .-message, .c-form--contactus .-note, .c-form--contactus .-submit {
    grid-column: span 1;
  }
}
.c-form--contactus .-submit {
  padding-top: var(--form-gap);
}
.c-form--contactus .-submit .fm_input {
  display: flex;
  column-gap: var(--form-gap);
  position: relative;
}

.c-form--meeting-inquiry .wrapper-form {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--sp-4);
}
.c-form--meeting-inquiry .wrapper-form .row {
  grid-column: span 3;
  position: relative;
}
.c-form--meeting-inquiry .wrapper-form .-enquiry, .c-form--meeting-inquiry .wrapper-form .-decision, .c-form--meeting-inquiry .wrapper-form .-addresstype, .c-form--meeting-inquiry .wrapper-form .-eventname, .c-form--meeting-inquiry .wrapper-form .-attachment, .c-form--meeting-inquiry .wrapper-form .form-hint, .c-form--meeting-inquiry .wrapper-form .-roomtable, .c-form--meeting-inquiry .wrapper-form .-amenities, .c-form--meeting-inquiry .wrapper-form .-submit,
.c-form--meeting-inquiry .wrapper-form .-whatspace, .c-form--meeting-inquiry .wrapper-form .-maximumroom, .c-form--meeting-inquiry .wrapper-form .-configuration, .c-form--meeting-inquiry .wrapper-form .-eventdate {
  grid-column: span 6;
}
.c-form--meeting-inquiry .wrapper-form .section-label {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-weight: var(--fw-500);
  margin: var(--sp-4) 0 var(--sp-2);
  grid-column: span 6;
}
.c-form--meeting-inquiry .wrapper-form .section-label::before {
  content: "";
  width: 20px;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--meeting-inquiry .wrapper-form .section-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--cl-gray-300);
}
.c-form--meeting-inquiry .wrapper-form .tx .fm_in {
  padding-top: var(--sp-2);
}
.c-form--meeting-inquiry .wrapper-form .fm_tx h4 {
  font-size: var(--fs-h5);
  margin: 0;
  color: var(--cl-tx-body);
}
.c-form--meeting-inquiry .wrapper-form .fm_tx h4 span {
  font-weight: var(--fw-regular);
}
.c-form--meeting-inquiry .wrapper-form .room-type-table {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4);
}
.c-form--meeting-inquiry .wrapper-form .room-type-table .room-type-item {
  display: flex;
  flex-direction: column;
}
.c-form--meeting-inquiry .wrapper-form .room-type-table .room-type-item .input {
  flex-grow: 1;
  display: flex;
  align-items: center;
}
.c-form--meeting-inquiry .wrapper-form .room-type-table .room-type-item .input span {
  width: 100%;
}
.c-form--meeting-inquiry .wrapper-form .-amenities {
  padding-top: 10px;
}
.c-form--meeting-inquiry .wrapper-form .-eventdate {
  margin-bottom: var(--sp-4);
}
.c-form--meeting-inquiry .wrapper-form .-eventdate i {
  font-size: 22px;
  color: var(--cl-tx-body);
  margin-right: var(--sp-2);
}
.c-form--meeting-inquiry .wrapper-form .-eventdate .fm_in {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.c-form--meeting-inquiry .wrapper-form .-eventdate .start-date-box, .c-form--meeting-inquiry .wrapper-form .-eventdate .end-date-box {
  display: flex;
  align-items: center;
  gap: var(--sp-1);
}
.c-form--meeting-inquiry .wrapper-form .-eventdate .title {
  font-weight: var(--fw-regular);
  width: 75px;
}
.c-form--meeting-inquiry .wrapper-form .-roomtable .totalrooms {
  text-align: center;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .fm_tx {
  padding-bottom: 10px;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-5) var(--sp-2);
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item {
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  border: 1px solid var(--cl-gray-300);
  text-align: center;
  border-radius: var(--card-radius);
  display: inline-flex;
  margin: 0 !important;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-icon-box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-icon-box i {
  font-size: 40px;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-label-row {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: var(--sp-3);
  flex-grow: 1;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-label-row label {
  font-size: var(--fs-caption);
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 10px;
  width: 100%;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-label-row label i {
  font-size: 40px;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-checkbox .wpcf7-list-item .config-label-row [type=checkbox] {
  min-height: inherit;
  margin-top: 3px;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-list-item > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 24px;
  border: 1.5px solid #d0d5dd;
  border-radius: 12px;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: #fff;
  min-width: 120px;
  text-align: center;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-list-item input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-list-item label {
  cursor: pointer;
  font-size: 14px;
  color: #344054;
  margin: 0;
}
.c-form--meeting-inquiry .wrapper-form .-configuration .wpcf7-list-item.is-checked {
  border-color: var(--cl-brand-primary);
  box-shadow: 0 0 0 3px rgba(21, 112, 239, 0.15);
}
.c-form--meeting-inquiry .wrapper-form.step1 .-email {
  grid-column: span 6;
}
.c-form--meeting-inquiry .wrapper-form {
  /* Summary section */
}
.c-form--meeting-inquiry .wrapper-form #event-summary-container {
  grid-column: span 6;
}
.c-form--meeting-inquiry .wrapper-form .summary-section {
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 8px;
}
.c-form--meeting-inquiry .wrapper-form .summary-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  cursor: pointer;
}
.c-form--meeting-inquiry .wrapper-form .summary-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}
.c-form--meeting-inquiry .wrapper-form .summary-toggle {
  font-size: 14px;
  color: #999;
  line-height: 1;
}
.c-form--meeting-inquiry .wrapper-form .summary-toggle.is-collapsed {
  transform: rotate(-90deg);
}
.c-form--meeting-inquiry .wrapper-form .summary-body {
  padding-bottom: 16px;
}
.c-form--meeting-inquiry .wrapper-form .summary-body.collapsed {
  display: none;
}
.c-form--meeting-inquiry .wrapper-form {
  /* Summary rows */
}
.c-form--meeting-inquiry .wrapper-form .summary-row {
  display: flex;
  gap: 12px;
  padding: 4px 0;
  font-size: 14px;
}
.c-form--meeting-inquiry .wrapper-form .summary-label {
  color: var(--cl-tx-body);
  min-width: 140px;
  flex-shrink: 0;
}
.c-form--meeting-inquiry .wrapper-form .summary-value {
  color: var(--cl-tx-body);
  font-weight: 500;
}
.c-form--meeting-inquiry .wrapper-form .-formbuttons {
  grid-column: span 6;
  display: flex;
  justify-content: space-between;
  gap: var(--sp-4);
}
.c-form--meeting-inquiry .wrapper-form .-formbuttons #cf7mls-back-btn-cf7mls_step-4 {
  padding: var(--btn-padding-y) var(--btn-padding-x);
}
.c-form--meeting-inquiry .wpcf7-spinner {
  top: 28px;
}

.ts-wrapper.single .ts-control {
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  background: transparent;
  padding: 8px 0;
  font-size: 15px;
}

.ts-dropdown {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  border: 1px solid #eee;
}

.ts-dropdown .option {
  padding: 10px 16px;
  font-size: 14px;
}

.ts-dropdown .option:hover, .ts-dropdown .option.active {
  background: #f0f6ff;
  color: #1a2e6c;
}

#country-region-ts-control, #country-code-ts-control, #country-ts-control {
  z-index: 9999;
  background: #fff !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: auto;
  flex: none;
  padding: 5px 10px !important;
}

.u-form .ts-wrapper .ts-control {
  height: 50px;
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  background: var(--cl-white) !important;
  padding: 0 var(--field-padding-x);
  overflow: inherit;
}
.u-form .ts-wrapper .ts-control .item {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  padding-inline: 0;
  padding-block: var(--field-padding-y);
}
.u-form .ts-wrapper .ts-control .item.ts-choice {
  padding: 0;
}
.u-form .ts-dropdown {
  margin: 0;
}

.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  border: 0;
  background: none;
  cursor: pointer;
  z-index: 5;
  font-size: 0;
  width: 200px;
  max-width: 10%;
}
.slick-arrow::before {
  font-family: "icomoon" !important;
  font-size: var(--slick-arrow-size);
  color: var(--slick-arrow-tx);
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  opacity: 0;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.slick-arrow:hover::before {
  opacity: 1;
}
.slick-arrow.slick-prev {
  left: 0;
}
.slick-arrow.slick-prev::before {
  content: "\e91f";
  margin-right: -2rem;
}
.slick-arrow.slick-prev:hover::before {
  margin-right: 0rem;
}
.slick-arrow.slick-next {
  right: 0;
}
.slick-arrow.slick-next::before {
  content: "\e920";
  margin-left: -2rem;
}
.slick-arrow.slick-next:hover::before {
  margin-left: 0rem;
}

/* Dots (minimal) */
.slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: var(--slick-dot-gap);
  padding: 0;
  list-style: none;
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
}
@media screen and (max-width: 480px) {
  .slick-dots {
    bottom: 1rem;
  }
}
.slick-dots li {
  margin: 0;
  padding: 0;
  line-height: 0;
}
.slick-dots button {
  width: var(--slick-dot-size);
  height: var(--slick-dot-size);
  border-radius: 999px;
  border: 1px solid var(--slick-dot-bd);
  padding: 0;
  background: var(--slick-dot-bg);
  font-size: 0;
  overflow: hidden;
  cursor: pointer;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.slick-dots li.slick-active button {
  background: var(--slick-dot-bg-active);
  border-color: var(--slick-dot-bd-active);
}

/* Base wrapper */
.slick-slider {
  position: relative;
}
.slick-slider .slick-track:before, .slick-slider .slick-track:after {
  display: none;
}
.slick-slider .slick-slide {
  display: block;
}
.slick-slider .slick-slide > div {
  display: flex;
}

/* Optional spacing between slides */
.sd-slick--gap .slick-list {
  margin-inline: calc(var(--slick-gap) * -0.5);
}
.sd-slick--gap .slick-slide {
  padding-inline: calc(var(--slick-gap) * 0.5);
}

/* Inverse context theme switch */
.is-inverse {
  --slick-dot-bg: rgba(0, 0, 0, 0);
  --slick-dot-bg-active: var(--cl-brand-primary);
  --slick-dot-bd: var(--cl-gray-500);
  --slick-dot-bd-active: var(--cl-brand-primary);
}

.dot-out:has(.slick-dots) {
  --slick-dot-bg: rgba(0, 0, 0, 0);
  --slick-dot-bg-active: var(--cl-brand-primary);
  --slick-dot-bd: var(--cl-gray-500);
  --slick-dot-bd-active: var(--cl-brand-primary);
  padding-bottom: var(--slick-dot-pb);
}
@media screen and (max-width: 768px) {
  .dot-out:has(.slick-dots) {
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 480px) {
  .dot-out:has(.slick-dots) {
    padding-bottom: 2rem;
  }
}
.dot-out:has(.slick-dots) .slick-dots {
  position: absolute;
  bottom: 0;
}
.dot-out:has(.slick-dots) .slick-arrow {
  bottom: var(--slick-dot-pb);
}

.arrow-out .slick-arrow::before {
  opacity: 0.5;
}
.arrow-out .slick-arrow:hover:before {
  opacity: 1;
}
.arrow-out .slick-prev {
  right: calc(100% + 15px);
  left: auto;
}
.arrow-out .slick-prev::before {
  margin-right: 0rem;
}
.arrow-out .slick-next {
  left: calc(100% + 15px);
  right: auto;
}
.arrow-out .slick-next::before {
  margin-left: 0rem;
}

.arrow-cl .slick-arrow::before {
  color: var(--cl-tx-body);
}

.zoom-in .slick-slide > div img {
  transform: scale(1.08);
  transition: all 15s var(--transition-timing) var(--transition-delay);
}
.zoom-in .slick-current > div img {
  transform: scale(1);
}

.sdty--mainslide {
  position: relative;
}
.sdty--mainslide .slick-list, .sdty--mainslide .slick-track {
  height: 100% !important;
}
.sdty--mainslide .slick-list {
  position: relative;
}
.sdty--mainslide .slick-list:before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.35) 100%);
}
.sdty--mainslide .slick-list:after {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 40%);
}
.sdty--mainslide .slidebox {
  background-color: #000;
}
.sdty--mainslide .slidebox img {
  width: 100%;
  height: calc(100dvh - var(--header-h));
  object-fit: cover;
  opacity: 0.9;
}
.sdty--mainslide .mainslide__slider {
  z-index: 1;
}
.sdty--mainslide .mainslide__content {
  position: absolute;
  z-index: 2;
  left: 5%;
  bottom: 10%;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .sdty--mainslide .mainslide__content {
    left: 30px;
    bottom: 80px;
  }
}
@media screen and (max-width: 480px) {
  .sdty--mainslide .mainslide__content {
    right: 30px;
  }
}
.sdty--mainslide .mainslide__content .wrapper {
  max-width: var(--ct-mainslide-max);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
  gap: var(--sp-2);
}
@media screen and (max-width: 480px) {
  .sdty--mainslide .mainslide__content .wrapper {
    margin: 0;
    padding: 0;
    width: 100%;
    text-align: center;
    justify-content: center;
    align-items: center;
  }
}
.sdty--mainslide .mob {
  display: none;
}
@media screen and (max-width: 560px) {
  .sdty--mainslide .mob {
    display: block;
  }
}
.sdty--mainslide .dsk {
  display: block;
}
@media screen and (max-width: 560px) {
  .sdty--mainslide .dsk {
    display: none;
  }
}
@media screen and (max-width: 560px) {
  .sdty--mainslide:not(:has(.mob)) .dsk {
    display: block;
  }
}
.sdty--mainslide.hlf .slidebox img {
  height: var(--slick-hlf-slide);
  min-height: var(--slick-hlf-slide-min);
}
@media screen and (max-width: 768px) {
  .sdty--mainslide.hlf .slidebox img {
    height: auto;
    min-height: auto;
    aspect-ratio: var(--img-ratio-hero);
  }
}
.sdty--mainslide.with-video {
  position: absolute;
  top: var(--header-h);
  left: 0;
  width: 100%;
  bottom: 0;
  z-index: 0;
  opacity: 0;
}
.sdty--mainslide.with-video.show {
  opacity: 1;
  z-index: 5;
}
.sdty--awardslide {
  max-width: var(--ct-awardslide-max);
  margin: 0 auto;
}
@media screen and (max-width: 375px) {
  .sdty--awardslide {
    max-width: calc(100% - 60px);
  }
}
.sdty--awardslide .slidebox {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.sdty--awardslide .slidebox .mark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #6e7887;
  mix-blend-mode: color;
  mask-size: auto 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.sdty--awardslide .slidebox img {
  width: 100%;
  height: auto;
  max-height: 80px;
  object-fit: cover;
  padding: 0 var(--grid-gap-sm);
}
@media screen and (max-width: 560px) {
  .sdty--awardslide .slidebox img {
    max-height: 60px;
  }
}
@media screen and (max-width: 480px) {
  .sdty--awardslide .slidebox img {
    padding: 0 var(--grid-gap-xs);
  }
}
@media screen and (max-width: 430px) {
  .sdty--awardslide .slidebox img {
    padding: 0 10px;
  }
}
.sdty--awardslide .slidebox:hover .mark {
  opacity: 0;
}
.sdty--awardslide .awardslide__btn {
  position: absolute;
  z-index: 2;
  color: var(--cl-tx-body);
  border: 0;
  opacity: 0.5;
  border-radius: 0;
  top: 0;
  bottom: 0;
  height: auto;
  width: 100px;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  font-size: 0;
}
@media screen and (max-width: 768px) {
  .sdty--awardslide .awardslide__btn {
    width: 10%;
  }
}
@media screen and (max-width: 375px) {
  .sdty--awardslide .awardslide__btn {
    width: 30px;
  }
}
.sdty--awardslide .awardslide__btn:hover {
  background: none;
  opacity: 1;
}
.sdty--awardslide .awardslide__btn--left {
  right: 100%;
  left: auto;
}
.sdty--awardslide .awardslide__btn--left::before {
  content: "\e91f";
  font-family: "icomoon" !important;
  font-size: var(--slick-arrow-size);
}
.sdty--awardslide .awardslide__btn--right {
  left: 100%;
  right: auto;
}
.sdty--awardslide .awardslide__btn--right::before {
  content: "\e920";
  font-family: "icomoon" !important;
  font-size: var(--slick-arrow-size);
}
.sdty--awardslide.no-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--grid-gap-md);
}
.sdty--slide-highlight {
  margin-left: calc(var(--grid-gap-md) / 2 * -1);
  margin-right: calc(var(--grid-gap-md) / 2 * -1);
}
.sdty--slide-highlight .slick-arrow {
  width: 100px;
}
.sdty--slide-highlight .slidebox {
  padding-inline: calc(var(--grid-gap-md) / 2);
}
.sdty--slide-highlight .slidebox img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.sdty--slide-default img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.sdty--slide-gallery img {
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
}
.sdty--slide-list-highlight {
  position: relative;
}
.sdty--slide-list-highlight .edit-link-wrapper {
  position: absolute;
  z-index: 15;
  bottom: 0;
  right: 0;
}
.sdty--slide-list-highlight .slick-dots {
  width: 50%;
  justify-content: flex-start;
  left: 50px;
  z-index: 5;
}
.sdty--slide-list-highlight .slick-arrow {
  width: 100px;
  top: calc(50% - 100px);
  bottom: auto;
  height: 200px;
}
@media screen and (max-width: 980px) {
  .sdty--slide-list-highlight .slick-arrow {
    top: 0;
    bottom: auto;
    height: 69vw;
  }
}
@media screen and (max-width: 768px) {
  .sdty--slide-list-highlight .slick-arrow {
    height: 67.3vw;
  }
}
@media screen and (max-width: 560px) {
  .sdty--slide-list-highlight .slick-arrow {
    height: 64vw;
  }
}
.sdty--slide-list-highlight .slick-arrow.slick-next::before {
  color: var(--cl-tx-body);
}
@media screen and (max-width: 980px) {
  .sdty--slide-list-highlight .slick-arrow.slick-next::before {
    color: var(--cl-white);
  }
}
@media screen and (max-width: 980px) {
  .sdty--slide-list-highlight .slick-slide > div {
    display: flex;
    height: 100%;
  }
  .sdty--slide-list-highlight .slick-slide .card--slider-media-list {
    height: 100%;
  }
  .sdty--slide-list-highlight .slick-slide .card--slider-media-list .content {
    flex-grow: 1;
  }
  .sdty--slide-list-highlight .slick-slide .card--slider-media-list .c-card {
    flex: 1;
  }
}

.c-intro-mainslide .subtitle {
  font-size: var(--fs-md);
  color: var(--cl-white);
  margin-bottom: 0.5rem;
}
.c-intro-mainslide .title {
  color: var(--cl-white);
}
.c-intro-mainslide .title h1, .c-intro-mainslide .title h2, .c-intro-mainslide .title h3, .c-intro-mainslide .title h4, .c-intro-mainslide .title h5, .c-intro-mainslide .title h6 {
  color: var(--cl-white);
}
.c-intro-mainslide .detail {
  color: var(--cl-white);
  font-size: var(--fs-h4);
  font-weight: var(--fw-regular);
}
@media screen and (max-width: 480px) {
  .c-intro-mainslide .detail {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 430px) {
  .c-intro-mainslide .detail {
    font-size: 1.1rem;
    line-height: 1.15;
  }
}

body.single-room-sub .c-intro-mainslide .title h1 {
  text-transform: none;
}

.c-mediaslider--3columns .c-slider {
  margin-left: calc(var(--grid-gap-md) / 2 * -1);
  margin-right: calc(var(--grid-gap-md) / 2 * -1);
}
.c-mediaslider--3columns .slick-arrow {
  width: 100px;
}
.c-mediaslider--3columns .slidebox {
  padding-inline: calc(var(--grid-gap-md) / 2);
  display: flex !important;
  flex-direction: column;
}
.c-mediaslider--3columns.dot-out .slick-dots {
  bottom: calc(-1 * var(--section-pd-block-xs));
}
.c-mediaslider--3columns.guide-more .slidebox img {
  aspect-ratio: var(--img-ratio-card);
}
.c-mediaslider--3columns.guide-more .slick-arrow::before {
  position: relative;
  top: -20%;
}
@media screen and (max-width: 1560px) {
  .c-mediaslider--3columns.guide-more .slick-arrow::before {
    top: -25%;
  }
}
@media screen and (max-width: 560px) {
  .c-mediaslider--3columns.guide-more .slick-arrow::before {
    top: -20%;
  }
}

.c-mediaslider--card img {
  aspect-ratio: var(--img-ratio-card);
}

#sec__mainslide {
  margin-top: var(--header-h);
}

[data-js^=mediaslider-3columns-] .slick-slide > div {
  height: 100%;
}
[data-js^=mediaslider-3columns-] .slidebox {
  height: 100%;
}
[data-js^=mediaslider-3columns-] .item {
  height: 100%;
}

.c-slider--intro-offers img {
  aspect-ratio: var(--img-ratio-landscape);
  object-fit: cover;
}
.c-slider--list-highlight-wrapper {
  position: relative;
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper {
    margin-bottom: 80px;
  }
}
.c-slider--list-highlight-wrapper .slide-title {
  position: absolute;
  z-index: 5;
  left: 30px;
  bottom: 30px;
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper .slide-title {
    position: relative;
    left: auto;
    bottom: auto;
    text-align: center;
    display: flex;
    justify-content: center;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper .slide-title .c-intro {
    justify-content: center;
    align-items: center;
    text-align: center;
  }
}
.c-slider--list-highlight-wrapper .slide-title .title h2 {
  color: var(--cl-white);
  text-transform: none;
  font-weight: var(--fw-regular);
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper .slide-title .title h2 {
    color: var(--cl-tx-header);
    font-weight: var(--fw-semibold);
    font-size: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-slider--list-highlight-wrapper .slide-title .title h2 {
    font-size: 1.6rem;
  }
}
.c-slider--list-highlight-wrapper .slide-title .title + .subtitle {
  color: var(--cl-white);
  font-size: var(--fs-body);
  font-weight: var(--fw-light);
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper .slide-title .title + .subtitle {
    color: var(--cl-tx-body);
  }
}
.c-slider--list-highlight-wrapper .slick-dots {
  display: none !important;
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper .slick-dots {
    display: flex !important;
  }
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper .description:not(:has(.c-highlight)) {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper .slick-dots {
    top: calc(100% + 20px);
    bottom: auto;
    left: 20px;
    right: 20px;
    width: auto;
    justify-content: center;
  }
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper .slick-dots button {
    border-color: var(--cl-tx-body);
  }
}
@media screen and (max-width: 480px) {
  .c-slider--list-highlight-wrapper .slick-dots .slick-active button {
    background: var(--cl-tx-body);
    border-color: var(--cl-tx-body);
  }
}
.c-slider--list-highlight-wrapper.reverse .slide-title {
  left: auto;
  right: 30px;
  text-align: right;
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper.reverse .slide-title {
    left: auto;
    right: auto;
    text-align: center;
  }
}
.c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .card--slider-media-list {
  flex-direction: row-reverse;
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .card--slider-media-list {
    flex-direction: column;
  }
}
.c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .card--slider-media-list .media .wrapper {
  margin-left: -20%;
  margin-right: 0;
}
@media screen and (max-width: 1200px) {
  .c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .card--slider-media-list .media .wrapper {
    margin-left: -30%;
  }
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .card--slider-media-list .media .wrapper {
    margin-left: 0;
  }
}
.c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .slick-arrow.slick-prev::before {
  color: var(--cl-tx-body);
}
@media screen and (max-width: 980px) {
  .c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .slick-arrow.slick-prev::before {
    color: var(--cl-white);
  }
}
.c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .slick-arrow.slick-next::before {
  color: var(--cl-white);
}
.c-slider--list-highlight-wrapper.reverse .sdty--slide-list-highlight .edit-link-wrapper {
  right: auto;
  left: 0;
}

/* Gallery component */
.c-images-3c-stack {
  display: flex;
  gap: var(--gap-sm);
  align-items: center;
}
.c-images-3c-stack img {
  aspect-ratio: var(--img-ratio-portrait);
  width: 100%;
  height: auto;
  object-fit: cover;
}
.c-images-3c-stack .img:nth-child(1) {
  flex: 0.85;
}
.c-images-3c-stack .img:nth-child(2) {
  flex: 1;
}
.c-images-3c-stack .img:nth-child(3) {
  flex: 0.85;
}

/* Popup component */
.c-popup-alert {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-popup-alert .ppup-bg {
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  backdrop-filter: blur(5px);
}
.c-popup-alert .ppup-wrappper {
  position: relative;
  z-index: 10;
  max-width: 680px;
}
@media screen and (max-width: 767px) {
  .c-popup-alert .ppup-wrappper {
    max-width: 90vw;
  }
}
.c-popup-alert .ppup-wrappper img {
  width: 100%;
  height: auto;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.c-popup-alert a.nolink {
  cursor: default;
}
.c-popup-alert .ppup--slidepopup {
  box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.5);
}
.c-popup-alert .ppup--slidepopup .slick-dots {
  bottom: -30px;
}
.c-popup-alert .ppup--slidepopup .slick-dots li button {
  border: 1px solid #ccc;
  background-color: inherit;
}
.c-popup-alert .ppup--slidepopup .slick-dots li.slick-active button {
  background-color: #ccc;
}
.c-popup-alert .ppup--slidepopup .sdbox a {
  display: block;
}
.c-popup-newsletter {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-popup-newsletter .ppup-bg {
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  backdrop-filter: blur(5px);
}
.c-popup-newsletter .ppup-wrappper {
  position: relative;
  z-index: 10;
  max-width: 680px;
}
@media screen and (max-width: 767px) {
  .c-popup-newsletter .ppup-wrappper {
    max-width: 90vw;
  }
}
.c-popup-newsletter .ppup-wrappper img {
  width: 100%;
  height: auto;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.c-popup-newsletter .ppup--inner {
  background-color: var(--cl-bg-section);
  border-radius: var(--card-radius);
  padding: var(--sp-8) var(--sp-6) var(--sp-8);
  max-width: 580px;
}

.sty--mainvideo {
  z-index: 5;
  position: relative;
}
.sty--mainvideo video {
  width: 100%;
  height: calc(100vh - var(--header-h));
  object-fit: cover;
}

.sty--mainvideo__controls {
  position: absolute;
  z-index: 10;
  bottom: 60px;
  right: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  column-gap: 15px;
}
@media screen and (max-width: 1440px) {
  .sty--mainvideo__controls {
    right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .sty--mainvideo__controls {
    right: 30px;
    bottom: 30px;
  }
}
.sty--mainvideo__controls button {
  background: none;
  padding: 0;
  margin: 0;
  border: 0;
}
.sty--mainvideo__controls i {
  width: 40px;
  height: 40px;
  display: block;
  cursor: pointer;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 5px;
  border-radius: 50%;
}
.sty--mainvideo__controls .hide {
  display: none;
}
.sty--mainvideo__controls .icon--gallery {
  background-image: url(../images/icon--photo.svg);
  background-size: 20px auto;
}
.sty--mainvideo__controls .icon--video {
  background-image: url(../images/icon--play.svg);
  background-size: 40% auto;
  left: 0;
  width: 40px;
  height: 40px;
}
.sty--mainvideo__controls .icon--pause {
  background-image: url(../images/icon--pause.svg);
  background-size: 18px auto;
}
.sty--mainvideo__controls .icon--sound {
  background-image: url(../images/icon--volume.svg);
  background-size: 21px auto;
}
.sty--mainvideo__controls .btn__video-mute {
  position: relative;
}
.sty--mainvideo__controls .btn__video-mute:before {
  position: absolute;
  content: "";
  height: 1px;
  width: 120%;
  left: -10%;
  top: 50%;
  background-color: #fff;
  transform: rotate(45deg);
}
.sty--mainvideo__controls .btn__video-mute.sound-on:before {
  background-color: inherit;
}
.sty--mainvideo__controls .btn__video-play.play .icon--pause {
  background-image: url(../images/icon--play.svg);
  background-size: 18px auto;
}
.sty--mainvideo__controls .btn__video-switch {
  text-align: center;
  color: var(--cl-white);
  font-family: var(--ff-header);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sty--mainvideo__controls .btn__video-switch span {
  font-size: 0.8rem;
}
.sty--mainvideo__controls .btn__video-switch .wrap {
  display: flex;
  height: 50px;
  width: 50px;
  background-color: inherit;
  border-radius: 50%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.sty--mainvideo__controls .btn__video-switch.hide {
  display: none;
}
.social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3rem;
}
.social-icons i {
  font-size: 1.6rem;
}
.social-icons i.icon-xiaohongshu:before {
  font-size: 2rem;
  top: -2px;
  position: relative;
}
.social-icons a {
  display: block;
  color: var(--cl-tx-body);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  text-decoration: none;
}
.social-icons a:hover {
  transform: scale(1.1);
  color: var(--cl-tx-link-hover);
}

.c-instagram-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap-instargram-gallery);
}
@media screen and (max-width: 480px) {
  .c-instagram-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-instagram-gallery .instagram-item {
  position: relative;
  overflow: hidden;
}
.c-instagram-gallery .instagram-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  aspect-ratio: 1/1;
  object-fit: cover;
}
.c-instagram-gallery .instagram-item:hover img {
  transform: scale(1.05);
}
.c-instagram-gallery .instagram-item .image-description {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  color: var(--cl-white);
  padding: var(--sp-4);
  font-size: var(--fs-small);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.c-instagram-gallery .instagram-item:hover .image-description {
  opacity: 1;
}
@media screen and (max-width: 480px) {
  .c-instagram-gallery .instagram-item:first-child {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media screen and (max-width: 480px) {
  .c-instagram-gallery .instagram-item:last-child {
    grid-column: span 2;
  }
}
@media screen and (max-width: 480px) {
  .c-instagram-gallery .instagram-item:last-child img {
    height: 100%;
    position: absolute;
  }
}

/* Alt Media Rows */
.c-module--alt-media-rows {
  display: flex;
  flex-direction: column;
  row-gap: var(--section-pd-block-md);
}

.c-module--media-content-split {
  display: flex;
  flex-direction: column;
}

.c-module--mediaside {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: var(--gap-lg);
}
.c-module--mediaside .media {
  position: relative;
  z-index: 1;
}
.c-module--mediaside .content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  row-gap: var(--intro-content-gap-row);
}
@media screen and (max-width: 768px) {
  .c-module--mediaside .content {
    row-gap: 30px;
  }
}
.c-module--mediaside .c-intro {
  max-width: none;
  width: 100%;
}
@media screen and (max-width: 880px) {
  .c-module--mediaside.columns--1-3 {
    flex-direction: column;
    justify-content: flex-start;
    row-gap: var(--gap-md);
  }
}
.c-module--mediaside.columns--1-3 .media {
  width: 25%;
  min-width: 300px;
}
@media screen and (max-width: 1024px) {
  .c-module--mediaside.columns--1-3 .media {
    width: 20%;
    min-width: 240px;
  }
}
@media screen and (max-width: 880px) {
  .c-module--mediaside.columns--1-3 .media {
    width: 100%;
    min-width: auto;
    margin-bottom: var(--gap-md);
  }
}
@media screen and (max-width: 768px) {
  .c-module--mediaside.columns--1-3 .media img {
    max-width: 200px;
  }
}
.c-module--mediaside.columns--1-3 .content {
  flex: 1;
}
@media screen and (max-width: 880px) {
  .c-module--mediaside.columns--1-1 {
    flex-direction: column;
    justify-content: flex-start;
    row-gap: var(--gap-md);
  }
}
.c-module--mediaside.columns--1-1 .media {
  width: 50%;
  min-width: 300px;
}
@media screen and (max-width: 880px) {
  .c-module--mediaside.columns--1-1 .media {
    width: 100%;
  }
}
.c-module--mediaside.columns--1-1 .content {
  flex: 1;
}
@media screen and (max-width: 880px) {
  .c-module--mediaside.columns--1-1 .content {
    width: 100%;
    flex: none;
  }
}

.c-module--breadcrumb {
  font-size: var(--fs-small);
}
@media screen and (max-width: 375px) {
  .c-module--breadcrumb {
    font-size: 0.8rem;
  }
}
.c-module--breadcrumb a {
  color: var(--cl-tx-body);
  text-decoration: none;
  font-weight: var(--fw-regular);
}
.c-module--breadcrumb a:hover {
  color: var(--cl-brand-secondary);
}
.c-module--breadcrumb #breadcrumbs > span {
  display: flex;
  flex-flow: wrap;
  column-gap: 10px;
}

.c-module--pagenavi {
  display: flex;
  justify-content: center;
  padding-top: var(--gap-lg);
  font-weight: var(--fw-regular);
}
.c-module--pagenavi .wp-pagenavi {
  background-color: var(--cl-brand-tertiary);
  border-radius: 25px;
  padding: 10px 20px;
  display: flex;
  justify-content: center;
  gap: 0px;
  max-width: 880px;
  margin: 0px auto 0;
  font-size: 14px;
  align-items: center;
}
.c-module--pagenavi .wp-pagenavi a, .c-module--pagenavi .wp-pagenavi span {
  border: 0;
  width: 30px;
  height: 30px;
  padding: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cl-tx-body);
}
.c-module--pagenavi .wp-pagenavi .pages, .c-module--pagenavi .wp-pagenavi .last, .c-module--pagenavi .wp-pagenavi .first {
  width: auto;
}
.c-module--pagenavi .wp-pagenavi .first {
  margin-right: 20px;
}
.c-module--pagenavi .wp-pagenavi .last {
  margin-left: 20px;
}
.c-module--pagenavi .wp-pagenavi .pages + .current {
  margin-left: 20px;
}
.c-module--pagenavi .wp-pagenavi a.page:hover {
  color: var(--cl-brand-primary);
}
.c-module--pagenavi .wp-pagenavi span.current {
  margin: 0;
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
  border-radius: 50%;
}
.c-module--pagenavi .wp-pagenavi span.pages {
  padding: 0 20px 0 0;
  margin: 0;
  border: 0;
}
.c-module--pagenavi .wp-pagenavi span.pages + .current {
  margin: 0;
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
  border-radius: 50%;
}
.c-module--pagenavi .wp-pagenavi .nextpostslink, .c-module--pagenavi .wp-pagenavi .previouspostslink {
  width: auto;
  padding: 0 10px;
}

.c-module--accordion .accordion-item {
  border-bottom: 1px solid var(--cl-border);
}
.c-module--accordion .accordion-item.active .accordion-title .ico {
  transform: rotate(180deg);
}
.c-module--accordion .accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  cursor: pointer;
}
.c-module--accordion .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.c-module--accordion .accordion-content.active {
  max-height: 500px; /* Adjust as needed */
}
.c-module--accordion .accordion-content .detail {
  padding-bottom: var(--gap-sm);
}

.c-mediasplit-img_content.ct-left .col-span1 {
  order: -1;
}
@media screen and (max-width: 880px) {
  .c-mediasplit-img_content.ct-left .col-span1 {
    order: 0;
  }
}
.c-mediasplit-img_content .c-intro {
  height: 100%;
}
.c-mediasplit-img_content .c-intro .description {
  flex: 1;
}
.c-mediasplit-img_content .media img {
  aspect-ratio: var(--img-ratio-blog-hero);
}

.c-mediasplit-2img_content.ct-left .box.content {
  order: -1;
}
.c-mediasplit-2img_content .c-intro {
  height: 100%;
}
.c-mediasplit-2img_content .c-intro .description {
  flex: 1;
}

.c-validity {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-xs);
}
.c-validity .date {
  display: flex;
  flex-flow: wrap;
  gap: var(--gap-sm);
}

.c-block--media-content-split__item, .c-block--alt-media__item {
  display: flex;
  flex-direction: row;
  position: relative;
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item, .c-block--alt-media__item {
    flex-direction: column;
  }
}
.c-block--media-content-split__item .media, .c-block--alt-media__item .media {
  width: 50%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .c-block--media-content-split__item .media, .c-block--alt-media__item .media {
    width: 60%;
  }
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item .media, .c-block--alt-media__item .media {
    width: 100%;
  }
}
.c-block--media-content-split__item .media img, .c-block--alt-media__item .media img {
  aspect-ratio: var(--img-ratio-blog-hero);
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-block--media-content-split__item .media img, .c-block--alt-media__item .media img {
    aspect-ratio: var(--img-ratio-card);
  }
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item .media img, .c-block--alt-media__item .media img {
    aspect-ratio: var(--img-ratio-blog-hero);
  }
}
.c-block--media-content-split__item .content, .c-block--alt-media__item .content {
  width: 50%;
  position: relative;
  z-index: 2;
  min-height: 400px;
  justify-content: center;
}
@media screen and (max-width: 1200px) {
  .c-block--media-content-split__item .content, .c-block--alt-media__item .content {
    width: 40%;
  }
}
@media screen and (max-width: 1024px) {
  .c-block--media-content-split__item .content, .c-block--alt-media__item .content {
    min-height: 300px;
  }
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item .content, .c-block--alt-media__item .content {
    width: 100%;
    min-height: auto;
  }
}
.c-block--media-content-split__item .content .c-intro, .c-block--alt-media__item .content .c-intro {
  max-width: none;
}
.c-block--media-content-split__item:nth-child(even), .c-block--alt-media__item:nth-child(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item:nth-child(even), .c-block--alt-media__item:nth-child(even) {
    flex-direction: column;
  }
}
.c-block--media-content-split__item:nth-child(even) .edit-link-wrapper, .c-block--alt-media__item:nth-child(even) .edit-link-wrapper {
  right: auto;
  left: 0;
}
.c-block--media-content-split__item .edit-link-wrapper, .c-block--alt-media__item .edit-link-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
}

.c-block--alt-media__item {
  align-items: center;
}
.c-block--alt-media__item .media .wrapper {
  width: 120%;
  margin-right: -20%;
}
@media screen and (max-width: 880px) {
  .c-block--alt-media__item .media .wrapper {
    width: 100%;
    margin: 0;
  }
}
.c-block--alt-media__item:nth-child(even) .media .wrapper {
  margin-right: 0;
  margin-left: -20%;
}
@media screen and (max-width: 880px) {
  .c-block--alt-media__item:nth-child(even) .media .wrapper {
    margin: 0;
  }
}
.c-block--alt-media__item.no-row {
  flex-direction: row;
}
.c-block--alt-media__item.no-wrap {
  align-items: inherit;
}
.c-block--media-content-split__item .media .wrapper {
  height: 100%;
}
.c-block--media-content-split__item .media .wrapper .slide {
  height: 100%;
}
.c-block--media-content-split__item .media .wrapper .slide .slick-list {
  height: 100%;
}
.c-block--media-content-split__item .media .wrapper .slide .slick-track {
  height: 100%;
}
.c-block--media-content-split__item .media .wrapper .slide .slick-slide > div {
  height: 100%;
}
.c-block--media-content-split__item .media .wrapper .slide img {
  height: 100%;
  width: auto;
}
@media screen and (max-width: 1100px) {
  .c-block--media-content-split__item .card--alt-media {
    padding: 60px 30px;
  }
}
@media screen and (max-width: 880px) {
  .c-block--media-content-split__item .card--alt-media {
    padding: 40px 30px;
  }
}
.c-block--media-content-6-4 {
  display: flex;
  flex-direction: row;
  position: relative;
}
@media screen and (max-width: 880px) {
  .c-block--media-content-6-4 {
    flex-direction: column;
  }
}
.c-block--media-content-6-4 .media {
  width: 60%;
}
.c-block--media-content-6-4 .content {
  width: 40%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 880px) {
  .c-block--media-content-6-4 .media, .c-block--media-content-6-4 .content {
    width: 100%;
  }
}

.c-google-map {
  width: 100%;
  height: var(--map-height, 500px);
}
.c-google-map iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.o-div-table {
  width: 100%;
  border-left: 1px solid var(--cl-bg-section);
  border-top: 1px solid var(--cl-bg-section);
}
.o-div-table .o-table__row {
  width: 100%;
  display: grid;
  grid-template-columns: 230px repeat(calc(var(--cols) - 1), 1fr);
}
.o-div-table .o-table__row:nth-child(even) .o-table__cell {
  background-color: var(--cl-white);
}
.o-div-table .o-table__row:nth-child(odd) .o-table__cell {
  background-color: var(--cl-bg-section);
}
.o-div-table .o-table__cell {
  padding: 15px 15px;
  border-right: 1px solid var(--cl-bg-section);
  border-bottom: 1px solid var(--cl-bg-section);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--cl-white);
}
.o-div-table .o-table__cell--label {
  justify-content: flex-start;
  font-weight: 600;
  text-align: left;
  padding: 15px 30px;
}
.o-div-table .o-table__row.o-table__cell--header {
  font-weight: 700;
}
.o-div-table .o-table__row.o-table__cell--header .o-table__cell {
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
}
.o-div-table .o-table__cell--header a {
  color: inherit;
  text-decoration: none;
}
.o-div-table.meeting-table i {
  font-size: 30px;
  margin-right: 15px;
}

.o-table-default {
  width: 100%;
}
.o-table-default .o-table-default__wrapper {
  border: 1px solid var(--cl-table-border);
  padding: 5px;
}
.o-table-default .table__head {
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
  font-weight: 700;
}
.o-table-default .table__row {
  display: grid;
  grid-template-columns: 200px repeat(calc(var(--cols) - 1), 1fr);
  width: 100%;
}
.o-table-default .table__cell {
  padding: 8px 10px;
  border-bottom: 1px solid var(--cl-bg-section);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.o-table-default .table__row:last-child .table__cell {
  border-bottom: 0;
}
.o-table-default .table__cell--label {
  justify-content: flex-start;
  font-weight: 600;
  text-align: left;
  padding-left: 20px;
  padding-right: 20px;
}
.o-table-default .table__row--subheader .table__cell {
  grid-column: span var(--cols);
  background-color: var(--cl-bg-section);
  color: var(--cl-tx-header);
}
.o-table-default.rooms-table .table__row {
  grid-template-columns: 2fr repeat(calc(var(--cols) - 1), 1fr);
}
.o-table-default.custom-table .table__row {
  grid-template-columns: 1fr repeat(calc(var(--cols) - 1), 1fr);
}
.o-table-default.custom-table.facility .table__row {
  grid-template-columns: 1.5fr repeat(calc(var(--cols) - 1), 1fr);
}

.c-table-rooms, .c-table-meetingrooms, .c-table-custom {
  display: flex;
  flex-direction: column;
  row-gap: var(--sp-4);
}

.c-table-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
}
.c-table-wrapper.layout-2col {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--sp-8) var(--sp-8);
}
.c-table-wrapper.layout-2col > div {
  width: calc(50% - var(--sp-8) / 2);
}
@media screen and (max-width: 880px) {
  .c-table-wrapper.layout-2col > div {
    width: 100%;
  }
}
.c-table-wrapper.layout-2col > div:nth-last-child(1):nth-child(odd) {
  width: 100%;
}

/* ===============================
   Fancybox
   =============================== */
.fancybox-thumbs__list a {
  position: relative;
}
.fancybox-thumbs__list a::before {
  border: 0;
}
.fancybox-thumbs__list a::after {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: #000;
  z-index: 1;
  opacity: 0.6;
  transition: opacity 0.6s ease;
}
.fancybox-thumbs__list a:hover::after {
  opacity: 0;
}
.fancybox-thumbs__list a.fancybox-thumbs-active::after {
  opacity: 0;
}

.fancybox-button {
  background-color: inherit;
}

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
  display: none;
}

.fancybox-caption__body ._title {
  font-size: var(--fs-h4);
  color: var(--cl-white);
}

/* header/footer */
/* ==================================================
   Header – Default
   ================================================== */
.header {
  position: relative;
  z-index: 50;
  background: var(--cl-bg-header, #fff);
  font-family: var(--ff-heading);
  font-weight: var(--fw-regular);
  height: var(--header-h);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
}
.header .container--full {
  padding-inline: var(--container-pd-inline);
  width: 100%;
}
@media screen and (max-width: 1440px) {
  .header .container--full {
    padding-inline: var(--sp-6);
  }
}
@media screen and (max-width: 1320px) {
  .header .container--full {
    padding-inline: var(--sp-4);
  }
}
.header a {
  text-decoration: none;
  color: var(--cl-tx-body);
}
.header a:hover {
  color: var(--cl-tx-link-hover);
}
.header.fixedtop {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  height: auto;
}
.header.fixedtop .header__actions {
  gap: 0;
}
.header.fixedtop .header__actions-top {
  max-height: 0;
  overflow: hidden;
}
@media screen and (max-width: 1440px) {
  .header.fixedtop .header__logo img {
    max-height: 40px;
  }
}
@media screen and (max-width: 480px) {
  .header.fixedtop .header__logo img {
    max-height: 35px;
  }
}
@media screen and (max-width: 375px) {
  .header.fixedtop .header__logo img {
    max-height: 30px;
  }
}
.header.hideslide {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

.header__inner {
  padding: var(--section-pd-block-xxxs) 0;
}
@media screen and (max-width: 1440px) {
  .header__inner {
    padding: 0.5rem 0;
  }
}

.header__grid {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 480px) {
  .header__grid {
    grid-template-columns: 100px 1fr;
    gap: 1rem;
  }
}
@media screen and (max-width: 375px) {
  .header__grid {
    grid-template-columns: 90px 1fr;
    gap: 0.5rem;
  }
}
@media screen and (max-width: 320px) {
  .header__grid {
    grid-template-columns: 80px 1fr;
    gap: 0.5rem;
  }
}

/* Brand */
.header__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.header__logo img {
  display: block;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  height: 50px;
  width: auto;
  object-fit: contain;
}
@media screen and (max-width: 480px) {
  .header__logo img {
    max-height: none;
    height: 40px;
  }
}

.topmenu-title {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: var(--fs-body);
  color: var(--cl-tx-body);
  cursor: pointer;
}
.topmenu-title:hover {
  color: var(--cl-brand-primary);
}
.topmenu-title i {
  font-size: 0.8rem;
}
.topmenu-title.active i {
  transform: rotate(180deg);
}

.header__destination {
  position: relative;
}
.header__destination .nav__submenu {
  position: absolute;
  top: 100%;
  right: -20px;
  background: var(--cl-white);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  display: none;
  width: 260px;
  list-style-type: none;
  z-index: 40;
}
.header__destination .nav__submenu li {
  padding: 0;
}
.header__destination .nav__submenu ul {
  list-style-type: none;
  margin: 0;
  padding: 0.5rem 0;
  display: flex;
  flex-direction: column;
}
.header__destination .nav__submenu ul li a {
  padding: 0.3rem 1rem;
  display: block;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.header__destination .nav__submenu ul li a:hover {
  background-color: var(--cl-gray-100);
  padding-left: 1.3rem;
}
.header__destination .nav__submenu ul li a::after {
  display: none;
}
.header__destination .nav__submenu .menu-title {
  display: block;
  padding: 5px 16px;
  font-size: var(--fs-body);
  color: var(--cl-white);
  background-color: var(--cl-brand-primary);
}
.header__destination.show-sub .nav__submenu {
  display: block;
}

.header__gds {
  position: relative;
}
.header__gds .nav__submenu {
  position: absolute;
  top: 100%;
  right: -20px;
  background: var(--cl-white);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  display: none;
  width: 240px;
  z-index: 40;
}
.header__gds .nav__submenu ul {
  list-style-type: none;
  margin: 0;
  padding: 0.5rem 0;
  display: flex;
  flex-direction: column;
}
.header__gds .nav__submenu ul li a {
  padding: 0.2rem 1rem;
  display: block;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.header__gds .nav__submenu ul li a:hover {
  background-color: var(--cl-gray-100);
  padding-left: 1.3rem;
}
.header__gds .nav__submenu ul li a::after {
  display: none;
}
.header__gds .nav__submenu .copy-status {
  color: #028935;
  margin-left: 3px;
  position: relative;
  top: 1px;
}
.header__gds.show-sub .nav__submenu {
  display: block;
}

/* Actions wrapper (2 rows) */
.header__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}

/* ---------- Row: Top utilities ---------- */
.header__actions-top {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;
  font-size: 1rem;
  max-height: 100px;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
@media screen and (max-width: 880px) {
  .header__actions-top {
    font-size: 0.85em;
  }
}
@media screen and (max-width: 560px) {
  .header__actions-top {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header__actions-top .header__topnav, .header__actions-top .header__tels {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header__actions-top .header__topnav + .header__sep, .header__actions-top .header__tels + .header__sep {
    display: none;
  }
}

.header__topnav-list {
  display: flex;
  align-items: center;
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__topnav-list a {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
}

.header__tels {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: inherit;
}

.header__sep {
  width: 1px;
  height: 18px;
  background: rgba(0, 0, 0, 0.25);
}

/* Language */
.header__lang {
  position: relative;
}

.header__lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.header__lang-dd {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 120px;
  background: #fff;
  border-radius: 12px;
  padding: 6px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.header__lang-item {
  display: block;
  padding: 8px 10px;
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
}
.header__lang-item:hover {
  background: rgba(0, 0, 0, 0.06);
}

/* ---------- Row: Main nav + CTA ---------- */
:root {
  --header-btn-book-width: 130px;
}
@media screen and (max-width: 430px) {
  :root {
    --header-btn-book-width: 110px;
  }
}

.header__actions-main {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
}
@media screen and (max-width: 880px) {
  .header__actions-main {
    gap: 1rem;
  }
}

.header__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: calc(100% - var(--header-btn-book-width) - 2rem);
}
@media screen and (max-width: 880px) {
  .header__nav {
    display: none;
  }
}
@media screen and (max-width: 880px) {
  .header__nav nav {
    display: none;
  }
}

.header__cta {
  width: var(--header-btn-book-width);
}
@media screen and (max-width: 480px) {
  .header__cta {
    width: 120px;
  }
}
@media screen and (max-width: 375px) {
  .header__cta {
    width: 100px;
  }
}
@media screen and (max-width: 320px) {
  .header__cta {
    width: 90px;
  }
}
.header__cta a {
  width: 100%;
  text-align: center;
  color: var(--cl-white);
  padding: var(--btn-padding-y) 0;
}
@media screen and (max-width: 480px) {
  .header__cta a {
    padding: 8px 10px;
  }
}
@media screen and (max-width: 320px) {
  .header__cta a {
    padding: 6px 8px;
    font-size: 0.75rem;
  }
}
.header__cta a:hover {
  color: var(--cl-white);
}

.header__mobile-menu {
  display: none;
}
@media screen and (max-width: 880px) {
  .header__mobile-menu {
    display: flex;
  }
}

.header__mobile-menu-btn {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  text-transform: uppercase;
  cursor: pointer;
}
.header__mobile-menu-btn .icon {
  width: 20px;
  height: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 4px;
}
.header__mobile-menu-btn .icon span {
  height: 2px;
  background-color: var(--cl-tx-body);
  display: block;
  width: 100%;
}
.header__mobile-menu-btn:hover .icon-hammenu {
  row-gap: 0px;
}
.header__mobile-menu-btn:hover .icon-hammenu span {
  background-color: var(--cl-brand-primary);
}

#sec__mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--cl-white);
  z-index: 100;
}
#sec__mobile-menu .container {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 4rem;
  overflow: scroll;
}
@media screen and (max-width: 880px) and (max-height: 650px) {
  #sec__mobile-menu .container {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 560px) {
  #sec__mobile-menu .container {
    justify-content: center;
    padding-inline: 2rem;
  }
}

#close-mobile-menu {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  #close-mobile-menu {
    top: 1rem;
    right: 1rem;
  }
}

.lyt__mobile-mainmenu-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.lyt__mobile-mainmenu-inner ul {
  list-style-type: none;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 640px) {
  .lyt__mobile-mainmenu-inner ul {
    row-gap: 0.2rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner ul {
    row-gap: 0;
  }
}
.lyt__mobile-mainmenu-inner a {
  text-decoration: none;
  color: var(--cl-tx-body);
}
.lyt__mobile-mainmenu-inner a:hover {
  color: var(--cl-brand-primary);
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper {
  display: flex;
  flex: 1;
  column-gap: 8rem;
  align-items: center;
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper {
    justify-content: center;
  }
}
@media screen and (max-width: 640px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper {
    column-gap: 4rem;
  }
}
@media screen and (max-width: 560px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper {
    column-gap: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper {
    flex-direction: column-reverse;
    justify-content: center;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination a {
  font-size: 1.1rem;
}
@media screen and (max-width: 640px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination a {
    font-size: 1rem;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menumain-title {
  font-size: var(--fs-h2);
}
@media screen and (max-width: 560px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menumain-title {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menumain-title {
    font-size: 1.2rem;
    font-weight: normal;
    color: var(--cl-brand-primary);
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menu-title {
  font-size: var(--fs-h4);
  color: var(--cl-brand-primary);
  font-weight: var(--fw-regular);
  margin: 1rem 0 0.3rem;
  display: block;
}
@media screen and (max-width: 640px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menu-title {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menu-title {
    margin: 0;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menu-title i {
  margin-right: 0.5rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .menu-title i {
    font-size: 1rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .nav__submenu {
    margin: 5px 0;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .destination .nav__submenu ul {
  margin-left: 28px;
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 {
    width: 70%;
  }
}
@media screen and (max-width: 560px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 {
    width: 100%;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 a {
  font-size: var(--fs-h4);
}
@media screen and (max-width: 560px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 a {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 a {
    font-size: 1.2rem;
    line-height: 1.2;
  }
}
@media screen and (max-width: 375px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 a {
    font-size: 1rem;
    line-height: 1.3;
  }
}
.lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 ul {
  row-gap: 0rem;
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col1 ul {
    row-gap: 0rem;
  }
}
@media screen and (max-width: 560px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col2 {
    width: 55%;
  }
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-mainmenu-wrapper .col2 {
    width: 240px;
  }
}
.lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--cl-gray-500);
  padding: 1rem 0 1rem;
  margin-top: 4rem;
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper {
    margin-top: 1rem;
    width: 100%;
  }
}
.lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper a {
  font-size: 1rem;
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper a {
    font-size: 0.8rem;
  }
}
.lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper .mobile-footermenu-list {
  display: flex;
  column-gap: 1rem;
  flex-direction: row;
}
@media screen and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper .mobile-footermenu-list {
    column-gap: 1rem;
  }
}
.lyt__mobile-mainmenu-inner .mobile-footermenu-wrapper .col2 {
  text-align: right;
}

/* Header navigation */
#main-menu {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  list-style: none;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
}
#main-menu > li {
  display: flex;
  align-items: center;
}
#main-menu a {
  text-decoration: none;
  padding: 0.25rem 0;
  display: inline-block;
  position: relative;
  overflow: hidden;
  color: var(--cl-tx-body);
}
#main-menu a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cl-tx-body);
  transform: scaleX(0);
  transition: transform 400ms ease;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  height: 1px;
}
#main-menu a:hover {
  color: var(--cl-brand-primary);
}
#main-menu a:hover::after {
  transform: scaleX(1);
  background: var(--cl-brand-primary);
}
#main-menu a > * {
  position: relative;
  z-index: 1;
}
#main-menu a:hover {
  color: var(--cl-brand-primary);
}
#main-menu .ico.icon-arrow-select {
  font-size: 0.8rem;
  position: relative;
  top: 2px;
}
#main-menu .hide {
  display: none !important;
}
#main-menu .menu-item-has-children,
#main-menu .has_dropdown {
  position: relative;
  cursor: pointer;
  column-gap: 0.5rem;
}
#main-menu .has_dropdown .dropdown-toggle {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
}
#main-menu .sub-menu,
#main-menu .nav__submenu {
  position: absolute;
  top: 100%;
  left: -15px;
  width: 260px;
  max-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: var(--cl-white);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
#main-menu .sub-menu li a,
#main-menu .nav__submenu li a {
  padding: 0.3rem 1rem;
  display: block;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
#main-menu .sub-menu li a:hover,
#main-menu .nav__submenu li a:hover {
  background-color: var(--cl-gray-100);
  padding-left: 1.3rem;
}
#main-menu .sub-menu li a::after,
#main-menu .nav__submenu li a::after {
  display: none;
}
#main-menu .menu-item-has-children:hover > .sub-menu,
#main-menu .menu-item-has-children:hover > .nav__submenu,
#main-menu .has_dropdown:hover > .sub-menu,
#main-menu .has_dropdown:hover > .nav__submenu {
  max-height: 500px;
  overflow: visible;
  padding: 0.5rem 0;
}
#main-menu .sub-menu > .menu-item-has-children,
#main-menu .nav__submenu > .menu-item-has-children {
  position: relative;
}
#main-menu .sub-menu > .menu-item-has-children > .ico.icon-arrow-select,
#main-menu .nav__submenu > .menu-item-has-children > .ico.icon-arrow-select {
  position: absolute;
  right: 10px;
  top: 13px;
  font-size: 0.7rem;
  transform: rotate(-90deg);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
#main-menu .sub-menu > .menu-item-has-children > .sub-menu,
#main-menu .nav__submenu > .menu-item-has-children > .sub-menu {
  top: -0.5rem;
  left: 100%;
  width: 220px;
  padding: 0;
}
#main-menu .sub-menu > .menu-item-has-children > .sub-menu li a,
#main-menu .nav__submenu > .menu-item-has-children > .sub-menu li a {
  font-size: 0.9em;
}
#main-menu .sub-menu > .menu-item-has-children:hover > .sub-menu,
#main-menu .nav__submenu > .menu-item-has-children:hover > .sub-menu {
  max-height: 500px;
  overflow: visible;
  padding: 0.5rem 0;
}
#main-menu #moremenu {
  width: 220px;
  transition-delay: 0.4s;
}
#main-menu .has_dropdown:hover #moremenu {
  transition-delay: 0s;
}
#main-menu .list__moremenu .sub-menu > .menu-item-has-children > .sub-menu,
#main-menu .list__moremenu .nav__submenu > .menu-item-has-children > .sub-menu {
  left: auto;
  right: calc(100% - 1px);
}
#main-menu .list__moremenu .sub-menu > .menu-item-has-children > .ico.icon-arrow-select,
#main-menu .list__moremenu .nav__submenu > .menu-item-has-children > .ico.icon-arrow-select {
  transform: rotate(0deg);
  right: 15px;
}
#main-menu .list__moremenu .sub-menu > .menu-item-has-children:hover > .ico.icon-arrow-select,
#main-menu .list__moremenu .nav__submenu > .menu-item-has-children:hover > .ico.icon-arrow-select {
  transform: rotate(90deg);
  top: 10px;
}

.icon-hammenu {
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 4px;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.icon-hammenu span {
  height: 1px;
  width: 100%;
  display: block;
  background-color: var(--cl-tx-body);
}

/* 
# Mobile menu (880px and below)
# ================================================================= */
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list a {
    display: block;
    padding: 0.3rem 1.25rem;
    text-decoration: none;
    color: inherit;
    transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list a {
    padding: 0.3rem 0rem;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list a:hover {
    color: var(--cl-brand-primary);
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list a::after {
    display: none;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children {
    position: relative;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1;
  }
}
@media screen and (max-width: 880px) and (max-width: 768px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .submenu-toggle {
    height: 45px;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .submenu-toggle {
    height: 40px;
  }
}
@media screen and (max-width: 880px) and (max-width: 430px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .submenu-toggle {
    width: 40px;
    height: 30px;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .submenu-toggle::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.25s ease;
    margin-top: -4px;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .submenu-toggle::before {
    transform: rotate(-135deg);
    margin-top: 4px;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    background-color: var(--cl-gray-50);
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu a {
    padding: 0.15rem 1rem 0.15rem 2rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu a {
    font-size: 0.85rem;
    padding: 0.2rem 0.5rem 0.2rem 1rem;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu .sub-menu {
    margin-left: 60px;
  }
}
@media screen and (max-width: 880px) and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu .sub-menu {
    display: block;
    margin-left: 32px;
    list-style-type: none;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu .sub-menu {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .sub-menu .sub-menu a {
    padding-left: 0rem;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu {
    margin: 10px 0;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .menu-title {
    font-weight: normal;
    width: 100%;
    background-color: #f5f5f5;
    padding: 0.15rem 1rem 0.12rem;
    display: flex;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .menu-title {
    padding: 0.15rem 0.5rem 0.12rem;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .submenu-toggle {
    height: 30px;
    width: 50px;
  }
}
@media screen and (max-width: 880px) and (max-width: 480px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .submenu-toggle {
    width: 40px;
  }
}
@media screen and (max-width: 880px) {
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .submenu-toggle::before {
    position: absolute;
    content: "+";
    font-size: 1.2rem;
    transform: none;
    transition: none;
    border: none;
    height: auto;
    width: auto;
    margin: 0;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .menu-item-has-children.is-open > .sub-menu .is-open > .submenu-toggle::before {
    content: "-";
    font-size: 1.8rem;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .destination-submenu ul {
    margin: 5px 0;
  }
  .lyt__mobile-mainmenu-inner .header__nav-mobile-list .hide-mobile > a {
    display: none !important;
  }
}

.footer {
  font-size: var(--fs-small);
  font-family: var(--ff-heading);
}
.footer .container--full {
  padding-inline: var(--container-pd-inline);
}
.footer h5 {
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
  padding-bottom: 0.2rem;
}
@media screen and (max-width: 560px) {
  .footer h5 {
    text-align: center;
  }
}
.footer h6 {
  color: var(--cl-tx-body);
  font-size: var(--fs-small);
  font-weight: var(--fw-light);
  margin: 0;
  padding: 0 0 1rem;
}
@media screen and (max-width: 560px) {
  .footer h6 {
    font-weight: var(--fw-semibold);
    font-size: var(--fs-body);
  }
}

.footer__inner {
  padding-block: var(--section-pd-block-sm);
}

.footer__grid--2cols {
  display: grid;
  grid-template-columns: 0.5fr 1fr;
  gap: var(--section-pd-block-sm);
}
@media screen and (max-width: 1440px) {
  .footer__grid--2cols {
    grid-template-columns: 400px 1fr;
  }
}
@media screen and (max-width: 1200px) {
  .footer__grid--2cols {
    grid-template-columns: 380px 1fr;
  }
}
@media screen and (max-width: 1100px) {
  .footer__grid--2cols {
    grid-template-columns: 350px 1fr;
  }
}
@media screen and (max-width: 1024px) {
  .footer__grid--2cols {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 560px) {
  .footer__grid--2cols {
    gap: 1rem;
  }
}

.col-footer__menu-social {
  display: flex;
  justify-content: space-between;
  column-gap: 4rem;
}
@media screen and (max-width: 1320px) {
  .col-footer__menu-social {
    column-gap: 3rem;
  }
}
@media screen and (max-width: 1100px) {
  .col-footer__menu-social {
    column-gap: 2rem;
  }
}
@media screen and (max-width: 1024px) {
  .col-footer__menu-social {
    flex-flow: row wrap;
    row-gap: 3rem;
    column-gap: 5rem;
    justify-content: center;
  }
}
@media screen and (max-width: 560px) {
  .col-footer__menu-social {
    text-align: center;
    flex-direction: column;
    align-items: center;
    column-gap: 1rem;
    padding-top: 30px;
  }
}
.col-footer__menu-social ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 1024px) {
  .col-footer__menu-social ul {
    text-align: center;
  }
}
.col-footer__menu-social ul li {
  margin-bottom: 1rem;
}
@media screen and (max-width: 560px) {
  .col-footer__menu-social ul li {
    margin-bottom: 0.5rem;
  }
}
.col-footer__menu-social ul li:last-child {
  margin-bottom: 0;
}
.col-footer__menu-social .footer__menu-col1 a, .col-footer__menu-social .footer__menu-col2 a {
  text-decoration: none;
  position: relative;
  overflow: hidden;
  color: var(--cl-tx-body);
}
.col-footer__menu-social .footer__menu-col1 a::after, .col-footer__menu-social .footer__menu-col2 a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cl-tx-body);
  transform: scaleX(0);
  transition: transform 400ms ease;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: -4px;
  top: auto;
  height: 1px;
}
.col-footer__menu-social .footer__menu-col1 a:hover, .col-footer__menu-social .footer__menu-col2 a:hover {
  color: var(--cl-brand-primary);
}
.col-footer__menu-social .footer__menu-col1 a:hover::after, .col-footer__menu-social .footer__menu-col2 a:hover::after {
  transform: scaleX(1);
  background: var(--cl-brand-primary);
}
.col-footer__menu-social .footer__menu-col1 a > *, .col-footer__menu-social .footer__menu-col2 a > * {
  position: relative;
  z-index: 1;
}
.col-footer__menu-social .footer__menu-col1 a:hover, .col-footer__menu-social .footer__menu-col2 a:hover {
  color: var(--cl-brand-primary);
}
.col-footer__menu-social .footer__menu-col1 ul li, .col-footer__menu-social .footer__menu-col2 ul li {
  margin-bottom: 0.7rem;
}
@media screen and (max-width: 880px) {
  .col-footer__menu-social .footer__menu-col1 ul li, .col-footer__menu-social .footer__menu-col2 ul li {
    margin-bottom: 0.3rem;
  }
}
.col-footer__menu-social .icon__follow-us-list {
  max-width: 130px;
  row-gap: 0.3rem;
}
@media screen and (max-width: 768px) {
  .col-footer__menu-social .icon__follow-us-list {
    margin: 0 auto;
  }
}
@media screen and (max-width: 560px) {
  .col-footer__menu-social .icon__follow-us-list {
    max-width: none;
  }
}

.footer__brand {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .footer__brand {
    justify-content: center;
  }
}
@media screen and (max-width: 560px) {
  .footer__brand {
    column-gap: 1rem;
    justify-content: center;
  }
}
.footer__brand img {
  display: block;
  max-height: 50px;
  width: 100%;
}
@media screen and (max-width: 480px) {
  .footer__brand img {
    max-height: 40px;
  }
}
.footer__brand .logo-katagroup {
  max-height: 60px;
}
.footer__hotel-info {
  padding-block: var(--section-pd-block-xxxs);
}
@media screen and (max-width: 1024px) {
  .footer__hotel-info {
    text-align: center;
    padding-block: var(--sp-5);
  }
}
.footer__hotel-info .hotel--address {
  font-family: var(--ff-body);
  font-size: var(--fs-body);
}
@media screen and (max-width: 1024px) {
  .footer__hotel-info .hotel--address {
    font-size: var(--fs-small);
  }
}
@media screen and (max-width: 560px) {
  .footer__hotel-info .hotel--address {
    text-align: center;
  }
}
.footer__hotel-direction {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  font-size: var(--fs-body);
  padding-bottom: var(--section-pd-block-xxxs);
}
@media screen and (max-width: 1024px) {
  .footer__hotel-direction {
    justify-content: center;
  }
}
.footer__hotel-direction i {
  font-size: 1.2rem;
  color: var(--cl-tx-header);
}
.footer__newsletter .title {
  padding-top: var(--sp-2);
}
@media screen and (max-width: 560px) {
  .footer__newsletter .title {
    text-align: center;
  }
}
.footer__newsletter .title h6 {
  font-size: var(--fs-body);
  font-weight: var(--fw-medium);
  color: var(--cl-tx-header);
}
.footer__newsletter .content {
  max-width: 480px;
  width: 100%;
}
.footer__social-contactus {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex: none !important;
}
@media screen and (max-width: 1024px) {
  .footer__social-contactus {
    width: 100%;
    flex-direction: row;
    justify-content: space-evenly;
    gap: 2rem;
    text-align: center;
  }
}
@media screen and (max-width: 880px) {
  .footer__social-contactus {
    padding-right: 0;
  }
}
@media screen and (max-width: 430px) {
  .footer__social-contactus {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .footer__social-contactus .footer__social, .footer__social-contactus .footer__contactus {
    flex: 1;
  }
}
@media screen and (max-width: 768px) {
  .footer__social-contactus ul {
    justify-content: center;
  }
}
.footer__row-copyright {
  font-weight: var(--fw-regular);
}
.footer__row-copyright .footer__inner {
  padding-block: var(--section-pd-block-xxxs);
}
@media screen and (max-width: 560px) {
  .footer__row-copyright .footer__inner {
    padding-block: 1rem;
  }
}
.footer__copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}
@media screen and (max-width: 880px) {
  .footer__copyright {
    flex-direction: column;
    gap: 0;
    font-size: 0.8rem;
    text-align: center;
  }
}
@media screen and (max-width: 375px) {
  .footer__copyright {
    font-size: 0.7rem;
  }
}
.footer__copyright a {
  color: var(--cl-tx-body);
}
.footer__copyright a:hover {
  color: var(--cl-tx-link-hover);
}
.footer__menu {
  columns: 3;
  column-gap: 2rem;
}
@media screen and (max-width: 1100px) {
  .footer__menu {
    columns: 2;
  }
}
@media screen and (max-width: 1024px) {
  .footer__menu {
    width: 100%;
    columns: 3;
  }
}
@media screen and (max-width: 560px) {
  .footer__menu {
    columns: 2;
  }
}
@media screen and (max-width: 480px) {
  .footer__menu {
    columns: 1;
  }
}
@media screen and (max-width: 480px) {
  .footer__menu ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 480px) {
  .footer__menu li {
    width: 50%;
  }
}
@media screen and (max-width: 320px) {
  .footer__menu li {
    width: 100%;
  }
}
.footer__menu a {
  text-decoration: none;
  color: var(--cl-tx-body);
  position: relative;
  overflow: hidden;
  color: var(--cl-tx-body);
}
.footer__menu a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--cl-tx-body);
  transform: scaleX(0);
  transition: transform 400ms ease;
  z-index: 0;
  left: 0;
  right: 0;
  bottom: -4px;
  top: auto;
  height: 1px;
}
.footer__menu a:hover {
  color: var(--cl-brand-primary);
}
.footer__menu a:hover::after {
  transform: scaleX(1);
  background: var(--cl-brand-primary);
}
.footer__menu a > * {
  position: relative;
  z-index: 1;
}
.footer__menu a:hover {
  color: var(--cl-brand-primary);
}

/* blocks (sections) */
/* Hero block */
.c-intro {
  display: flex;
  flex-direction: column;
  row-gap: var(--intro-content-gap-row);
  justify-content: center;
  align-items: center;
  text-align: center;
  /* max-width: var(--ct-intro-max); margin-left: auto; margin-right: auto; */
  /* @include mq-max(480px){ row-gap: 15px;  } */
}
.c-intro .icon {
  margin-bottom: 0.5rem;
}
.c-intro .icon img {
  width: auto;
  height: var(--size-icon-intro);
}
.c-intro .title + .subtitle {
  margin-top: calc(var(--intro-content-gap-row) * -0.65);
}
.c-intro .title a {
  text-decoration: none;
}
.c-intro .title a:hover h2 {
  color: var(--a-line-tx-hover);
}
.c-intro .title h2:has(i) {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--gap-title);
}
@media screen and (max-width: 430px) {
  .c-intro .title h2:has(i) {
    font-size: 22px;
  }
}
@media screen and (max-width: 400px) {
  .c-intro .title h2:has(i) {
    font-size: 20px;
  }
}
.c-intro .title h2:has(i) i {
  font-size: 1.3em;
}
.c-intro .subtitle + .title {
  margin-top: calc(var(--intro-content-gap-row) * -0.65);
}
.c-intro .description ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0 0 var(--pd-paragraph-btm);
  padding: 0;
}
.c-intro .icon-highlights .o-flex--col-icon {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-flow: wrap;
  gap: var(--sp-5);
}
.c-intro .icon-highlights .o-flex--col-icon > * {
  position: relative;
  padding-right: var(--sp-5);
}
.c-intro .icon-highlights .o-flex--col-icon > *::after {
  content: "";
  position: absolute;
  width: 1px;
  background-color: var(--cl-brand-secondary);
  top: 0px;
  bottom: 0px;
  right: 0;
  opacity: 0.15;
}
.c-intro .icon-highlights .o-flex--col-icon > *:last-child {
  padding-right: 0;
}
.c-intro .icon-highlights .o-flex--col-icon > *:last-child::after {
  display: none;
}
.c-intro .icon-highlights.flex-column {
  flex-direction: column;
}
.c-intro .icon-highlights.flex-column .o-flex--col-icon {
  flex-direction: column;
  align-items: center;
  gap: var(--sp-2);
}
.c-intro .icon-highlights.flex-column .o-flex--col-icon > * {
  padding-right: 0;
  padding-bottom: 0;
}
.c-intro .icon-highlights.flex-column .o-flex--col-icon > *::after {
  display: none;
}
.c-intro .icon-highlights.flex-column .o-flex--col-icon > *:last-child {
  padding-bottom: 0;
}
.c-intro.intro-split .subtitle {
  color: var(--cl-brand-secondary);
}
.c-intro.full-width {
  max-width: 100%;
  padding-left: var(--pd-page-sides);
  padding-right: var(--pd-page-sides);
}
.c-intro.experiences-intro .title h1 {
  font-size: var(--fs-experience-h1);
  line-height: var(--lh-heading);
}
@media screen and (max-width: 480px) {
  .c-intro.experiences-intro .title h1 {
    line-height: 1.2;
  }
}
.c-intro.main-intro .title h2 {
  font-size: var(--fs-intro-title);
  line-height: var(--lh-heading);
}
.c-intro.u-tx--lf .description ul {
  align-items: flex-start;
  padding-left: var(--pd-ul-left);
  text-align: left;
}
.c-intro.u-tx--rt .description ul {
  align-items: flex-end;
  text-align: right;
  padding-left: var(--pd-ul-left);
}
.c-intro.intro--form {
  row-gap: var(--gap-xs);
}
.c-intro.intro--form .title h3 {
  color: var(--cl-brand-primary);
  margin: 0;
}
.c-intro.intro--form .subtitle h4 {
  color: var(--cl-tx-body);
  font-weight: var(--fw-regular);
  font-size: var(--fs-intro-subtitle);
}

.lyt__intro-split {
  display: flex;
  align-items: center;
  column-gap: var(--gap-md);
}
@media screen and (max-width: 880px) {
  .lyt__intro-split {
    flex-direction: column;
    row-gap: var(--container-gap-row);
  }
}
.lyt__intro-split .content {
  width: var(--content-split-w);
}
.lyt__intro-split .media {
  flex: 1;
}
@media screen and (max-width: 880px) {
  .lyt__intro-split .media {
    width: 100%;
    flex: auto;
  }
}
@media screen and (max-width: 880px) {
  .lyt__intro-split .u-tx--lf, .lyt__intro-split .u-tx--rt {
    text-align: center;
    align-items: center;
  }
}
.lyt__intro-centered {
  display: flex;
  margin-bottom: var(--gap-md);
  --image-wrap-intro: 4rem;
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered {
    flex-flow: wrap;
    gap: var(--gap-col-md) var(--gap-col-sm);
    margin-bottom: 0;
  }
}
.lyt__intro-centered .media {
  top: var(--gap-md);
  flex: 1;
  max-width: 400px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .media {
    display: none;
  }
}
.lyt__intro-centered .media .photo {
  width: calc(100% + var(--image-wrap-intro));
  height: 100%;
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .media .photo {
    width: 100%;
    height: auto;
  }
}
.lyt__intro-centered .media img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .media-left {
    order: 2;
  }
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .media-right {
    order: 3;
  }
}
.lyt__intro-centered .media-right .photo {
  margin-left: calc(-1 * var(--image-wrap-intro));
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .media-right .photo {
    margin-left: 0;
  }
}
.lyt__intro-centered .content {
  display: flex;
  justify-content: center;
  padding: var(--card-content-pd-wrapper-lg);
  flex: 2;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  .lyt__intro-centered .content {
    flex: 3;
  }
}
@media screen and (max-width: 990px) {
  .lyt__intro-centered .content {
    flex: 5;
  }
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .content {
    flex: auto;
    width: 100%;
    order: 1;
  }
}
@media screen and (max-width: 880px) {
  .lyt__intro-centered .content .c-intro {
    max-width: none;
  }
}
.lyt__intro-centered .content h2 {
  font-size: var(--fs-intro-title);
  text-transform: none;
}
.lyt__intro-centered .content h3 {
  font-size: var(--fs-intro-subtitle);
  padding-top: var(--sp-2);
}
.lyt__intro-default {
  max-width: var(--ct-intro-max);
  margin-left: auto;
  margin-right: auto;
}
.lyt__intro-default-bg {
  max-width: var(--ct-intro-bg-max);
  margin-left: auto;
  margin-right: auto;
  background-color: var(--cl-bg-section);
  padding: var(--card-content-pd-wrapper-lg);
}
.lyt__intro-default-bg h3 {
  color: var(--cl-brand-secondary);
}

/* Rooms block */
.c-rooms-icon-highlight {
  display: flex;
  align-items: flex-start;
  column-gap: var(--gap-md);
  max-width: var(--ct-intro-max);
  margin: 0 auto;
}
@media screen and (max-width: 650px) {
  .c-rooms-icon-highlight {
    flex-flow: wrap;
    gap: var(--gap-md);
  }
}
.c-rooms-icon-highlight .item {
  flex: 1;
  display: flex;
  flex-direction: column;
  row-gap: var(--gap-xs);
}
@media screen and (max-width: 880px) {
  .c-rooms-icon-highlight .item {
    width: 100%;
    flex: auto;
  }
}
@media screen and (max-width: 650px) {
  .c-rooms-icon-highlight .item {
    width: calc(33.33% - var(--gap-md) * 0.6666666667);
  }
}
@media screen and (max-width: 480px) {
  .c-rooms-icon-highlight .item {
    width: calc(50% - var(--gap-md) * 0.5);
  }
}
.c-rooms-icon-highlight i {
  font-size: 2.8rem;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .c-rooms-icon-highlight i {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 480px) {
  .c-rooms-icon-highlight i {
    font-size: 2.2rem;
  }
}
.c-rooms-icon-highlight i.icon-summer-holiday {
  transform: scale(1.08);
}
.c-rooms-icon-highlight .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-rooms-icon-highlight .content {
  text-align: center;
}
.c-rooms-icon-highlight .title h5 {
  text-transform: none;
}

.c-rooms-amenities-list {
  columns: 3;
  column-gap: var(--gap-lg);
}
@media screen and (max-width: 880px) {
  .c-rooms-amenities-list {
    columns: 2;
  }
}
@media screen and (max-width: 480px) {
  .c-rooms-amenities-list {
    columns: 1;
    max-width: 400px;
    margin: 0 auto;
  }
}
.c-rooms-amenities-list .item {
  display: flex;
  align-items: center;
  column-gap: var(--gap-sm);
  margin-bottom: var(--sp-4);
}
@media screen and (max-width: 880px) {
  .c-rooms-amenities-list .item {
    width: 100%;
  }
}
.c-rooms-amenities-list .item i {
  font-size: 2.2rem;
  color: var(--color-primary);
}
@media screen and (max-width: 880px) {
  .c-rooms-amenities-list .item i {
    font-size: 2rem;
  }
}
.c-rooms-amenities-list .item .description {
  line-height: var(--lh-content-card);
}

/* Offers block */
/* Facilities block */
/* Blog block */
.c-blog--content {
  border-bottom: 1px solid var(--cl-gray-500);
  max-width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-blog--content h1 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .c-blog--content h1 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 480px) {
  .c-blog--content h1 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 430px) {
  .c-blog--content h1 {
    font-size: 1.8rem;
  }
}
.c-blog--content .blog-photo {
  padding-block: var(--section-pd-block-xs);
}
@media screen and (max-width: 480px) {
  .c-blog--content .blog-photo {
    padding-block: 30px;
  }
}
.c-blog--content .blog-photo img {
  aspect-ratio: var(--img-ratio-blog-hero);
  object-fit: cover;
  width: 100%;
}
.c-blog--content .blog-description h2 {
  font-size: var(--fs-blog-h2);
  line-height: var(--lh-heading);
  margin-bottom: 1rem;
}
.c-blog--content .blog-description h3 {
  font-size: var(--fs-blog-h3);
  line-height: var(--lh-heading);
}
.c-blog--content .blog-description h4 {
  font-size: var(--fs-h5);
  line-height: var(--lh-heading);
  margin-bottom: 5px;
  text-transform: uppercase;
}
.c-blog--content .blog-description h5 {
  text-transform: none;
}
.c-blog--content .blog-description h3, .c-blog--content .blog-description h4, .c-blog--content .blog-description h5 {
  color: var(--cl-tx-body);
}
.c-blog--content .blog-description .wp-block-media-text {
  gap: var(--gap-md);
  padding-block: var(--sp-4) calc(var(--pd-paragraph-btm) + var(--sp-4));
}
.c-blog--content .blog-description .wp-block-media-text .wp-block-media-text__content {
  padding: 0.5rem 0 0;
}
.c-blog--content .blog-description .wp-block-image {
  padding-block: var(--sp-4) calc(var(--pd-paragraph-btm) + var(--sp-4));
  margin: 0;
}

.c-blog--tags {
  display: flex;
  column-gap: 1rem;
  justify-content: space-between;
  padding-top: var(--sp-5);
}
.c-blog--tags .tags-wrapper {
  display: flex;
  column-gap: 0.5rem;
  flex-wrap: wrap;
}
.c-blog--tags .tags-label {
  padding-top: 3px;
  font-weight: var(--fw-medium);
}
.c-blog--tags a {
  text-decoration: none;
  display: inline-block;
  padding: var(--tag-padding);
  border-radius: var(--tag-radius);
  font-size: var(--tag-font-size);
  background-color: var(--tag-bg);
  color: var(--tag-cl-text);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.c-blog--tags a:hover {
  color: var(--tag-cl-text-hover);
  background-color: var(--tag-bg-hover);
}
.c-blog--tags a.link-back {
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
.c-blog--tags a.link-back:hover {
  background-color: var(--cl-brand-secondary);
}

.c-intro.blog {
  max-width: none;
}

#sidebar {
  border: 1px solid var(--field-border);
  padding: var(--card-content-pd-wrapper);
  border-radius: 8px;
}
#sidebar h3 {
  margin: 10px 0 10px;
  font-size: var(--fs-h4);
  color: var(--cl-tx-header);
}
@media screen and (max-width: 1024px) {
  #sidebar h3 {
    font-size: 22px;
  }
}
#sidebar h4 {
  font-size: var(--fs-h6);
  line-height: var(--lh-heading);
  color: var(--cl-tx-body);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
#sidebar .posted-on {
  font-size: var(--fs-small);
  color: var(--cl-gray-600);
}
#sidebar .search-blog input {
  border-radius: var(--field-radius) 0 0 var(--field-radius);
  margin: 0;
  border-right: 0;
}
#sidebar .search-blog button[type=submit] {
  border-radius: 0 var(--field-radius) var(--field-radius) 0;
  margin: 0;
  padding: 2px 1rem 0;
  background-color: var(--cl-tx-body);
  color: var(--cl-white);
  border: 0;
  text-transform: uppercase;
  font-size: var(--btn-font-size);
}
#sidebar .categories ul {
  padding-left: 5px;
  list-style-type: none;
}
#sidebar .categories a {
  text-decoration: none;
  color: var(--cl-tx-body);
}
#sidebar .categories a:hover {
  color: var(--cl-brand-secondary);
}
#sidebar .tags h3 {
  margin-bottom: 0.75rem;
}
#sidebar .tags .wp-block-tag-cloud {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
#sidebar .tags a {
  border-radius: 4px;
  background-color: var(--cl-gray-100);
  text-decoration: none;
  display: inline-block;
  padding: 4px 6px;
  color: var(--cl-tx-body);
  margin-bottom: 0.5rem;
  margin: 0;
  font-size: 0.8rem !important;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
#sidebar .tags a:hover {
  color: var(--cl-brand-secondary);
  background-color: var(--cl-brand-tertiary);
}
#sidebar .widget-content ul {
  margin: 0 0 15px 20px;
}

#recentpost {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media screen and (max-width: 880px) {
  #recentpost {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap-md);
  }
}
@media screen and (max-width: 560px) {
  #recentpost {
    grid-template-columns: 1fr;
  }
}
#recentpost .box a {
  display: grid;
  align-items: center;
  grid-template-columns: 110px 1fr;
  column-gap: 1rem;
  text-decoration: none;
  color: var(--cl-tx-body);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
@media screen and (max-width: 1320px) {
  #recentpost .box a {
    grid-template-columns: 100px 1fr;
  }
}
#recentpost .box a:hover h4 {
  color: var(--cl-brand-secondary);
}
#recentpost img {
  aspect-ratio: 1/1;
  object-fit: cover;
}
#recentpost .excerpt {
  font-size: var(--fs-caption);
  line-height: 1.2;
  padding-top: 0.3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wp-block-separator {
  border-top: 1px solid var(--cl-gray-100);
}

.c-module--blogs-list .listitem {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap-rows-lg);
}
@media screen and (max-width: 1100px) {
  .c-module--blogs-list .listitem {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .c-module--blogs-list .listitem {
    grid-template-columns: 1fr;
  }
}
.c-module--blogs-list .listitem-notfound {
  text-align: center;
}
.c-module--blogs-list .c-empty {
  text-align: center;
  grid-column: 3 span;
}
@media screen and (max-width: 1100px) {
  .c-module--blogs-list .c-empty {
    grid-column: 2 span;
  }
}
@media screen and (max-width: 600px) {
  .c-module--blogs-list .c-empty {
    grid-column: 1 span;
  }
}

#sidebar.guide-sidebar .widget--map iframe {
  width: 100%;
  aspect-ratio: 1/1;
  height: auto;
  filter: grayscale(0%);
}
#sidebar.guide-sidebar .widget--contact {
  padding-top: 0.3rem;
}
#sidebar.guide-sidebar .widget--contact .address, #sidebar.guide-sidebar .widget--contact .phone, #sidebar.guide-sidebar .widget--contact .email, #sidebar.guide-sidebar .widget--contact .social {
  margin-bottom: 0.5rem;
}
#sidebar.guide-sidebar .widget--contact .address a, #sidebar.guide-sidebar .widget--contact .phone a, #sidebar.guide-sidebar .widget--contact .email a, #sidebar.guide-sidebar .widget--contact .social a {
  color: var(--cl-tx-body);
  text-decoration: none;
}
#sidebar.guide-sidebar .widget--contact .address a:hover, #sidebar.guide-sidebar .widget--contact .phone a:hover, #sidebar.guide-sidebar .widget--contact .email a:hover, #sidebar.guide-sidebar .widget--contact .social a:hover {
  color: var(--cl-tx-link-hover);
}
#sidebar.guide-sidebar .widget--contact .social {
  display: flex;
  gap: 0.5rem;
  padding-top: 1.5rem;
}
#sidebar.guide-sidebar .widget--contact .social i {
  font-size: 1.5rem;
  display: block;
}

.c-guide-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  max-width: 880px;
  margin: auto;
  width: 100%;
}
@media screen and (max-width: 430px) {
  .c-guide-toolbar {
    flex-direction: column;
  }
}
.c-guide-toolbar .c-guide-toolbar__left {
  flex: 1;
}
@media screen and (max-width: 430px) {
  .c-guide-toolbar .c-guide-toolbar__left {
    width: 100%;
  }
}
.c-guide-toolbar .c-guide-toolbar__right {
  width: 250px;
}
@media screen and (max-width: 880px) {
  .c-guide-toolbar .c-guide-toolbar__right {
    width: 200px;
  }
}
@media screen and (max-width: 480px) {
  .c-guide-toolbar .c-guide-toolbar__right {
    width: 150px;
  }
}
@media screen and (max-width: 430px) {
  .c-guide-toolbar .c-guide-toolbar__right {
    width: 100%;
  }
}
.c-guide-toolbar .c-guide-toolbar__right select:focus {
  outline: none;
  border-color: var(--cl-brand-primary);
  box-shadow: 0 0 0 3px var(--field-focus-shadow);
}
.c-guide-toolbar input, .c-guide-toolbar select {
  border-radius: 30px;
  padding: 0.4rem 2rem;
  border: 1px solid var(--cl-gray-500);
}
@media screen and (max-width: 480px) {
  .c-guide-toolbar input, .c-guide-toolbar select {
    padding: 0.4rem 1.5rem;
  }
}
.c-guide-toolbar input:hover, .c-guide-toolbar select:hover {
  border-color: var(--cl-brand-secondary);
}
.c-guide-toolbar input {
  background: url(../images/icon--search.svg) no-repeat 15px center;
  background-size: 16px auto;
  padding-left: 45px;
}
.c-guide-toolbar .c-guide-toolbar__clear[hidden] {
  display: none;
}
.c-guide-toolbar .c-guide-toolbar__right-clear {
  display: none;
}

.sty__roomcompares .photo {
  width: 300px;
}
.sty__roomcompares .detail-compares {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.sty__roomcompares .row {
  display: grid;
  grid-template-columns: 50px 1fr;
  column-gap: 20px;
  align-items: center;
}
.sty__roomcompares .row i {
  font-size: 3.5rem;
  color: var(--cl-black);
}
.sty__compare_step_1 {
  display: flex;
  flex-direction: column;
  row-gap: var(--sp-7);
}
@media screen and (max-width: 430px) {
  .sty__compare_step_1 {
    row-gap: var(--sp-6);
  }
}
.sty__compare_step_1 .sty__intro .wrap__intro {
  row-gap: 10px;
}
@media screen and (max-width: 980px) {
  .sty__compare_step_1 .sty__intro .wrap__intro {
    row-gap: 5px;
  }
}
@media screen and (max-width: 430px) {
  .sty__compare_step_1 .sty__intro .wrap__intro .title h3 {
    font-size: 2.4rem;
  }
}
.sty__compare_step_1 .list-room {
  display: flex;
  justify-content: center;
  flex-flow: wrap;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_1 .list-room {
    column-gap: 20px;
  }
}
@media screen and (max-width: 980px) {
  .sty__compare_step_1 .list-room {
    column-gap: 20px;
    row-gap: 20px;
  }
}
@media screen and (max-width: 430px) {
  .sty__compare_step_1 .list-room {
    column-gap: 15px;
  }
}
.sty__compare_step_1 .list-room .box {
  flex: 1 1 calc(25% - 30px);
  max-width: calc(25% - 30px);
  display: flex;
  flex-direction: column;
  row-gap: var(--sp-3);
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_1 .list-room .box {
    flex: 1 1 180px;
  }
}
@media screen and (max-width: 880px) {
  .sty__compare_step_1 .list-room .box {
    flex: 0 1 200px;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_1 .list-room .box {
    flex: 0 1 180px;
  }
}
@media screen and (max-width: 430px) {
  .sty__compare_step_1 .list-room .box {
    flex: 1 1 140px;
  }
}
.sty__compare_step_1 .list-room .box a {
  display: flex;
  flex-direction: column;
}
.sty__compare_step_1 .list-room .box a .photo {
  position: relative;
  background: var(--cl-black);
}
.sty__compare_step_1 .list-room .box a .photo:before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background: url(../images/icon--add.svg) no-repeat center center;
  background-size: 50px auto;
  opacity: 0;
  transform: scale(0.8);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
@media screen and (max-width: 480px) {
  .sty__compare_step_1 .list-room .box a .photo:before {
    background-size: 40px auto;
  }
}
.sty__compare_step_1 .list-room .box a .photo img {
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  display: block;
  aspect-ratio: var(--img-ratio-blog-hero);
  object-fit: cover;
}
.sty__compare_step_1 .list-room .box a:hover {
  text-decoration: none;
}
.sty__compare_step_1 .list-room .box a:hover .photo img {
  opacity: 0.5;
}
.sty__compare_step_1 .list-room .box a:hover .photo::before {
  opacity: 1;
  transform: scale(1);
}
.sty__compare_step_1 .list-room .title h4 {
  text-align: center;
  padding: 10px 0;
  font-size: var(--fs-h5);
}
@media screen and (max-width: 980px) {
  .sty__compare_step_1 .list-room .title h4 {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_1 .list-room .title h4 {
    font-size: 1.1rem;
  }
}
.sty__compare_step_1.hide {
  display: none;
}
.sty__compare_step_1.comparepage {
  overflow: hidden;
}
.sty__compare_step_1.comparepage .link {
  text-align: center;
  padding-top: 30px;
  max-height: 0;
  overflow: hidden;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .sty__compare_step_1.comparepage .link {
    padding-top: 0;
  }
}
.sty__compare_step_1.comparepage .link.active {
  max-height: 100px;
}
.sty__compare_step_1.comparepage .photo::after {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background: url(../images/icon--check.svg) no-repeat center center;
  background-size: 45px auto;
  opacity: 0;
  transform: scale(0.8);
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
}
@media screen and (max-width: 480px) {
  .sty__compare_step_1.comparepage .photo::after {
    background-size: 35px auto;
  }
}
.sty__compare_step_1.comparepage a.check .photo img {
  opacity: 0.5;
}
.sty__compare_step_1.comparepage a.check .photo::after {
  opacity: 1;
  transform: scale(1);
}
.sty__compare_step_1.comparepage a.check:hover .photo:before {
  opacity: 0;
}
.sty__compare_step_2 {
  height: 0;
  overflow: hidden;
  display: none;
}
.sty__compare_step_2.active {
  display: block;
  overflow: scroll;
  height: 100%;
}
.sty__compare_step_2 ul {
  list-style-type: disc;
  padding-left: var(--sp-4);
}
.sty__compare_step_2 .row {
  display: grid;
  grid-template-columns: 0.8fr 1fr 1fr;
  width: 100%;
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .row {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .row .c1 {
    grid-column: 2 span;
  }
}
.sty__compare_step_2 .row {
  /* &[data-row="special_features_amenities"]{ background-color: var(--cl-brand-primary); color: var(--cl-white); font-weight: 600;
  	div.col.title{
  		@include mq-max(480px){ background-color: var(--cl-brand-secondary); }
  	}
  } */
}
.sty__compare_step_2 .row[data-row=link] a {
  display: inline-block;
}
.sty__compare_step_2 {
  --select-height: 90px;
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_2 {
    --select-height: 60px;
  }
}
.sty__compare_step_2 .menu-select-room {
  display: flex;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 60px;
  right: 60px;
  height: var(--select-height);
  padding-top: 30px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_2 .menu-select-room {
    left: 30px;
    right: 30px;
    padding-top: 20px;
  }
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .menu-select-room {
    left: 20px;
    right: 20px;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .menu-select-room {
    padding-top: 0;
  }
}
@media screen and (max-width: 430px) {
  .sty__compare_step_2 .menu-select-room {
    left: 10px;
    right: 10px;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .menu-select-room .c1 {
    display: none;
  }
}
.sty__compare_step_2 .menu-select-room .select-menu-compare {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: auto;
}
@media screen and (max-width: 1320px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare {
    width: 100%;
  }
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
  text-align: center;
  cursor: pointer;
  font-size: var(--fs-h4);
  font-family: var(--ff-heading);
  color: var(--cl-tx-header);
  font-weight: var(--fw-medium);
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 880px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
    font-size: 1.5rem;
    line-height: 1;
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
    font-size: 1.4rem;
    padding: 0 15px;
  }
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active {
    font-size: 1rem;
  }
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .room-on-active::after {
  position: absolute;
  height: 100%;
  width: 40px;
  right: 0px;
  top: 0;
  font-family: "icomoon" !important;
  content: "\e921";
  font-size: 16px;
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .select-room {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  opacity: 0;
  max-height: 0;
  transition: all var(--transition-duration) var(--transition-timing) var(--transition-delay);
  padding: 0;
  background-color: var(--cl-white);
  overflow: hidden;
  text-align: center;
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .select-room .list a {
  display: block;
  padding: 5px 20px;
  color: var(--cl-tx-body);
  position: relative;
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .select-room .list a:hover {
  color: var(--cl-tx-link-hover);
  text-decoration: none;
  font-weight: normal;
}
.sty__compare_step_2 .menu-select-room .select-menu-compare .select-room .list:has(.hide) {
  display: none;
}
.sty__compare_step_2 .menu-select-room .select-menu-compare:hover .select-room {
  opacity: 1;
  max-height: 500px;
  padding: 10px 0;
}
.sty__compare_step_2 .photo-room {
  text-align: center;
  margin-top: var(--sp-5);
}
.sty__compare_step_2 .photo-room img {
  display: block;
}
.sty__compare_step_2 .photo-room .row {
  align-items: center;
  background-color: var(--cl-bg-section);
  border-bottom: 1px solid var(--cl-white);
}
.sty__compare_step_2 .photo-room .c1 {
  background-color: var(--cl-bg-section);
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .photo-room .c1 {
    display: none;
  }
}
.sty__compare_step_2 .photo-room h5 {
  color: var(--cl-tx-header);
}
@media screen and (max-width: 880px) {
  .sty__compare_step_2 .photo-room h5 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .sty__compare_step_2 .photo-room h5 {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .photo-room h5 {
    font-size: 1.4rem;
    text-align: left;
    padding: 0 15px;
  }
}
.sty__compare_step_2 .compare-room {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .sty__compare_step_2 .compare-room {
    line-height: 1.3;
  }
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .compare-room {
    font-size: 12px;
  }
}
.sty__compare_step_2 .compare-room i.ico {
  font-size: 30px;
  margin-right: var(--sp-6);
  margin-top: -2px;
}
@media screen and (max-width: 1200px) {
  .sty__compare_step_2 .compare-room i.ico {
    margin-right: var(--sp-4);
  }
}
@media screen and (max-width: 768px) {
  .sty__compare_step_2 .compare-room i.ico {
    font-size: 22px;
    margin-right: var(--sp-4);
  }
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .compare-room i.ico {
    margin: 0 0 5px;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .compare-room i.ico {
    margin: 0;
  }
}
.sty__compare_step_2 .compare-room .row {
  border-bottom: 1px solid var(--cl-white);
}
.sty__compare_step_2 .compare-room .row .col {
  padding: var(--sp-4) var(--sp-7);
}
@media screen and (max-width: 1200px) {
  .sty__compare_step_2 .compare-room .row .col {
    padding: var(--sp-4) var(--sp-4);
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .compare-room .row .col {
    padding: var(--sp-2);
  }
}
.sty__compare_step_2 .compare-room .row .col.title {
  display: flex;
  background: var(--cl-bg-section);
}
@media screen and (max-width: 560px) {
  .sty__compare_step_2 .compare-room .row .col.title {
    flex-direction: column;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2 .compare-room .row .col.title {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    border-right: 0;
    padding: var(--sp-2) var(--sp-4);
    background-color: var(--cl-white);
  }
}
.sty__compare_step_2 .compare-room .row .col.room1, .sty__compare_step_2 .compare-room .row .col.room2 {
  border-right: 1px solid var(--cl-bg-section);
  border-bottom: 1px solid var(--cl-bg-section);
}
.sty__compare_step_2 .compare-room .link {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sty__compare_step_2 .compare-room .link a {
    width: 80%;
  }
}
.sty__compare_step_2.comparepage {
  height: 0;
}
.sty__compare_step_2.comparepage.active {
  height: auto;
}
.sty__compare_step_2.comparepage .menu-select-room {
  display: flex;
  position: relative;
  z-index: 1;
  top: auto;
  right: auto;
  left: auto;
  height: auto;
}
.sty__compare_step_2.comparepage .compare-room {
  padding-top: 0;
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2.comparepage .menu-select-room .select-menu-compare .room-on-active {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 480px) {
  .sty__compare_step_2.comparepage .menu-select-room .select-menu-compare .room-on-active::after {
    bottom: 0px;
  }
}

.c-gallery-filter {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: var(--gap-md);
  justify-content: center;
}
.c-gallery-filter .c-gallery-filter-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-bottom: 1px solid var(--cl-brand-primary);
}
.c-gallery-filter .c-gallery-filter-btns a {
  padding: var(--sp-2) var(--sp-4);
  background-color: var(--cl-bg);
  color: var(--cl-text);
  border-radius: var(--tag-radius) var(--tag-radius) 0 0;
  font-size: var(--fs-sm);
  font-weight: 500;
  border: 1px solid transparent;
  transition: all 0.3s ease;
  cursor: pointer;
  text-decoration: none;
}
.c-gallery-filter .c-gallery-filter-btns a:hover, .c-gallery-filter .c-gallery-filter-btns a.active {
  background-color: var(--cl-brand-primary);
  color: var(--cl-white);
  border-color: var(--cl-brand-primary);
}
.c-gallery-filter .c-gallery-filter-items {
  margin: 0 -5px;
}
.c-gallery-filter .c-gallery-item {
  width: 16.6666666667%;
  overflow: hidden;
  padding: 5px;
}
@media screen and (max-width: 1024px) {
  .c-gallery-filter .c-gallery-item {
    width: 20%;
  }
}
@media screen and (max-width: 560px) {
  .c-gallery-filter .c-gallery-item {
    width: 33.3333333333%;
    padding: 2px;
  }
}
.c-gallery-filter .c-gallery-item a {
  display: block;
  overflow: hidden;
}
.c-gallery-filter .c-gallery-item a:hover img {
  transform: scale(1.05);
}
.c-gallery-filter .c-gallery-item img {
  width: 100%;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.c-gallery-filter.video .c-gallery-item {
  width: 33.3333333333%;
  overflow: hidden;
  padding: 5px;
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
@media screen and (max-width: 768px) {
  .c-gallery-filter.video .c-gallery-item {
    width: 50%;
  }
}
.c-gallery-filter.video .c-gallery-item iframe {
  width: 100%;
  height: auto;
  aspect-ratio: var(--img-ratio-card);
  object-fit: cover;
  display: block;
}
.c-gallery-filter.video .c-gallery-item .title {
  text-align: center;
}
.c-gallery-filter.video .c-gallery-item .title h4 {
  text-align: center;
  font-size: var(--fs-body);
}

.u-hidden {
  display: none !important;
}

.u-block {
  display: block !important;
}

.u-flex {
  display: flex !important;
}

.u-tx--cn {
  text-align: center;
}

.u-tx--lf {
  text-align: left;
  align-items: flex-start;
}

.u-tx--rt {
  text-align: right;
  align-items: flex-end;
}

.u-tx--upper {
  text-transform: uppercase;
}

.u-tx--muted {
  color: var(--c-text-muted);
}

.u-tx--transform-none {
  text-transform: none;
}

.u-bg-section {
  background-color: var(--cl-bg-section);
}
.u-bg-section .lyt__intro-default-bg {
  background-color: var(--cl-white);
}
.u-bg-section-soft {
  background-color: var(--cl-bg-section-soft);
}
.u-bg-section-soft .lyt__intro-default-bg {
  background-color: var(--cl-white);
}
.u-bg-section-dark {
  background-color: var(--cl-bg-section-dark);
}
.u-bg-section-dark :is(h1, h2, h3, h4, h5, h6, p, a, span, li, label, small):not(.card *):not(.c-card *) {
  color: var(--cl-white);
}
.u-bg-section-dark :is(.btn--primary):not(.card *):not(.c-card *) {
  background-color: var(--cl-white);
  color: var(--cl-bg-section-dark);
  border-color: var(--cl-white);
}
.u-bg-section-dark :is(.btn--primary):not(.card *):not(.c-card *):hover {
  background: var(--cl-bg-section-dark);
  color: var(--cl-white);
  border-color: var(--cl-white);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
}
.u-bg-section-dark :is(.btn--outline):not(.card *):not(.c-card *) {
  color: var(--cl-white);
  border-color: var(--cl-white);
}
.u-bg-section-dark :is(.btn--outline):not(.card *):not(.c-card *):hover {
  background: var(--cl-white);
  color: var(--cl-bg-section-dark);
  border-color: var(--cl-white);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.14);
}
.u-bg-section-dark :is(.a--line):not(.card *):not(.c-card *) {
  color: var(--cl-white);
}
.u-bg-section-dark :is(.a--line):not(.card *):not(.c-card *)::after {
  background-color: var(--cl-white);
}
.u-bg-section-dark .lyt__intro-default-bg {
  background-color: var(--cl-white);
}
.u-bg-white {
  background-color: var(--cl-white);
}
.u-bg-cover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.u-bg-muted {
  background: var(--c-bg-muted);
}

.u-border {
  border: 1px solid var(--cl-border);
}

.u-rounded {
  border-radius: var(--radius);
}

/* Utility animations (if you keep them) */
/* ==================================================
   Context: Inverse / Dark background
   ================================================== */
.is-inverse {
  background: var(--cl-bg-inverse);
  color: var(--cl-white);
  /* Switch button theme in inverse context */
  --btn-primary-bg: var(--cl-bg-section-soft);
  --btn-primary-tx: var(--cl-brand-primary);
  --btn-primary-bg-hover: var(--cl-brand-primary);
  --btn-primary-tx-hover: var(--cl-white);
}
.is-inverse .is-default {
  /* reset to normal button theme */
  --btn-primary-bg: var(--cl-brand-primary);
  --btn-primary-tx: var(--cl-white);
  --btn-primary-bg-hover: var(--cl-brand-secondary);
  --btn-primary-tx-hover: var(--cl-white);
}
.is-inverse input,
.is-inverse select,
.is-inverse textarea {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--cl-white);
}
.is-inverse input::placeholder,
.is-inverse textarea::placeholder {
  color: rgba(255, 255, 255, 0.65);
}

.u-mediaslider--default img {
  aspect-ratio: var(--img-ratio-hero);
}

/* ==================================================
Utilities: Buttons
================================================== */
.u-btn--max-200 {
  flex-flow: nowrap;
}
.u-btn--max-200 a {
  max-width: 200px;
  width: 100%;
}
@media screen and (max-width: 650px) {
  .u-btn--max-200 a {
    max-width: inherit;
    width: auto;
  }
}
@media screen and (max-width: 560px) {
  .u-btn--max-200 a {
    min-width: 140px;
  }
}

.u-icon-row {
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}
.u-icon-row i {
  font-size: 2rem;
  margin-right: 5px;
}
.u-icon-row span {
  padding-top: 5px;
}
.u-icon-row .label {
  font-weight: bold;
}
.u-icon-row.dining .label {
  display: inline-block;
}
.u-icon-row.facilities {
  flex-wrap: wrap;
  justify-content: center;
}

.u-icon-column {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.u-icon-column i {
  font-size: 2rem;
  color: var(--cl-tx-header);
}
.u-icon-column .label {
  font-weight: var(--fw-medium);
  padding-top: 5px;
}

.u-icon-mini {
  align-items: center;
  gap: 5px;
}
.u-icon-mini i {
  font-size: 1rem;
  color: var(--cl-tx-header);
  margin-right: 0;
}

.u-logo--google-review {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-align: center;
}
.u-logo--google-review .google-review__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--cl-tx-body);
}
.u-logo--google-review .google-review__link img {
  width: 60px;
}
@media screen and (max-width: 560px) {
  .u-logo--google-review .google-review__link img {
    width: 50px;
  }
}
.u-logo--google-review .google-review__rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.u-logo--google-review .rating-value {
  font-size: 2.3rem;
  font-weight: var(--fw-medium);
}
.u-logo--google-review .rating-star .full {
  color: #F1A925;
}
.u-logo--google-review .rating-star .half {
  color: var(--cl-gray-300);
  position: relative;
}
.u-logo--google-review .rating-star .half::after {
  content: "\e948";
  color: #F1A925;
  clip-path: polygon(0 0, var(--rating) 0, var(--rating) 100%, 0% 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.u-logo--google-review .rating-star .empty {
  color: var(--cl-gray-300);
}

/* keep only if truly needed */
/* ==================================================
   Utilities: Section padding
   ================================================== */
.u-pd-section-xl {
  padding-block: var(--section-pd-block-xl);
}

.u-pd-section-lg {
  padding-block: var(--section-pd-block-lg);
}

.u-pd-section-md {
  padding-block: var(--section-pd-block-md);
}

.u-pd-section-sm {
  padding-block: var(--section-pd-block-sm);
}

.u-pd-section-xs {
  padding-block: var(--section-pd-block-xs);
}

.u-pd-section-xxxs {
  padding-block: var(--section-pd-block-xxxs);
}

/* ==================================================
   Utilities: Content padding
   ================================================== */
.u-pd-content-lg {
  padding: var(--pd-content-lg);
}

.u-pd-content-md {
  padding: var(--pd-content-md);
}

.u-pd-content-sm {
  padding: var(--pd-content-sm);
}

/* ==================================================
   Utilities: Inline spacing
   ================================================== */
.u-pd-inline-lg {
  padding-inline: var(--pd-inline-lg);
}

.u-pd-inline-md {
  padding-inline: var(--pd-inline-md);
}

.u-pd-inline-sm {
  padding-inline: var(--pd-inline-sm);
}

.u-gap-lg {
  gap: var(--pd-inline-lg);
}

.u-gap-md {
  gap: var(--pd-inline-md);
}

.u-gap-sm {
  gap: var(--pd-inline-sm);
}

.u-pdt-md {
  padding-top: var(--section-pd-block-md);
}

.u-pdt-sm {
  padding-top: var(--section-pd-block-sm);
}

.u-pdt-xs {
  padding-top: var(--section-pd-block-xs);
}

.u-pdb-xl {
  padding-bottom: var(--section-pd-block-xl);
}

.u-pdb-lg {
  padding-bottom: var(--section-pd-block-lg);
}

.u-break--widget {
  border: none;
  border-bottom: 1px solid var(--cl-gray-100);
  margin: 1.5rem 0;
}

/* ==================================================
Utilities: Form layout
================================================== */
.u-form {
  display: grid;
  gap: var(--form-gap);
}

.u-form__row {
  display: grid;
  gap: var(--form-gap);
}

/* 2 columns */
.u-form__row--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 3 columns */
.u-form__row--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Responsive collapse */
@media screen and (max-width: 768px) {
  .u-form__row--2,
  .u-form__row--3 {
    grid-template-columns: 1fr;
  }
}
.u-form__actions {
  display: flex;
  align-items: center;
  gap: var(--pd-inline-sm);
  flex-wrap: wrap;
}

/* HTML: <div class="loader"></div> */
.wpcf7-spinner {
  width: 22px;
  height: 22px;
  margin: 0;
  padding: 0;
  top: 28px;
  left: calc(100% + 10px);
  aspect-ratio: 1;
  --_c:no-repeat radial-gradient(farthest-side, var(--cl-brand-primary) 90%,#0000);
  background: var(--_c) top, var(--_c) left, var(--_c) right, var(--_c) bottom;
  background-size: 8px 8px;
  animation: l7 1s infinite;
}
.wpcf7-spinner:before {
  display: none;
}

@keyframes l7 {
  to {
    transform: rotate(0.5turn);
  }
}
/* ==================================================
   Utilities: Grid
   ================================================== */
.u-grid {
  display: grid;
  gap: var(--pd-inline-md);
}
.u-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.u-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.u-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Responsive collapse */
@media (max-width: 992px) {
  .u-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .u-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 576px) {
  .u-grid--4,
  .u-grid--3,
  .u-grid--2 {
    grid-template-columns: 1fr;
  }
}
/* ==================================================
   Utilities: Image Ratio
   ================================================== */
/* Base ratio wrapper */
.u-ratio {
  position: relative;
  overflow: hidden;
}

/* Ensure media fits */
.u-ratio > img,
.u-ratio > picture,
.u-ratio > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Ratios */
.u-ratio--16x9 {
  aspect-ratio: 16/9;
}

.u-ratio--4x3 {
  aspect-ratio: 4/3;
}

.u-ratio--3x2 {
  aspect-ratio: 3/2;
}

.u-ratio--1x1 {
  aspect-ratio: 1/1;
}

.u-ratio--3x4 {
  aspect-ratio: 3/4;
}

.max-w {
  max-width: var(--ct-intro-max);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.max-w-lg {
  max-width: var(--ct-intro-bg-max);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.u-link-toggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}

.u-img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}

.u-remark {
  font-size: var(--fs-small);
  font-style: italic;
  color: var(--cl-tx-header);
  margin-top: 5px;
}

/* ==================================================
   Custom Styles
   ================================================== */
#beyond-green-monitoring-and-reporting img {
  width: 100%;
  max-width: 400px;
  margin: auto;
}
@media screen and (max-width: 880px) {
  #beyond-green-monitoring-and-reporting img {
    max-width: 180px;
    margin: 0;
  }
}
@media screen and (max-width: 375px) {
  #beyond-green-monitoring-and-reporting img {
    max-width: 150px;
  }
}

#main-reviews-mediaslider {
  margin-top: calc(-1 * var(--sp-6));
}

@media screen and (max-width: 480px) {
  #sec__highlight_slide .ctc-gap {
    row-gap: 60px;
  }
}

/* 
# Booking form (Synxis) 
# ================================================================= */
#bar_booking_synxis {
  background-color: #fbfbfb;
  position: relative;
}
#bar_booking_synxis .bar {
  display: grid;
  grid-template-columns: 1fr 1.2fr repeat(4, 1fr) 140px;
  align-items: stretch;
  overflow: hidden;
  padding: 20px 0;
}
@media screen and (max-width: 1200px) {
  #bar_booking_synxis .bar {
    grid-template-columns: 1.1fr 1.2fr 1fr 1fr 150px 150px 140px;
  }
}
@media screen and (max-width: 1100px) {
  #bar_booking_synxis .bar {
    grid-template-columns: 180px 160px 1fr 1fr 140px 140px 120px;
  }
}
@media screen and (max-width: 1024px) {
  #bar_booking_synxis .bar {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 130px;
  }
}
@media screen and (max-width: 880px) {
  #bar_booking_synxis .bar {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 0;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .bar {
    grid-template-columns: 1fr 1fr;
    gap: 20px 20px;
    padding: 20px 20px 30px;
  }
}
@media screen and (max-width: 425px) {
  #bar_booking_synxis .bar {
    padding: 20px 10px 30px;
  }
}
@media screen and (max-width: 375px) {
  #bar_booking_synxis .bar {
    padding: 20px 0px 30px;
  }
}
#bar_booking_synxis .seg {
  padding: 0 20px;
  border-right: 0.5px solid var(--cl-gray-300);
  position: relative;
  min-width: 0;
  user-select: none;
}
@media screen and (max-width: 1100px) {
  #bar_booking_synxis .seg {
    padding: 0 15px;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .seg {
    border-right: 0;
    padding: 0;
  }
}
#bar_booking_synxis .seg:not(#titleSeg, #bookSeg) {
  padding-top: 5px;
}
#bar_booking_synxis .seg:last-of-type {
  border-right: none;
}
#bar_booking_synxis .seg:nth-last-child(2) {
  border-right: 0;
}
#bar_booking_synxis .seg-label-title {
  font-size: 20px;
  font-family: var(--ff-heading);
  font-weight: 500;
  color: #000;
  text-transform: uppercase;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .seg-label-title {
    font-size: 24px;
  }
}
#bar_booking_synxis .seg-label {
  margin-bottom: 5px;
  font-size: 16px;
  font-family: var(--ff-heading);
  font-weight: normal;
  color: #000;
}
#bar_booking_synxis .seg-val {
  font-size: 14px;
  font-family: var(--ff-heading);
  display: flex;
  align-items: center;
  gap: 6px;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .seg-val {
    border: 1px solid #ececec;
    padding: 10px 15px !important;
    border-radius: 3px;
    justify-content: space-evenly;
  }
}
#bar_booking_synxis .date-num {
  font-size: 35px;
  font-weight: 500;
  line-height: 1;
}
#bar_booking_synxis .date-right {
  display: flex;
  flex-direction: column;
  font-size: 11px;
  line-height: 1.3;
  gap: 0px;
}
#bar_booking_synxis .date-right i {
  font-size: 14px;
  margin-top: 1px;
}
#bar_booking_synxis .seg-val input[type=text] {
  padding: 5px 0;
  border: 0;
  background-color: transparent;
  min-height: auto;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .seg-val input[type=text] {
    padding: 0;
  }
}
#bar_booking_synxis .seg-val input[type=text]:focus {
  outline: none;
  box-shadow: none;
}
#bar_booking_synxis .book-btn {
  background: var(--cl-brand-primary);
  color: #fff;
  border: none;
  padding: 14px 24px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-sans);
}
#bar_booking_synxis .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), #bar_booking_synxis .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), #bar_booking_synxis .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: none;
  box-shadow: none;
}
#bar_booking_synxis .dayContainer + .dayContainer {
  box-shadow: none;
}
#bar_booking_synxis .date-panel {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 300;
  background: var(--color-background-primary);
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-lg);
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .date-panel {
    padding: 10px 15px 15px;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .flatpickr-months .flatpickr-month {
    height: 30px;
  }
}
#bar_booking_synxis .date-panel.open {
  display: block;
}
#bar_booking_synxis .date-panel-header {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin-bottom: 14px;
  text-align: center;
}
@media screen and (max-width: 560px) {
  #bar_booking_synxis .date-panel-header {
    font-size: 11px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .date-panel-header {
    display: none;
  }
}
#bar_booking_synxis .date-panel-header span {
  color: var(--cl-brand-primary);
  font-weight: 500;
}
#bar_booking_synxis .date-calendars {
  display: block;
}
#bar_booking_synxis .date-panel-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 0.5px solid var(--color-border-tertiary);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .date-panel-footer {
    margin-top: 0;
    padding-top: 10px;
  }
}
#bar_booking_synxis .dp-clear {
  background: none;
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-md);
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  font-family: var(--font-sans);
  color: var(--color-text-primary);
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .dp-clear {
    padding: 3px 10px;
  }
}
#bar_booking_synxis .dp-done {
  background: var(--cl-brand-primary);
  color: #fff;
  border: none;
  padding: 8px 24px;
  border-radius: 50px;
  font-size: 13px;
  cursor: pointer;
  font-family: var(--font-sans);
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .dp-done {
    padding: 3px 10px;
  }
}
#bar_booking_synxis {
  /* flatpickr inline date range - 2 months */
}
#bar_booking_synxis #titleSeg {
  padding-left: 0;
  padding-right: 10px;
}
@media screen and (max-width: 1024px) {
  #bar_booking_synxis #titleSeg {
    grid-column: span 6;
    flex-direction: row;
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
    border-right: 0;
  }
}
@media screen and (max-width: 880px) {
  #bar_booking_synxis #titleSeg {
    grid-column: span 3;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis #titleSeg {
    grid-column: span 2;
    margin-bottom: 0;
    padding: 0;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
}
#bar_booking_synxis #titleSeg .seg-label-desc {
  margin-top: 2px;
}
#bar_booking_synxis #dpInput {
  display: none !important;
}
#bar_booking_synxis #bookSeg {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis #bookSeg {
    padding-top: 10px;
  }
}
#bar_booking_synxis #bookSeg button {
  width: 100%;
  height: 45px;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (max-width: 1024px) {
  #bar_booking_synxis #guestSeg {
    padding-left: 0;
  }
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis #guestSeg, #bar_booking_synxis #bookSeg {
    grid-column: span 2;
  }
}
@media screen and (max-width: 880px) {
  #bar_booking_synxis #depSeg {
    border-right: 0;
  }
}
#bar_booking_synxis #arrSeg .seg-label, #bar_booking_synxis #depSeg .seg-label {
  margin: 0;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis #arrSeg .seg-label, #bar_booking_synxis #depSeg .seg-label {
    margin-bottom: 5px;
  }
}
#bar_booking_synxis .date-panel .flatpickr-calendar.inline {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0;
  width: auto !important;
}
#bar_booking_synxis .date-panel .flatpickr-rContainer {
  width: auto !important;
}
#bar_booking_synxis .date-panel .flatpickr-months {
  padding-bottom: 10px;
  border-bottom: 0.5px solid var(--color-border-tertiary);
  background: transparent !important;
}
#bar_booking_synxis .date-panel .flatpickr-current-month {
  align-items: center;
}
#bar_booking_synxis .date-panel .numInputWrapper span {
  display: none !important;
}
#bar_booking_synxis .date-panel .flatpickr-prev-month svg, #bar_booking_synxis .date-panel .flatpickr-next-month svg {
  fill: var(--cl-brand-primary);
}
#bar_booking_synxis .date-panel .flatpickr-weekdays {
  display: flex;
  gap: 20px;
  overflow: visible;
  background-color: inherit;
}
#bar_booking_synxis .flatpickr-innerContainer {
  overflow: visible;
}
#bar_booking_synxis .date-panel .flatpickr-weekday {
  font-size: 11px;
  font-weight: 500;
  background: transparent;
  width: 30px;
  text-align: center;
}
#bar_booking_synxis span.flatpickr-weekday {
  flex: auto;
  -ms-flex: inherit;
  -webkit-box-flex: inherit;
}
#bar_booking_synxis .flatpickr-weekdays .flatpickr-weekdaycontainer {
  width: 210px;
  background-color: #f7f7f7;
  height: 100%;
  display: flex;
  align-items: center;
}
#bar_booking_synxis .date-panel .flatpickr-day {
  font-size: 13px;
  height: 30px;
  max-width: 30px;
  line-height: 30px;
}
#bar_booking_synxis .date-panel .flatpickr-day:hover, #bar_booking_synxis .date-panel .flatpickr-day:focus {
  background: var(--cl-brand-primary);
  color: var(--cl-white);
  border: none !important;
}
#bar_booking_synxis .date-panel .flatpickr-day.today {
  background: #f0f3f8;
  color: var(--cl-brand-primary);
  font-weight: 500;
  border: none;
}
#bar_booking_synxis .date-panel .flatpickr-day.today:hover {
  background: #e8edf5;
}
#bar_booking_synxis .date-panel .flatpickr-day.prevMonthDay, #bar_booking_synxis .date-panel .flatpickr-day.nextMonthDay {
  opacity: 0.35 !important;
  color: var(--color-text-secondary) !important;
}
#bar_booking_synxis .date-panel .flatpickr-day.flatpickr-disabled {
  opacity: 0.35 !important;
  cursor: default !important;
  color: var(--color-text-secondary) !important;
}
#bar_booking_synxis .date-panel .flatpickr-day.selected, #bar_booking_synxis .date-panel .flatpickr-day.startRange, #bar_booking_synxis .date-panel .flatpickr-day.endRange {
  background: var(--cl-brand-primary);
  color: #fff;
  border-color: var(--cl-brand-primary);
}
#bar_booking_synxis .date-panel .flatpickr-day.startRange:not(.endRange) {
  border-radius: 50% 0 0 50% !important;
}
#bar_booking_synxis .date-panel .flatpickr-day.endRange:not(.startRange) {
  border-radius: 0 50% 50% 0 !important;
}
#bar_booking_synxis .date-panel .flatpickr-day.inRange {
  background: #eaeaea;
  color: var(--cl-brand-primary);
  border-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#bar_booking_synxis .popup-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  display: none;
  background-color: #fff;
}
#bar_booking_synxis .popup-wrap.open {
  display: block;
}
#bar_booking_synxis .popup {
  background: var(--color-background-primary);
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-lg);
  padding: 24px 20px 20px;
  width: 360px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .popup {
    width: calc(100vw - 52px);
  }
}
@media screen and (max-width: 375px) {
  #bar_booking_synxis .popup {
    width: calc(100vw - 32px);
  }
}
#bar_booking_synxis .popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
#bar_booking_synxis .popup-header h3 {
  font-size: 18px;
  font-weight: 500;
  flex: 1;
  text-align: center;
  margin: 0;
}
#bar_booking_synxis .close-btn {
  width: 28px;
  height: 28px;
  background: none;
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-secondary);
}
#bar_booking_synxis .room-block {
  margin-bottom: 14px;
}
#bar_booking_synxis .room-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
#bar_booking_synxis .room-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-secondary);
}
#bar_booking_synxis .remove-room {
  font-size: 12px;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-sans);
  text-decoration: underline;
}
#bar_booking_synxis .guest-row {
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-md);
  padding: 0px 14px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#bar_booking_synxis .gt {
  font-size: 14px;
  color: var(--color-text-primary);
  font-weight: 500;
}
#bar_booking_synxis .gs {
  font-size: 12px;
  color: var(--color-text-secondary);
  margin-top: 1px;
}
#bar_booking_synxis .counter {
  display: flex;
  align-items: center;
  gap: 16px;
}
#bar_booking_synxis .counter-btn {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--color-text-primary);
  line-height: 1;
  width: 20px;
  text-align: center;
}
#bar_booking_synxis .counter-btn:disabled {
  opacity: 0.25;
  cursor: not-allowed;
}
#bar_booking_synxis .counter-num {
  font-size: 15px;
  font-weight: 500;
  min-width: 16px;
  text-align: center;
  color: var(--color-text-primary);
}
#bar_booking_synxis .add-room-btn {
  color: var(--cl-brand-primary);
  font-size: 14px;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px 0;
  font-family: var(--font-sans);
}
#bar_booking_synxis .add-room-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
#bar_booking_synxis .popup-footer {
  display: flex;
  justify-content: flex-end;
  border-top: 0.5px solid var(--color-border-tertiary);
}
#bar_booking_synxis .done-btn {
  background: var(--cl-brand-primary);
  color: #fff;
  border: none;
  padding: 8px 20px;
  border-radius: 50px;
  font-size: 13px;
  cursor: pointer;
  font-family: var(--font-sans);
}
#bar_booking_synxis .url-box {
  margin-top: 12px;
  background: var(--color-background-secondary);
  border: 0.5px solid var(--color-border-tertiary);
  border-radius: var(--border-radius-md);
  padding: 10px 14px;
}
#bar_booking_synxis .url-box-label {
  font-size: 10px;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 5px;
}
#bar_booking_synxis .url-text {
  font-size: 11px;
  font-family: var(--font-mono);
  color: var(--color-text-primary);
  word-break: break-all;
  line-height: 1.6;
}
#bar_booking_synxis .url-text .p {
  color: var(--cl-brand-primary);
  font-weight: 500;
}
#bar_booking_synxis #datePanel {
  background-color: #fff;
}
@media screen and (max-width: 880px) {
  #bar_booking_synxis #promoSeg {
    padding-left: 0;
  }
}
#bar_booking_synxis #promoSeg .seg-val, #bar_booking_synxis #agentSeg .seg-val {
  margin-top: -5px;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis #promoSeg .seg-val, #bar_booking_synxis #agentSeg .seg-val {
    margin-top: 0;
  }
}
#bar_booking_synxis .i-date-icon {
  display: block;
  width: 26px;
  height: 26px;
  background: url(../images/icon--calendar-synxis.svg) no-repeat center center;
}
#bar_booking_synxis .flatpickr-days {
  gap: 20px;
  width: 440px !important;
}
#bar_booking_synxis .dayContainer {
  width: 210px;
  min-width: 210px;
  max-width: 210px;
  justify-content: flex-start;
}
#bar_booking_synxis .flatpickr-months .flatpickr-prev-month, #bar_booking_synxis .flatpickr-months .flatpickr-next-month {
  top: 5px;
}
@media screen and (max-width: 480px) {
  #bar_booking_synxis .flatpickr-months .flatpickr-prev-month, #bar_booking_synxis .flatpickr-months .flatpickr-next-month {
    padding: 2px 2px 3px 2px;
  }
}
#bar_booking_synxis .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
#bar_booking_synxis .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  right: 0;
}
#bar_booking_synxis .flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
#bar_booking_synxis .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  left: 0px;
  right: auto;
}
@media (max-width: 560px) {
  #bar_booking_synxis .flatpickr-days {
    width: 210px !important;
  }
  #bar_booking_synxis .flatpickr-weekdays .flatpickr-weekdaycontainer {
    width: 210px;
  }
}

/*# sourceMappingURL=beyondresort.css.map */
