/* DoraTaşın VIP Nakliyat - Modern Luxury Design System & Typography Engine */
@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@300;400;700;800&family=Inter:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --primary-navy: #0A192F;
  --primary-blue: #1E40AF;
  --accent-blue: #2563EB;
  --accent-gold: #F59E0B;
  --accent-orange: #EA580C;
  --bg-light: #F8FAFC;
  --text-dark: #0F172A;
  --text-muted: #64748B;
}

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

/* Top Announcement Bar - Strictly 11px font size across all devices */
#topAnnouncementBar,
#topAnnouncementBar * {
  font-size: 11px !important;
  line-height: 1.35 !important;
}

html {
  overflow-x: clip;
  max-width: 100%;
}

body {
  overflow-x: clip;
  max-width: 100%;
  width: 100%;
}

html {
  scroll-behavior: smooth;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text-dark);
  background-color: #FFFFFF;
  margin: 0;
  padding: 0;
}

/* Distinctive, High-End Typography per Language Family */
/* Turkish and English use Plus Jakarta Sans (premier luxury modern sans-serif) */
html[lang="tr"],
html[lang="tr"] body,
html[lang="tr"] button,
html[lang="tr"] input,
html[lang="tr"] select,
html[lang="tr"] textarea,
html[lang="en"],
html[lang="en"] body,
html[lang="en"] button,
html[lang="en"] input,
html[lang="en"] select,
html[lang="en"] textarea,
.font-latin {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Russian uses Inter (premier modern geometric Cyrillic typeface) */
html[lang="ru"],
html[lang="ru"] body,
html[lang="ru"] button,
html[lang="ru"] input,
html[lang="ru"] select,
html[lang="ru"] textarea,
.font-russian {
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Arabic uses authentic Almarai (authoritative, balanced luxury editorial typography) */
html[lang="ar"],
html[lang="ar"] body,
html[lang="ar"] button,
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea,
.font-arabic {
  font-family: 'Almarai', system-ui, -apple-system, sans-serif !important;
  letter-spacing: 0 !important;
}

/* Persian and Native Afghan Dari use authentic Almarai (crisp, elegant, native luxury typography) */
html[lang="fa"],
html[lang="fa"] body,
html[lang="fa"] button,
html[lang="fa"] input,
html[lang="fa"] select,
html[lang="fa"] textarea,
html[lang="fa-AF"],
html[lang="fa-AF"] body,
html[lang="fa-AF"] button,
html[lang="fa-AF"] input,
html[lang="fa-AF"] select,
html[lang="fa-AF"] textarea,
.font-persian {
  font-family: 'Almarai', system-ui, -apple-system, sans-serif !important;
  letter-spacing: 0 !important;
}

/* Fallback for any RTL containers */
[dir="rtl"],
[dir="rtl"] body,
[dir="rtl"] input,
[dir="rtl"] select,
[dir="rtl"] textarea,
[dir="rtl"] button {
  font-family: 'Almarai', system-ui, -apple-system, sans-serif !important;
}

/* RTL Layout & Typography Harmonization (Arabic, Farsi, Dari) */
[dir="rtl"] {
  text-align: right;
  direction: rtl;
}

/* Never compress cursive Arabic/Persian scripts with negative letter-spacing! */
[dir="rtl"],
[dir="rtl"] * {
  letter-spacing: 0 !important;
}

[dir="rtl"] h1 {
  font-size: clamp(1.75rem, 3.4vw, 2.75rem) !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

[dir="rtl"] h2 {
  font-size: clamp(1.35rem, 2.5vw, 2.05rem) !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

[dir="rtl"] h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem) !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}

[dir="rtl"] p,
[dir="rtl"] li,
[dir="rtl"] span,
[dir="rtl"] label {
  line-height: 1.7 !important;
}

/* Space utilities for RTL */
[dir="rtl"] .space-x-1 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-1\.5 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-2 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-2\.5 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-3 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-4 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-6 > :not([hidden]) ~ :not([hidden]),
[dir="rtl"] .space-x-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 1;
}

[dir="rtl"] .mr-1,
[dir="rtl"] .mr-1\.5,
[dir="rtl"] .mr-2 {
  margin-right: 0 !important;
  margin-left: 0.375rem !important;
}

[dir="rtl"] .ml-1,
[dir="rtl"] .ml-2 {
  margin-left: 0 !important;
  margin-right: 0.375rem !important;
}

[dir="rtl"] .text-left {
  text-align: right !important;
}

[dir="rtl"] .text-right {
  text-align: left !important;
}

/* Ensure numbers and badges stay strictly formatted without punctuation flips */
.dir-ltr,
#calcBridgeBadge,
#calcMinPrice,
#calcMaxPrice {
  direction: ltr;
  unicode-bidi: isolate;
}

/* In RTL languages (Arabic, Farsi, Dari), all form inputs, phone inputs and placeholders must align to the RIGHT */
html[dir="rtl"] input,
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="text"],
html[dir="rtl"] input[type="email"],
html[dir="rtl"] textarea,
html[dir="rtl"] select,
[dir="rtl"] input,
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="text"],
[dir="rtl"] input[type="email"],
[dir="rtl"] textarea,
[dir="rtl"] select {
  text-align: right !important;
  direction: rtl !important;
}

html[dir="rtl"] input::placeholder,
html[dir="rtl"] textarea::placeholder,
[dir="rtl"] input::placeholder,
[dir="rtl"] textarea::placeholder {
  text-align: right !important;
  direction: rtl !important;
}

/* In RTL languages, phone links and contact numbers in the body align to the RIGHT to match language direction */
html[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] .contact-phone-link,
[dir="rtl"] .contact-phone-link {
  text-align: right !important;
}

/* Luxury Dropdown Switcher */
#langDropdownBtn {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
#langDropdownBtn:hover {
  border-color: rgba(37, 99, 235, 0.6);
  box-shadow: 0 0 15px rgba(37, 99, 235, 0.2);
}
#langDropdownMenu {
  transform-origin: top right;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.btn-lang-item {
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-lang-item.active {
  background-color: rgba(37, 99, 235, 0.2) !important;
  color: #FFFFFF !important;
}
.btn-lang-item.active .lang-check {
  display: inline-block !important;
}
.btn-lang-item:hover {
  background-color: rgba(255, 255, 255, 0.08);
}

/* Mobile Language Switcher Segmented Control */
.btn-lang {
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  font-weight: 700;
  cursor: pointer;
}
.btn-lang.active,
.btn-lang-active {
  background-color: #2563EB !important;
  color: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}
.btn-lang:not(.active):hover {
  color: #FFFFFF !important;
  background-color: rgba(255, 255, 255, 0.12);
}

/* Glassmorphism navigation */
.glass-nav {
  background: rgba(10, 25, 47, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.glass-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(226, 232, 240, 0.85);
}

.glass-card-dark {
  background: rgba(15, 23, 42, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Premium Gradients */
.gradient-primary {
  background: linear-gradient(135deg, #0A192F 0%, #1E3A8A 55%, #1E40AF 100%);
}

.text-gradient-gold {
  background: linear-gradient(135deg, #F59E0B 0%, #FBBF24 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Interactive Calculator Options */
.calc-card-option {
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.calc-card-option:hover {
  transform: translateY(-2px);
  border-color: #2563EB;
}

.calc-card-option.active {
  background-color: #EFF6FF;
  border-color: #2563EB;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12);
}

/* Service Card Hover Effect */
.service-card {
  transition: all 0.25s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 30px -10px rgba(15, 23, 42, 0.08);
}

/* Custom Range Slider */
input[type="range"] {
  accent-color: #2563EB;
}

/* District Badge */
.district-pill {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: #FFFFFF;
}

.district-pill:hover {
  border-color: #2563EB !important;
  background-color: #F8FAFC !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.12) !important;
}

.district-pill:hover .district-initial {
  background-color: #2563EB !important;
  color: #FFFFFF !important;
}

/* Luxury FAQ Accordion */
.faq-details {
  border: 1px solid #E2E8F0;
  border-radius: 1.25rem;
  background: #FFFFFF;
  transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-details:hover {
  border-color: #93C5FD;
  box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.08);
}
.faq-details[open] {
  border-color: #2563EB !important;
  background: linear-gradient(135deg, rgba(239, 246, 255, 0.6) 0%, #FFFFFF 100%) !important;
  box-shadow: 0 14px 30px -6px rgba(37, 99, 235, 0.12) !important;
}
.faq-details summary {
  outline: none;
  cursor: pointer;
  user-select: none;
}
.faq-details summary::-webkit-details-marker {
  display: none;
}
.faq-content {
  animation: faqFadeSlide 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes faqFadeSlide {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Sticky Social Sharing Strip: strictly RIGHT for LTR, LEFT for RTL */
#stickySocialShare {
  box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.5), 0 0 15px rgba(37, 99, 235, 0.15);
  right: 0.35rem !important;
  left: auto !important;
  position: fixed !important;
  z-index: 45 !important;
  display: flex !important;
}
@media (max-width: 640px) {
  #stickySocialShare {
    right: 0.25rem !important;
    left: auto !important;
    padding: 0.25rem !important;
    transform: translateY(-50%) scale(0.9) !important;
    transform-origin: right center !important;
  }
}
@media (min-width: 641px) {
  #stickySocialShare {
    right: 1rem !important;
    left: auto !important;
  }
}
/* In RTL languages (Arabic, Farsi, Dari), sticky share is on the LEFT so it never obstructs right-aligned forms */
html[dir="rtl"] #stickySocialShare,
[dir="rtl"] #stickySocialShare {
  left: 0.35rem !important;
  right: auto !important;
  display: flex !important;
}
@media (max-width: 640px) {
  html[dir="rtl"] #stickySocialShare,
  [dir="rtl"] #stickySocialShare {
    left: 0.25rem !important;
    right: auto !important;
    padding: 0.25rem !important;
    transform: translateY(-50%) scale(0.9) !important;
    transform-origin: left center !important;
  }
}
@media (min-width: 641px) {
  html[dir="rtl"] #stickySocialShare,
  [dir="rtl"] #stickySocialShare {
    left: 1rem !important;
    right: auto !important;
  }
}

/* Smart Auto-Hiding Luxury Header (Desktop & Mobile) */
#mainHeader {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, box-shadow 0.25s ease;
  will-change: transform;
}
#mainHeader.header-hidden {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  transform: translateY(-100%) !important;
  z-index: 50 !important;
}
#mainHeader.header-visible {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  transform: translateY(0) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.75);
  z-index: 50 !important;
}

/* Contact Info Row: Luxury Spacing between Icons & Text in LTR & RTL */
.contact-info-row {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important; /* 24px clean luxury breathing room */
}
.contact-info-row > div:last-child {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
[dir="rtl"] .contact-info-row {
  flex-direction: row !important;
  text-align: right !important;
  gap: 1.5rem !important;
}
[dir="rtl"] .contact-info-row > div:last-child {
  text-align: right !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
[dir="rtl"] .contact-info-row h4,
[dir="rtl"] .contact-info-row a,
[dir="rtl"] .contact-info-row p {
  text-align: right !important;
}

/* Luxury Calendar Popover */
#luxuryCalendarPopup {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7), 0 0 25px rgba(37, 99, 235, 0.25);
}
@keyframes calFadeIn {
  from { opacity: 0; transform: scale(0.96) translateY(-4px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
.animate-calFadeIn {
  animation: calFadeIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Mobile Sticky Bottom Bar padding utility & refinements */
@media (max-width: 768px) {
  body {
    padding-bottom: 76px;
  }
}

@media (max-width: 640px) {
  .district-pill {
    padding: 0.75rem 0.875rem !important;
  }
  .district-pill h4 {
    font-size: 0.8125rem !important;
  }
}

/* Responsive Comparison Table: Zero horizontal scroll on mobile */
@media (max-width: 640px) {
  #neden-biz .overflow-x-auto {
    overflow-x: visible !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
  }
  #neden-biz table {
    display: block;
    width: 100% !important;
  }
  #neden-biz thead {
    display: none;
  }
  #neden-biz tbody {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    width: 100%;
  }
  #neden-biz tr {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 1.25rem;
    padding: 1rem;
    box-shadow: 0 4px 15px -2px rgba(0, 0, 0, 0.06);
    width: 100%;
    box-sizing: border-box;
  }
  #neden-biz td {
    display: block;
    padding: 0.5rem 0.25rem !important;
    border: none !important;
    width: 100% !important;
  }
  #neden-biz td:first-child {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #0F172A;
    border-bottom: 1px solid #F1F5F9 !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 0.375rem;
  }
  #neden-biz td:nth-child(2) {
    background: rgba(239, 246, 255, 0.8) !important;
    border-radius: 0.75rem;
    padding: 0.625rem 0.75rem !important;
    margin-bottom: 0.375rem;
    border: 1px solid #BFDBFE !important;
  }
  #neden-biz td:nth-child(3) {
    background: rgba(254, 242, 242, 0.8) !important;
    border-radius: 0.75rem;
    padding: 0.625rem 0.75rem !important;
    border: 1px solid #FECACA !important;
  }
}

/* Luxury Accordion-Style Custom Dropdown System */
.luxury-dropdown-wrapper {
  position: relative;
  width: 100%;
}

.luxury-dropdown-wrapper.open {
  z-index: 60 !important;
}

.luxury-dropdown-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  border: 1px solid #E2E8F0;
  background-color: #FFFFFF;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  text-align: left;
}

[dir="rtl"] .luxury-dropdown-trigger {
  text-align: right;
  flex-direction: row-reverse;
}

.luxury-dropdown-trigger:hover {
  border-color: #93C5FD;
  box-shadow: 0 4px 15px -2px rgba(37, 99, 235, 0.08);
}

.luxury-dropdown-wrapper.open .luxury-dropdown-trigger {
  border-color: #2563EB !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15), 0 8px 25px -4px rgba(37, 99, 235, 0.12) !important;
}

/* Dark Theme Dropdown Trigger (for Hero and Contact cards) */
.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-trigger {
  background-color: #0F172A;
  border-color: #334155;
  color: #F8FAFC;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-trigger:hover {
  border-color: #3B82F6;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.5);
}

.luxury-dropdown-wrapper.dark-theme.open .luxury-dropdown-trigger {
  border-color: #3B82F6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25), 0 8px 30px -4px rgba(0, 0, 0, 0.6) !important;
}

/* Circular Accordion Arrow Button */
.luxury-dropdown-circle {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: #2563EB;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.3);
}

.luxury-dropdown-wrapper.open .luxury-dropdown-circle {
  transform: rotate(180deg);
  background-color: #1D4ED8;
}

/* Luxury Floating Menu Popover */
.luxury-dropdown-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.5rem);
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid #BFDBFE;
  border-radius: 1.25rem;
  box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.15), 0 0 20px rgba(37, 99, 235, 0.08);
  padding: 0.5rem;
  z-index: 100 !important;
  animation: dropFadeSlide 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-menu {
  background: rgba(15, 23, 42, 0.98);
  border-color: #334155;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 25px rgba(37, 99, 235, 0.15);
  z-index: 100 !important;
}

@keyframes dropFadeSlide {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.luxury-dropdown-items {
  max-height: 22rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #93C5FD transparent;
}

.luxury-dropdown-items::-webkit-scrollbar {
  width: 6px;
}
.luxury-dropdown-items::-webkit-scrollbar-thumb {
  background: #93C5FD;
  border-radius: 9999px;
}

.luxury-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem 0.875rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #1E293B;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
}

[dir="rtl"] .luxury-dropdown-item {
  flex-direction: row-reverse;
  text-align: right;
}

.luxury-dropdown-item:hover {
  background-color: #EFF6FF;
  color: #1D4ED8;
}

.luxury-dropdown-item.active {
  background-color: #DBEAFE !important;
  color: #1D4ED8 !important;
  font-weight: 700 !important;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-item {
  color: #E2E8F0;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-item:hover {
  background-color: #1E293B;
  color: #60A5FA;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-item.active {
  background-color: rgba(37, 99, 235, 0.25) !important;
  color: #93C5FD !important;
}

/* Luxury Filter Search Input inside Menu */
.luxury-dropdown-search-box {
  padding: 0.375rem 0.5rem 0.625rem 0.5rem;
  margin-bottom: 0.375rem;
  border-bottom: 1px solid #F1F5F9;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-search-box {
  border-color: #1E293B;
}

.luxury-dropdown-search-input {
  width: 100%;
  font-size: 0.8125rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.75rem;
  background-color: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #0F172A;
  outline: none;
  transition: all 0.15s ease;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-search-input {
  background-color: #1E293B;
  border-color: #334155;
  color: #F8FAFC;
}

.luxury-dropdown-search-input:focus {
  border-color: #2563EB;
  background-color: #FFFFFF;
}

.luxury-dropdown-wrapper.dark-theme .luxury-dropdown-search-input:focus {
  border-color: #3B82F6;
  background-color: #0F172A;
}

/* Review Author Card & Luxury Flag Styling (Bi-directional LTR/RTL) */
.review-author-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.875rem !important;
}
.review-author-row > div:last-child {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
[dir="rtl"] .review-author-row {
  flex-direction: row !important;
  text-align: right !important;
}
[dir="rtl"] .review-author-row > div:last-child {
  text-align: right !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
[dir="rtl"] .review-author-row h4 {
  justify-content: flex-start !important;
  text-align: right !important;
}

.luxury-flag-badge {
  font-size: 1.25rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
  vertical-align: middle;
}

/* ==========================================================================
   Luxury Typography: High-Contrast Bold Numerals System
   Ensures all numbers across all languages, prices, badges, statistics and
   ratings have authoritative weight (never thin or fragile).
   ========================================================================== */
.stat-number,
.calc-price-num,
.trust-stat-val,
.num-bold,
#calcMinPrice,
#calcMaxPrice,
[data-i18n*="_num"],
[data-i18n*="_score"],
[data-i18n="hero_rating_score"],
.room-card-btn > span:first-of-type {
  font-weight: 800 !important;
  font-feature-settings: "tnum" 1;
}

/* Ensure numerals in RTL have bold prominence and proper isolation */
[dir="rtl"] strong,
[dir="rtl"] b,
[dir="rtl"] .font-bold,
[dir="rtl"] .font-extrabold {
  font-weight: 800 !important;
}

[dir="rtl"] .num-bold {
  font-weight: 800 !important;
  display: inline-block;
  unicode-bidi: isolate;
}

/* Calendar Days Bold Numbers */
#calDaysGrid button {
  font-weight: 700 !important;
  font-feature-settings: "tnum" 1;
}

/* Price Range Displays */
#calcMinPrice,
#calcMaxPrice {
  letter-spacing: -0.01em;
  display: inline-block;
}


