:root {
  --focus-accent: #2DA79F;
  --focus-accent-strong: #437CC5;
  --focus-ring: #2DA79F;
  --focus-ring-shadow: rgba(45, 167, 159, 0.30);
  --off-white: #F8F0E4 !important;
  --snow: #FFFDF8 !important;
  --dark: #111821 !important;
  --navy: #223F6B !important;
  --teal: #2DA79F !important;
  --blue: #437CC5 !important;
  --green: #79B45B !important;
}

html {
  color-scheme: light;
}

body {
  text-rendering: optimizeLegibility;
  background:
    radial-gradient(circle at top, rgba(255, 250, 244, 0.48), transparent 42%),
    linear-gradient(180deg, #FBF5EA 0%, #F4EADC 100%) !important;
}

.site-header {
  background: rgba(250, 242, 230, 0.92) !important;
}

.skip-link {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-start: 16px;
  z-index: 10000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  background: #0D1B2A;
  color: #FFFFFF;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform 160ms ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
}

:where(a, button, summary, input, select, textarea, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px var(--focus-ring-shadow);
}

.btn-lang {
  min-height: 48px !important;
}

.mobile-nav-drop a,
.mobile-nav-drop button {
  min-height: 48px;
}

.mobile-nav-drop .btn-lang {
  width: 100%;
  margin-top: 4px;
  justify-content: center;
}

.mobile-nav-drop {
  background: rgba(255, 250, 245, 0.98) !important;
  border-color: rgba(31, 57, 108, 0.08) !important;
}

.mobile-nav-drop a:hover {
  background: rgba(31, 57, 108, 0.045) !important;
}

.btn-lang:hover {
  background: rgba(31, 57, 108, 0.05) !important;
  color: var(--text) !important;
}

.mob-bar a {
  min-height: 48px !important;
}

.mob-bar {
  background: rgba(14, 20, 30, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.10) !important;
  box-shadow: 0 18px 40px rgba(31, 57, 108, 0.18) !important;
}

.footer-btm {
  color: rgba(255, 249, 242, 0.50) !important;
}

.footer-btm span {
  color: inherit;
}

#main-content[role="main"] {
  display: block;
}

html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4 {
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

html[dir="rtl"] .label,
html[dir="rtl"] .fc-head,
html[dir="rtl"] .contact-badge,
html[dir="rtl"] .loc-card-tag,
html[dir="rtl"] .popular-badge,
html[dir="rtl"] .price-tier,
html[dir="rtl"] .pkg-label,
html[dir="rtl"] .pkg-save,
html[dir="rtl"] .room-tag,
html[dir="rtl"] .page-hero__badge,
html[dir="rtl"] .included-visual-badge,
html[dir="rtl"] .story-img-badge {
  letter-spacing: 0.04em !important;
}

html[dir="rtl"] .btn,
html[dir="rtl"] .mob-bar a,
html[dir="rtl"] .site-nav a,
html[dir="rtl"] .mobile-nav-drop a,
html[dir="rtl"] .mobile-trigger summary,
html[dir="rtl"] .footer-col a,
html[dir="rtl"] .footer-brand p {
  font-feature-settings: "kern" 1, "liga" 1;
}

.site-footer {
  background: #091018 !important;
}

.page-hero::after {
  background: radial-gradient(ellipse at 60% 50%, rgba(255, 246, 235, 0.10), transparent 72%) !important;
}

.page-hero::before,
.cta-dark::before,
.cta-dark::after,
.cta-band::before {
  background: radial-gradient(circle, rgba(255, 246, 235, 0.08), transparent 70%) !important;
}

.feat-icon,
.contact-icon,
.svc-icon,
.why-bullet-icon,
.incl-icon {
  background: linear-gradient(135deg, rgba(45, 167, 159, 0.12), rgba(67, 124, 197, 0.10)) !important;
}

.price-card.popular,
.contact-card.primary,
.pkg-card.featured {
  box-shadow: 0 0 0 3px rgba(45, 167, 159, 0.10), 0 18px 42px rgba(17, 24, 34, 0.08) !important;
  border-color: rgba(45, 167, 159, 0.35) !important;
}

.contact-badge,
.loc-card-tag,
.pkg-save,
.room-tag,
.popular-badge {
  background: linear-gradient(135deg, rgba(45, 167, 159, 0.10), rgba(67, 124, 197, 0.08)) !important;
  color: var(--teal) !important;
}

.btn-accent {
  box-shadow: 0 10px 28px rgba(45, 167, 159, 0.24) !important;
}

.btn-accent:hover {
  box-shadow: 0 14px 36px rgba(67, 124, 197, 0.28) !important;
}

[data-dir-lock="ltr"] {
  direction: ltr;
  unicode-bidi: plaintext;
}

@media (max-width: 932px) and (orientation: landscape) {
  .site-nav,
  .header-ctas {
    display: none !important;
  }

  .mobile-trigger {
    display: block !important;
    margin-inline-start: auto;
  }

  .mob-bar {
    display: grid !important;
  }

  body {
    padding-bottom: 80px;
  }
}

@media (max-width: 768px) {
  .site-header {
    backdrop-filter: blur(16px) saturate(1.2) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }

  .mq-track {
    animation: none !important;
    transform: none !important;
  }
}
