/* ==========================================================================
   TRANQUIL TERRACE GALLE — TRANQUIL SAND & TERRACOTTA LUXURY THEME
   Palette:
   - Primary Background: #FAF6F1
   - Terracotta Accent: #C17C60
   - Terracotta Dark: #A66349
   - Terracotta Soft: #F6EEE9
   - Dark Charcoal: #34352F
   - Muted Charcoal: #55574F
   - Warm Beige: #D6CEB8
   - Warm Beige Light: #EFEADF
   - Card Background: #FFFFFF / #FFFDFB
   ========================================================================== */

:root {
  --color-sand-bg: #FAF6F1;
  --color-sand-ivory: #FFFDFB;
  --color-sand-card: #FFFFFF;
  --color-terracotta: #C17C60;
  --color-terracotta-dark: #A66349;
  --color-terracotta-soft: #F6EEE9;
  --color-charcoal: #34352F;
  --color-charcoal-muted: #55574F;
  --color-charcoal-light: #767870;
  --color-warm-beige: #D6CEB8;
  --color-warm-beige-light: #EFEADF;
  --color-sand-border: rgba(52, 53, 47, 0.12);
  --color-gold: #C17C60; /* Replaces metallic brass with rich warm terracotta */
  --font-editorial: "Cormorant Garamond", Georgia, serif;
  --font-ui: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Global body & background */
body {
  background-color: var(--color-sand-bg) !important;
  color: var(--color-charcoal) !important;
  font-family: var(--font-ui) !important;
}

/* Notice Bar in warm dark charcoal / terracotta */
.meta-notice-bar {
  background: #34352F !important;
  color: #FAF6F1 !important;
  border-bottom: 1px solid rgba(193, 124, 96, 0.3) !important;
}
.meta-notice-bar span.sparkle {
  color: #C17C60 !important;
}

/* Header & Nav */
header.taru-header,
header.luxury-hotel-header,
header {
  background: rgba(250, 246, 241, 0.96) !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
  color: var(--color-charcoal) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

.luxury-nav-link {
  color: var(--color-charcoal) !important;
}
.luxury-nav-link:hover,
.luxury-nav-link.active {
  color: var(--color-terracotta) !important;
}
.luxury-nav-book-btn {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-terracotta) !important;
}
.luxury-nav-book-btn:hover {
  background: var(--color-terracotta-dark) !important;
  border-color: var(--color-terracotta-dark) !important;
  color: #FFFFFF !important;
}

/* Section titles & eyebrows */
.meta-eyebrow,
.section-eyebrow,
.eyebrow {
  color: var(--color-terracotta) !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
}
.meta-section-title,
.section-title,
h1, h2, h3 {
  color: var(--color-charcoal) !important;
  font-family: var(--font-editorial) !important;
}
.meta-section-title em,
h2 em, h3 em {
  color: var(--color-terracotta) !important;
  font-style: italic !important;
}
.meta-section-sub,
.body-copy {
  color: var(--color-charcoal-muted) !important;
}

/* Hero Section */
.meta-hero-copy .meta-eyebrow {
  color: #EFEADF !important;
}
.meta-hero-copy .sparkle {
  color: #C17C60 !important;
}
.meta-btn-primary {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-terracotta) !important;
}
.meta-btn-primary:hover {
  background: var(--color-terracotta-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(193, 124, 96, 0.3) !important;
}
.meta-btn-outline {
  border-color: rgba(250, 246, 241, 0.4) !important;
  color: #FAF6F1 !important;
}
.meta-btn-outline:hover {
  background: rgba(250, 246, 241, 0.12) !important;
  border-color: #FAF6F1 !important;
}

/* Horizontal Search Strip */
.meta-search-strip-section {
  background: var(--color-sand-bg) !important;
}
.meta-search-strip-bar {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
  box-shadow: 0 16px 40px -10px rgba(52, 53, 47, 0.08) !important;
}
.search-strip-label {
  color: var(--color-terracotta) !important;
}
.search-strip-select,
.search-strip-date {
  color: var(--color-charcoal) !important;
}
.search-strip-cta-btn {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.search-strip-cta-btn:hover {
  background: var(--color-terracotta-dark) !important;
  box-shadow: 0 8px 20px rgba(193, 124, 96, 0.35) !important;
}
.meta-subnav-strip {
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-subnav-link {
  color: var(--color-charcoal-muted) !important;
}
.meta-subnav-link:hover {
  color: var(--color-terracotta) !important;
}

/* Curated Amenities */
.meta-amenities-section {
  background: #FAF6F1 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-amenity-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-amenity-card:hover {
  border-color: var(--color-terracotta) !important;
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(193, 124, 96, 0.12) !important;
}
.meta-amenity-icon-wrap {
  background: var(--color-terracotta-soft) !important;
  color: var(--color-terracotta) !important;
}
.meta-amenity-card h4 {
  color: var(--color-charcoal) !important;
}
.meta-amenity-card p {
  color: var(--color-charcoal-muted) !important;
}

/* Villas Showcase */
.meta-villas-section {
  background: #F5EFE6 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-villa-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-villa-badge {
  background: var(--color-charcoal) !important;
  color: #FAF6F1 !important;
}
.meta-villa-rates {
  color: var(--color-terracotta) !important;
}
.meta-villa-rates strong {
  color: var(--color-charcoal) !important;
}
.meta-villa-spec-item {
  color: var(--color-charcoal-muted) !important;
  background: var(--color-sand-bg) !important;
  border: 1px solid var(--color-warm-beige-light) !important;
}
.meta-btn-villa-book {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-btn-villa-book:hover {
  background: var(--color-terracotta-dark) !important;
}

/* Calendar Section */
.meta-calendar-section {
  background: #FAF6F1 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-cal-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
  box-shadow: 0 16px 40px -10px rgba(52, 53, 47, 0.08) !important;
}
.meta-cal-villa-tab.active {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-cal-nav-btn:hover {
  background: var(--color-terracotta-soft) !important;
  color: var(--color-terracotta) !important;
}
.meta-cal-cell.is-selected {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-cal-cell.is-range {
  background: var(--color-terracotta-soft) !important;
  color: var(--color-charcoal) !important;
}
.meta-cal-book-btn {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-cal-book-btn:hover {
  background: var(--color-terracotta-dark) !important;
}

/* 3-Column Luxury Packages Section */
.meta-packages-section {
  background: #F5EFE6 !important;
  padding: 6rem 1.5rem !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.packages-container {
  max-width: 1320px;
  margin: 0 auto;
}
.packages-header-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 3.5rem;
}
.luxury-packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  align-items: stretch;
}
@media (max-width: 991px) and (min-width: 768px) {
  .luxury-packages-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 760px;
    margin: 0 auto;
    gap: 1.5rem;
  }
}

.luxury-package-card {
  background: #FFFFFF;
  border: 1px solid var(--color-warm-beige);
  border-radius: 16px;
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  box-shadow: 0 4px 20px rgba(52, 53, 47, 0.04);
}
.luxury-package-card:hover {
  transform: translateY(-6px);
  border-color: var(--color-terracotta);
  box-shadow: 0 20px 40px -10px rgba(193, 124, 96, 0.18);
}
.luxury-package-card.featured {
  border-color: var(--color-terracotta);
  background: #FFFDFB;
  box-shadow: 0 12px 36px rgba(193, 124, 96, 0.12);
}
.pkg-card-badge {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-bottom: 0.75rem;
}
.pkg-card-badge.featured-badge {
  color: #FFFFFF;
  background: var(--color-terracotta);
  display: inline-block;
  align-self: flex-start;
  padding: 0.25rem 0.65rem;
  border-radius: 4px;
}
.pkg-card-title {
  font-family: var(--font-editorial);
  font-size: 1.85rem;
  font-weight: 500;
  color: var(--color-charcoal);
  margin: 0 0 0.75rem 0;
  line-height: 1.15;
}
.pkg-card-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}
.pkg-card-price {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}
.pkg-currency {
  font-family: var(--font-ui);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-terracotta);
}
.pkg-amount {
  font-family: var(--font-editorial);
  font-size: 2.3rem;
  font-weight: 600;
  color: var(--color-charcoal);
  line-height: 1;
}
.pkg-guests-pill {
  font-family: var(--font-ui);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-charcoal-muted);
  background: var(--color-sand-bg);
  border: 1px solid var(--color-warm-beige);
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
}
.pkg-card-usd {
  font-family: var(--font-ui);
  font-size: 0.8rem;
  color: var(--color-charcoal-light);
  margin-top: 0.25rem;
}

.pkg-timing-block {
  margin: 1.35rem 0 1rem;
  padding: 0.85rem 1rem;
  background: var(--color-sand-bg);
  border-radius: 8px;
  border: 1px solid var(--color-warm-beige-light);
}
.pkg-timing-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.timing-icon {
  color: var(--color-terracotta);
  flex-shrink: 0;
  display: flex;
}
.timing-label {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--color-charcoal-light);
}
.timing-value {
  display: block;
  font-size: 0.85rem;
  color: var(--color-charcoal);
  font-weight: 600;
}

.pkg-timing-block.multi-timing {
  padding: 0.85rem 1rem;
}
.timing-badge {
  display: block;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--color-terracotta);
  margin-bottom: 0.5rem;
}
.timing-options-stack {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.timing-opt {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.opt-tag {
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--color-terracotta);
}
.opt-val {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--color-charcoal);
  line-height: 1.3;
}
.timing-or {
  font-size: 0.65rem;
  font-weight: 800;
  color: var(--color-charcoal-light);
  text-align: center;
  margin: 0.15rem 0;
}

.pkg-divider {
  height: 1px;
  background: var(--color-sand-border);
  margin: 1.25rem 0;
}
.pkg-inclusions-label {
  font-family: var(--font-ui);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--color-charcoal-light);
  margin-bottom: 0.85rem;
}
.pkg-amenities-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  flex-grow: 1;
}
.pkg-amenities-list li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.88rem;
  color: var(--color-charcoal-muted);
}
.pkg-amenities-list li.pkg-highlight {
  color: var(--color-charcoal);
}
.pkg-icon {
  color: var(--color-terracotta);
  flex-shrink: 0;
}
.pkg-icon.icon-gold {
  color: var(--color-terracotta);
}

.pkg-card-cta {
  margin-top: auto;
}
.pkg-btn-terracotta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.95rem 1.25rem;
  background: var(--color-terracotta);
  color: #FFFFFF !important;
  font-family: var(--font-ui);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 9999px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}
.pkg-btn-terracotta:hover {
  background: var(--color-terracotta-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(193, 124, 96, 0.35);
}
.pkg-arrow {
  transition: transform 0.2s ease;
}
.pkg-btn-terracotta:hover .pkg-arrow {
  transform: translate(2px, -2px);
}

/* Special Offers Section */
.meta-special-offers-section {
  background: #FAF6F1 !important;
  padding: 5.5rem 1.5rem !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.special-offers-container {
  max-width: 1200px;
  margin: 0 auto;
}
.special-offers-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem;
  margin-top: 3rem;
}
@media (max-width: 800px) and (min-width: 768px) {
  .special-offers-grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}
.special-offer-card {
  background: #FFFFFF;
  border: 1px solid var(--color-warm-beige);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(52, 53, 47, 0.05);
  display: flex;
  flex-direction: column;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.special-offer-card:hover {
  transform: translateY(-4px);
  border-color: var(--color-terracotta);
  box-shadow: 0 16px 36px rgba(193, 124, 96, 0.15);
}
.offer-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.offer-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.special-offer-card:hover .offer-card-media img {
  transform: scale(1.04);
}
.offer-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: var(--color-terracotta);
  color: #FFFFFF;
  font-family: var(--font-ui);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.offer-card-body {
  padding: 2rem 2rem 2.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex-grow: 1;
}
.offer-card-body h3 {
  font-family: var(--font-editorial);
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--color-charcoal);
  margin: 0;
}
.offer-highlight-text {
  font-family: var(--font-editorial);
  font-size: 1.2rem;
  font-style: italic;
  color: var(--color-terracotta);
  margin: 0;
  line-height: 1.35;
}
.offer-desc {
  font-size: 0.88rem;
  color: var(--color-charcoal-muted);
  line-height: 1.65;
  margin: 0;
}
.offer-cta-link {
  margin-top: auto;
  padding-top: 0.75rem;
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-terracotta) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: all 0.2s ease;
}
.offer-cta-link:hover {
  color: var(--color-terracotta-dark) !important;
  transform: translateX(4px);
}

/* Reviews Section in Warm Sand */
.meta-reviews-section {
  background: #F5EFE6 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-google-badge {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-google-score {
  color: var(--color-terracotta) !important;
}
.meta-google-stars {
  color: var(--color-terracotta) !important;
}
.meta-review-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-review-stars {
  color: var(--color-terracotta) !important;
}
.meta-review-author-info strong {
  color: var(--color-charcoal) !important;
}
.meta-review-avatar {
  background: var(--color-terracotta-soft) !important;
  color: var(--color-terracotta) !important;
}

/* Location Section */
.meta-location-section {
  background: #FAF6F1 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-location-matrix-card {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-dist-item {
  border-bottom: 1px solid var(--color-warm-beige-light) !important;
}
.meta-dist-time {
  background: var(--color-terracotta-soft) !important;
  color: var(--color-terracotta) !important;
}
.meta-btn-directions {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-btn-directions:hover {
  background: var(--color-terracotta-dark) !important;
}

/* FAQ Accordion Section */
.meta-faq-section {
  background: #F5EFE6 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-faq-item {
  background: #FFFFFF !important;
  border: 1px solid var(--color-warm-beige) !important;
}
.meta-faq-item.open {
  border-color: var(--color-terracotta) !important;
}
.meta-faq-question {
  color: var(--color-charcoal) !important;
}
.meta-faq-question .faq-icon {
  color: var(--color-terracotta) !important;
}
.meta-faq-answer {
  color: var(--color-charcoal-muted) !important;
}

/* Instagram Moments */
.meta-instagram-section {
  background: #FAF6F1 !important;
  border-bottom: 1px solid var(--color-sand-border) !important;
}
.meta-btn-follow-ig {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-btn-follow-ig:hover {
  background: var(--color-terracotta-dark) !important;
}

/* Mobile Sticky Bottom Bar */
.meta-mobile-sticky-bar {
  background: rgba(250, 246, 241, 0.96) !important;
  border-top: 1px solid var(--color-warm-beige) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.meta-sticky-price-col span {
  color: var(--color-terracotta) !important;
}
.meta-sticky-price-col strong {
  color: var(--color-charcoal) !important;
}
.meta-btn-sticky-book {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
}
.meta-btn-sticky-book:hover {
  background: var(--color-terracotta-dark) !important;
}

/* Hero Price Banner */
.meta-hero-rate-banner {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  margin: 1.25rem 0 1.75rem 0;
  padding: 0.85rem 1.6rem;
  background: rgba(250, 246, 241, 0.14);
  border: 1px solid rgba(250, 246, 241, 0.28);
  border-radius: 9999px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
.meta-hero-rate-tag {
  font-family: var(--font-ui);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #FAF6F1;
}
.meta-hero-rate-sub {
  font-family: var(--font-ui);
  font-size: 0.76rem;
  color: #D6CEB8;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Ambient Audio Floating Toggle Button (Bottom Left) */
.luxury-audio-toggle {
  position: fixed;
  left: 20px;
  bottom: 24px;
  z-index: 998;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(250, 246, 241, 0.94);
  border: 1px solid var(--color-warm-beige);
  color: var(--color-charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(52, 53, 47, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  padding: 0;
}
.luxury-audio-toggle:hover {
  transform: scale(1.08);
  border-color: var(--color-terracotta);
  color: var(--color-terracotta);
  box-shadow: 0 6px 20px rgba(193, 124, 96, 0.28);
}
.luxury-audio-toggle.is-playing {
  background: #FFFFFF;
  border-color: var(--color-terracotta);
  color: var(--color-terracotta);
}
.luxury-audio-toggle .audio-icon-playing,
.luxury-audio-toggle .audio-icon-muted {
  width: 18px;
  height: 18px;
  transition: transform 0.2s ease;
}
.luxury-audio-toggle .audio-icon-playing {
  display: none;
}
.luxury-audio-toggle .audio-icon-muted {
  display: block;
}
.luxury-audio-toggle.is-playing .audio-icon-playing {
  display: block;
}
.luxury-audio-toggle.is-playing .audio-icon-muted {
  display: none;
}

.luxury-audio-tooltip {
  position: fixed;
  left: 70px;
  bottom: 28px;
  z-index: 998;
  background: var(--color-charcoal);
  color: #FAF6F1;
  font-family: var(--font-ui);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  white-space: nowrap;
}
.luxury-audio-toggle:hover + .luxury-audio-tooltip,
.luxury-audio-tooltip.show-hint {
  opacity: 1;
  transform: translateX(0);
}
@media (max-width: 600px) {
  .luxury-audio-toggle {
    left: 16px;
    bottom: 84px;
    width: 38px;
    height: 38px;
  }
  .luxury-audio-tooltip {
    left: 62px;
    bottom: 88px;
  }
}

/* Ensure smooth transitions & motion preference */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   TRANQUIL TERRACE GALLE — LUXURY CHAMPAGNE SAND (#FFF2DB) RESPONSIVE FOOTER
   - Background: Bespoke Cream / Champagne Sand #FFF2DB Palette
   - Accent & Highlights: Rich Terracotta (#C17C60) & Charcoal (#34352F)
   - Links: Clean, Authentic SVG Icons & Zero Hover Underline
   - Comprehensive Multi-Device Layout Support: 320px to 1920px+
   ========================================================================== */

.tt-footer {
  position: relative !important;
  background: #FFF2DB !important;
  background: linear-gradient(180deg, #FFF2DB 0%, #FDF0D5 100%) !important;
  color: #34352F !important;
  isolation: isolate;
  padding: 0 0 1.5rem !important;
  overflow: hidden !important;
  font-family: var(--font-ui) !important;
  border-top: 1px solid rgba(193, 124, 96, 0.18) !important;
}

.tt-footer a,
.tt-footer a:hover,
.tt-footer a:focus,
.tt-footer a:active,
.tt-column a,
.tt-column a:hover,
.tt-column a:focus,
.tt-column a:active,
.tt-nav-subcol a,
.tt-nav-subcol a:hover,
.tt-guest-links a,
.tt-guest-links a:hover,
.tt-legal a,
.tt-legal a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Sunset Landscape Horizon transition into Champagne Sand #FFF2DB */
.tt-landscape {
  height: 200px !important;
  position: relative !important;
  background: linear-gradient(180deg, #FAF6F1 0%, #FAF0DF 35%, #FDF1D8 70%, #FFF2DB 100%) !important;
  overflow: hidden !important;
}

.tt-sky-glow {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at 78% 74%, rgba(255, 255, 255, 0.75), rgba(240, 218, 185, 0.45) 45%, transparent 72%) !important;
}

.tt-sun {
  width: 68px !important;
  height: 68px !important;
  position: absolute !important;
  right: 19% !important;
  bottom: 38px !important;
  background: radial-gradient(circle at 40% 40%, #FFFFFF 0%, #FFEEDB 40%, #F5CE9F 75%, #C17C60 100%) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 54px 10px rgba(255, 235, 205, 0.8), 0 0 85px 25px rgba(193, 124, 96, 0.22) !important;
}

/* Landscape silhouettes in deep charcoal/bronze */
.tt-scenery path[fill="#103E33"],
.tt-scenery path[fill="#082F28"],
.tt-scenery path[fill="#0a332b"],
.tt-scenery path[fill="#082b25"],
.tt-scenery path[fill="#092f28"],
.tt-scenery path[fill="#09352d"],
.tt-scenery g[fill="#092f28"] {
  fill: #34352F !important;
}
.tt-scenery path[stroke="#092f28"] {
  stroke: #34352F !important;
}
.tt-birds {
  stroke: #34352F !important;
}

/* Inner Container */
.tt-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  padding: 48px clamp(20px, 5vw, 80px) 0 !important;
}

/* Footer Grid: Desktop Default 4 Columns */
.tt-grid {
  display: grid !important;
  grid-template-columns: 1.3fr 0.85fr 1fr 1.15fr !important;
  gap: clamp(24px, 3.5vw, 54px) !important;
  align-items: start !important;
}

/* Brand Section */
.tt-brand-title {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  color: #34352F !important;
}

.tt-monogram {
  border-color: rgba(193, 124, 96, 0.35) !important;
  background: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(193, 124, 96, 0.12) !important;
}

.tt-brand strong,
.tt-brand-text strong {
  font-family: var(--font-editorial) !important;
  font-size: clamp(2.2rem, 3.2vw, 3.2rem) !important;
  font-weight: 600 !important;
  line-height: 0.95 !important;
  color: #34352F !important;
  text-shadow: none !important;
}

.tt-brand small,
.tt-brand-text small {
  font-size: 11px !important;
  letter-spacing: 0.44em !important;
  color: #C17C60 !important;
  font-weight: 700 !important;
  margin-top: 8px !important;
}

.tt-brand p {
  font-size: 0.92rem !important;
  line-height: 1.75 !important;
  color: #555750 !important;
  max-width: 340px !important;
  margin: 20px 0 18px !important;
}

/* Google Reviews Badge */
.tt-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(193, 124, 96, 0.08) !important;
  border: 1px solid rgba(193, 124, 96, 0.25) !important;
  border-radius: 9999px !important;
  padding: 6px 14px !important;
  font-size: 0.78rem !important;
  color: #34352F !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.25s ease !important;
}

.tt-badge:hover {
  background: rgba(193, 124, 96, 0.16) !important;
  border-color: #C17C60 !important;
  transform: translateY(-2px) !important;
}

.tt-badge strong {
  color: #C17C60 !important;
  font-weight: 800 !important;
}

/* Book Your Stay CTA Button */
.tt-button {
  background: #C17C60 !important;
  color: #FFFFFF !important;
  border: 1px solid #B0694F !important;
  border-radius: 9999px !important;
  padding: 13px 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-width: 200px !important;
  gap: 16px !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  box-shadow: 0 8px 24px rgba(193, 124, 96, 0.3) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.tt-button:hover {
  background: #A96248 !important;
  color: #FFFFFF !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 28px rgba(193, 124, 96, 0.45) !important;
}

/* Column Titles */
.tt-column h2 {
  font-family: var(--font-editorial) !important;
  color: #34352F !important;
  font-size: 1.85rem !important;
  font-weight: 600 !important;
  margin: 6px 0 20px !important;
  padding-bottom: 10px !important;
  position: relative !important;
}

.tt-column h2:after {
  content: "" !important;
  width: 60px !important;
  height: 2px !important;
  background: #C17C60 !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
}

/* Navigation Links & Zero Hover Underline */
.tt-column > a,
.tt-nav-subcol > a,
.tt-guest-links > a {
  display: flex !important;
  gap: 11px !important;
  align-items: center !important;
  margin-bottom: 13px !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  color: #3E3F39 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: all 0.2s ease !important;
}

.tt-column > a:hover,
.tt-nav-subcol > a:hover,
.tt-guest-links > a:hover {
  color: #C17C60 !important;
  transform: translateX(4px) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.tt-column > a.tt-sub-nav,
.tt-nav-subcol > a.tt-sub-nav {
  padding-left: 14px !important;
  font-size: 0.84rem !important;
  color: #63645D !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.tt-column > a.tt-sub-nav:hover,
.tt-nav-subcol > a.tt-sub-nav:hover {
  color: #C17C60 !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* Original SVG Icons Styling */
.tt-link-icon {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  flex-shrink: 0 !important;
  color: #C17C60 !important;
  stroke: #C17C60 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  transition: transform 0.2s ease, color 0.2s ease, stroke 0.2s ease !important;
}

.tt-sub-icon {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  opacity: 0.85 !important;
}

.tt-column a:hover .tt-link-icon,
.tt-nav-subcol a:hover .tt-link-icon,
.tt-guest-links a:hover .tt-link-icon {
  color: #9E563E !important;
  stroke: #9E563E !important;
  transform: scale(1.15) !important;
}

.tt-direct-guarantee {
  font-size: 0.78rem !important;
  color: #555750 !important;
  line-height: 1.65 !important;
  margin-top: 18px !important;
  padding: 10px 14px !important;
  background: rgba(193, 124, 96, 0.08) !important;
  border-radius: 8px !important;
  border-left: 3px solid #C17C60 !important;
}

/* Partners & Social Media Row */
.tt-partners {
  border-top: 1px solid rgba(193, 124, 96, 0.18) !important;
  border-bottom: 1px solid rgba(193, 124, 96, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  padding: 24px 0 !important;
  margin-top: 42px !important;
}

.tt-partner-group {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

.tt-partner-label,
.tt-partner-group > span:first-child {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  color: #8E6850 !important;
  margin-right: 4px !important;
}

/* Horizontal Social Media Icons Row (Always strictly horizontal on all screen sizes) */
.tt-social-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

.tt-social {
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  width: 38px !important;
  height: 38px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease, filter 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}
.tt-social:hover {
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16) !important;
}

/* OTA Badges Row */
.tt-ota-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.tt-ota-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(193, 124, 96, 0.25) !important;
  color: #34352F !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.25s ease !important;
}

.tt-ota-badge:hover {
  transform: translateY(-2px) !important;
  background: #FFFFFF !important;
  border-color: #C17C60 !important;
  box-shadow: 0 4px 12px rgba(193, 124, 96, 0.15) !important;
}

/* Legal & Copyright Row */
.tt-legal {
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
  align-items: center !important;
  padding: 24px 0 6px !important;
  color: #6C6D66 !important;
  font-size: 0.78rem !important;
}

.tt-legal a {
  color: #555750 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.2s ease !important;
}

.tt-legal a:hover {
  color: #C17C60 !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* ==========================================================================
   MULTI-DEVICE RESPONSIVE LAYOUT BREAKPOINTS
   ========================================================================== */

/* 1. Large Laptops / Small Desktops (992px to 1199px) */
@media (max-width: 1199px) and (min-width: 992px) {
  .tt-grid {
    grid-template-columns: 1.25fr 0.8fr 0.95fr 1fr !important;
    gap: 28px !important;
  }
  .tt-column > a,
  .tt-nav-subcol > a,
  .tt-guest-links > a {
    font-size: 0.84rem !important;
  }
}

/* 2. Tablets & Portrait Displays (768px to 991px) */
@media (max-width: 991px) and (min-width: 768px) {
  .tt-grid {
    grid-template-columns: 1.2fr 1fr !important;
    gap: 40px 32px !important;
  }
  .tt-brand {
    grid-column: 1 / 2 !important;
  }
  .tt-column-contact {
    grid-column: 2 / 3 !important;
  }
  .tt-column-explore {
    grid-column: 1 / 2 !important;
  }
  .tt-column-guest {
    grid-column: 2 / 3 !important;
  }
  .tt-partners {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }
}

/* 3. Small Tablets & Large Phones (481px to 767px) */
@media (max-width: 767px) and (min-width: 481px) {
  .tt-landscape {
    height: 150px !important;
  }
  .tt-inner {
    padding: 36px 24px 0 !important;
  }
  .tt-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 20px !important;
  }
  .tt-brand {
    grid-column: 1 / -1 !important;
  }
  .tt-column-explore {
    grid-column: 1 / 2 !important;
  }
  .tt-column-guest {
    grid-column: 2 / 3 !important;
  }
  .tt-column-contact {
    grid-column: 1 / -1 !important;
  }
  .tt-button {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  .tt-partners {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }
  .tt-legal {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
}

/* 4. Compact Mobile Devices (320px to 480px) */
@media (max-width: 480px) {
  .tt-landscape {
    height: 130px !important;
  }
  .tt-sun {
    width: 44px !important;
    height: 44px !important;
    bottom: 26px !important;
  }
  .tt-inner {
    padding: 30px 18px 0 !important;
  }
  .tt-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .tt-brand-title {
    gap: 12px !important;
  }
  .tt-brand strong,
  .tt-brand-text strong {
    font-size: 2.1rem !important;
  }
  .tt-brand p {
    font-size: 0.88rem !important;
    margin: 16px 0 !important;
  }
  .tt-badges {
    width: 100% !important;
  }
  .tt-badge {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
  }
  .tt-button {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 13px 20px !important;
  }
  .tt-column h2 {
    font-size: 1.55rem !important;
    margin-bottom: 16px !important;
  }
  .tt-column > a,
  .tt-nav-subcol > a,
  .tt-guest-links > a {
    font-size: 0.88rem !important;
    padding: 3px 0 !important;
  }
  /* Side-by-side explore sub-columns for space efficiency */
  .tt-nav-grid-2col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  .tt-partners {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 22px !important;
    padding: 22px 0 !important;
  }
  .tt-partner-group {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .tt-social-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
  }
  .tt-social {
    width: 42px !important;
    height: 42px !important;
  }
  .tt-ota-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .tt-ota-badge {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
  }
  .tt-legal {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-size: 0.74rem !important;
  }
  .tt-legal-copy {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .tt-legal-sep {
    display: none !important;
  }
  .tt-legal div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
}

/* ==========================================================================
   TRANQUIL TERRACE GALLE — MOBILE-FIRST LUXURY REDESIGN & CRITICAL FIXES
   ========================================================================== */

/* 1. "Enquire for 4 Guests ↗" Button High Contrast Visibility Fix (can not see fix) */
.meta-villas-unified-notice {
  background: #FFFDFB !important;
  border: 1px solid rgba(52, 53, 47, 0.12) !important;
  box-shadow: 0 8px 24px rgba(52, 53, 47, 0.05) !important;
  border-radius: 14px !important;
}
.meta-villas-unified-notice p {
  color: #34352F !important;
}
.meta-villas-unified-notice p strong {
  color: #141615 !important;
}
.meta-villas-unified-notice .meta-btn-outline {
  background: #34352F !important;
  color: #FFFFFF !important;
  border: 1px solid #34352F !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 22px !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(52, 53, 47, 0.2) !important;
  transition: all 0.25s ease !important;
  white-space: nowrap !important;
}
.meta-villas-unified-notice .meta-btn-outline span {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.meta-villas-unified-notice .meta-btn-outline:hover {
  background: #C17C60 !important;
  border-color: #C17C60 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(193, 124, 96, 0.35) !important;
}
.meta-villas-unified-notice .meta-btn-outline:hover span {
  color: #FFFFFF !important;
}

/* 2. Packages Section Header Center (center karanna) */
.packages-header-center,
.meta-packages-section .packages-header-center,
.meta-special-offers-section .packages-header-center {
  text-align: center !important;
  max-width: 760px !important;
  margin: 0 auto 3.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.packages-header-center .meta-eyebrow,
.packages-header-center .meta-section-title,
.packages-header-center .meta-section-sub {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
.packages-header-center .meta-section-sub {
  max-width: 640px !important;
  line-height: 1.65 !important;
  font-size: 0.95rem !important;
  color: #55574F !important;
}

/* 3. Phase 1: Critical Mobile Navigation Menu Links Fix */
.luxury-mobile-drawer {
  background: #FAF6F1 !important;
  color: #34352F !important;
  z-index: 99999 !important;
}
.luxury-mobile-drawer .drawer-scroller {
  background: #FAF6F1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 2rem) !important;
  box-sizing: border-box !important;
}
.luxury-mobile-drawer .drawer-top-bar {
  border-bottom: 1px solid rgba(52, 53, 47, 0.08) !important;
}
.luxury-mobile-drawer .drawer-eyebrow {
  color: #34352F !important;
  font-family: var(--font-ui) !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
}
.luxury-mobile-drawer .drawer-close-btn {
  color: #34352F !important;
}
.luxury-mobile-drawer .drawer-crest-center {
  padding: 1.5rem 0 1rem !important;
}
/* Crucial override for style.css: nav { display: none } on <=800px */
.luxury-mobile-drawer .drawer-nav-menu,
nav.drawer-nav-menu,
.luxury-mobile-drawer.is-open nav.drawer-nav-menu,
.luxury-mobile-drawer.is-open .drawer-nav-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 440px !important;
  margin: 0 auto !important;
}
.luxury-mobile-drawer .drawer-links-list {
  display: flex !important;
  flex-direction: column !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.luxury-mobile-drawer .drawer-links-list li,
.luxury-mobile-drawer.is-open .drawer-links-list li {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  border-bottom: 1px solid rgba(52, 53, 47, 0.08) !important;
}
.luxury-mobile-drawer .drawer-nav-link {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #34352F !important;
  font-family: var(--font-editorial) !important;
  font-size: 1.55rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-decoration: none !important;
  text-align: center !important;
  padding: 0.75rem 0 !important;
  transition: color 0.2s ease !important;
}
.luxury-mobile-drawer .drawer-nav-link:hover,
.luxury-mobile-drawer .drawer-nav-link.active {
  color: #C17C60 !important;
}
.luxury-mobile-drawer .drawer-sub-item .drawer-nav-link {
  font-size: 1.15rem !important;
  color: #6C726B !important;
  padding: 0.4rem 0 !important;
  letter-spacing: 0.08em !important;
}
.luxury-mobile-drawer .drawer-sub-item .drawer-nav-link:hover {
  color: #C17C60 !important;
}
.luxury-mobile-drawer .drawer-footer-actions,
.luxury-mobile-drawer.is-open .drawer-footer-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  opacity: 1 !important;
  transform: none !important;
  padding: 1.5rem 1rem 1rem !important;
  gap: 0.85rem !important;
}
.luxury-mobile-drawer .drawer-book-cta {
  background: var(--color-terracotta) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-terracotta) !important;
  padding: 0.95rem 2rem !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(193, 124, 96, 0.25) !important;
}
.luxury-mobile-drawer .drawer-book-cta:hover {
  background: var(--color-terracotta-dark) !important;
}
.luxury-mobile-drawer .drawer-contact-line a {
  color: #34352F !important;
}
.luxury-mobile-drawer .drawer-wa-line a {
  color: #25D366 !important;
}

/* 4. Phase 2: Mobile Hero Video Fullscreen Edge-to-Edge & Clean Contrast */
@media (max-width: 768px) {
  .meta-hero {
    position: relative !important;
    width: 100% !important;
    width: 100vw !important;
    max-width: 100% !important;
    min-height: calc(100svh - 68px) !important;
    height: calc(100svh - 68px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    background: #141615 !important;
    padding: 0 !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
  }

  .meta-hero-video-wrap {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
  }

  .meta-hero-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  .meta-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
    background: linear-gradient(
      180deg,
      rgba(20, 22, 21, 0.35) 0%,
      rgba(20, 22, 21, 0.15) 30%,
      rgba(20, 22, 21, 0.65) 65%,
      rgba(20, 22, 21, 0.94) 100%
    ) !important;
    pointer-events: none !important;
  }

  .meta-hero-container {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 1.5rem 1.25rem calc(1.75rem + 68px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .meta-hero-copy {
    width: 100% !important;
    max-width: 440px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  .meta-hero-copy .meta-eyebrow {
    font-size: 0.68rem !important;
    letter-spacing: 0.16em !important;
    margin-bottom: 0.4rem !important;
    color: #E2CA92 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7) !important;
    font-weight: 600 !important;
  }

  .meta-hero-title {
    font-size: clamp(1.85rem, 7.2vw, 2.45rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 0.5rem !important;
    color: #FFFFFF !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
  }

  .meta-hero-desc {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    color: #F0ECE1 !important;
    margin-bottom: 0.9rem !important;
    max-width: 320px !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
  }

  /* User request: remove rate banner, cta buttons, and video control pill from hero section */
  .meta-hero-rate-banner,
  .meta-hero-cta-group,
  .meta-hero #meta-video-control,
  .meta-hero .video-control-pill {
    display: none !important;
  }
}

/* User request (global): remove rate banner, cta buttons, and video control pill */
.meta-hero-rate-banner,
.meta-hero-cta-group,
#meta-video-control,
.video-control-pill {
  display: none !important;
}

/* ========================================================
   STICKY NAVIGATION � MOBILE & DESKTOP GLOBAL STANDARD
   Always visible at top while scrolling down or up.
   ======================================================== */
header.taru-header,
header.luxury-hotel-header,
header,
#site-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9500 !important;
  background: rgba(250, 246, 241, 0.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(37, 40, 36, 0.08) !important;
  transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s ease,
              background 0.3s ease !important;
}

/* Scrolled state: slightly reduced height & luxury shadow */
header.taru-header.scrolled,
header.taru-header.compact,
header.luxury-hotel-header.scrolled,
header.luxury-hotel-header.compact,
header.compact,
#site-header.scrolled,
#site-header.compact {
  box-shadow: 0 4px 24px rgba(20, 22, 21, 0.07) !important;
  border-bottom-color: rgba(37, 40, 36, 0.12) !important;
}

@media (max-width: 767px) {
  header.taru-header,
  header.luxury-hotel-header,
  header,
  #site-header {
    height: 68px !important;
  }

  header.taru-header.scrolled,
  header.taru-header.compact,
  header.luxury-hotel-header.scrolled,
  header.luxury-hotel-header.compact,
  header.compact,
  #site-header.scrolled,
  #site-header.compact {
    height: 60px !important;
  }
}

/* ==========================================================================
   5. BOOKING.COM CLEAN CATEGORIZED AMENITIES LAYOUT (Zero Bulky Icon Boxes)
   ========================================================================== */
.booking-amenities-section {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 4.5rem 1.5rem !important;
  box-sizing: border-box !important;
}

.booking-amenities-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 32px !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  .booking-amenities-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}

@media (max-width: 640px) {
  .booking-amenities-section {
    padding: 3rem 1rem !important;
  }
}

.booking-amenity-cat {
  background: #FFFFFF !important;
  border: 1px solid rgba(193, 124, 96, 0.18) !important;
  border-radius: 14px !important;
  padding: 20px 18px !important;
  box-shadow: 0 2px 10px rgba(52, 53, 47, 0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.booking-amenity-cat:hover {
  border-color: rgba(193, 124, 96, 0.4) !important;
  box-shadow: 0 4px 16px rgba(193, 124, 96, 0.08) !important;
}

.booking-cat-title {
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  color: var(--color-charcoal, #34352F) !important;
  margin: 0 0 14px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(193, 124, 96, 0.14) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  letter-spacing: -0.01em !important;
}

.booking-cat-bullet {
  color: var(--color-terracotta, #C17C60) !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
}

.booking-amenity-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.booking-amenity-list li {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  border-bottom: 1px dashed rgba(52, 53, 47, 0.09) !important;
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
}

.booking-amenity-list li:last-child {
  border-bottom: none !important;
}

.booking-amenity-list .amenity-name {
  color: var(--color-charcoal, #34352F) !important;
  font-weight: 500 !important;
  flex: 1 1 auto !important;
}

.booking-amenity-list .amenity-tag {
  color: var(--color-terracotta, #C17C60) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  text-align: right !important;
  flex-shrink: 0 !important;
}

/* ==========================================================================
   6. MOBILE VIEWPORT LOCK, ZERO HORIZONTAL DRIFT & TYPOGRAPHY FIXES
   ========================================================================== */
html, body {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  touch-action: pan-x pan-y !important;
  -webkit-text-size-adjust: 100% !important;
  position: relative !important;
}

*, *::before, *::after {
  box-sizing: border-box !important;
}

main,
.page,
.section,
.meta-packages-section,
.meta-amenities-section,
.meta-villas-section,
.meta-reviews-section,
.meta-location-section,
.stay-calendar,
.stay-details,
.gallery,
.experience,
.galle-guide,
.contact-layout,
.faq {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

@media (max-width: 800px) {
  /* Prevent horizontal carousel margins from expanding page width */
  .meta-amenities-grid,
  .meta-packages-list,
  .meta-reviews-grid,
  .meta-villas-grid,
  .dual-villas-carousel,
  .pkg-carousel-track {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Center package cards and honeymoon special offer cards */
  .meta-packages-list > .meta-package-card,
  .pkg-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  /* FIX: Inner hero notch overlap & breadcrumbs text collision (contact.html, gallery.html, villas.html, etc.) */
  .page-inner .inner-hero,
  .inner-hero,
  .hero.inner-hero {
    padding-top: calc(env(safe-area-inset-top, 0px) + 84px) !important;
    padding-bottom: 28px !important;
    min-height: auto !important;
    position: relative !important;
  }

  .page-inner .inner-copy,
  .inner-copy {
    position: relative !important;
    z-index: 2 !important;
  }

  .page-inner .inner-back,
  .inner-back {
    position: static !important;
    display: inline-block !important;
    margin-top: 16px !important;
    font-size: 0.74rem !important;
    letter-spacing: 0.12em !important;
    color: var(--color-charcoal-light, #767870) !important;
    text-decoration: none !important;
  }

  /* FIX: Gallery heading vertical letter break ("Tak 
 e a 
 close 
 r 
 look.") */
  .title-row,
  .gallery .title-row,
  .page-inner .title-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .title-row h2,
  .gallery .title-row h2,
  .page-inner .title-row h2 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 2.2rem !important;
    line-height: 1.15 !important;
    word-break: normal !important;
    white-space: normal !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
  }

  .title-row .filters,
  .gallery .title-row .filters,
  .page-inner .title-row .filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 4px !important;
  }

  /* FIX: Giant round gold button overlapping date pickers in .availability */
  form.availability,
  .availability,
  .page-inner .availability {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 14px !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
    margin: 20px 0 !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(193, 124, 96, 0.2) !important;
    box-shadow: 0 4px 20px rgba(52, 53, 47, 0.06) !important;
  }

  form.availability label,
  .availability label,
  .page-inner .availability label {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    color: var(--color-charcoal, #34352F) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    gap: 6px !important;
  }

  form.availability input,
  form.availability select,
  .availability input,
  .availability select,
  .page-inner .availability input,
  .page-inner .availability select {
    width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background: #FAF8F5 !important;
    border: 1px solid rgba(52, 53, 47, 0.16) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 0.92rem !important;
    color: var(--color-charcoal, #34352F) !important;
  }

  form.availability .button,
  .availability .button,
  .page-inner .availability .button {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 9999px !important;
    margin-top: 8px !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    background: var(--color-terracotta, #C17C60) !important;
    border: 1px solid var(--color-terracotta, #C17C60) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(193, 124, 96, 0.35) !important;
    position: static !important;
    align-self: stretch !important;
  }

  /* FIX: Comparison table in villas.html */
  .comparison,
  .page-inner .comparison {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 20px 16px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(193, 124, 96, 0.2) !important;
  }
  .comparison table {
    width: 100% !important;
    min-width: 360px !important;
    font-size: 0.84rem !important;
  }
  .comparison th,
  .comparison td {
    padding: 12px 10px !important;
    white-space: nowrap !important;
  }

  /* FIX: Channel links (Booking.com, Agoda, Airbnb) uniform stacked cards */
  .calendar-channels .channel-links,
  .channel-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 14px !important;
    box-sizing: border-box !important;
  }

  .calendar-channels .channel-link,
  .channel-link {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(52, 53, 47, 0.14) !important;
    border-radius: 12px !important;
    padding: 13px 16px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
  }

  .channel-link:hover {
    border-color: var(--color-terracotta, #C17C60) !important;
    background: #FFFDFB !important;
  }

  .channel-link > span {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
  }
  .channel-booking > span { color: #003580 !important; }
  .channel-agoda > span { color: #5392F9 !important; }
  .channel-airbnb > span { color: #FF5A5F !important; }

  .channel-link > small {
    font-size: 0.72rem !important;
    color: var(--color-charcoal-muted, #55574F) !important;
    font-weight: 500 !important;
  }

  /* FIX: Mobile Sticky Bottom Bar price wrapping & Floating Buttons Clearance */
  body {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 78px) !important;
  }

  .meta-mobile-sticky-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important;
    background: rgba(250, 246, 241, 0.98) !important;
    border-top: 1px solid var(--color-warm-beige) !important;
    padding: 0.65rem 1rem calc(env(safe-area-inset-bottom, 0px) + 0.65rem) !important;
    box-shadow: 0 -4px 20px rgba(52, 53, 47, 0.08) !important;
  }

  .meta-sticky-bar-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .meta-sticky-price-col {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .meta-sticky-price-col span {
    font-size: 0.64rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: var(--color-terracotta, #C17C60) !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .meta-sticky-price-col div {
    font-family: var(--font-ui, "Manrope", sans-serif) !important;
    font-size: 0.8rem !important;
    color: var(--color-charcoal, #34352F) !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    margin-top: 1px !important;
  }

  .meta-sticky-price-col strong {
    font-weight: 800 !important;
    font-size: 0.96rem !important;
    color: var(--color-terracotta, #C17C60) !important;
    white-space: nowrap !important;
  }

  .meta-btn-sticky-book {
    white-space: nowrap !important;
    padding: 10px 18px !important;
    font-size: 0.84rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    background: var(--color-terracotta, #C17C60) !important;
    border-radius: 9999px !important;
    color: #FFFFFF !important;
  }

  /* Clear floating WhatsApp button completely above the sticky bottom bar */
  .meta-floating-whatsapp,
  #floating-whatsapp {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 90px) !important;
    right: 16px !important;
    z-index: 9999 !important;
  }

  .luxury-audio-toggle,
  #luxury-audio-toggle {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 90px) !important;
    left: 16px !important;
    z-index: 9999 !important;
  }
}

/* Hide legacy duplicate floating book buttons that collide with mobile sticky bar */
.floating-book {
  display: none !important;
}

/* Luxury button styling for Comparison table & Stay details buttons */
.comparison .button,
.page-inner .comparison .button,
.stay-details .button {
  background: var(--color-terracotta, #C17C60) !important;
  border: 1px solid var(--color-terracotta, #C17C60) !important;
  color: #FFFFFF !important;
  border-radius: 9999px !important;
  padding: 12px 24px !important;
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 18px !important;
  box-shadow: 0 4px 14px rgba(193, 124, 96, 0.3) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.comparison .button:hover,
.page-inner .comparison .button:hover,
.stay-details .button:hover {
  background: var(--color-terracotta-dark, #A66349) !important;
  border-color: var(--color-terracotta-dark, #A66349) !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   DESKTOP & INNER PAGES: AVAILABILITY BAR LUXURY THEME & PERFECT SPACING
   Matches the warm Terracotta & Cream aesthetic across all inner pages
   ========================================================================== */
.page-inner .availability {
  background: #FFFFFF !important;
  color: var(--color-charcoal, #34352F) !important;
  border: 1px solid var(--color-warm-beige, #D6CEB8) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 40px -10px rgba(52, 53, 47, 0.08) !important;
  margin: 35px auto 40px !important;
  width: calc(100% - 16% + 40px) !important;
  max-width: 1240px !important;
  position: relative !important;
  z-index: 20 !important;
  padding: 22px 28px !important;
  box-sizing: border-box !important;
}

.page-inner .availability-intro span.eyebrow {
  color: var(--color-terracotta, #C17C60) !important;
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

.page-inner .availability-intro span:last-child {
  font-family: var(--font-editorial, "Cormorant Garamond", serif) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--color-charcoal, #34352F) !important;
  display: block !important;
  margin-top: 2px !important;
}

.page-inner .availability label {
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: var(--color-terracotta, #C17C60) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  border-left: 1px solid rgba(52, 53, 47, 0.12) !important;
  padding-left: 16px !important;
}

.page-inner .availability input,
.page-inner .availability select {
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--color-charcoal, #34352F) !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.page-inner .availability .button {
  background: var(--color-terracotta, #C17C60) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--color-terracotta, #C17C60) !important;
  font-family: var(--font-ui, "Manrope", sans-serif) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 9999px !important;
  padding: 14px 24px !important;
  box-shadow: 0 4px 15px rgba(193, 124, 96, 0.35) !important;
  cursor: pointer !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.page-inner .availability .button:hover {
  background: var(--color-terracotta-dark, #A66349) !important;
  border-color: var(--color-terracotta-dark, #A66349) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 22px rgba(193, 124, 96, 0.45) !important;
}

/* Ensure inner-back breadcrumbs always have comfortable breathing room */
.page-inner .inner-hero {
  padding-bottom: 50px !important;
}
.page-inner .inner-back {
  bottom: 18px !important;
  color: var(--color-charcoal-muted, #55574F) !important;
}
.page-inner .inner-back:hover {
  color: var(--color-terracotta, #C17C60) !important;
}

/* Ensure calendar sync indicator wraps cleanly on small mobile viewports */
.calendar-sync-indicator {
  display: inline-flex !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  flex-wrap: wrap !important;
  font-size: 0.76rem !important;
  line-height: 1.4 !important;
}

@media (max-width: 800px) {
  .luxury-header-grid {
    padding-top: max(env(safe-area-inset-top, 0px), 12px) !important;
    padding-bottom: 8px !important;
    min-height: calc(env(safe-area-inset-top, 0px) + 56px) !important;
  }
  .luxury-crest-svg {
    max-height: 42px !important;
  }
}



.meta-review-card,
.review-marquee-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(200, 164, 93, 0.28) !important;
  border-radius: 20px !important;
  color: #1C1E1D !important;
  box-shadow: 0 12px 36px rgba(20, 22, 21, 0.06), 0 2px 6px rgba(20, 22, 21, 0.03) !important;
}
.meta-review-card blockquote,
.review-marquee-card blockquote,
.meta-review-quote {
  color: #1C1E1D !important; /* CRITICAL: High-contrast rich charcoal text */
  font-family: var(--font-editorial, 'Cormorant Garamond', Georgia, serif) !important;
  font-size: 1.15rem !important;
  line-height: 1.6 !important;
  font-style: italic !important;
  margin: 0 0 16px !important;
}
.meta-review-stars,
.review-stars {
  color: #C8A45D !important;
  font-size: 1.1rem !important;
  letter-spacing: 2px !important;
}
.meta-review-author-info strong,
.review-author-row strong {
  color: #141615 !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
}
.meta-review-author-info small,
.review-author-row small {
  color: #8C703B !important;
  font-size: 0.76rem !important;
}
.meta-review-avatar,
.review-author-row .avatar {
  background: rgba(200, 164, 93, 0.15) !important;
  color: #8C703B !important;
  border: 1px solid rgba(200, 164, 93, 0.35) !important;
}