@font-face {
  font-family: "Noto Sans Arabic";
  src: url("assets/fonts/noto-sans-arabic-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 500;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Arabic";
  src: url("assets/fonts/noto-sans-arabic-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
}

.language-switcher {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  height: 42px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #0d0d0d;
}

.language-switcher button {
  width: 33px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--muted);
  font: 700 12px/1 Arial, sans-serif;
  cursor: pointer;
}

.language-switcher button[aria-pressed="true"] {
  background: var(--gold);
  color: #111;
}

.language-switcher button:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.booking-takeover-bar-single {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

html[lang="ar"] body,
html[lang="ar"] :is(h1, h2, h3, h4, button, input, select, textarea, .brand, .intro-city) {
  font-family: "Noto Sans Arabic", Tahoma, Arial, sans-serif;
}

html[lang="ar"] body :not(svg):not(svg *) {
  letter-spacing: 0;
}

html[lang="ar"] :is(h1, h2, h3, h4, .intro-tagline, .eyebrow) {
  line-height: 1.65;
}

html[lang="ar"] :is(p, label, legend, .button, .service-card, .booking-service-choice, .children-option, .quick-facts) {
  line-height: 1.8;
}

html[lang="ar"] :is(.booking-service-choice, .children-option, .booking-panel, .summary-panel) {
  text-align: start;
}

html[lang="ar"] .gallery-loop-card h2 {
  direction: rtl;
  text-align: start;
}

/* Physical media and carousel movement keep their original orientation. */
.hero-video-frame,
.gallery-loop-stack,
input[type="date"],
input[type="tel"] {
  direction: ltr;
}

.slot bdi,
.confirmation bdi,
.quick-facts bdi {
  unicode-bidi: isolate;
}

.children-option span,
.booking-service-choice span,
.summary-row strong,
.confirmation p {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .topbar { gap: 8px; }
  .top-actions { gap: 7px; flex: 0 0 auto; }
  .brand { min-width: 0; gap: 8px; }
  .brand strong { font-size: 14px; }
  .brand-mark { flex-shrink: 0; }
  .booking-takeover-bar .booking-close { min-width: 0; white-space: normal; }
  html[lang="ar"] .brand strong { font-size: 16px; }
  html[lang="ar"] .mobile-booking-bar .button { font-size: 12px; }
  html[lang="ar"] .gallery-loop-card h2 { font-size: 17px; line-height: 1.5; }
}
