/* Shared, accessible theme preference control. Native select supports keyboards and touch. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-control{display:none;flex:none;position:relative;color:var(--ink,var(--text));margin:0}
.js .theme-control{display:inline-flex}
.theme-control select{font:600 12px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;color:inherit;background:var(--surface,var(--card));border:1px solid var(--line);border-radius:30px;min-height:42px;width:87px;padding:9px 10px;cursor:pointer;touch-action:manipulation;color-scheme:inherit}
.theme-control select:focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:3px}
.theme-control select:hover{border-color:var(--accent-strong,var(--accent))}
@media(max-width:720px){.theme-control select{width:76px;min-height:39px;font-size:11px;padding:8px}}
@media print{.theme-control{display:none!important}}

/* Segmented Light / Auto / Dark controls used by the reference-style homepage. */
.theme-segments{display:none;border:1px solid var(--line);border-radius:30px;padding:3px;background:var(--soft,var(--surface));align-items:center;flex:none;gap:1px}
.js .theme-segments{display:flex}.theme-segments button{display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-radius:25px;background:transparent;color:var(--ink);padding:7px 11px;min-height:32px;font:500 11px/1.3 "Segoe UI",Arial,sans-serif;transition:background .15s,color .15s}
.theme-segments button .icon{width:17px;height:17px}.theme-segments button[aria-pressed=true]{color:#fff;background:#072843;box-shadow:0 2px 6px #08213a20}.theme-segments button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.theme-segments button:hover{background:var(--line)}.theme-segments button[aria-pressed=true]:hover{background:#084568}
[data-theme=dark] .theme-segments button[aria-pressed=true]{background:#29bafb;color:#03253d}
@media(max-width:1300px){.theme-segments button{padding:7px 8px;font-size:10px;gap:4px}.theme-segments button .icon{width:15px;height:15px}}
@media(max-width:600px){.theme-segments{padding:2px}.theme-segments button{flex-direction:column;padding:4px 6px;gap:2px;min-height:36px;font-size:8px}.theme-segments button .icon{width:13px;height:13px}}
@media(max-width:390px){.theme-segments button{padding:4px 5px;font-size:7px}.theme-segments button .icon{width:12px;height:12px}}
@media print{.theme-segments{display:none!important}}

/* 2.7 reference header: full labels, 44px hit targets, visible selected/focus states. */
.public-site .theme-segments{background:var(--soft);border-color:var(--line);gap:0;padding:2px;border-radius:28px}
.public-site .theme-segments button{flex-direction:row;min-height:40px;min-width:63px;padding:8px 9px;gap:5px;font:500 11px/1.3 "Segoe UI",Arial,sans-serif;touch-action:manipulation}
.public-site .theme-segments button .icon{width:17px;height:17px}
.public-site .theme-segments button[aria-pressed=true]{background:#072843;color:#fff;box-shadow:0 2px 7px #061d3330}
[data-theme=dark] .public-site .theme-segments button[aria-pressed=true]{background:#39bdff;color:#042139}
.public-site .theme-segments button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:700px){.public-site .theme-segments button{min-height:40px;min-width:60px;padding:7px 8px;font-size:11px;gap:4px}.public-site .theme-segments button .icon{width:16px;height:16px}}
@media(max-width:355px){.public-site .theme-segments button{min-width:55px;padding:7px 5px}.public-site .header-contact{font-size:11px;padding-inline:10px}}
