
/* Language selector: one compact dropdown instead of a row of flags. */
.site-header .header-nav-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-left:auto;
  min-width:0;
}

.pr-language-switcher{
  position:relative;
  z-index:106;
  flex:none;
}

.pr-language-switcher--mobile{
  display:none;
}

.pr-language-dropdown{
  position:relative;
}

.pr-language-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:58px;
  height:42px;
  padding:0 9px;
  list-style:none;
  cursor:pointer;
  border:1px solid rgba(150,235,229,.34);
  border-radius:13px;
  color:#f5ffff;
  background:linear-gradient(135deg,rgba(35,75,84,.82),rgba(7,23,35,.92));
  box-shadow:inset 0 1px 0 rgba(219,255,255,.11),0 8px 22px rgba(1,10,19,.20);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}

.pr-language-current::-webkit-details-marker{display:none}
.pr-language-current::marker{display:none;content:""}

.pr-language-current:hover,
.pr-language-current:focus-visible,
.pr-language-dropdown[open]>.pr-language-current{
  border-color:rgba(151,246,237,.78);
  background:linear-gradient(135deg,rgba(46,91,99,.92),rgba(9,30,43,.97));
  box-shadow:0 0 0 1px rgba(138,233,223,.10),0 10px 26px rgba(1,10,19,.26);
}

.pr-language-current:focus-visible{
  outline:2px solid #d3fffc;
  outline-offset:3px;
}

.pr-language-flag{
  display:block;
  font-size:21px;
  line-height:1;
}

.pr-language-chevron{
  width:7px;
  height:7px;
  border-right:1.5px solid rgba(224,255,252,.92);
  border-bottom:1.5px solid rgba(224,255,252,.92);
  transform:translateY(-2px) rotate(45deg);
  transition:transform .16s ease;
}

.pr-language-dropdown[open] .pr-language-chevron{
  transform:translateY(2px) rotate(225deg);
}

.pr-language-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  display:grid;
  gap:3px;
  width:190px;
  padding:7px;
  border:1px solid rgba(150,235,229,.28);
  border-radius:14px;
  background:rgba(7,23,35,.98);
  box-shadow:0 18px 45px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}

.pr-language-choice{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:10px;
  color:rgba(245,255,255,.88);
  font-size:.88rem;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}

.pr-language-choice:hover,
.pr-language-choice:focus-visible{
  color:#fff;
  border-color:rgba(138,233,223,.30);
  background:rgba(63,120,132,.25);
  outline:none;
}

.pr-language-choice.is-active,
.pr-language-choice[aria-current="true"]{
  color:#fff;
  border-color:rgba(138,233,223,.52);
  background:rgba(63,120,132,.36);
}

.pr-language-choice-flag{
  font-size:20px;
  line-height:1;
  text-align:center;
}

.pr-language-choice-label{
  overflow:hidden;
  text-overflow:ellipsis;
}

.site-header .primary-nav .nav-book{white-space:nowrap}

@media (min-width:1141px){
  .site-header .header-inner{
    align-items:flex-start;
    gap:14px;
  }

  .site-header .brand{flex:0 0 auto}

  .site-header .header-nav-stack{
    max-width:min(100%,1040px);
  }

  .site-header .primary-nav{
    flex-wrap:nowrap;
    align-items:center;
    gap:clamp(.42rem,.65vw,.78rem);
    row-gap:0;
  }

  .site-header .primary-nav a{
    font-size:clamp(.78rem,.84vw,.9rem);
  }

  body.pr-public-site .primary-nav a.nav-book{
    flex:0 0 auto;
    margin-left:.15rem;
    min-height:42px;
    padding:7px 8px 7px 12px;
    gap:6px;
    font-size:.75rem;
    grid-template-columns:14px minmax(0,1fr) 22px;
  }

  body.pr-public-site .primary-nav a.nav-book::before{width:14px;height:14px}
  body.pr-public-site .primary-nav a.nav-book::after{width:22px;height:22px;background-size:13px}
}

@media (min-width:1141px) and (max-width:1320px){
  .site-header .primary-nav{gap:.42rem}
  .site-header .primary-nav a{font-size:.76rem}
  body.pr-public-site .primary-nav a.nav-book{font-size:.72rem;padding:6px 7px 6px 10px}
}

@media (max-width:1140px){
  .site-header .header-inner{
    justify-content:flex-start;
    align-items:center;
    gap:10px;
  }

  .site-header .brand{
    min-width:0;
    margin-right:auto;
  }

  .site-header .header-nav-stack{
    order:3;
    display:block;
    margin-left:0;
  }

  .pr-language-switcher--desktop{display:none}

  .header-mobile-controls{
    position:relative;
    z-index:107;
    order:2;
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:8px;
    margin-left:auto;
  }

  .header-mobile-controls .pr-language-switcher--mobile{
    display:block;
    margin:0;
    padding:0;
    border:0;
  }

  .header-mobile-controls .pr-language-current{
    width:56px;
    height:44px;
  }

  .header-mobile-controls .pr-language-menu{
    top:calc(100% + 9px);
    right:0;
    left:auto;
    width:210px;
    max-width:calc(100vw - 24px);
    transform-origin:top right;
    box-shadow:0 18px 45px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.05);
  }

  .header-mobile-controls .pr-language-choice{
    min-height:46px;
    padding:8px 11px;
    font-size:.96rem;
  }

  .header-mobile-controls .menu-toggle{
    display:block;
    margin:0;
  }

  .site-header .primary-nav{order:4}
}

@media (max-width:640px){
  .site-header .header-inner{
    flex-wrap:nowrap;
    gap:7px;
  }

  .site-header .brand{
    order:1;
    min-width:0;
  }

  .site-header .brand-copy{
    min-width:0;
  }

  .header-mobile-controls{
    order:2;
    gap:6px;
  }

  .header-mobile-controls .pr-language-current{
    width:52px;
    height:42px;
    padding:0 8px;
    border-radius:12px;
  }

  .header-mobile-controls .pr-language-flag{
    font-size:20px;
  }

  .header-mobile-controls .pr-language-menu{
    width:205px;
    max-width:calc(100vw - 16px);
  }
}

@media (max-width:390px){
  .site-header .header-inner{gap:5px}

  .header-mobile-controls{gap:5px}

  .header-mobile-controls .pr-language-current{
    width:48px;
    height:40px;
    padding:0 7px;
  }

  .header-mobile-controls .pr-language-flag{font-size:19px}

  .header-mobile-controls .pr-language-chevron{
    width:6px;
    height:6px;
  }

  .header-mobile-controls .menu-toggle{
    width:42px;
    height:42px;
  }
}


/* Arabic / RTL presentation. Keep numbers, email and phone inputs readable LTR. */
html[dir="rtl"] body.pr-public-site{direction:rtl;text-align:right}
html[dir="rtl"] .site-header .header-inner,
html[dir="rtl"] .site-header .header-nav-stack,
html[dir="rtl"] .site-header .primary-nav,
html[dir="rtl"] .site-footer{direction:rtl}
html[dir="rtl"] .site-header .header-nav-stack{margin-left:0;margin-right:auto;align-items:flex-end}
html[dir="rtl"] .pr-language-menu{left:auto;right:0;text-align:right}
html[dir="rtl"] .pr-language-choice{grid-template-columns:minmax(0,1fr) 30px}
html[dir="rtl"] .pr-language-choice-flag{grid-column:2}
html[dir="rtl"] .pr-language-choice-label{grid-column:1;grid-row:1}
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[type="number"],
html[dir="rtl"] input[name*="date"],
html[dir="rtl"] input[name*="price"],
html[dir="rtl"] .pr-special-summary{direction:ltr;text-align:right}
@media (max-width:1140px){
  html[dir="rtl"] .site-header .brand{margin-right:0;margin-left:auto}
  html[dir="rtl"] .header-mobile-controls{margin-left:0;margin-right:auto}
  html[dir="rtl"] .header-mobile-controls .pr-language-menu{right:auto;left:0;transform-origin:top left}
}
