/* Page settings popover (theme + language). Reads the active theme's tokens, so it works
   on the public pages (--surface) and inside the builder (--white). */
.tsw{position:relative;display:inline-block}
.tsw-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 10px;border:0;border-radius:var(--r-pill,999px);background:var(--surface,var(--white,#fff));color:var(--ink,#0F172A);font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:var(--sh-btn,var(--sh-1));transition:box-shadow .15s,transform .12s}
.tsw-btn:hover{box-shadow:var(--sh-btn-h,var(--sh-2));transform:var(--btn-lift,none)}
.tsw-btn:focus-visible{outline:3px solid var(--brand,var(--acc,#4F46E5));outline-offset:2px}
.tsw-dot{display:inline-block;width:18px;height:18px;border-radius:50%;flex:none}
.tsw-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:500;width:min(320px,calc(100vw - 24px));padding:14px;border-radius:var(--r-l,var(--r-card,16px));background:var(--surface,var(--white,#fff));color:var(--ink,#0F172A);box-shadow:var(--sh-3);text-align:left}
.tsw-h{margin:0 0 8px;padding:0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748B)}
.tsw-list{display:grid;gap:4px}
.tsw-opt{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:var(--r,var(--r-ctl,10px));background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.tsw-opt:hover{background:var(--line-2,#EEF2F7)}
.tsw-opt .tsw-dot{width:26px;height:26px}
.tsw-opt span{display:grid;line-height:1.25;flex:1;min-width:0}
.tsw-opt b{font-size:14px}
.tsw-opt small{font-size:12px;color:var(--muted,#64748B)}
.tsw-opt em{font-style:normal;font-weight:800;color:var(--brand,var(--acc,#4F46E5));opacity:0}
.tsw-opt[aria-pressed="true"]{background:var(--brand-t,var(--acc-bg,#EEF2FF))}
.tsw-opt[aria-pressed="true"] em{opacity:1}
.tsw-opt:focus-visible{outline:3px solid var(--brand,var(--acc,#4F46E5));outline-offset:-2px}
.tsw-lang{margin-top:10px;padding-top:12px;box-shadow:inset 0 1px 0 var(--line-2,#EEF2F7)}
.tsw-lang[hidden]{display:none}
.tsw-lang label{display:block;margin:0 4px 6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#64748B)}
.tsw-lang small{display:block;margin:8px 4px 0;font-size:12px;line-height:1.4;color:var(--muted,#64748B)}
/* language dropdown: a button that opens a list inside the popover (no clipping, works with keyboard) */
.lang-dd{position:relative}
.lang-cur{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:var(--r,var(--r-ctl,10px));background:var(--surface,var(--white,#fff));box-shadow:var(--ring,inset 0 0 0 1px var(--line,#CBD5E1));color:var(--ink,#0F172A);font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer;transition:box-shadow .15s}
.lang-cur:hover{box-shadow:inset 0 0 0 1.5px var(--brand,var(--acc,#4F46E5))}
.lang-cur:focus-visible,.lang-open .lang-cur{outline:0;box-shadow:inset 0 0 0 2px var(--brand,var(--acc,#4F46E5))}
.lang-ic,.lang-chev{display:grid;place-items:center;flex:none}
.lang-ic svg,.lang-chev svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lang-ic{color:var(--brand,var(--acc,#4F46E5))}
.lang-chev{margin-left:auto;color:var(--muted,#64748B);transition:transform .2s}
.lang-open .lang-chev{transform:rotate(180deg)}
.lang-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-list{margin:8px 0 0;padding:6px;list-style:none;display:grid;gap:2px;border-radius:var(--r,var(--r-ctl,10px));background:var(--surface,var(--white,#fff));box-shadow:var(--ring,inset 0 0 0 1px var(--line,#CBD5E1));animation:langIn .16s ease-out}
.lang-list[hidden]{display:none}
@keyframes langIn{from{opacity:0;transform:translateY(-4px)}}
.lang-list li{display:flex;align-items:center;gap:10px;min-height:46px;padding:6px 10px;border-radius:calc(var(--r,10px) - 2px);color:var(--ink,#0F172A);cursor:pointer;outline:0}
.lang-list li:hover,.lang-list li:focus-visible{background:var(--line-2,#EEF2F7)}
.lang-list li:focus-visible{box-shadow:inset 0 0 0 2px var(--brand,var(--acc,#4F46E5))}
.lang-list li[aria-selected="true"]{background:var(--brand-t,var(--acc-bg,#EEF2FF));color:var(--brand-d,var(--acc-d,#3730A3))}
.lang-list li[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.lang-txt{display:grid;line-height:1.25;flex:1;min-width:0}
.lang-txt b{font-size:15px;font-weight:700}
.lang-txt small{display:block;margin:0;font-size:12px;font-weight:500;color:var(--muted,#64748B)}
.lang-list li[aria-selected="true"] small{color:inherit;opacity:.8}
.lang-tick{display:grid;place-items:center;flex:none;opacity:0}
.lang-tick svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lang-list li[aria-selected="true"] .lang-tick{opacity:1}
.lang-busy .lang-cur{opacity:.6;pointer-events:none}
/* inline version (inside the builder's account menu) */
.tsw-inline{display:block;width:100%}
.tsw-inline .tsw-list{grid-template-columns:1fr 1fr;gap:6px}
.tsw-inline .tsw-opt{padding:8px;box-shadow:var(--sh-1)}
.tsw-inline .tsw-opt small,.tsw-inline .tsw-opt em{display:none}
.tsw-inline .tsw-opt .tsw-dot{width:22px;height:22px}
@media (max-width:520px){.tsw-btn span{display:none}.tsw-btn{padding:0 11px}}
/* on the gradient sign-in screens and in the dark sidebar */
.auth-top .tsw-btn{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.rail .tsw-pop{right:auto;left:0;top:auto;bottom:calc(100% + 10px)}
