/* Shared language control; extend the existing amber and terracotta theme. */
[data-language-switcher] { display: inline-flex; align-items: center; gap: .25rem; flex-shrink: 0; padding-inline: .55rem; min-height: 44px; border: 1px solid #e7d6b4; border-radius: .65rem; color: #92400e; background: #fffaf3; }
[data-language-switcher][hidden] { display: none; }
[data-language-switcher] select { background: transparent; color: inherit; border: 0; font: 500 13px/1.5 'Plus Jakarta Sans', Tahoma, sans-serif; max-width: 7rem; min-height: 42px; cursor: pointer; padding: .25rem; }
[data-language-switcher]:focus-within { outline: 2px solid #c26d4c; outline-offset: 3px; }
.language-globe { font-size: 1.4rem; line-height: 1; }
.language-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.language-standalone { position: absolute; top: 1rem; inset-inline-end: 1rem; z-index: 50; }
/* Longer translated navigation uses the existing mobile menu on tablets. */
@media (min-width: 768px) and (max-width: 1199px) {
  header > div:first-child > nav { display: none !important; }
  header #menu-toggle { display: flex !important; }
  header #mobile-menu:not(.hidden) { display: block !important; }
}
@media (max-width: 479px) {
  header > div:first-child { padding-inline: .75rem; gap: .5rem; }
  header .header-logo { max-width: 115px; height: auto; }
  header > div:first-child > div:last-child { gap: .4rem; }
  [data-language-switcher] { padding-inline: .25rem; }
  .language-globe { display: none; }
}
html[lang="ar"] body, html[lang="ar"] .font-serif, html[lang="ar"] .font-sans { font-family: Tahoma, Arial, sans-serif; }
html[lang="ar"] { letter-spacing: normal; }
html[lang="ar"] [class*="tracking-"] { letter-spacing: normal; }
html[dir="rtl"] .text-left { text-align: right; }
html[dir="rtl"] .text-right { text-align: left; }
html[dir="rtl"] .space-x-8 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 1; }
html[dir="rtl"] .pl-3 { padding-left: 0; padding-right: .75rem; }
html[dir="rtl"] .pl-8 { padding-left: 0; padding-right: 2rem; }
html[dir="rtl"] .ml-4 { margin-left: 0; margin-right: 1rem; }
html[dir="rtl"] .border-l-2 { border-left-width: 0; border-right-width: 2px; }
html[dir="rtl"] input[type="email"] { direction: ltr; text-align: left; }
/* Gallery arrows remain spatial: left goes back, right goes forward. */
#gallery-modal { direction: ltr; }
html[dir="rtl"] #gallery-caption, html[dir="rtl"] #gallery-counter { direction: rtl; }
html[dir="rtl"] a[href^="https://wa.me/"].fixed { right: auto; left: 1.5rem; }
@media (min-width: 768px) {
  html[dir="rtl"] .md\:ml-32 { margin-left: 0; margin-right: 8rem; }
  html[dir="rtl"] .md\:pl-12 { padding-left: 0; padding-right: 3rem; }
  html[dir="rtl"] .md\:pr-10 { padding-right: 0; padding-left: 2.5rem; }
  html[dir="rtl"] .md\:right-full { right: auto; left: 100%; }
  html[dir="rtl"] .md\:text-right { text-align: left; }
}

html[dir="rtl"] .arch-marker { left: auto; right: -11px; }

/* Keep translated labels within narrow cards and forms. */
.residence-filters { flex-wrap: wrap; max-width: 100%; }
form input, form select, form textarea { min-width: 0; max-width: 100%; }
@media (max-width: 479px) {
  .residence-filters button { padding-inline: .65rem; flex: 1 1 30%; }
}
@media (min-width: 1200px) {
  header > div:first-child > nav { font-size: .75rem; }
  header > div:first-child > nav.space-x-8 > :not([hidden]) ~ :not([hidden]) { margin-inline-start: 1.25rem; margin-inline-end: 0; }
}
