:root { --language-font: Inter; }
html:not(:lang(en)) body { font-family:var(--language-font),Inter,Arial,sans-serif; }
html:not(:lang(en)) h1,html:not(:lang(en)) h2,html:not(:lang(en)) h3 { font-family:'Playfair Display',var(--language-font),serif; }
html:not(:lang(en)) #poster h2,html:not(:lang(en)) #poster p { font-family:'Playfair Display',var(--poster-fonts,var(--language-font)),serif; }
#poster h2,#poster p { font-family:'Playfair Display',var(--poster-fonts,Inter),serif; }
.map-caption { font-family:var(--poster-fonts,var(--language-font)),Inter,sans-serif; }
#poster-title,#poster-message,.map-caption { unicode-bidi:plaintext; }
html:not(:lang(en)) h1,html:not(:lang(en)) h2,html:not(:lang(en)) h3,html:not(:lang(en)) button { overflow-wrap:anywhere; }
html:not(:lang(en)) main,html:not(:lang(en)) article,html:not(:lang(en)) section,html:not(:lang(en)) p,html:not(:lang(en)) a,html:not(:lang(en)) li { min-width:0; overflow-wrap:anywhere; }
.language-picker { display:flex; align-items:center; gap:7px; border:1px solid #bca57b66; border-radius:9px; padding:5px 9px; background:#fffaf1; color:#3f3428; box-shadow:0 2px 10px #3124150a; }
.language-picker select { max-width:148px; min-height:30px; background:transparent; color:inherit; border:0; font:500 12px var(--language-font),Arial,sans-serif; cursor:pointer; }
.language-picker select:focus-visible { outline:2px solid #9c773e; outline-offset:3px; }
.language-picker-floating { position:fixed; inset:auto auto 18px 18px; z-index:120; }
.language-picker select:disabled { opacity:.65; }
html[dir=rtl] .occasion-card,html[dir=rtl] .style-card,html[dir=rtl] .sidebar { text-align:right; }
html[dir=rtl] input[type=email],html[dir=rtl] input[type=url],html[dir=rtl] input[type=datetime-local],html[dir=rtl] .order-id-text { direction:ltr; }
html[dir=rtl] #poster,html[dir=rtl] #room-art { direction:ltr; }
html[dir=rtl] .hero-copy,html[dir=rtl] .gift-letter { text-align:right; }
html[dir=rtl] .hero-actions { justify-content:flex-start; }
html[dir=rtl] .language-picker-floating { inset-inline:auto 18px; }
html[dir=rtl] .language-label { direction:ltr; }
@media(max-width:900px) {
    .language-picker-floating { bottom:12px; left:12px; }
    .language-picker select { max-width:130px; }
}
@media(prefers-reduced-motion:reduce) { .language-picker { transition:none; } }
