/* Compact footer language control (never in the header). No country indicator. */

.veze-locale {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  z-index: 30;
  margin-inline-start: auto;
}

.veze-locale-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.2rem 0.15rem;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 11px;
  font-weight: 550;
  letter-spacing: 0.04em;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
  min-height: 2rem;
}

.veze-locale-toggle:hover {
  color: var(--gold, #967c5e);
}

.veze-locale-toggle:focus-visible {
  outline: 2px solid var(--gold, #967c5e);
  outline-offset: 3px;
}

.veze-locale-globe {
  flex: 0 0 auto;
  opacity: 0.85;
}

.veze-locale-code {
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.veze-locale-caret {
  font-size: 0.7em;
  opacity: 0.65;
  margin-inline-start: 0.05rem;
}

.veze-locale-toggle[aria-expanded="true"] .veze-locale-caret {
  transform: rotate(180deg);
}

.veze-locale-menu {
  position: absolute;
  inset-block-end: calc(100% + 0.35rem);
  inset-inline-end: 0;
  margin: 0;
  padding: 0.3rem;
  list-style: none;
  min-inline-size: 4.5rem;
  max-inline-size: min(12rem, 80vw);
  max-block-size: min(50vh, 16rem);
  overflow: auto;
  border-radius: 0.4rem;
  border: 1px solid #e4e0d8;
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 10px 24px #00000014;
  z-index: 80;
}

.veze-locale-menu[hidden] {
  display: none !important;
}

.veze-locale-menu [role="option"] {
  display: block;
  width: 100%;
  padding: 0.45rem 0.65rem;
  border-radius: 0.3rem;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-align: center;
  color: #2a2a2a;
}

.veze-locale-menu [role="option"]:hover,
.veze-locale-menu [role="option"]:focus-visible {
  background: #f3f1ec;
  outline: none;
}

.veze-locale-menu [role="option"][aria-selected="true"] {
  background: #eceae4;
}

#veze-lux-footer .vf-legal {
  position: relative;
  overflow: visible;
  align-items: center;
  z-index: 5;
}

#veze-lux-footer .veze-locale,
.veze-site-footer .veze-locale {
  color: var(--muted, #737c75);
}

html.veze-rtl .veze-locale-menu {
  inset-inline-end: auto;
  inset-inline-start: 0;
}

@media (max-width: 700px) {
  #veze-lux-footer .vf-legal .veze-locale {
    margin-inline-start: 0;
    align-self: flex-start;
  }

  .veze-locale-toggle {
    min-height: 2.25rem;
    font-size: 12px;
  }

  .veze-locale-menu {
    inset-inline-end: auto;
    inset-inline-start: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .veze-locale-caret {
    transition: none;
  }
}

/* ——— Locale typography + layout fit (load after CMS/storefront) ——— */

html[data-veze-locale="ar"] {
  --veze-locale-body: Tahoma, "Segoe UI", "Noto Naskh Arabic", "Arial", sans-serif;
  --veze-locale-display: Tahoma, "Segoe UI", "Traditional Arabic", "Times New Roman", serif;
  --veze-locale-tracking: 0;
  --veze-locale-leading: 1.55;
}

html[data-veze-locale="fr"],
html[data-veze-locale="de"],
html[data-veze-locale="es"] {
  --veze-locale-body: var(--vcms-body-font, var(--vz-font, system-ui, sans-serif));
  --veze-locale-display: var(--vcms-heading-font, var(--vz-heading-font, Georgia, serif));
  --veze-locale-tracking: normal;
  --veze-locale-leading: 1.45;
}

html[data-veze-locale="en"] {
  --veze-locale-body: var(--vcms-body-font, var(--vz-font, system-ui, sans-serif));
  --veze-locale-display: var(--vcms-heading-font, var(--vz-heading-font, Georgia, serif));
  --veze-locale-tracking: normal;
  --veze-locale-leading: 1.4;
}

html.veze-rtl :is(
  body,
  #vzh-lux,
  #veze-lux-footer,
  .veze-cms-part,
  .veze-ui,
  section.veze,
  .veze-contact-page,
  .vz-trusted
) {
  font-family: var(--veze-locale-body);
  line-height: var(--veze-locale-leading, 1.55);
  letter-spacing: var(--veze-locale-tracking, 0);
}

html.veze-rtl :is(
  #vzh-lux .lux-logo,
  #vzh-lux .lux-nav,
  #vzh-lux .vcms-brand-text,
  #veze-luxury-hero :is(h1, h2, h1 em, h2 em),
  #veze-about-atelier h2,
  #veze-na-watch h2,
  .vcat-head h2,
  .vcat-kicker,
  .vz-trusted h2,
  .veze-contact-hero h1,
  .veze-contact-main h2,
  .veze-contact-main h3,
  .vor-headline,
  .vor-review-heading,
  #vzbs-lux-26 .vzbs-title
) {
  font-family: var(--veze-locale-display);
  letter-spacing: 0;
  line-height: 1.35;
}

/* Keep translated titles inside their frames */
html[data-veze-locale]:not([data-veze-locale="en"]) :is(
  [data-vcms-text],
  .vcat-kicker,
  .vcat-head h2,
  .vcat-intro,
  .vlh-content :is(h1, h2, p, .vlh-eyebrow),
  .vz-trusted-intro :is(h2, p),
  .veze-contact-hero :is(h1, p),
  .veze-contact-card :is(h2, p),
  .veze-contact-main :is(h2, h3, p),
  .veze-contact-map :is(h2, p),
  .veze-heading,
  .lux-promo,
  .lux-nav > a > span,
  .lux-nav > button > span
) {
  overflow-wrap: anywhere;
  word-break: normal;
  max-inline-size: 100%;
  text-wrap: pretty;
}

html[data-veze-locale]:not([data-veze-locale="en"]) :is(
  .vcat-head,
  .vlh-content,
  .vz-trusted-intro,
  .veze-contact-wrap,
  .vor-copy
) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

html.veze-rtl :is(.vcat-kicker, .lux-promo, .vlh-eyebrow, .vnew-kicker) {
  letter-spacing: 0.04em;
  text-transform: none;
}

html.veze-rtl :is(.vlh-content :is(h1, h2), .vcat-head h2, #veze-about-atelier h2) {
  font-size: clamp(1.75rem, 4.2vw, 3.75rem);
}

/* Directional chrome: flip chevrons / arrows in RTL */
html.veze-rtl :is(
  .vlh-button > span[aria-hidden],
  .vcat-all > span[aria-hidden],
  .vcat-arrow svg,
  .vza-button svg,
  .vnew-prev svg,
  .vnew-next svg,
  .vsvc-prev svg,
  .vsvc-next svg,
  .vzbs-prev,
  .vzbs-next,
  .vor-prev svg,
  .vor-next svg,
  .lux-menu a > span:last-child,
  [data-vcms-icon] svg
) {
  transform: scaleX(-1);
}

html.veze-rtl .vlh-button:hover > span[aria-hidden] {
  transform: scaleX(-1) translate(3px, -3px);
}

html.veze-rtl .vza-button:hover svg {
  transform: scaleX(-1) translateX(5px);
}

/* Hero / panels: physical left-right → logical for RTL */
html.veze-rtl #veze-luxury-hero .vlh-content {
  margin-left: 0;
  margin-right: 0;
  margin-inline-start: clamp(25px, 7vw, 130px);
  margin-inline-end: auto;
  width: min(690px, 66%);
  max-width: calc(100% - clamp(40px, 8vw, 160px));
}

html.veze-rtl #veze-luxury-hero .vlh-side-note {
  right: auto;
  left: 28px;
  writing-mode: vertical-lr;
}

html.veze-rtl #vzh-lux .lux-panel {
  right: auto;
  left: 0;
  box-shadow: 15px 0 50px #0002;
}

html.veze-rtl #vzbs-lux-26 .vzbs-prev {
  left: auto;
  right: 0;
  transform: translate(35%, -50%) scaleX(-1);
}

html.veze-rtl #vzbs-lux-26 .vzbs-next {
  right: auto;
  left: 0;
  transform: translate(-35%, -50%) scaleX(-1);
}

html.veze-rtl #veze-services .vsvc-prev {
  inset-inline-start: auto;
  inset-inline-end: 0;
  transform: translate(35%, -50%) scaleX(-1);
}

html.veze-rtl #veze-services .vsvc-next {
  inset-inline-end: auto;
  inset-inline-start: 0;
  transform: translate(-35%, -50%) scaleX(-1);
}

html.veze-rtl .vcat-carousel,
html.veze-rtl .vcat-track {
  direction: rtl;
}

html.veze-rtl .vz-trusted-logos {
  direction: rtl;
}

/* French / German / Spanish: slightly tighter display tracking, wrap safely */
html[data-veze-locale="fr"] :is(.vlh-content :is(h1, h2), .vcat-head h2),
html[data-veze-locale="de"] :is(.vlh-content :is(h1, h2), .vcat-head h2),
html[data-veze-locale="es"] :is(.vlh-content :is(h1, h2), .vcat-head h2) {
  letter-spacing: -0.02em;
  line-height: 1.15;
}

@media (max-width: 767px) {
  html.veze-rtl #veze-luxury-hero .vlh-content {
    width: min(100%, calc(100% - 32px));
    margin-inline: 16px;
    max-width: 100%;
  }

  html.veze-rtl :is(.vlh-content :is(h1, h2), .vcat-head h2) {
    font-size: clamp(1.6rem, 8vw, 2.4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.veze-rtl .vlh-button:hover > span[aria-hidden],
  html.veze-rtl .vza-button:hover svg {
    transform: scaleX(-1);
  }
}
