/* Guest language selector, shared by Login and Register. */
.man-guest-language-control {
    position: absolute;
    top: -48px;
    right: 0;
    z-index: 20;
}
body.man-register-screen .man-guest-language-control { top: -8px; }
.man-guest-language-trigger{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid var(--login-border);border-radius:20px;background:var(--login-google-bg);color:var(--login-text);font:600 12px/1 "Archivo",sans-serif;cursor:pointer}
.man-guest-language-svg{width:17px;height:17px;flex:none}
.man-guest-language-chevron{width:14px;height:14px;flex:none;display:block}
.man-guest-language-trigger:focus-visible,.man-guest-language-close:focus-visible{outline:2px solid var(--login-accent);outline-offset:3px}
.man-guest-language-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(390px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border-radius:21px;color:#191713;overflow:auto;font-family:"Archivo",sans-serif}
.man-guest-language-dialog::backdrop{
    background: rgba(18,17,15,.28);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
.man-guest-language-dialog-body{position:relative;padding:22px 20px 20px}
.man-guest-language-icon{color:#b66b28;margin-bottom:14px}
.man-guest-language-icon .man-guest-language-svg{width:24px;height:24px}
.man-guest-language-dialog h2 {
    margin: 0 32px 4px 0;
    padding: 0;
    color: #191713 !important;
    font: 700 22px/1.15 "Archivo", sans-serif;
    letter-spacing: -.025em;
}
.man-guest-language-dialog p{margin:0 0 18px;color:#716a61;font:400 13px/1.4 "Archivo",sans-serif}
/* Language picker: one travelling liquid selection surface, like the
   bottom navigation's active capsule; language codes are data, not CSS. */
.man-guest-language-options form { display: block; }
.man-guest-language-choice-list {
    position: relative;
    display: grid;
    gap: 7px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: 16px;
    background: rgba(255,255,255,.09);
    isolation: isolate;
}
.man-guest-language-liquid-indicator {
    position: absolute;
    top: 0;
    left: 4px;
    right: 4px;
    height: var(--man-language-indicator-height, 52px);
    transform: translate3d(0, var(--man-language-indicator-y, 4px), 0);
    z-index: 0;
    opacity: 0;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 12px;
    background: linear-gradient(155deg, rgba(255,255,255,.36), rgba(255,255,255,.12));
    box-shadow:
        0 4px 16px rgba(74,59,39,.09),
        inset 0 1px 0 rgba(255,255,255,.85),
        inset 0 -1px 0 rgba(120,92,60,.08);
    -webkit-backdrop-filter: blur(5px) saturate(125%);
    backdrop-filter: blur(5px) saturate(125%);
}
.man-guest-language-choice-list.is-measured .man-guest-language-liquid-indicator { opacity: 1; }
.man-guest-language-choice-list.is-animated .man-guest-language-liquid-indicator {
    transition: transform 300ms cubic-bezier(.22, 1, .36, 1),
                height 300ms cubic-bezier(.22, 1, .36, 1);
}
.man-guest-language-option {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 0 15px;
    /* Keep the layout box; only the travelling liquid layer draws the border. */
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: #211c16;
    font: 500 15px/1.2 "Archivo",sans-serif;
    cursor: pointer;
    transition: background-color 170ms ease;
}
/* Hover adds a hint of light without creating a second outlined card. */
.man-guest-language-option:hover { background: rgba(255,255,255,.065); }
/* Keyboard users still get a focus cue; mouse/touch selection has no orange ring. */
.man-guest-language-radio:focus-visible ~ .man-guest-language-option-name {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}
.man-guest-language-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}
.man-guest-language-option-name { font-weight: 500; }
.man-guest-language-radio:checked ~ .man-guest-language-option-name { font-weight: 600; }
.man-guest-language-code {
    color: #827c71;
    font: 500 10px/1.3 "Archivo",sans-serif;
    letter-spacing: .08em;
}
.man-guest-language-option:has(.man-guest-language-radio:disabled) {
    opacity: .48;
    cursor: not-allowed;
}
.man-guest-language-continue {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-sizing: border-box;
    width: 100%;
    min-height: 50px;
    margin-top: 17px;
    padding: 12px 16px;
    border: 0;
    border-radius: 11px;
    background: #27231f;
    color: #fff;
    font: 600 14px/1.25 "Archivo",sans-serif;
    cursor: pointer;
    transition: opacity 180ms ease, background-color 180ms ease;
}
.man-guest-language-continue:disabled {
    opacity: .36;
    cursor: default;
}
.man-guest-language-continue:not(:disabled):hover { background: #40362f; }
.man-guest-language-continue:focus-visible {
    outline: 2px solid #bf8753;
    outline-offset: 3px;
}
.man-guest-language-close{position:absolute;top:15px;right:15px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#5b554d;font:400 25px/1 "Archivo",sans-serif;cursor:pointer}
body.theme-dark .man-guest-language-dialog{color:#f7f0e8}
body.theme-dark .man-guest-language-dialog h2{color:#f7f0e8 !important}
body.theme-dark .man-guest-language-dialog p{color:#c0b8ac}
body.theme-dark .man-guest-language-choice-list {
    background: rgba(18,17,16,.14);
    border-color: rgba(246,241,230,.15);
}
body.theme-dark .man-guest-language-liquid-indicator {
    background: linear-gradient(155deg, rgba(255,255,255,.16), rgba(255,255,255,.055));
    border-color: rgba(246,241,230,.38);
    box-shadow: 0 5px 18px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.2);
}
body.theme-dark .man-guest-language-option {
    background: transparent;
    border-color: transparent;
    color: #f7f0e8;
}
body.theme-dark .man-guest-language-option:hover { background: rgba(255,255,255,.035); }
body.theme-dark .man-guest-language-code { color: #c6bdb1; }
body.theme-dark .man-guest-language-continue { background: #d7772d; color: #171411; }
body.theme-dark .man-guest-language-continue:not(:disabled):hover { background: #e58a43; }
body.theme-dark .man-guest-language-close{color:#f7f0e8}

.man-guest-language-dialog:focus { outline: none; }
@media (max-height: 540px) {
    .man-guest-language-dialog { max-height: calc(100dvh - 12px); }
}

/* Theme-aware styles for the authenticated Account (no --login-* vars). */
.man-account-page {
    --login-border: var(--account-line);
    --login-google-bg: var(--account-surface);
    --login-text: var(--account-text);
    --login-accent: var(--account-accent);
}
/* Account: right-aligned within its existing heading, not a new row. */
.man-account-header { position: relative; display: block; margin: 0; padding: 0; }
.man-account-header .man-guest-language-control { top: 18px; right: 0; }
.man-account-header .man-guest-language-trigger { min-width: 72px; }
.man-account-header .man-guest-language-dialog { z-index: 10000; }

/* Account pages have no auth-page body class; keep the modal heading legible. */
.man-account-page .man-guest-language-dialog h2 { color: #191713 !important; opacity: 1; }
body.theme-dark .man-account-page .man-guest-language-dialog h2 { color: #f7f0e8 !important; }
@media (max-width: 360px) { .man-account-header .man-guest-language-control { top: 14px; } }

@media (prefers-reduced-motion: reduce) {
    .man-guest-language-liquid-indicator,
    .man-guest-language-option,
    .man-guest-language-continue { transition: none !important; }
}
@media (prefers-reduced-transparency: reduce) {
    .man-guest-language-liquid-indicator {
        background: #f5f0e8;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    body.theme-dark .man-guest-language-liquid-indicator { background: #4c4439; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .man-guest-language-liquid-indicator { background: #f5f0e8; }
    body.theme-dark .man-guest-language-liquid-indicator { background: #4c4439; }
}
