/* Language switch and the Cyrillic side of the type: Berkshire Swash has no Cyrillic, Cormorant Garamond does. */
.lang-switch{position:absolute;top:20px;right:22px;z-index:5;display:flex;font:10px/1 'DM Sans',sans-serif;letter-spacing:1.5px}
.lang-switch a,.lang-switch button{display:block;padding:9px 12px;margin:0;color:#fff7e5;text-decoration:none;border:1px solid #ffffff55;background:#0f2c3f33;border-radius:0;font:inherit;letter-spacing:inherit;transition:background .2s,color .2s;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.lang-switch>:first-child{border-radius:3px 0 0 3px}
.lang-switch>:last-child{border-radius:0 3px 3px 0;border-left-width:0}
.lang-switch a:hover,.lang-switch button:hover{background:#0f2c3f5c;color:#fff}
.lang-switch [aria-current]{background:#f8efdfe6;color:#2f526e;border-color:#f8efdfe6;cursor:default}
.lang-switch.on-page{position:static;justify-content:flex-end;margin:0 0 25px}
.lang-switch.on-page a,.lang-switch.on-page button{color:var(--blue);border-color:var(--line);background:#fff6;-webkit-backdrop-filter:none;backdrop-filter:none}
.lang-switch.on-page a:hover,.lang-switch.on-page button:hover{background:#dde5de;color:var(--blue)}
.lang-switch.on-page [aria-current]{background:var(--blue);color:var(--cream);border-color:var(--blue)}
@media(max-width:600px){.lang-switch{top:14px;right:14px}.lang-switch a,.lang-switch button{padding:8px 10px;font-size:9px}}

/* Admin: invitation language per guest, console language per device. */
.admin-actions{display:flex;align-items:center;gap:12px}
.admin-actions .lang-switch.on-page{margin:0}
.admin select{width:100%;padding:12px 13px;background:#fffc;border:1px solid var(--line);border-radius:3px;color:var(--ink);font:inherit}
.admin .hint{font-size:11px;opacity:.7;line-height:1.5}
.invite-lang{flex:0 0 auto}
.invite-lang select{width:auto;padding:8px 10px;font-size:12px;color:var(--blue)}
.settings-group{border:1px solid var(--line);padding:16px 20px 22px;margin:0;gap:16px;background:#fff4}
.settings-group legend{padding:0 9px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}
@media(max-width:600px){.invite-lang{flex:1 1 auto}.invite-lang select{width:100%}.settings-group{padding:14px 15px 18px}}

/* Русская версия */
html[lang="ru"] body{font-family:'DM Sans','Segoe UI',system-ui,sans-serif}
html[lang="ru"] h1{letter-spacing:-2px}
html[lang="ru"] h2,html[lang="ru"] .admin h1{letter-spacing:-.5px}
html[lang="ru"] .hero h1{letter-spacing:-3px}
html[lang="ru"] .date-overlay h2,html[lang="ru"] .wedding-calendar{font-family:'Cormorant Garamond',Georgia,serif}
html[lang="ru"] .date-overlay h2{font-size:clamp(28px,3.4vw,46px);letter-spacing:-.5px}
html[lang="ru"] .calendar-weekday{font-size:24px}
html[lang="ru"] .calendar-number{font-size:33px}
html[lang="ru"] .calendar-month{font-size:32px}
html[lang="ru"] .date-overlay .ceremony-time{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:92px;line-height:1;margin:34px 0 14px}
@media(max-width:899px){html[lang="ru"] .date-overlay .ceremony-time{font-size:78px}}
@media(max-width:600px){html[lang="ru"] .hero h1{letter-spacing:-2px}html[lang="ru"] .calendar-weekday{font-size:22px}html[lang="ru"] .calendar-number{font-size:30px}html[lang="ru"] .calendar-month{font-size:29px}html[lang="ru"] .date-overlay .ceremony-time{font-size:54px;margin:22px 0 8px}}
@media(max-width:360px){html[lang="ru"] .date-overlay .ceremony-time{font-size:48px;margin-top:18px}}
