@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/cormorant-garamond-400.ttf") format("truetype"); }
@font-face { font-family: Jost; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/jost-400.ttf") format("truetype"); }

body .sv-language-dialog {
  --picker-gold: #e6be70;
  --picker-text: #f2eadb;
  box-sizing: border-box;
  width: min(560px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 36px;
  overflow: auto;
  color: var(--picker-text);
  background: #19130f;
  border: 1px solid #776443;
  border-radius: 28px;
  box-shadow: 0 32px 100px #0009;
  text-align: center;
  font: 16px/1.5 Jost, Arial, sans-serif;
  color-scheme: dark;
}
.sv-language-dialog::backdrop { background: #0f0b09b8; backdrop-filter: blur(10px); }
.sv-language-dialog *, .sv-language-dialog *::before, .sv-language-dialog *::after { box-sizing: border-box; }
body .sv-language-dialog button { color: inherit; font: inherit; cursor: pointer; }
body .sv-language-dialog button:disabled { cursor: default; opacity: .4; }
body .sv-language-dialog :focus-visible { outline: 2px solid var(--picker-gold); outline-offset: 4px; }
body .sv-language-dialog .sv-language-close { display: block; margin-inline-start: auto; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; font-size: 28px; }
body .sv-language-dialog .sv-language-eyebrow { margin: 0 0 12px; color: var(--picker-gold); font-size: 11px; letter-spacing: .3em; }
body .sv-language-dialog .sv-language-title { margin: 0; font: 400 clamp(32px, 6vw, 44px)/1.1 "Cormorant Garamond", Georgia, serif; letter-spacing: normal; }
body .sv-language-dialog .sv-language-subtitle { margin: 12px 0 0; color: #c0b29e; }
.sv-language-arc { position: relative; height: 344px; width: 100%; max-width: 360px; margin: 12px auto; overflow: hidden; touch-action: none; user-select: none; direction: ltr; cursor: grab; }
body .sv-language-dialog .sv-language-option { position: absolute; top: 50%; left: 42%; min-height: 44px; max-width: calc(100% - 60px); border: 0; border-radius: 8px; padding: 2px 18px; white-space: nowrap; background: transparent; font-size: 24px; font-weight: 400; transition: transform .26s cubic-bezier(.2,.8,.2,1), opacity .2s, color .2s; }
body .sv-language-dialog .sv-language-option[aria-checked="true"] { color: var(--picker-gold); }
.sv-language-option[aria-checked="true"]::before,
.sv-language-option[aria-checked="true"]::after { position: absolute; top: 50%; transform: translateY(-50%); color: var(--picker-gold); }
.sv-language-option[aria-checked="true"]::before { content: "["; left: 0; }
.sv-language-option[aria-checked="true"]::after { content: "]"; right: 0; }
body .sv-language-dialog .sv-language-hint { margin: 0 auto 20px; max-width: 340px; color: #c0b29e; font-size: 13px; }
.sv-language-actions { display: flex; align-items: center; justify-content: center; gap: 16px; }
body .sv-language-dialog .sv-language-step { width: 44px; height: 44px; padding: 0; flex-shrink: 0; border: 1px solid #776443; border-radius: 50%; background: transparent; }
body .sv-language-dialog .sv-language-confirm { min-height: 48px; padding: 12px 40px; background: var(--picker-gold); color: #19130f; border: 1px solid var(--picker-gold); border-radius: 999px; }
body .sv-language-dialog .sv-language-status { margin: 16px 0 0; color: var(--picker-gold); font-size: 13px; }
body .sv-language-dialog .sv-language-status:empty { display: none; }
body button.sv-change-language { min-height: 44px; padding: 8px 12px; border: 0; background: transparent; color: inherit; font: 14px/1.5 Jost, Arial, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
body button.sv-change-language:focus-visible { outline: 2px solid #e6be70; outline-offset: 4px; }
@media (max-width: 420px) {
  body .sv-language-dialog { padding: 20px; border-radius: 20px; }
  body .sv-language-dialog .sv-language-option { font-size: 21px; }
  .sv-language-actions { gap: 10px; }
  body .sv-language-dialog .sv-language-confirm { padding-inline: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body .sv-language-dialog .sv-language-option { transition: none; }
}
