/* Public language navigation and Arabic reading direction. Photos are never mirrored. */
body[data-theme] .site-language-picker { position: relative; flex: 0 0 auto; margin: 0; color: var(--ink); z-index: 35; }
body[data-theme] .site-language-picker > summary { display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 52px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: inherit; cursor: pointer; list-style: none; font: 600 12px/1.2 var(--sans); letter-spacing: .04em; white-space: nowrap; }
body[data-theme] .site-language-picker > summary::-webkit-details-marker { display: none; }
body[data-theme] .site-language-picker > summary::marker { content: ''; }
body[data-theme] .site-language-picker > summary svg { width: 16px; height: 16px; flex: 0 0 16px; }
body[data-theme] .site-language-picker > summary :is([data-current-language],.site-language-current) { direction: ltr; unicode-bidi: isolate; }
body[data-theme] .site-language-picker[open] > summary, body[data-theme] .site-language-picker > summary:hover { border-color: var(--gold); }
body[data-theme] .site-language-picker :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
body[data-theme] .site-language-options { position: absolute; inset-block-start: calc(100% + 8px); inset-inline-end: 0; display: grid; min-width: 168px; width: max-content; max-width: calc(100vw - 32px); padding: 6px; border: 1px solid var(--line); border-radius: 5px; background: var(--paper); color: var(--ink); box-shadow: 0 12px 35px #0003; }
body[data-theme] .site-language-options a { display: flex; align-items: center; gap: 12px; justify-content: space-between; min-height: 44px; padding: 10px 12px; border-radius: 3px; color: inherit; font: 500 14px/1.4 var(--sans); text-decoration: none; white-space: nowrap; }
body[data-theme] .site-language-options a:hover, body[data-theme] .site-language-options a[aria-current] { background: color-mix(in srgb,var(--gold) 14%,transparent); }
body[data-theme] .site-language-options a > span { unicode-bidi: isolate; }
body[data-theme] .site-language-options a > small { direction: ltr; unicode-bidi: isolate; font-size: 11px; color: var(--muted); }
body[data-theme] .site-language-options a[lang=ar] > span { direction: rtl; }
body[data-theme].welcome-page .site-language-picker { align-self: flex-end; margin-block-end: 16px; color: #f5e8ce; }
body[data-theme].welcome-page .site-language-options { background: #211b14; color: #f5e8ce; }

/* Arabic joins need natural spacing, and a script-capable font at every text level. */
html[dir=rtl] body[data-theme] { direction: rtl; --sans: Tahoma,Arial,sans-serif; --font-sans: Tahoma,Arial,sans-serif; --serif: "Noto Naskh Arabic","Geeza Pro",Tahoma,Arial,sans-serif; --font-serif: "Noto Naskh Arabic","Geeza Pro",Tahoma,Arial,sans-serif; font-family: var(--sans); }
html[dir=rtl] body[data-theme] :is(h1,h2,h3,h4,p,label,summary,button,select,textarea,.eyebrow,.text-link,.button,.nav-link-list,.nav-panel-heading,.welcome-card-kicker,.checkout-breadcrumb,.luxury-brand-sub) { letter-spacing: normal; }
html[dir=rtl] body[data-theme] :is(h1,h2,h3,h4) { line-height: 1.4; }
html[dir=rtl] body[data-theme] :is(h1,h2,h3) em { font-style: normal; }
html[dir=rtl] body[data-theme] :is(input[type=tel],input[type=email],input[type=date],input[type=time],input[name=payment_receipt_number],a[href^="tel:"],a[href^="mailto:"],#bank-iban,#transfer-reference,.transfer-amount > strong,.reference strong,[data-copy-text],.luxury-phone-pill,.checkout-overview-support > strong) { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] body[data-theme] :is(input[type=tel],input[type=email],input[type=date],input[type=time]) { text-align: left; }
html[dir=rtl] body[data-theme] :is(.room-intro-price > strong,#booking-quote > strong) { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] body[data-theme] :is(.luxury-brand-name,.welcome-identity .wordmark > span,.footer-top .wordmark > span) { direction: ltr; unicode-bidi: isolate; font-family: Georgia,"Times New Roman",serif; }
html[dir=rtl] body[data-theme] :is(.room-slider-track,.room-slider-controls,.carousel-controls,.showcase-controls,.gallery-counter,.carousel-counter) { direction: ltr; unicode-bidi: isolate; }
html[dir=rtl] body[data-theme] :is(.room-slider-caption,.carousel-caption,.showcase-slide figcaption) { direction: rtl; text-align: right; }
html[dir=rtl] body[data-theme] .room-slider-caption { left: 68px; right: 22px; }
html[dir=rtl] body[data-theme] .room-slider-expand { right: auto; left: 16px; }
html[dir=rtl] body[data-theme] :is(.availability-alternative,.room-photo-feature,.event-form-actions .planner-back) { text-align: right; }
html[dir=rtl] body[data-theme] :is(.stage-copy,.premium-section-heading,.premium-heading-group,.premium-heading-group > h2,.premium-home-closing,.luxury-gallery-thumb) { text-align: right; }
html[dir=rtl] body[data-theme].premium-home :is(.section-heading,.home-instagram-header) { text-align: right; }
html[dir=rtl] body[data-theme] .nav-panel { right: auto; left: 5%; }
html[dir=rtl] body[data-theme] .nav-intro { padding: 9px 5px 9px 26px; border-right: 0; border-left: 1px solid var(--line); }
html[dir=rtl] body[data-theme] .nav-room-list i { margin-left: 0; margin-right: auto; }
html[dir=rtl] body[data-theme] .menu-toggle { margin-left: 0; margin-right: auto; }
html[dir=rtl] body[data-theme] .booking-search-header-mobile { margin-left: 0; margin-right: auto; }
html[dir=rtl] body[data-theme] .booking-search-header.nav-enhanced .menu-toggle { margin-right: 0; }
html[dir=rtl] body[data-theme] .search-bar > label { border-right: 0; border-left: 1px solid var(--line); padding-right: 0; padding-left: 18px; }
html[dir=rtl] body[data-theme] .guest-picker > summary { padding-right: 0; padding-left: 23px; }
html[dir=rtl] body[data-theme] .guest-picker-chevron { right: auto; left: 0; }
html[dir=rtl] body[data-theme] .guest-picker-panel { right: auto; left: 0; text-align: right; }
html[dir=rtl] body[data-theme] .guest-picker-expanded > summary { padding-left: 0; }
html[dir=rtl] body[data-theme] .room-stay-form .guest-picker > summary { padding: 0; }
html[dir=rtl] body[data-theme] .room-stay-form .guest-picker-summary { padding: 10px 12px 10px 32px; }
html[dir=rtl] body[data-theme] .room-stay-form .guest-picker-chevron { right: auto; left: 12px; }
html[dir=rtl] body[data-theme] .room-stay-form #booking-quote details { margin-left: 0; margin-right: auto; }
html[dir=rtl] body[data-theme] .room-stay-form #booking-quote details[open] { margin-right: 0; }
html[dir=rtl] body[data-theme] :is(.family-search-note,.event-date-guide,.date-preference-intro,.form-alert) { border-left: 0; border-right: 2px solid var(--gold); }
html[dir=rtl] body[data-theme] .checkout-form #booking-quote { border-left-width: 1px; border-right-width: 2px; border-right-color: var(--gold); }
html[dir=rtl] body[data-theme] .form-alert ul { padding-left: 0; padding-right: 20px; }
html[dir=rtl] body[data-theme] .booking-search-dialog .guest-picker-expanded { padding: 0 26px 0 0; border-left: 0; border-right: 1px solid var(--line); }
html[dir=rtl] body[data-theme] .booking-search-dialog .guest-picker-expanded > summary { padding: 0 0 0 24px; }
html[dir=rtl] body[data-theme] .booking-search-close { margin: -8px 0 0 -8px; }
html[dir=rtl] body[data-theme] .booking-search-room > strong { text-align: left; }
html[dir=rtl] body[data-theme] .checkout-steps li:first-child { padding-left: 12px; padding-right: 0; }
html[dir=rtl] body[data-theme] .event-hero-location > span { border-right: 0; border-left: 1px solid var(--event-rule); padding-right: 0; padding-left: 14px; }
html[dir=rtl] body[data-theme] .room-intro-amenities li::before { margin-right: 0; margin-left: 8px; }
html[dir=rtl] body[data-theme] .room-photo-dialog-heading { padding-right: 0; padding-left: 48px; }
html[dir=rtl] body[data-theme] #gallery.room-photo-dialog .gallery-close { right: auto; left: 16px; }
html[dir=rtl] body[data-theme] .welcome-choice-index { left: auto; right: 34px; }
html[dir=rtl] body[data-theme] .welcome-choice h2 em { margin-left: 0; margin-inline-start: 9px; }

@media (max-width:1050px) {
    body[data-theme] .site-header { column-gap: 10px; }
    body[data-theme] .site-language-picker > summary { min-width: 48px; padding-inline: 8px; }
    html[dir=rtl] body[data-theme] .nav-intro { border: 0; padding: 0 0 13px; }
    html[dir=rtl] body[data-theme] .nav-panel { left: auto; right: auto; }
}
@media (max-width:800px) {
    html[dir=rtl] body[data-theme] .booking-search-dialog .guest-picker-expanded { padding: 16px 0 0; border-right: 0; }
}
@media (max-width:760px) {
    html[dir=rtl] body[data-theme] .search-bar > label { border: 0; padding: 0; }
    html[dir=rtl] body[data-theme] .guest-picker-panel { left: auto; right: 0; }
    html[dir=rtl] body[data-theme] .welcome-choice-index { right: 24px; }
}
@media (max-width:600px) {
    body[data-theme] .site-header.booking-search-header { column-gap: 6px; }
    body[data-theme] .site-header .site-language-picker > summary { min-width: 44px; width: 44px; padding-inline: 5px; gap: 4px; }
    body[data-theme] .site-header .site-language-picker > summary svg { width: 14px; height: 14px; flex-basis: 14px; }
    body[data-theme] .site-header .site-language-picker > summary > span[aria-hidden] { display: none; }
    body[data-theme] .site-header .luxury-brand { gap: 6px; }
    body[data-theme] .site-header .luxury-brand-medallion { width: 30px; height: 30px; }
    body[data-theme] .site-header .luxury-brand-name { font-size: 14px; letter-spacing: .04em; }
    body[data-theme] .site-header .luxury-brand-sub { font-size: 6px; letter-spacing: .02em; }
    body[data-theme] .site-header .booking-search-header-mobile { min-width: 0; max-width: 98px; padding-inline: 8px; font-size: 11px; line-height: 1.3; text-align: center; }
    body[data-theme] .site-header .booking-search-header-mobile > span { display: none; }
    html[dir=rtl] body[data-theme] .room-stay-form .guest-picker-panel { left: auto; right: 0; }
    html[dir=rtl] body[data-theme] .room-stay-form #booking-quote details { margin-right: 0; }
}
@media (max-width:360px) {
    body[data-theme] .site-header .luxury-brand-copy { display: none; }
    body[data-theme] .site-header .luxury-brand-medallion { width: 34px; height: 34px; }
}
