/* ============================================================
   DESIGN TOKENS
============================================================ */
:root { 
  --brand-navy: #2B4C6F;
  --brand-navy-dk: #203A57;
  --brand-navy-2: #5B7FA3;
  --brand-navy-2-lt: #87A7C4;
  --brand-red: #C0392B;
  --brand-red-lt: #E74C3C;
  --brand-red-pale: #FDECEA;
  --brand-teal: #6C92B3;
  --brand-sand: #F7F9FC;
  --brand-sand-dk: #EAF0F6;
  --brand-charcoal: #2E2E2E;
  --brand-muted: #66788A;
  --brand-white: #FFFFFF;
  --brand-overlay: rgba(43, 76, 111, 0.72);
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Nunito Sans', sans-serif;
  --radius-card: 12px;
  --radius-btn: 6px;
  --radius-sm: 8px;
  --shadow-card: 0 4px 24px rgba(43, 76, 111, 0.10);
  --shadow-hover: 0 8px 40px rgba(43, 76, 111, 0.18);
  --section-pad: 90px 0;
  --section-top-pad-0: 0;
  --section-bottom-pad-0: 0;
  --section-pad-0: 0;
  --container: 1200px;
  --gutter: 24px;   
}

/* ============================================================
   RESET & BASE
============================================================ */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); color: var(--brand-charcoal); background: #fff; line-height: 1.7; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
@keyframes float {
  0%,
  100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.trans {
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter);width: 100%; }
.section-label { font-family: var(--font-body); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--brand-red); display: block; margin-bottom: 10px; }
.section-title { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.6rem); color: var(--brand-navy); line-height: 1.25; font-weight: 700; }
.section-title.light { color: var(--brand-white); }
.section-title span { color: var(--brand-red); }
.section-desc { color: var(--brand-muted); font-size: 1rem; max-width: 560px; margin-top: 14px; line-height: 1.8; }
.divider-red { display: block; width: 52px; height: 3px; background: var(--brand-red); border-radius: 2px; margin: 16px 0 0; }
.divider-red-1 { display: block; width: 52px; height: 3px; border-radius: 2px; margin: 16px 0 0; }
.section-wrap{background-color:var(--brand-white) ; padding: var(--section-pad);} 
.section-grey-bg{background-color:var(--brand-sand);} 
.section-wrap.section-top-pad-0{padding-top: var(--section-top-pad-0);}
.section-wrap.section-bottom-pad-0{padding-bottom: var(--section-bottom-pad-0);}
.section-wrap.section-pad-0{padding: var(--section-pad-0);}
.direction-ltr{direction:ltr !important;}
.direction-rtl{direction:rtl !important;}
a .ph-phone{display: none;}
a[href^="tel:"] .ph-phone{display: block;}

.overlay {background: rgba(0, 0, 0, .7); width: 100%; position: fixed; top: 0 !important; left: 0; cursor: pointer; bottom: 0; right: 0; opacity: 0; visibility: hidden; -moz-transition: all 0.4s ease-in-out; -ms-transition: all 0.4s ease-in-out; -webkit-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out; z-index:99; }
.fixbody{overflow: hidden;position: fixed;width: 100%;}
.fixbody .overlay, body[style*="hidden"] .overlay{visibility: visible;opacity: 1;}

.wpcf7-form-control-wrap{display: block;}
label.error, div.error, span.wpcf7-not-valid-tip, span.error { position: absolute; right: 0; top: -20px; width: auto; height: auto; margin: 0; -webkit-font-smoothing: auto; line-height: normal; font: 11px/11px arial !important; background: #fb0101; padding: 5px 5px 4px; color: var(--brand-white); letter-spacing: 0px;text-transform: initial; }
label.error:after, div.error:after, span.wpcf7-not-valid-tip:after, span.error:after { border-color: #fb0101 transparent transparent; -moz-border-image: none; -o-border-image: none; border-image: none; border-right: 6px solid transparent; border-style: solid; border-width: 6px; content: " "; height: 0; left: 20px; margin-left: -10px; position: absolute; top: 100%; width: 0; }

/* ============================================================
   WP ALIGNMENT CLASSES 
============================================================ */
.alignwide { max-width: calc(var(--container) + 80px); margin-left: auto; margin-right: auto; }
.alignfull { width: 100%; max-width: 100%; }
.aligncenter { text-align: center; margin-left: auto; margin-right: auto; display: block; }
/* ============================================================
   BUTTONS
============================================================ */
.btn { display: inline-flex; align-items: center; gap: 8px;min-width: 120px; padding: 10px 15px; border-radius: var(--radius-btn); font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; letter-spacing: 0.06em; text-transform: uppercase; transition: all 0.25s ease; cursor: pointer; border: 2px solid transparent; white-space: nowrap; justify-content: center; box-shadow: 0 10px 24px rgba(24, 47, 73, 0.10); }
.btn-primary { background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FC 100%); color: var(--brand-navy); border-color: rgba(43, 76, 111, 0.18); }
.btn-primary:hover { background: #FFFFFF; border-color: rgba(43, 76, 111, 0.28); transform: translateY(-2px); box-shadow: 0 16px 32px rgba(24, 47, 73, 0.16); }
.btn-red { background: var(--brand-red); color: var(--brand-white); border-color: var(--brand-red); }
.btn-red:hover { background: var(--brand-red-lt); border-color: var(--brand-red-lt); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(192, 57, 43, 0.35); }
.btn-blue { background: var(--brand-navy);color: var(--brand-white); border-color: var(--brand-navy);box-shadow: 0 14px 30px rgba(43, 76, 111, 0.28); }
.btn-blue:hover { background: var(--brand-navy-dk); color: var(--brand-white);border-color: var(--brand-navy-dk);transform: translateY(-3px);box-shadow: 0 18px 34px rgba(32, 58, 87, 0.34); }
.btn-outline { background: var(--brand-white); color: var(--brand-red); border-color: var(--brand-red); }
.btn-outline:hover { background: var(--brand-red-lt); color:var(--brand-white); border-color: var(--brand-red-lt); box-shadow: 0 6px 20px rgba(192, 57, 43, 0.35); transform: translateY(-2px); }
.btn-outline-navy { background: var(--brand-white); color: var(--brand-navy); border-color: var(--brand-navy); }
.btn-outline-navy:hover { background: var(--brand-navy-dk); border-color: var(--brand-navy-dk); color: var(--brand-white); box-shadow: 0 6px 20px rgba(192, 57, 43, 0.35); }
.btn-sm { padding: 9px 20px; font-size: 0.8rem; }
.btn-white { background: linear-gradient(180deg, #FFFFFF 0%, #F4F8FC 100%); color: var(--brand-navy); border-color: rgba(43, 76, 111, 0.18); box-shadow: 0 14px 30px rgba(24, 47, 73, 0.14); }
.btn-white:hover { background: linear-gradient(180deg, #FFFFFF 0%, #EEF5FB 100%); color: #17324D; border-color: rgba(43, 76, 111, 0.38); transform: translateY(-3px); box-shadow: 0 20px 38px rgba(24, 47, 73, 0.20); }

.slick-dots li {position: relative;display: inline-flex;width: auto;height: auto;margin: 0 6px;padding: 0;cursor: pointer;}
.slick-dots li button {font-size: 0;line-height: 0;display: block;width: 12px;height: 12px;padding: 0px;cursor: pointer;color: transparent;border: 0;outline: none;background: rgb(0 0 0 / 25%);border-radius: 100%;}
.slick-dots li.slick-active button {background: var(--brand-red);}
.slick-dots li button:before{display: none;}
.slick-dots{bottom: -15px;}
/* ============================================================
   1. TOP BAR  — offer only, centered, no phone/email
============================================================ */
.topbar{ background: var(--brand-red); padding:9px; font-size: 0.82rem; font-weight: 700; text-align: center; color: var(--brand-white); letter-spacing: 0.04em; position: relative; z-index: 100; }
.topbar-promo { display: inline-flex; align-items: center; gap: 10px; justify-content: center; }
.topbar-promo .dot { width: 6px; height: 6px; min-width: 6px; background: rgba(255, 255, 255, 0.7); border-radius: 50%; display: inline-block; animation: pulse 2s infinite; }
@keyframes pulse {
  0%,
  100% { opacity: 1; }
  50% { opacity: 0.35; }
}
.ig_action_bar.ig_container,.ig_action_bar.ig_hello.ig_container { background: var(--brand-red) !important; border:none !important; box-shadow: none !important;z-index: 8 !important;}
.ig_action_bar .ig_data { font-family: var(--font-body) !important; font-size: 0.82rem;font-weight: 700;letter-spacing: 0.04em;color: var(--brand-white);}
.ig_action_bar.ig_hello .ig_button{margin: 0 !important;font-size: 13px !important;background-color: var(--brand-navy) !important;}
.ig_action_bar.ig_hello .ig_button:hover{background-color: var(--brand-navy-dk) !important;opacity: 1 !important;}
.ig_action_bar .ig_content{padding-top: 5px !important;padding-bottom: 5px !important;}
header:has( ~ #icegram_messages_container .ig_action_bar){ top: 38px !important; }
header:has( ~ #icegram_messages_container .ig_action_bar.ig_hide){ top: 0px !important; }

/* ============================================================
   2. HEADER — dark navy so white logo is visible
============================================================ */
.site-header { background: rgba(255, 255, 255, 0.97); position: sticky; top: 0; z-index: 8; padding: 0; box-shadow: 0 6px 24px rgba(32, 58, 87, 0.10); transition: box-shadow 0.3s; border-bottom: 1px solid rgba(43, 76, 111, 0.10); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 96px; padding: 10px 0; }

/* Logo: white PNG from site */
.logo-wrap { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 6px; flex-shrink: 0; }
.logo-wrap img { height: 46px; width: auto; display: block; filter: brightness(0) saturate(100%) invert(21%) sepia(29%) saturate(845%) hue-rotate(170deg) brightness(92%) contrast(92%); }
.logo-stars,
.footer-stars { display: inline-flex; align-items: center; gap: 6px; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.logo-stars { color: var(--brand-navy); }
.footer-stars { color: #F5F9FF; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18); }
.logo-stars i,
.footer-stars i { font-size: 0.86rem; letter-spacing: 0; color: #FFD166; }
.nav-menu { display: flex; align-items: center; gap: 2px; }
.nav-menu a { padding: 8px 13px; font-size: 0.84rem; font-weight: 600; color: rgba(32, 58, 87, 0.82); border-radius: 4px; transition: all 0.2s; letter-spacing: 0.02em; }
.nav-menu a:hover,
.nav-menu a.active { color: var(--brand-navy); background: rgba(43, 76, 111, 0.08); }
.nav-menu a.active { color: var(--brand-navy); }

.header-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.header-phone { font-size: 0.9rem; font-weight: 700; color: rgba(32, 58, 87, 0.88); display: flex; align-items: center; gap: 6px; }
.header-phone .ph { color: var(--brand-navy-2); font-size: 1rem; }

/* ============================================================
   3. HERO — left-aligned text
============================================================ */
.hero { position: relative; height: 82vh; min-height: 620px; max-height: 760px; padding-top: 50px;padding-bottom: 80px; overflow: hidden; background: var(--brand-navy); }
.hero-slides {position: absolute;left: 0;top: 0; bottom: 0;right: 0;margin: auto; }
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center 42%; opacity: 0; transition: opacity 1.2s ease; }
.hero-slide.active { opacity: 1; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(26, 44, 66, 0.88) 0%, rgba(26, 44, 66, 0.55) 55%, rgba(0, 0, 0, 0.15) 100%); z-index: 2; }
.hero-content { position: relative;top:50%;transform: translateY(-50%); z-index: 3; display: flex; align-items: center; padding: 0; }

/* LEFT aligned — no centering */
.hero-content-inner { max-width: 780px; text-align: left; padding-bottom: 60px; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, 0.18); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.34); color: #FFFFFF; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; padding: 9px 18px; border-radius: 30px; margin-bottom: 22px; box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18); }
.hero-badge .star { color: #FFD166; }
.hero-heading { font-family: var(--font-display); font-size: clamp(2.2rem, 5.5vw, 4.2rem); color: var(--brand-white); line-height: 1.15; font-weight: 700; margin-bottom: 20px; text-align: left; }
.hero-heading em { color: var(--brand-navy-2-lt); font-style: italic; }
.hero-sub { color: rgba(255, 255, 255, 0.88); font-size: clamp(1rem, 1.5vw, 1.12rem); margin-bottom: 36px; line-height: 1.75; max-width: 520px; text-align: left; }
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-start; }

/* accent underline on "Nowra" */
.hero-heading .accent-red,.hero-heading span,
.room-hero__title span, .inner-hero__title span{ color: var(--brand-red-lt); }
.hero-dots { position: absolute; top: 50%; right: max(24px, calc((100vw - 1200px) / 2 + 24px)); transform: translateY(-50%); z-index: 4; display: flex; flex-direction: column; gap: 12px; }
.hero-dots button { width: 10px; height: 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.35); border: none; cursor: pointer; transition: all 0.3s; padding: 0; }
.hero-dots button.active { background: var(--brand-navy-2); height: 34px; }
.hero-scroll { position: absolute; bottom: 36px; right: 48px; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: 8px; color: rgba(255, 255, 255, 0.55); font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 600; }
.scroll-line { width: 2px; height: 40px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.55), transparent); animation: scrollAnim 2s infinite; }
@keyframes scrollAnim {
  0% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(0.3); opacity: 0; }
}

/* ============================================================
   4. USP ICON GRID — professional Phosphor icons
============================================================ */
.usp-section { background: transparent; position: relative; z-index: 5; }
.usp-section:has( + .section-grey-bg):after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; margin: auto; z-index: -1; height: calc(100% - 80px); background: var(--brand-sand); }
.usp-inner { background: var(--brand-navy); border-radius: 16px; margin: 0 auto; margin-top: 0px; max-width: var(--container); display: grid; grid-template-columns: repeat(var(--usp-count), 1fr); overflow: hidden; margin-top: -80px; box-shadow: 0 0px 14px 8px rgba(255, 255, 255, 0.15); }
.usp-item { padding: 30px 16px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; border-right: 1px solid rgba(255, 255, 255, 0.08); transition: background 0.25s; }
.usp-item:last-child { border-right: none; }
.usp-item:hover { background: rgba(201, 168, 76, 0.10); }
.usp-icon { width: 50px; height: 50px; background: rgba(255, 255, 255, 0.18); border-radius: 10px; display: flex; align-items: center; justify-content: center; transition: background 0.25s; color: #FFFFFF; font-size: 1.55rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14); }
.nmi-icon-img{width: 20px;height: 20px;}
.usp-item:hover .usp-icon { background: rgba(255, 255, 255, 0.28); }
.usp-title { font-family: var(--font-display); color: var(--brand-white); font-weight: 700; font-size: 0.82rem; letter-spacing: 0.03em;line-height: 1.2em; }
.usp-sub { color: rgba(255, 255, 255, 0.45); font-size: 0.71rem; }

/* red accent on a couple of USP borders */
.usp-item.accent-item { border-top: 2px solid var(--brand-red); }

/* ============================================================
   5. ROOMS
============================================================ */
.section-header { margin-bottom: 50px; }
.section-header.center { text-align: center; }
.section-header.center .section-desc { margin: 14px auto 0; }
.section-header.center .divider-red { margin: 16px auto 0; }
.rooms-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.room-card { background: var(--brand-white); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card); transition: all 0.3s ease; border: 1px solid rgba(26, 44, 66, 0.07); }
.room-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-6px); }
.room-card-img { position: relative; overflow: hidden; height: 220px; }
.room-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.room-card:hover .room-card-img img { transform: scale(1.06); }
.rooms-grid:has(.room-card:nth-child(2):last-child){display: flex;justify-content: center;}
.rooms-grid:has(.room-card:nth-child(2):last-child) .room-card{max-width: 356px;}
.room-badge { position: absolute; top: 14px; left: 14px; background: var(--brand-red); color: var(--brand-white); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; }
.room-card-body { padding: 22px 24px 26px; display: flex;flex-direction: column;justify-content: space-between;}
.room-name { font-family: var(--font-display); font-size: 1.2rem; color: var(--brand-navy); font-weight: 700; margin-bottom: 8px; }
.room-desc { color: var(--brand-muted); font-size: 0.88rem; line-height: 1.65; margin-bottom: 16px; }
.room-features { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.feature-tag { display: inline-flex; align-items: center; gap: 6px; background: var(--brand-sand); color: var(--brand-navy); font-size: 0.78rem;    /* increased from 0.72rem */ font-weight: 700; padding: 5px 12px; border-radius: 20px; }
.room-section .section-label{background: var(--brand-red);color: var(--brand-white);font-size: 0.7rem;font-weight: 800;letter-spacing: 0.1em;text-transform: uppercase;padding: 4px 12px;border-radius: 20px;width: fit-content;margin-bottom: 0;}
.room-section-tittle .content-block__desc h3{font-size: clamp(1.5rem, 3vw, 2.6rem);line-height: 1.25;position: relative;padding-bottom: 16px;}
.room-section-tittle .content-block__desc h3:after{content: '';width: 52px;height: 3px;background: var(--brand-red);border-radius: 2px;margin: 16px 0 0;position: absolute;bottom: 0;left: 0;}

/* icon inside feature tag — larger */
.feature-tag i { font-size: 1rem; color: var(--brand-red); }
.room-card-footer { display: flex; gap: 10px; padding-top: 16px; border-top: 1px solid rgba(26, 44, 66, 0.08); }

/* ============================================================
   6. SOCIAL PROOF
============================================================ */
.rating-section { background: var(--brand-white); padding: 70px 0; position: relative; overflow: hidden; }
.rating-section::before { content: ''; position: absolute; top: -80px; right: -80px; width: 360px; height: 360px; background: radial-gradient(circle, rgba(91, 127, 163, 0.10) 0%, transparent 70%); border-radius: 50%; }

/* red accent line at top */
.rating-section::after { display: none; }
.rating-inner { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 32px; }
.rating-divider { width: 1px; height: 80px; background: rgba(43, 76, 111, 0.12); }
.rating-block { text-align: center; }
.rating-score { font-family: var(--font-display); font-size: 3.2rem; font-weight: 700; color: var(--brand-navy); line-height: 1; text-shadow: none; }
.rating-stars { color: #D9A441; font-size: 1.18rem; letter-spacing: 2px; margin: 8px 0; text-shadow: none; }
.rating-label { color: var(--brand-muted); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.google-badge { background: #fff; color: #202124; border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16); padding: 13px 22px; min-width: 210px; font-size: 0.92rem; justify-content: center; text-align: center; }
.google-badge .google-g { font-weight: 800; letter-spacing: -0.04em; font-size: 1rem; }
.google-badge .google-g .b { color: #4285f4; }
.google-badge .google-g .r { color: #ea4335; }
.google-badge .google-g .y { color: #fbbc05; }
.google-badge .google-g .g { color: #34a853; }
.booking-badge { background: #003580; color: #fff; border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 12px 28px rgba(0, 22, 64, 0.28); padding: 14px 16px; min-width: 220px; justify-content: space-between; gap: 14px; }
.booking-badge .booking-logo { font-weight: 800; font-size: 0.95rem; letter-spacing: -0.02em; }
.booking-badge .booking-dot { color: #00a1de; }
.booking-badge .booking-meta { display: inline-flex; align-items: center; gap: 10px; }
.booking-badge .booking-copy { display: flex; flex-direction: column; line-height: 1.2; text-align: right; }
.booking-badge .booking-copy strong { font-size: 0.86rem; font-weight: 800; color: #fff; }
.booking-badge .booking-copy span { font-size: 0.68rem; color: rgba(255, 255, 255, 0.72); letter-spacing: 0.08em; text-transform: uppercase; }
.booking-badge .booking-score-box { width: 42px; height: 42px; border-radius: 10px 10px 10px 2px; background: #fff; color: #003580; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 800; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18); }
.rating-quote { color: var(--brand-charcoal); font-family: var(--font-display); font-size: 1.05rem; font-style: italic; line-height: 1.7; text-align: center; padding: 26px 28px; background: var(--brand-sand); border: 1px solid rgba(43, 76, 111, 0.08); border-radius: 18px; box-shadow: 0 8px 24px rgba(43, 76, 111, 0.08); }
.rating-quote cite { display: block; margin-top: 10px; font-style: normal; color: var(--brand-red); font-size: 0.82rem; font-family: var(--font-body); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

/* ============================================================
   7. WHY CHOOSE US — text left+top aligned, professional icons
============================================================ */
.why-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 48px; align-items: stretch;margin-bottom: 50px;}
.why-grid:has(+ .why-list){ margin-bottom: 92px; }
.why-image-wrap { position: relative; border-radius: 16px; overflow: visible;display: flex; }
.why-image-wrap img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
.why-image-badge { position: absolute; right: 28px; bottom: 0; transform: translate(0, 50%); background: rgba(255, 255, 255, 0.96); color: var(--brand-navy); border-radius: 14px; padding: 18px 22px; text-align: center; box-shadow: 0 16px 36px rgba(32, 58, 87, 0.18); border: 1px solid rgba(43, 76, 111, 0.10); z-index: 2; }
.why-image-badge strong { display: block; font-family: var(--font-display); font-size: 2rem; font-weight: 700; line-height: 1; margin-bottom: 4px; }
.why-image-badge span { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand-muted); }

/* RIGHT column — left aligned, starts from top */
.why-content { text-align: left; padding: 28px; min-height: 600px; display: flex; flex-direction: column; border-radius: 22px; background: radial-gradient(circle at top right, rgba(201, 168, 76, 0.16), transparent 38%), linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(248, 245, 239, 0.96)); box-shadow: 0 24px 60px rgba(26, 44, 66, 0.10); border: 1px solid rgba(26, 44, 66, 0.07); position: relative; overflow: hidden; }
.why-content::after { content: ''; position: absolute; top: -80px; right: -60px; width: 180px; height: 180px; border-radius: 50%; background: rgba(192, 57, 43, 0.06); pointer-events: none; animation: float 6s ease-in-out infinite; }
.why-content .section-label { text-align: left; }
.why-content .section-title { text-align: left; }
.why-content .divider-red { margin-left: 0; }
.why-content .section-desc { text-align: left; margin-left: 0; }
.why-content-main { display: flex; flex-direction: column; gap: 18px; flex: 1 1 auto; position: relative; z-index: 1; }
.why-mini-points { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.why-mini-point { padding: 16px; border-radius: 16px; background: rgba(26, 44, 66, 0.04); border: 1px solid rgba(26, 44, 66, 0.08); }
.why-mini-point .why-mini-point-title { display: block; color: var(--brand-navy); font-size: 0.95rem; line-height: 1.35; margin-bottom: 6px; }
.why-mini-point .why-mini-point-text { display: block; color: var(--brand-muted); font-size: 0.82rem; line-height: 1.6; }
.why-content-note { padding: 16px 18px; border-left: 4px solid var(--brand-red); border-radius: 14px; background: rgba(255, 255, 255, 0.8); color: var(--brand-muted); font-size: 0.9rem; line-height: 1.7; }
.why-content-note hr{margin:15px 0;}
.why-list { margin-top: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; position: relative; z-index: 1; }
.why-list:has(.why-item:nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); max-width: 450px;margin-left: auto; margin-right: auto;}  
.why-list:has(.why-item:nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); max-width: 900px;margin-left: auto; margin-right: auto;}  
.why-item { display: grid; grid-template-columns: 56px 1fr; align-items: start; gap: 14px; padding: 20px 18px; background: rgba(255, 255, 255, 0.88); border-radius: 18px; box-shadow: 0 12px 30px rgba(26, 44, 66, 0.08); transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease; text-align: left; border: 1px solid rgba(26, 44, 66, 0.08); min-height: 112px; backdrop-filter: blur(8px); }
.why-item:hover { box-shadow: 0 20px 36px rgba(26, 44, 66, 0.14); transform: translateY(-5px); border-color: rgba(192, 57, 43, 0.20); }
.why-item-icon { width: 56px; height: 56px; flex-shrink: 0; background: linear-gradient(135deg, rgba(192, 57, 43, 0.14), rgba(201, 168, 76, 0.20)); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.65rem; color: var(--brand-red); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7); }
.why-item-text .icon-box-title { display: block; color: var(--brand-navy);font-family: var(--font-display); font-weight: 700; font-size: 1rem; line-height: 1.35; margin-bottom: 6px; }
.why-item-text .icon-box-text { display: block; color: var(--brand-muted); font-size: 0.84rem; line-height: 1.6; }
.icon-box-text ul{color: var(--brand-muted);font-size: .9rem;line-height: 1.75;margin-top: 10px;margin-bottom: 10px;}
.icon-box-text ul li{display: flex;gap: 8px;margin-bottom: 6px;}
.icon-box-text ul li::before{content: '✓';color: var(--brand-red);font-weight: 700;flex-shrink: 0;}
.why-item--image-top { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; align-items: stretch; grid-template-columns: unset; min-height: unset; }
.why-item--image-top .why-item-img { width: 100%; flex-shrink: 0; overflow: hidden; border-radius: 18px 18px 0 0; aspect-ratio: 16/10; }
.why-item--image-top .why-item-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.35s ease; }
.why-item--image-top:hover .why-item-img img { transform: scale(1.04); }
.why-item--image-top .why-item-text { padding: 18px 18px 20px; }
.why-cta-row { margin-top: 28px; display: flex; gap: 14px; flex-wrap: nowrap; position: relative; z-index: 1; }
.why-cta-row .btn { min-width: 0; justify-content: center; flex: 1 1 0; }
.why-section.resturant-section .why-content-main{flex-direction: column-reverse;justify-content: flex-end;flex: initial;}
.why-section.resturant-section .why-mini-points{grid-template-columns: 1fr;}
.why-section.resturant-section .why-mini-point .why-mini-point-text span{color:var(--brand-red-lt)}
.why-section.resturant-section .why-image-wrap{max-height: 715px;}
.resturant-section.direction-rtl .why-grid{direction: rtl;}
.resturant-section.direction-rtl .divider-red-1{margin-right: auto;}
.resturant-section.direction-rtl .why-cta-row{flex-direction: row-reverse;}
.resturant-section.direction-rtl .why-cta-row .btn{direction: ltr;}
/* ============================================================
   8. DEALS — improved text readability
============================================================ */
.deals-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 46px; }
.deal-card { position: relative; border-radius: var(--radius-card); overflow: hidden; min-height: 360px; display: flex !important; flex-direction: column; justify-content: flex-end; box-shadow: var(--shadow-card); transition: all 0.3s; }
.deal-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
.deal-card-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.5s; }
.deal-card:hover .deal-card-bg { transform: scale(1.05); }
.deal-card-bg-1 { background-image: url('https://images.unsplash.com/photo-1578683010236-d716f9a3f461?w=800&q=80'); }
.deal-card-bg-2 { background-image: url('https://images.unsplash.com/photo-1566073771259-6a8506099945?w=800&q=80'); }
.deal-card-bg-3 { background-image: url('https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?w=800&q=80'); }

[class*="--mb-slider"].slick-initialized{margin-left: -15px;margin-right: -15px;}
[class*="--mb-slider"].slick-initialized .slick-slide > div{padding: 0 15px 15px 15px;}

/* stronger gradient + frosted content box for readability */
.deal-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(10, 20, 35, 0.96) 0%, rgba(10, 20, 35, 0.70) 45%, rgba(10, 20, 35, 0.15) 100%); }
.deal-content { position: relative; z-index: 2; padding: 26px 24px 28px; }
.deal-tag { display: inline-block; background: var(--brand-red); color: var(--brand-white); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 12px; border-radius: 20px; margin-bottom: 10px; }
.deal-title { font-family: var(--font-display); font-size: 1.35rem; color: var(--brand-white); font-weight: 700; margin-bottom: 8px; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); }
.deal-desc { color: rgba(255, 255, 255, 0.90); font-size: 0.87rem; margin-bottom: 18px; line-height: 1.65; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5); }
.deal-desc strong{background: var(--brand-white);color:var(--brand-red-lt);padding: 0px 5px;border-radius: 4px;font-size: 12px;text-shadow: none;}
/* ============================================================
   9. GALLERY
============================================================ */
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 220px 220px; gap: 12px; margin-top: 40px; }
.gallery-item { overflow: hidden; border-radius: 10px; position: relative; cursor: pointer; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.gallery-item:hover img { transform: scale(1.08); }
.gallery-item-overlay { position: absolute; inset: 0; background: rgba(26, 44, 66, 0.5); opacity: 0; display: flex; align-items: center; justify-content: center; transition: opacity 0.3s; color: white; }
.gallery-item-overlay i { font-size: 2rem; }
.gallery-item:hover .gallery-item-overlay { opacity: 1; }
.gallery-item.tall { grid-row: span 2; }
.gallery-item.wide { grid-column: span 2; }
.gallery-square .gallery-item {grid-row: initial !important;grid-column: initial !important;}
/* ============================================================
   10. FAQ
============================================================ */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 48px; }
.faq-grid.faq-full-grid{grid-template-columns: 1fr;max-width: 900px;margin:auto;}
.faq-two-column-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-items:start;}
.faq-list { display: flex; flex-direction: column; gap: 12px; }
.faq-item { border: 1px solid rgba(26, 44, 66, 0.10); border-radius: 10px; overflow: hidden; background: var(--brand-white); }
.faq-item.open { border-color: rgba(192, 57, 43, 0.25); }
.faq-question { padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-weight: 700; font-size: 0.92rem; color: var(--brand-navy); gap: 12px; transition: background 0.2s; }
.faq-question:hover { background: var(--brand-sand); }
.faq-toggle { width: 26px; height: 26px; flex-shrink: 0; background: var(--brand-sand); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0; transition: all 0.3s ease; color: var(--brand-navy); }
.faq-toggle::before{content: '+';font-size: 1rem;transition: all 0.3s ease;}
.open .faq-toggle:before {content: '−';}
.faq-answer { max-height: 0; overflow: hidden; padding: 0 22px; color: var(--brand-muted); font-size: 0.88rem; line-height: 1.75; transition: max-height 0.38s ease, padding 0.38s ease; }
.faq-answer ul li{display: flex;align-items: flex-start;}
.faq-answer ul li:before{content: ''; width: 6px; height: 6px; background: var(--brand-red); border-radius: 50%; flex-shrink: 0; display: inline-flex; margin-right: 9px; top: 8px; position: relative;}
.faq-item.open .faq-answer { max-height: 200px; padding: 0 22px 18px; }
.faq-cta-wrap{position:sticky;top: 120px;}
.faq-cta-box { background: var(--brand-navy); border-radius: 16px; padding: 40px 36px; color: var(--brand-white); border-top: 4px solid var(--brand-red); }
.faq-cta-box h3 { font-family: var(--font-display); font-size: 1.6rem; margin-bottom: 12px; }
.faq-cta-box p { color: rgba(255, 255, 255, 0.65); font-size: 0.9rem; line-height: 1.7; margin-bottom: 24px; }
.faq-contact-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; }
.faq-contact-item { display: flex; align-items: center; gap: 12px; color: rgba(255, 255, 255, 0.82); font-size: 0.88rem; }
.faq-contact-icon { background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(238, 245, 252, 0.96) 100%); width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--brand-navy); font-size: 1.1rem; border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 10px 20px rgba(10, 20, 35, 0.18); }
.faq-contact-info span{display:block;font-size: 0.78rem;line-height: 1.2rem;}
.faq-contact-info span br{display:none;}
/* ============================================================
   11. TESTIMONIALS
============================================================ */
.testimonials-carousel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 46px; }
.testimonial-card { background: var(--brand-white); border-radius: var(--radius-card); padding: 28px; box-shadow: var(--shadow-card); border-top: 3px solid var(--brand-navy-2); transition: all 0.3s; }
.testimonial-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); }
.testimonial-stars { color: var(--brand-navy-2); font-size: 0.9rem; letter-spacing: 2px; margin-bottom: 14px; }
.testimonial-text { font-size: 0.92rem; color: var(--brand-charcoal); line-height: 1.75; font-style: italic; margin-bottom: 20px; }
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--brand-navy); display: flex; align-items: center; justify-content: center; color: var(--brand-navy-2); font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; flex-shrink: 0; }
.testimonial-name { font-weight: 700; font-size: 0.9rem; color: var(--brand-navy); }
.testimonial-source { font-size: 0.75rem; color: var(--brand-muted); }

/* ============================================================
   12. BLOG
============================================================ */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 46px; }
.blog-card { border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card); transition: all 0.3s; background: var(--brand-white); border: 1px solid rgba(26, 44, 66, 0.06); }
.blog-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-5px); }
.blog-img { height: 200px; overflow: hidden; }
.blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.blog-card:hover .blog-img img { transform: scale(1.05); }
.blog-body { padding: 22px; }
.blog-category { color: var(--brand-red); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 8px; }
.blog-title { font-family: var(--font-display); font-size: 1.05rem; color: var(--brand-navy); font-weight: 700; margin-bottom: 8px; line-height: 1.4; }
.blog-excerpt { color: var(--brand-muted); font-size: 0.84rem; line-height: 1.65; margin-bottom: 16px; }
.blog-meta { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(26, 44, 66, 0.08); padding-top: 14px; }
.blog-date { font-size: 0.75rem; color: var(--brand-muted); }
.blog-read { font-size: 0.78rem; font-weight: 700; color: var(--brand-red); letter-spacing: 0.04em; }
.blog-read:hover { text-decoration: underline; }

/* ============================================================
   13. CTA BAR
============================================================ */
.cta-bar { background: linear-gradient(135deg, var(--brand-navy) 0%, #6C92B3 100%); padding: 72px 0; position: relative; overflow: hidden; }
.cta-bar::before { content: ''; position: absolute; top: -60px; left: -60px; width: 300px; height: 300px; background: rgba(255, 255, 255, 0.07); border-radius: 50%; animation: float 6s ease-in-out infinite; }
.cta-bar::after { content: ''; position: absolute; bottom: -80px; right: -40px; width: 400px; height: 400px; background: rgba(255, 255, 255, 0.05); border-radius: 50%; animation: float 6s ease-in-out infinite; }

/* red stripe at top of CTA */
.cta-bar-stripe { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--brand-navy-2); }
.cta-inner { position: relative; z-index: 2; text-align: center; }
.cta-inner h2 { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 3rem); color: var(--brand-white); font-weight: 700; margin-bottom: 14px; }
.cta-inner p { color: rgba(255, 255, 255, 0.82); font-size: 1.05rem; max-width: 480px; margin: 0 auto 36px; line-height: 1.7; }
.cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   14. LOCATION — image on left instead of map placeholder
============================================================ */
.location-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: stretch; margin-top: 46px; }

/* left: map */
.location-img-wrap { position: relative; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-card); background: var(--brand-white); border: 1px solid rgba(26, 44, 66, 0.08); }
.location-img-wrap iframe { width: 100%; height: 100%; min-height: 520px; border: 0; display: block; }
.location-info { display: flex; flex-direction: column; gap: 20px; }
.location-address { background: var(--brand-white); border-radius: 12px; padding: 24px; box-shadow: var(--shadow-card); border-top: 3px solid var(--brand-red); }
.location-address h3 { font-family: var(--font-display); font-size: 1.2rem; color: var(--brand-navy); margin-bottom: 16px; }
.address-detail { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; color: var(--brand-charcoal); font-size: 0.9rem; }
.address-icon { color: var(--brand-red); font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }
.nearby-highlights h3 { font-family: var(--font-display); font-size: 1.1rem; color: var(--brand-navy); margin-bottom: 14px; }
.nearby-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nearby-item { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: var(--brand-white); border-radius: 8px; font-size: 0.82rem; font-weight: 600; color: var(--brand-navy); box-shadow: 0 2px 8px rgba(26, 44, 66, 0.06); }
.nearby-item .nmi-icon-img{width: 16px;height: 16px;}
.nearby-item i { color: var(--brand-red); font-size: 1rem; }


/* ================================================================
   15. CONTENT BLOCK SECTION  (nmi_section_content)
   Two-column zig-zag layout: image + rich text content
================================================================ */
.content-block__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.content-block__grid--align-center{align-items: center;}
.content-block__grid--align-start{align-items: start;}
.content-block__grid.content-block__full-grid{ grid-template-columns: 1fr}

/* ── Zig-zag: image RIGHT → reverse column order ─────────────── */
.content-block--img-right .content-block__grid { direction: rtl; /* flip column order */ }
.content-block--img-right .content-block__grid > * { direction: ltr; /* restore text direction inside children */ }


/* Image column */
.content-block__image-div{position: sticky;top: 120px;}
.content-block__image { border-radius: var(--radius-lg, 12px); overflow: hidden; line-height: 0;box-shadow: var(--shadow-card); }
.content-block__image img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--radius-lg, 12px); transition: transform 0.4s ease; }
.content-block__image:hover img { transform: scale(1.03); }

/* Content column */
.content-block__content { display: flex; flex-direction: column; gap: 0; }
.content-block__desc,
.entry-content{ color: var(--brand-muted); font-size: 1rem; line-height: 1.75;margin: 14px auto 0;width: 100%; }
.content-block__desc h1,
.content-block__desc h2,
.content-block__desc h3,
.content-block__desc h4,
.content-block__desc h5,
.content-block__desc h6,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6{font-family: var(--font-display);  color: var(--brand-navy);line-height: 1.3em;}
.content-block__desc h1,
.entry-content h1{font-size: clamp(2.2rem, 5.5vw, 4.2rem);}
.content-block__desc h2,
.entry-content h2{font-size: clamp(1.8rem, 3vw, 2.6rem);margin: 0 0 12px;}
.content-block__desc h3,
.entry-content h3{font-size: 1.4rem;margin: 0 0 10px;}
.content-block__desc h4,
.entry-content h4{font-size: 1.18rem;margin: 0 0 8px;}
.content-block__desc p,
.entry-content p{ margin: 0 0 1em; }
.content-block__desc p:last-child,
.entry-content p:last-child{ margin-bottom: 0; }
.content-block__desc ul,
.content-block__desc ol,
.entry-content ul,
.entry-content ol{ padding-left: 1.4em; margin: 0 0 1em; }
.content-block__desc li,
.entry-content li{ margin-bottom: 0.4em; position: relative; }
.content-block__desc ul li:before,
.entry-content ul li:before{content: ''; width: 7px; height: 7px; background:var(--brand-red); border-radius: 50px; position: absolute; left: -1.2em; top: 10px;}
.content-block__desc a,
.entry-content a{ color: var(--brand-red); text-decoration: underline; }
.content-block__desc strong,
.entry-content strong{ color: var(--brand-navy); }
.content-block__btn-wrap { margin-top: 15px;gap: 15px;display: flex;flex-wrap: wrap; }
.content-block__desc img.alignleft,
.entry-content img.alignleft {float: left;margin-right: 15px;margin-bottom: 15px;padding: 0}
.content-block__desc img.alignright,
.entry-content img.alignright {float: right;	margin-left: 15px;margin-bottom: 15px;padding: 0}
.content-block__desc img.aligncenter,
.entry-content img.aligncenter {display: block;margin: 10px auto}
.entry-content p:has(img.alignleft):after,
.entry-content p:has(img.alignright):after,.content-block__desc p:has(img.alignleft):after,
.content-block__desc p:has(img.alignright):after{content: ""; display: table; clear: both;} 


/* ============================================================
   15. FOOTER — white logo on navy bg
============================================================ */
.footer { background: var(--brand-navy); padding: 72px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 0.8fr 1fr 1.2fr; gap: 40px; padding-bottom: 50px; }

/* logo in footer */
.footer-logo { height: 44px; width: auto; display: block; margin-bottom: 16px; }
.footer-brand { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; margin-bottom: 14px; }
.footer-brand .footer-logo { margin-bottom: 0; }
.footer-stars { margin-bottom: 10px; }
.footer-about, .footer-text { color: rgba(255, 255, 255, 0.58); font-size: 0.87rem; line-height: 1.75; margin-bottom: 20px; }
.footer-text-wrap .footer-text{margin-bottom: 0;}
.footer-inner:not(:last-child) .footer-text-wrap{margin-bottom: 20px;}
.footer-socials { display: flex; gap: 10px; }
.social-btn { width: 38px; height: 38px; background: rgba(255, 255, 255, 0.07); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, 0.65); font-size: 1.1rem; transition: all 0.25s; border: 1px solid rgba(255, 255, 255, 0.07); }
.social-btn[aria-label="TripAdvisor"] i:before{content: '';background-image: url('../images/tripadvisor-icon.svg');background-size: contain;background-repeat: no-repeat;width: 18px;height: 18px;display: flex;opacity: 0.65;}
.social-btn:hover { background: var(--brand-red); color: var(--brand-white); border-color: var(--brand-red); }
.social-btn[aria-label="TripAdvisor"]:hover i:before{opacity:1;}
.footer-col .footer-heading { color: var(--brand-white); font-weight: 700; font-size: 0.88rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 18px; position: relative; padding-bottom: 14px; }
.footer-col .footer-heading::after { content: ''; position: absolute; bottom: 0; left: 0; width: 28px; height: 2px; background: rgba(255, 255, 255, 0.45); border-radius: 2px; }
.footer-links { display: flex; flex-direction: column; gap: 9px; }
.footer-links a { color: rgba(255, 255, 255, 0.58); font-size: 0.87rem; transition: color 0.2s; display: flex; align-items: center; gap: 8px; }
.footer-links a i { color: #A9C3DA; font-size: 0.8rem; }
.footer-links a:hover { color: var(--brand-navy-2-lt); }
.footer-contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; color: rgba(255, 255, 255, 0.58); font-size: 0.87rem; line-height: 1.5; }
.footer-contact-item .red{color:var(--brand-red-lt);}
.footer-contact-icon { color: #A9C3DA; flex-shrink: 0; margin-top: 2px; font-size: 1.05rem; }
.footer-contact-label{font-weight: 700; color:rgba(255,255,255,0.7);}
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 18px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.footer-copy { color: rgba(255, 255, 255, 0.38); font-size: 0.8rem; }
.footer-legal { display: flex; gap: 20px; }
.footer-legal a { color: rgba(255, 255, 255, 0.38); font-size: 0.78rem; transition: color 0.2s; }
.footer-legal a:hover,
.footer-legal li.current-menu-item a { color: var(--brand-navy-2); }
.footer-sticky{display: none;}
.footer-col.footer-col--brand{display: flex;flex-direction: column;}
.footer-col--brand .footer-socials{order: 3;margin-top: 8px;}


.cf7-mock{background:#fff;border-radius:var(--radius-card);padding:40px;box-shadow:var(--shadow-card);border:1px solid var(--brand-sand-dk);}
.cf7-row{margin-bottom:18px;}
.cf7-row label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-muted);display: flex;flex-direction: column;gap:7px;}
.cf7-row input,.cf7-row textarea,.cf7-row select{width:100%;padding:12px 16px;border:1.5px solid var(--brand-sand-dk);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;color:var(--brand-charcoal);background:var(--brand-sand);transition:border-color .2s;outline:none;}
.cf7-row select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23555' viewBox='0 0 256 256'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;cursor:pointer;}
.cf7-row input:focus,.cf7-row textarea:focus,.cf7-row select:focus{border-color:var(--brand-navy);background-color:#fff;}
.cf7-row select:focus{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23555' viewBox='0 0 256 256'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80A8 8 0 0 1 53.66 90.34L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32z'/%3E%3C/svg%3E");}
.cf7-row textarea{max-height:150px;resize:none;}
.cf7-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ── Room Hero ──────────────────────────────────────────────────── */
.room-hero, .inner-hero{ position: relative; min-height: 240px; background-color: var(--brand-navy-dk); background-size: cover; background-position: center; display: flex; align-items: center; }
.room-hero__overlay, .inner-hero__overlay{ position: absolute; inset: 0; background: linear-gradient(180deg, rgb(0 0 0 / 73%) 0%, rgb(0 0 0 / 72%) 100%); }
.room-hero--light_red .room-hero__overlay, .inner-hero--light_red .inner-hero__overlay{ background: linear-gradient(180deg, rgba(192, 57, 43, .45) 0%, rgba(160, 40, 30, .82) 100%); }
.room-hero--light_blue .room-hero__overlay, .inner-hero--light_blue .inner-hero__overlay{ background: linear-gradient(180deg, rgba(43, 76, 111, .45) 0%, rgba(30, 58, 95, .82) 100%); }
.room-hero--light_grey .room-hero__overlay, .inner-hero--light_grey .inner-hero__overlay{ background: linear-gradient(180deg, rgba(80, 90, 100, .45) 0%, rgba(50, 60, 70, .82) 100%); }
.room-hero__inner, .inner-hero__inner{ position: relative; z-index: 2; width: 100%; text-align: center; padding: 60px 0;}
/* Content alignment modifiers — default is center (existing behaviour) */
.room-hero--center .room-hero__inner, .inner-hero--center .inner-hero__inner{ text-align: center; }
.room-hero--left .room-hero__inner, .inner-hero--left .inner-hero__inner{ text-align: left; }
.room-hero--left .room-hero__desc , .inner-hero--left .inner-hero__desc { margin-left: 0; margin-right: 0; }
.room-hero--left .room-hero__bullets, .inner-hero--left .inner-hero__bullets{ justify-content: flex-start; }
.room-hero--left .room-breadcrumb,
.inner-hero--left .inner-hero__breadcrumb,
.room-hero--left .room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items, .inner-hero--left .inner-hero__breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items{ justify-content: flex-start; }
.room-hero__title, .inner-hero__title{ font-family: var(--font-display); color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700;line-height: 1.4em; margin: 14px 0 16px; letter-spacing: .01em; }
.room-hero__desc, .inner-hero__desc{ color: rgba(255, 255, 255, .82); font-size: 1.05rem; max-width: 540px; margin: 0 auto 18px; line-height: 1.75; }
.room-hero__bullets, .inner-hero__bullets, .hero-bullets{ display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 14px; }
.room-hero__bullet, .inner-hero__bullet, .hero-bullet{ display: flex; align-items: center; gap: 8px; color: rgba(255, 255, 255, .9); background: rgba(255, 255, 255, 0.22); border-radius: 30px; padding: 2px 10px; font-size: .88rem; font-weight: 600; }
.room-hero__bullet::before, .inner-hero__bullet::before, .hero-bullet::before{ content: ''; width: 6px; height: 6px; background: var(--brand-red); border-radius: 50%; flex-shrink: 0; }
.room-breadcrumb, .inner-hero__breadcrumb{ display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); flex-wrap: wrap; margin-bottom: 4px; }
.room-breadcrumb a, .inner-hero__breadcrumb a{ color: rgba(255, 255, 255, .55); transition: color .2s; }
.room-breadcrumb a:hover, .inner-hero__breadcrumb a:hover{ color: var(--brand-red); }
.room-breadcrumb .crumb-current, .inner-hero__breadcrumb .crumb-current{ color: var(--brand-red); }

.hero-sub:has(+ .hero-bullets){margin-bottom:18px;}
.hero-bullets{margin-top:0;justify-content:flex-start;margin-bottom: 36px;}

.room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items, .inner-hero__breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items a,
.inner-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items a,
.room-breadcrumb.rank-math-breadcrumb a, .inner-hero__breadcrumb.rank-math-breadcrumb a{ color: rgba(255, 255, 255, .6); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; transition: color .2s; }
.room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items a:hover,
.inner-hero__breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items a:hover,
.room-breadcrumb.rank-math-breadcrumb a:hover, .inner-hero__breadcrumb.rank-math-breadcrumb a:hover{ color: var(--brand-red); }
.room-breadcrumb.rank-math-breadcrumb .separator,
.inner-hero__breadcrumb.rank-math-breadcrumb .separator,
.room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items .separator, .inner-hero__breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items .separator{ color: rgba(255, 255, 255, .35); font-size: .74rem; font-weight: 700; }
.room-breadcrumb.rank-math-breadcrumb .last,
.inner-hero__breadcrumb.rank-math-breadcrumb .last,
.room-breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items .last, .inner-hero__breadcrumb.rank-math-breadcrumb .rank-math-breadcrumb-items .last{ color: var(--brand-red); font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.room-hero--solid, .inner-hero--solid{ background-image: none !important; }
.room-hero--solid.room-hero--light_red, .inner-hero--solid.room-hero--light_red{ background-color: rgba(192, 57, 43, .12); }
.room-hero--solid.room-hero--light_blue, .inner-hero--solid.room-hero--light_blue{ background-color: rgba(43, 76, 111, .12); }
.room-hero--solid.room-hero--light_grey, .inner-hero--solid.room-hero--light_grey{ background-color: rgba(80, 90, 100, .12); }

/* Hero solid colour mode (no image) ─────────────────────────────────────── */
.room-hero--solid, .inner-hero--solid{ background-color: var(--brand-navy-dk); background-image: none !important; }
.room-hero--light_red.room-hero--solid, .inner-hero--light_red.inner-hero--solid{ background-color: #7a1c13; }
.room-hero--light_blue.room-hero--solid, .inner-hero--light_blue.inner-hero--solid{ background-color: var(--brand-navy-dk); }
.room-hero--light_grey.room-hero--solid, .inner-hero--light_grey.inner-hero--solid{ background-color: #3e4a52; }
.room-hero--solid .room-hero__overlay, .inner-hero--solid .inner-hero__overlay{ background: rgba(0, 0, 0, .25); }

/* Ensure overlay still covers full section for solid mode */
.room-hero--solid .room-hero__overlay, .inner-hero--solid .inner-hero__overlay{ position: absolute; inset: 0; }




/* ── Other Rooms Section ────────────────────────────────────────────────── */
.other-rooms__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 40px; flex-wrap: wrap; }
.other-rooms__heading { flex: 1 1 auto; }
.other-rooms__view-all { flex-shrink: 0; align-self: flex-end; }

/* ── Gallery + Sidebar grid ────────────────────────────────── */
.room-detail__grid { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
.room-detail__gallery{position: sticky;top: 120px;}
.room-slider__main { position: relative; border-radius: var(--radius-card); overflow: hidden; margin-bottom: 10px; background: var(--brand-sand-dk); }
.room-slider__main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.room-slider__main img, .room-slider__inner .slick-slide{height: 460px;}
.room-slider__slide { display: none; }
.room-slider__slide.active { display: block; }
.slider-arrow,.slick-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; background: rgba(255, 255, 255, .92); border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: var(--brand-navy); transition: all .2s; z-index: 5; box-shadow: 0 2px 12px rgba(0, 0, 0, .15); }
.slick-arrow{font-size: 0;}
.slider-arrow:hover, .slick-arrow:hover { background: var(--brand-red); color: #fff; }
.slider-arrow.prev ,.slick-arrow.slick-prev { left: 12px; }
.slider-arrow.next, .slick-arrow.slick-next { right: 12px; }
.slick-prev:before, .slick-next:before { content: '' !important;  border-style: solid; border-color:var(--brand-red);width: 9px;height: 9px; }
.slick-prev:before{border-width:0px 0px 2px 2px;transform: rotate(45deg);margin-right: -3px;}
.slick-next:before{border-width:0px 2px 2px 0px;transform: rotate(-45deg);margin-right: 3px;}
.slick-arrow:hover:before{border-color: var(--brand-sand);}


.room-slider__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.room-slider__thumb { border-radius: var(--radius-sm); overflow: hidden; height: 88px; cursor: pointer; border: 2.5px solid transparent; transition: border-color .2s; padding: 0; background: none; }
.room-slider__thumb.active, .slick-slide.slick-current .room-slider__thumb { border-color: var(--brand-red); }
.room-slider__thumb img { width: 100%; height: 100%; object-fit: cover; }
.room-share { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--brand-sand-dk); }
.room-share__label { font-size: .74rem; font-weight: 700; color: var(--brand-muted); text-transform: uppercase; letter-spacing: .1em; margin-right: 4px; }
.room-share__btn { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid var(--brand-sand-dk); background: #fff; display: flex; align-items: center; justify-content: center; color: var(--brand-navy); font-size: 1rem; cursor: pointer; transition: all .2s; text-decoration: none; }
.room-share__btn:hover { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }
.copy-confirm { font-size: .74rem; color: var(--brand-red); font-weight: 700; display: none; }

.slick-slide:has(.room-slider__thumb){padding:0 4px;}
.room-detail__grid{display: flex;flex-wrap: wrap;}
.room-detail__gallery{width: 100%;max-width: calc(100% - 380px - 48px);}
.room-detail__gallery + .room-detail__sidebar{width:100%;max-width:380px;}
.room-slider__thumbs.slick-initialized{display: block;margin-left: -4px;margin-right: -4px;}

/* ── Sidebar cards ─────────────────────────────────────────── */
.room-detail__sidebar { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 16px; }
.room-sidebar-card { background: #fff; border: 1px solid var(--brand-sand-dk); border-radius: var(--radius-card); padding: 24px; box-shadow: var(--shadow-card); }
.room-sidebar-card-aside{position: sticky; top: 120px;}
.room-sidebar-card-aside .room-sidebar-card:not(:last-child){margin-bottom: 16px;}
.room-content-left{position: sticky; top: 120px;}
.room-attrs { display: flex; flex-direction: column; gap: 0; }
.room-attrs__item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--brand-sand); }
.room-attrs__item:last-child { border-bottom: none; }
.room-attrs__icon { width: 32px; height: 32px; border-radius: 8px; background: var(--brand-red-pale); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--brand-red); font-size: 1rem; margin-top: 1px; }
.room-attrs__label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-muted); display: block; }
.room-attrs__value { font-size: .9rem; font-weight: 600; color: var(--brand-navy); }

/* Price card */
.room-price-card { text-align: center; padding-bottom: 16px; border-bottom: 1px solid var(--brand-sand-dk); margin-bottom: 16px; }
.room-price-card__from { font-size: .74rem; color: var(--brand-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.room-price-card__amount { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; color: var(--brand-red); line-height: 1; margin: 6px 0 2px; }
.room-price-card__per { font-size: .8rem; color: var(--brand-muted); }

/* CTA card */
.room-cta-card { display: flex; flex-direction: column; gap: 10px; }
.room-cta-card .btn { width: 100%; justify-content: center; }

/* Stay timing in sidebar */
.room-timing__sidebar-title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--brand-navy); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--brand-red-pale); }
.room-timing__sidebar-list { display: flex; flex-direction: column; gap: 0; }
.room-timing__sidebar-list li { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--brand-sand); list-style: none; }
.room-timing__sidebar-list li:last-child { border-bottom: none; }
.room-timing__sidebar-icon { width: 28px; height: 28px; border-radius: 6px; background: var(--brand-red-pale); display: flex; align-items: center; justify-content: center; color: var(--brand-red); font-size: .9rem; flex-shrink: 0; margin-top: 2px; }

/* ── Overview & Facilities ─────────────────────────────────── */
.room-content__inner { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
.room-content__heading { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--brand-navy); line-height: 1.25; font-weight: 700;margin-bottom: 16px; }
.room-content__heading + .divider-red{margin-bottom: 14px;}
.room-content__desc { color: var(--brand-muted); line-height: 1.85; margin-bottom: 32px; }
.room-content__desc p { margin: 0 0 1em; }
.room-content__desc p:last-child { margin-bottom: 0; }
.room-facilities-heading { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--brand-navy); line-height: 1.25; font-weight: 700; margin-bottom: 16px; }
.room-facilities-group { margin-bottom: 24px; }
.room-facilities-group__title { display: flex; align-items: center; gap: 8px; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--brand-muted); margin-bottom: 10px; padding-bottom: 6px; border-bottom: 1px solid var(--brand-sand-dk); }
.room-facilities-group__title i { font-size: 1.3rem; color: var(--brand-red); }
.room-facilities-group__icon{width: 40px; height: 40px; border-radius: 6px; background: var(--brand-red-pale); display: flex; align-items: center; justify-content: center; color: var(--brand-red); font-size: .9rem; flex-shrink: 0; margin-top: 2px;}
.room-facilities-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; list-style: none; }
.room-facilities-cols li { display: flex; align-items: flex-start; gap: 8px; font-size: .88rem; color: var(--brand-charcoal); }
.room-facilities-cols li i { color: var(--brand-red); font-size: 1rem; flex-shrink: 0; display: inline-flex;}
.room-facilities-cols li i.ph-check:before{content: '✓'; color: var(--brand-red); font-weight: 700;flex-shrink: 0;margin-top: 1px;margin-top: 5px;font-size: 0.8em;}
.room-content__desc .wp-block-list{padding-left: 1.4em;margin: 0 0 1em;}
.room-content__desc .wp-block-list li{margin-bottom: 0.4em;position: relative;}
.room-content__desc .wp-block-list li:before{content: ''; width: 7px;height: 7px; background: var(--brand-red); border-radius: 50px; position: absolute;left: -1.2em;top: 10px;}

/* Overview sidebar lists (reuses .room-sidebar-card) */
.room-popular__heading { font-family: var(--font-display);font-size: 1rem;font-weight: 700;color: var(--brand-navy);margin-bottom: 14px;padding-bottom: 10px;border-bottom: 2px solid var(--brand-red-pale);}
.room-popular__list { list-style: none; }
.room-popular__list li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--brand-sand); font-size: .88rem; font-weight: 600; color: var(--brand-navy); }
.room-popular__list li:last-child { border-bottom: none; }
.room-popular__list li i { color: var(--brand-red);font-size: 18px; }
.room-popular__list li .nmi-icon-img { width: 16px; height: 16px; object-fit: contain; }
.room-popular__icon{width: 28px;height: 28px;border-radius: 6px;background: var(--brand-red-pale);display: flex;align-items: center;justify-content: center;color: var(--brand-red);font-size: .9rem;flex-shrink: 0;margin-top: 2px;}

/* ── Highlights ────────────────────────────────────────────── */
.room-highlights__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.room-highlights__card { background: #fff; border-radius: var(--radius-card); padding: 32px 28px; border: 1px solid var(--brand-sand-dk); box-shadow: var(--shadow-card); transition: box-shadow .25s, transform .25s; }
.room-highlights__card:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); }
.room-highlights__icon { width: 52px; height: 52px; border-radius: 14px; background: var(--brand-red-pale); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: var(--brand-red); margin-bottom: 18px; }
.room-highlights__card h3 { font-family: var(--font-display); font-size: 1.15rem; color: var(--brand-navy); font-weight: 700; margin-bottom: 12px; }
.room-highlights__card p,
.room-highlights__card ul { color: var(--brand-muted); font-size: .9rem; line-height: 1.75; }
.room-highlights__card ul { list-style: none; }
.room-highlights__card ul li { display: flex; gap: 8px; margin-bottom: 6px; }
.room-highlights__card ul li::before { content: '✓'; color: var(--brand-red); font-weight: 700; flex-shrink: 0; }


/* ── Good to Know ──────────────────────────────────────────── */
.room-gk__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.room-gk__grid:has(.room-gk__item:nth-child(2):last-child){grid-template-columns: repeat(2, 1fr);}
.room-gk__grid:has(.room-gk__item:nth-child(4):last-child){grid-template-columns: repeat(4, 1fr);}
.room-gk__item { display: flex;flex-direction: column; gap: 16px; padding: 22px; background: #fff; border-radius: var(--radius-card); border: 1px solid var(--brand-sand-dk); box-shadow: var(--shadow-card); }
.room-gk__icon { width: 42px; height: 42px; border-radius: 10px; background: var(--brand-red-pale); display: flex; align-items: center; justify-content: center; color: var(--brand-red); font-size: 1.25rem; flex-shrink: 0; }
.room-gk__label { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-muted); margin-bottom: 4px; }
.room-gk__text { font-size: .9rem; color: var(--brand-charcoal); line-height: 1.65; }

/* ── More to Enjoy ─────────────────────────────────────────── */
.room-more__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.room-more__card { background: #fff; border-radius: var(--radius-card); padding: 28px 24px; border: 1px solid var(--brand-sand-dk); box-shadow: var(--shadow-card); }
.room-more__card-title { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; color: var(--brand-navy); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid var(--brand-red-pale); }
.room-more__points { list-style: none; }
.room-more__points li { display: flex; align-items: flex-start; gap: 8px; font-size: .87rem; color: var(--brand-muted); line-height: 1.6; margin-bottom: 8px; }
.room-more__points li i { color: var(--brand-red); font-size: .95rem; margin-top: 3px; flex-shrink: 0; }
.room-more__points li i:before{content: '✓' !important;color: var(--brand-red);font-weight: 700;flex-shrink: 0;}
/* ── Enquiry form wrapper ───────────────────────────────────── */
.room-enquiry__inner { max-width: 680px; margin: 0 auto; }

/* ═══════════════════════════════════════════════════════════════════════════
   TEXT CONTENT BLOCK  —  .text-content-section
   Flexible content layout: nmi_section_text_content
   ═══════════════════════════════════════════════════════════════════════════ */
.text-content-section__header { max-width: 860px;margin-left: auto; margin-right: auto;  text-align: center; }
.text-content-section__header:has(+ .text-content-section__body){margin-bottom: 32px;}

/* ── Alignment ──────────────────────────────────────────────────────────── */
.text-content-section--left  .text-content-section__inner,
.text-content-section--left .text-content-section__header { margin-left: 0; margin-right: auto; max-width: 100%;text-align: left;}
.text-content-section--center .text-content-section__inner { margin-left: auto; margin-right: auto; }
.text-content-section--center .text-content-section__header{text-align: center; }


/* Keep description & body text left-aligned even when header is centered */
.text-content-section--center .text-content-section__desc{ text-align: center; }
.text-content-section--center .divider-red { margin-left: auto; margin-right: auto; }

/* ── Description ────────────────────────────────────────────────────────── */
.text-content-section__desc { margin-top: 16px; color: var(--brand-muted); font-size: 1rem; line-height: 1.8; max-width: 640px; }
.text-content-section--center .text-content-section__desc { margin-left: auto; margin-right: auto; }

/* ── Body (WYSIWYG / entry-content) ─────────────────────────────────────── */
.text-content-section__body { margin-top: 8px; }
.text-content-section__body blockquote, .entry-content blockquote { padding: 16px 18px;border-left: 4px solid var(--brand-red);border-radius: 14px;background:var(--brand-sand); color: var(--brand-muted);font-size: 0.9rem;line-height: 1.7; font-style: italic; }
.text-content-section__body img { border-radius: var(--radius-card, 8px); }


/* ═══════════════════════════════════════════════════════════════════════════
   CONTACT DETAILS & FORM SECTION  —  .contact-section
   Flexible content layout: nmi_section_contact
   ═══════════════════════════════════════════════════════════════════════════ */
/* ── Two-column grid ────────────────────────────────────────────────────── */
.contact-section__grid { display: grid; grid-template-columns: 1.8fr 1fr; gap: 48px; align-items: start; }

/* ── Right column — Info boxes ──────────────────────────────────────────── */
.contact-section__info-col { display: flex; flex-direction: column; gap: 24px; }

/* ── Full-width map ─────────────────────────────────────────────────────── */
.contact-section__map { width: 100%; position: relative; height: 420px; overflow: hidden; margin-top: 0; }
.contact-section__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; display: block; }

/* ═══════════════════════════════════════════════════════════════════════════
   404 ERROR PAGE  —  .error404-section
   ═══════════════════════════════════════════════════════════════════════════ */
.error404-inner { max-width: 720px; margin: 0 auto; text-align: center; }

/* ── Large 404 number ───────────────────────────────────────────────────── */
.error404-number { font-family: var(--font-display); font-size: clamp(7rem, 18vw, 13rem); font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 3px var(--brand-red); letter-spacing: -0.04em; margin-bottom: 8px; user-select: none; }

/* ── Message block ──────────────────────────────────────────────────────── */
.error404-message { margin: 36px 0; }
.error404-message .section-title { margin-top: 10px; }
.error404-message .divider-red { margin: 16px auto 0; }
.error404-message .section-desc { margin-top: 16px; max-width: 560px; margin-left: auto; margin-right: auto; }

/* ── Action buttons row ─────────────────────────────────────────────────── */
.error404-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px; }

/* ── Divider ────────────────────────────────────────────────────────────── */
.error404-divider { width: 100%; height: 1px; background: rgba(43, 76, 111, 0.10); margin-bottom: 40px; }

/* ── Popular links ──────────────────────────────────────────────────────── */
.error404-links__heading { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-muted); margin-bottom: 20px; }
.error404-links__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.error404-link-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px 16px; background: var(--brand-white); border: 1.5px solid rgba(43, 76, 111, 0.10); border-radius: 12px; text-decoration: none; color: var(--brand-navy); font-size: 0.85rem; font-weight: 700; transition: all 0.22s ease; box-shadow: 0 2px 10px rgba(26, 44, 66, 0.06); }
.error404-link-card:hover { border-color: var(--brand-red); color: var(--brand-red); transform: translateY(-3px); box-shadow: 0 8px 22px rgba(192, 57, 43, 0.14); }
.error404-link-card i { font-size: 1.6rem; color: var(--brand-red); transition: color 0.22s ease; }
.error404-link-card:hover i { color: var(--brand-red-lt); }

/* ── Rooms Archive: 2-column list ─────────────────────────── */
.rooms-archive__list { display: flex; flex-direction: column; gap: 90px 32px; }
.rooms-archive__item { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.rooms-archive__item:nth-child(even) { direction: rtl; }
.rooms-archive__item:nth-child(even) .rooms-archive__item-body > * { direction: ltr; }


/* Left: image */
.rooms-archive__item-img-div { position: sticky; top: 120px; }
.rooms-archive__item-img { position: relative; border-radius: var(--radius-lg, 12px); overflow: hidden; line-height: 0; box-shadow: var(--shadow-card); }
.rooms-archive__item-img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--radius-lg, 12px); transition: transform 0.4s ease; }
.rooms-archive__item-img:hover img { transform: scale(1.03); }

/* Right: content */
.rooms-archive__item-body { padding: 0; display: flex; flex-direction: column; gap: 0px; }
.rooms-archive__item-body .room-badge { position: relative; inset: initial; margin-bottom: 14px; margin-right: auto; }
.rooms-archive__item-body .room-name { font-size: clamp(1.5rem, 3vw, 2.6rem); line-height: 1.25; position: relative; }
.rooms-archive__item-body .room-name a { color: inherit; text-decoration: none; transition: all 0.25s ease; }
.rooms-archive__item-body .room-name a:hover { color: var(--brand-red, #c0392b); }
.rooms-archive__item-body .room-desc,
.rooms-archive__item-body .room-desc p { color: var(--brand-muted); font-size: 1rem; line-height: 1.75; margin-bottom: 0; }
.rooms-archive__item-body .room-desc { margin: 10px 0 1em; }

/* Bullet points */
.rooms-archive__points { list-style: none; padding-left: 1.4em; margin: 0 0 1em; }
.rooms-archive__points li { margin-bottom: 0.4em; position: relative; color: var(--brand-muted); font-size: 1rem; line-height: 1.75; }
.rooms-archive__points li::before { content: ''; width: 7px; height: 7px; background: var(--brand-red); border-radius: 50px; position: absolute; left: -1.2em; top: 10px; }

/* Footer buttons */
.rooms-archive__item-footer { display: flex; gap: 15px; margin-top: 15px; }

/* Category filter */
.rooms-archive__filter { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }

/* Pagination */
.rooms-archive__pagination { text-align: center; margin-top: 48px; }

/* Empty state */
.rooms-archive__empty { text-align: center; color: var(--brand-muted, #6b7280); padding: 40px 0; }


/* ═══════════════════════════════════════════════════════════════════════════
   SOCIAL REVIEWS SECTION  —  .social-review-section
   Flexible content layout: nmi_section_social_review
   ═══════════════════════════════════════════════════════════════════════════ */
.social-review-grid{display: grid;grid-template-columns: 1fr auto 1fr auto 1fr ;align-items: center;gap: 32px;}

.social-review-col--google,.social-review-col--expedia{position: relative;top: calc(50% - 40px);transform: translateY(-50%);}
.social-review-col--google .ti-widget .ti-widget-container,
.social-review-col--expedia .ti-widget .ti-widget-container{margin: 0 !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid{padding: 0;box-shadow: none;background: transparent !important;outline: none !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container{display: flex !important;flex-direction: column-reverse !important;align-items: center;gap: 15px !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo{height: 55px;margin-bottom: 0 !important;order: 1;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center{background:var(--brand-white);color: #202124; box-shadow: var(--shadow-card);padding: 13px 22px;min-width: 210px;font-size: 0.92rem;justify-content: center;text-align: center;display: flex;gap: 8px !important;align-items: center;border-radius: 8px;border: 1px solid rgba(255, 255, 255, 0.2);font-weight: 700;min-height: 55px;max-width: 210px;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center img{height: 16px !important;max-height: 16px !important;}
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center img{height: 20px !important;max-height: 20px !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center:after ,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-large-logo .ti-v-center:after {content: 'Reviews' !important;display: inline-flex !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-stars,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-stars{display: grid;grid-template-columns: repeat(5, 1fr);text-align: center;max-width: max-content !important;margin: auto;gap: 10px 3px !important;position: absolute;bottom: calc(100% + 54px);order: 3;pointer-events: none;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-stars .ti-rating,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-stars .ti-rating{grid-column: span 5;font-family: var(--font-display);font-size: 3.2rem;font-weight: 700;color: var(--brand-navy);line-height: 1;text-shadow: none;background: transparent !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text > *,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text > *{font-size: 0 !important;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text{order: 2;position: absolute;bottom: calc(100% + 18px);pointer-events: none;}
.social-review-col--google .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text:after,
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text:after{content: 'Google Rating' !important;color: var(--brand-muted);font-size: 0.8rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;line-height: 1em !important;}
.social-review-col--expedia .ti-widget .ti-widget-container .ti-header.ti-header-grid .ti-fade-container .ti-text:after{content: 'Expedia Rating' !important;}

.social-review-col--booking .ti-widget .ti-widget-container,
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container{margin: 0 !important;/* display: grid !important;gap: 64px !important;grid-template-columns: repeat(1, 1fr);direction: rtl;*/align-items: center;position: relative;}
/* .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container:after{content: ''; position: absolute; width: 1px; height: 80px; top: 0; bottom: 0; margin: auto; left: 7px; right: 0; background: rgba(43, 76, 111, 0.12); z-index: 0;} */
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header{background: #003580; color: #fff; border-color: rgba(255, 255, 255, 0.08); box-shadow: 0 12px 28px rgba(0, 22, 64, 0.28); padding: 14px 16px; min-width: 220px; margin: 0 auto !important; max-width: 280px !important; min-height: 72px !important; justify-content: center !important;position: relative; top: calc(50% - 36px); transform: translateY(-50%);}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header::before{content: 'Booking.com Rating' !important; display: flex !important; position: absolute; right: 0; left: 0; bottom: calc(100% + 14px); justify-content: center; color: var(--brand-muted); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.2em;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header:after{content: '4.2';font-family: var(--font-display); font-size: 3.2rem; font-weight: 700; color: var(--brand-navy); line-height: 1; text-shadow: none; position: absolute; bottom: calc(100% + 85px); left: 0; right: 0; margin: auto; max-width: max-content;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content{flex-wrap: nowrap !important; direction: initial !important; margin: 0 !important; padding: 0 !important; justify-content: space-between; gap: 14px !important; align-items: center !important;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-logo{flex: initial !important; width: auto !important; margin: 0 !important; max-width: 85px !important; position: relative; height: auto !important;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-logo:after {content: "" !important; position: absolute; inset: 0; background: url('https://cdn.trustindex.io/assets/platform/Booking/logo-dark.svg') no-repeat center; background-size: contain; opacity: 1; }
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-logo img.ti-header-logo-img{width: 100% !important;opacity: 0 !important;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text{display: flex !important;gap: 10px !important;align-items: center;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text .ti-rating-text{display: inline-flex; flex-direction: column; gap: 0 !important; line-height: 1.2em; text-align: right; color: #fff; margin: 0;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text .ti-rating-text:after {content: 'Guest Rating' !important; display: flex; font-size: 10px; font-size: 0.68rem; color: rgba(255, 255, 255, 0.72); letter-spacing: 0.08em; text-transform: uppercase; }
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text .ti-stars{position: absolute; bottom: calc(100% + 50px); left: 0; right: 0; margin: auto; text-align: center; display: block;}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text .ti-header-rating{width: 42px; height: 42px; border-radius: 10px 10px 10px 2px; background: #fff; color: #003580; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 800; box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);}
.social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header .ti-header-content .ti-header-rating-text.ti-mobile{display:none !important;}
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container{max-width: 340px;width: 100% !important;}
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container .ti-review-text-container.ti-review-content{font-family: var(--font-display);}
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container .ti-review-header .ti-name{padding: 0 !important;display: flex;align-items: center;justify-content: center;  gap: 10px !important;text-transform: uppercase;font-family: var(--font-body);color:var(--brand-red)}
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container .ti-review-header .ti-name::before,
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container .ti-review-header .ti-name::after{content: ''; height: 1px; width: 21px; background: var(--brand-red); display: inline-flex; text-overflow: initial !important;}
.social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container ~ .ti-footer{margin-top: 10px !important;}
.social-review-col--booking .ti-widget.ti-custom-stars .ti-widget-container .ti-reviews-container .ti-review-item .ti-inner  .ti-star:not(.e):not(.h){background-color: var(--brand-red);}
.social-review-col--booking .ti-widget.ti-custom-stars .ti-widget-container .ti-reviews-container .ti-review-item .ti-inner  .ti-star.h{background: linear-gradient(90deg,var(--brand-red) 50%, #cccccc 50%) !important;}
.social-review-col--booking .ti-widget.ti-no-profile-img .ti-widget-container .ti-reviews-container .ti-review-header .ti-name{justify-content: flex-start;}
.social-review-col--booking .ti-widget.ti-no-profile-img .ti-widget-container .ti-reviews-container .ti-review-header .ti-name:after{display: none !important;}

.social-review-btn-wrap{text-align:center;margin-top:40px;}




/* ============================================================
   RESPONSIVE
============================================================ */
@media only screen and (min-width: 478px) {
   .footer-col .footer-heading {pointer-events: none !important;}
   .footer-col .footer-info{display: block !important;}   
}

@media only screen and (max-width: 1199px) {
   :root {--section-pad:60px 0;  --gutter: 15px; }
   .header-phone{width: 40px;height: 39px;border: 1px solid var(--brand-navy-2);border-radius: 7px;display: flex;align-items: center;justify-content: center;}
   .header-phone span{display:none;}
   .header-phone .ph {font-size: 20px;}
   .usp-section{padding: 0 15px;}
   .usp-item{padding: 20px 10px;}   
   .room-card-body{padding: 22px 15px;} 
   .location-grid{grid-template-columns: 1.2fr 1fr;gap: 30px;}
   .room-detail__grid { grid-template-columns: 1fr 300px; gap: 30px;}	   
	.room-content__inner { grid-template-columns: 1fr 300px; gap: 30px; }
   .room-slider__main img, .room-slider__inner .slick-slide{max-height: 360px;}
   .room-detail__gallery{max-width: calc(100% - 300px - 30px);}
   .room-detail__gallery + .room-detail__sidebar{max-width: 300px;} 
   .room-hero__inner, .inner-hero__inner{padding: 50px 0;}
    .rooms-archive__list { gap: 40px; }
    .rooms-archive__item { gap: 40px; }
   /* .social-review-grid{grid-template-columns: 0.9fr 0.1fr 2fr;} */
   .social-review-grid{gap: 16px;}
   .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container .ti-widget-header{min-width: 280px;}
   /* .social-review-col--booking .ti-widget .ti-widget-container, .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container{gap: 45px !important;} */
}

@media only screen and  (max-width:900px) {
   :root { --section-pad: 50px 0; }   
   .section-header{margin-bottom: 30px;}
   .usp-inner { grid-template-columns: repeat(3, 1fr); }
  .usp-item { border-bottom: 1px solid rgba(255, 255, 255, 0.08); }  
  .rooms-grid,
  .deals-grid,
  .blog-grid { display: flex;flex-wrap: wrap;gap: 30px;justify-content: center;}
  .room-card,
  .deal-card{width: calc(50% - 15px);}
  .testimonials-carousel { grid-template-columns: 1fr; }
  .hero { height: 74vh; min-height: 580px; max-height: 620px; }
  .hero-dots { right: 18px; }
  .why-grid,
  .location-grid { grid-template-columns: 1fr; }
  .why-content { padding: 24px 20px; }
  .why-mini-points { grid-template-columns: 1fr 1fr; }
  .why-list { grid-template-columns: repeat(2, 1fr); }
  .why-item { min-height: unset; }
  .why-content { min-height: auto; }
  .why-cta-row .btn { width: 100%; min-width: 0; }
  .why-grid {gap: 70px;margin-bottom: 0; }
  .why-grid:has(+ .why-list){ margin-bottom: 60px; }
  .why-image-wrap img { height: 620px; }
  .why-image-badge { right: 20px; transform: translate(0, 42%); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .rating-inner { display: flex; flex-wrap: wrap; gap: 30px; justify-content: center; }
  .rating-block{width: calc(50% - 15px);}
  .review-quote-block{width: 100%;order: 1;}
  .rating-divider { display: none; }
  .gallery-grid{grid-template-rows: 150px 150px;}
  .location-info{flex-direction: row;}
  .faq-grid {gap: 30px; }
  .location-img-wrap iframe{min-height: 320px;}
  .content-block__grid { grid-template-columns: 1fr; gap: 36px; direction: ltr !important;}
  .content-block__image-div{position: static;}
  .content-block__grid > * { direction: ltr !important; }   
  .content-block--img-right .content-block__image { order: -1; }
  .room-detail__sidebar, .room-detail__gallery, .room-content-left { position: static; }
  .room-highlights__grid { grid-template-columns: 1fr; }
  .room-gk__grid{grid-template-columns: repeat(2, 1fr);}
  .room-gk__grid:has(.room-gk__item:nth-child(4):last-child){grid-template-columns: repeat(2, 1fr);}
  .room-more__grid { grid-template-columns: 1fr; }
  .room-detail__gallery{max-width: 100%;}
  .room-detail__gallery + .room-detail__sidebar{display: grid;grid-template-columns: repeat(2, 1fr);max-width: 100%;}
  .room-detail__sidebar:has(.room-sidebar-card:nth-child(2):last-child){display: flex;}
  .room-detail__sidebar .room-cta-card{grid-column:span 2;flex-direction:row;gap:16px;}
  .room-sidebar-card-aside:has(.room-sidebar-card:nth-child(1):last-child){grid-template-columns: 1fr;}
  .contact-section__grid{grid-template-columns: 1fr; gap: 40px;}
  .contact-section__info-col.location-info .location-address{width: 50%;}
  .social-review-grid{/*grid-template-columns: initial;grid-template-rows: repeat(2, 1fr);gap: 0;*/display: flex; flex-wrap: wrap;gap: 30px;justify-content: center;padding-top: 120px;}
  .social-review-col--google{order:1;}
  .social-review-col--expedia{order:2;}
  .social-review-col--google, .social-review-col--expedia{top:initial;transform:initial; width: calc(50% - 15px);}
  .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container:after{left: 50px;}
  .social-review-col--booking{order: 3;max-width: 450px;}
  .social-review-col--booking .ti-widget .ti-widget-container .ti-reviews-container{max-width: 100%;}   
 .social-review-col--booking .ti-widget.ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-controls-line{display: block !important;}
}

@media only screen and  (max-width:768px) {
  :root { --section-pad: 40px 0; }
  .ig_action_bar .ig_content{padding-right: 2.0em !important;}
  .ig_action_bar .ig_data{width: auto !important;padding-right: 0.5em !important;}
  .hero { /*height: 75vh;*/ height: initial;        max-height: fit-content; min-height: 420px; }
  .hero-content{top:initial;transform: initial;}
  .hero-dots { right: 14px; gap: 10px; }  
  .hero-sub,.hero-bullets{margin-bottom: 18px;}
  .why-image-wrap img { height: 480px; }
  .why-image-badge { right: 16px; transform: translate(0, 32%); }
  .why-grid:has(+ .why-list){ margin-bottom: 40px; }
  .rooms-grid,
  .deals-grid,
  .blog-grid{ grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; }
  .nav-menu{ display: none; }
  .usp-inner { grid-template-columns: repeat(2, 1fr); }  
  .faq-grid { grid-template-columns: 1fr; }
  .nearby-list { grid-template-columns: 1fr; }
  .gallery-item.tall,
  .gallery-item.wide { grid-row: unset; grid-column: unset; }
  .gallery-grid{grid-template-rows: 200px 200px;}
  .faq-cta-wrap{position:static;}   
  	.room-hero__title, .inner-hero__title { font-size: 1.8rem; }
	.room-sidebar-card-aside{position: static;display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}
   .room-sidebar-card-aside .room-sidebar-card:not(:last-child){margin-bottom: 0;}
	.room-facilities-cols { grid-template-columns: 1fr; }
   .room-content__inner { grid-template-columns: 1fr; gap: 10px;}   
   .room-hero__inner, .inner-hero__inner{padding: 30px 0;}
    .rooms-archive__list { gap: 60px; }
    .rooms-archive__item { grid-template-columns: 1fr; }
    .rooms-archive__item-img-div { position: static; }
    .rooms-archive__item-img img { max-height: 320px; } 
}

@media only screen and (max-width: 650px) {
   .header-actions .btn{display: none;}
   .faq-two-column-wrap{grid-template-columns: 1fr;gap: 12px 0;}
   .other-rooms__head { flex-direction: column; align-items: flex-start; }
	.other-rooms__view-all { width: 100%; justify-content: center; }   
   .room-slider__main img, .room-slider__inner .slick-slide{height: 260px;}
   .room-slider__thumb{height: 60px;}
   .footer-grid { grid-template-columns: 1fr; }
   .footer-sticky{position: fixed; bottom: 0; left: 0;right: 0; width: 100%; z-index: 9;padding: 10px;display: flex;gap: 10px;align-items: center;background:var(--brand-white);box-shadow: 0 -4px 2px rgba(0, 0, 0, 0.15);}
   .footer-sticky > .btn{margin: 0 !important;padding: 7px 10px;min-height: 35px;}
   .footer{padding-bottom: 64px;}
   .footer-bottom{flex-direction: column-reverse; gap: 8px;}   
   .error404-number { -webkit-text-stroke: 2px var(--brand-red); }
   .error404-actions { flex-direction: column; align-items: center; }
   .error404-actions .btn { width: 100%; justify-content: center; }
   .error404-links__grid { grid-template-columns: repeat(2, 1fr); }
   .social-review-grid{display: flex;flex-direction: column;padding-top: 157px;gap: 0;}
   .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container:after{display: none !important;}
   /* .social-review-col--booking .ti-widget .ti-widget-container, .social-review-col--booking .ti-widget[data-set-id='drop-shadow'][data-layout-category="slider"] .ti-widget-container{    display: flex !important;flex-direction: column-reverse;gap: 161px !important;} */
   .social-review-btn-wrap{    margin-top: 10px;}

   .social-review-grid{padding-top: 0;}
   .social-review-col--google, .social-review-col--expedia{width: 100%;min-height: 220px;top: 50px;transform: inherit;display: flex;align-items: center;justify-content: center;}
   .social-review-col--booking .social-review-col__embed{max-width: 320px;}
}


@media only screen and (max-width: 479px) {
   .ig_action_bar .ig_content{display: inline-flex;gap: 0;padding-right: 1.5em;align-items: center;padding-left: 3px;}
   .ig_action_bar .ig_data{padding-right: 0px !important; width: auto !important;}
   .ig_action_bar.ig_hello .ig_headline{margin-right: .5em;font-size: 12px;}
   .ig_action_bar.ig_hello .ig_button{padding: 4px 8px !important; font-size: 12px !important;}
  .room-card, .deal-card{width: 100%;}   
  .rating-block{width: 100%;}
  .review-quote-block{order: initial;}   
  .why-list { grid-template-columns: 1fr !important; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr);grid-template-rows: initial; }
   .gallery-item{aspect-ratio: 1 / 1;}
   .location-info{flex-direction: column;}
   .content-block__grid { gap: 24px; }
   .content-block__content .section-title { font-size: 1.5rem; }
   .cf7-mock{padding: 30px 20px;}
   .cf7-2col{grid-template-columns: 1fr !important;gap: 0;}
   .room-gk__grid { grid-template-columns: 1fr !important; }
   .room-detail__gallery + .room-detail__sidebar{grid-template-columns: 1fr;}
   .room-detail__sidebar .room-cta-card{grid-column: auto;flex-direction: column;gap: 10px;}   
   .room-sidebar-card-aside{ grid-template-columns: 1fr;}
    .rooms-archive__item { gap: 25px; }
    .rooms-archive__item-img img { max-height: initial; }
    .rooms-archive__item-footer { margin-top: 0; }
   .content-block__desc img.alignleft, .content-block__desc img.alignright,
   .entry-content img.alignleft, .entry-content img.alignright{float: none;display: block;width: 100%;margin: 16px auto;}
   .contact-section__info-col.location-info .location-address{width: 100%;} 
   .footer-bottom{border-top: 0;}
   .footer-info{display: none;margin-bottom:0 !important; padding:15px;background: #244263;}
   .footer-inner{margin-left: -15px;margin-right: -15px;border-bottom: 1px solid rgba(255, 255, 255, 0.12);} 
   .footer-grid{gap:0;padding-bottom: 0;}
   .footer-col.footer-col--brand{padding-bottom: 0px;}
   .footer-col .footer-heading{padding: 10px 40px 10px 15px;margin-bottom: 0px !important;position: relative;-moz-transition: all 0.4s ease-in-out;-ms-transition: all 0.4s ease-in-out;-webkit-transition: all 0.4s ease-in-out;transition: all 0.4s ease-in-out;}
   .footer-col .footer-heading::after, .footer-col .footer-heading:before{content: '' !important;position: absolute;background: rgba(255, 255, 255, 0.45);}
   .footer-col .footer-heading:after {left: initial; right: 15px;top: 20px;width: 14px;height: 2px;}
   .footer-col .footer-heading:before {right: 21px;top: 14px;width: 2px;height: 14px;}
   .footer-col .footer-heading.footerMinus{background-color: var(--brand-navy-dk);}
   .footer-col .footer-heading.footerMinus:before {opacity: 0;visibility: hidden;}
   .footer-col--brand .footer-socials{order:initial;margin-top: 0;margin-bottom: 25px;}
   
   .direction-ltr,.direction-rtl{direction:ltr !important;}
}