/* VolnyLekar.cz V51 – robust high-contrast theme layer. */
.theme-switcher{position:relative;z-index:60;display:flex;align-items:center;justify-content:center;gap:6px;width:min(760px,calc(100% - 24px));margin:10px auto;padding:6px;background:#fff;border:1px solid #cfe2df;border-radius:16px;box-shadow:0 8px 26px rgba(0,38,48,.10)}
.theme-switcher span{font-size:11px;font-weight:900;color:#49666e;letter-spacing:.08em;text-transform:uppercase;margin:0 6px}
.theme-switcher button{border:0;border-radius:11px;padding:10px 17px;background:transparent;color:#123744;font:inherit;font-weight:900;cursor:pointer;min-width:110px}
.theme-switcher button.active{background:#079d90;color:#fff}
.theme-switcher button:focus-visible{outline:3px solid #79d9d0;outline-offset:2px}

/* CLASSIC */
body.theme-classic{--teal:#079d90;--navy:#123744;background:#f3fbfa;color:#123744}
body.theme-classic .topbar{background:#fff;color:#123744}

/* MODERN – dark page, white readable content cards */
body.theme-modern{--teal:#0fae9f;--navy:#123744;background:#063743;color:#eefbfa}
body.theme-modern .topbar{background:#052f39;border-color:#275762}
body.theme-modern .brand,body.theme-modern .top-actions a{color:#f5fffe}
body.theme-modern .brand span span{color:#34d5c4}
body.theme-modern .hero{background:linear-gradient(145deg,#073844,#0a5260 58%,#06323c)}
body.theme-modern .hero h1,body.theme-modern .hero .lead,body.theme-modern .hero .eyebrow{color:#fff}
body.theme-modern .primary{background:#0fae9f!important;color:#fff!important}
body.theme-modern .theme-switcher{background:#fff;border-color:#b8d9d5}
body.theme-modern .theme-switcher button{color:#123744}
body.theme-modern .theme-switcher button.active{background:#079d90;color:#fff}

/* LUXURY – black/champagne page, ivory readable content cards */
body.theme-luxury{--teal:#b9821f;--navy:#2a2114;background:#120f0b;color:#f8e9bc}
body.theme-luxury .topbar{background:#17120c;border-color:#4b391e}
body.theme-luxury .brand,body.theme-luxury .top-actions a{color:#fff2ce}
body.theme-luxury .brand span span{color:#e0b94f}
body.theme-luxury .hero{background:radial-gradient(circle at 78% 12%,#493519 0,#20170d 44%,#100d09 100%)}
body.theme-luxury .hero h1,body.theme-luxury .hero .lead,body.theme-luxury .hero .eyebrow{color:#fff4d5}
body.theme-luxury .primary{background:#dfb84d!important;color:#20170a!important}
body.theme-luxury .theme-switcher{background:#fffaf0;border-color:#dfc78c}
body.theme-luxury .theme-switcher button{color:#2a2114}
body.theme-luxury .theme-switcher button.active{background:#dfb84d;color:#20170a}

/* Critical readable light surfaces on homepage */
body.theme-modern .search-card,body.theme-modern .map-card,body.theme-modern .city-picker,body.theme-modern .field-wrap,body.theme-modern .smart-suggestions,body.theme-modern .suggestions,
body.theme-luxury .search-card,body.theme-luxury .map-card,body.theme-luxury .city-picker,body.theme-luxury .field-wrap,body.theme-luxury .smart-suggestions,body.theme-luxury .suggestions{background:#fff;color:#102f38}
body.theme-luxury .search-card,body.theme-luxury .map-card,body.theme-luxury .city-picker,body.theme-luxury .field-wrap{background:#fffaf0;color:#2b2113;border-color:#d9c48f}
body.theme-modern .field-wrap label,body.theme-modern .search-intro strong,body.theme-modern .compact-map-head h2,body.theme-modern .city-picker-title span{color:#123744!important}
body.theme-luxury .field-wrap label,body.theme-luxury .search-intro strong,body.theme-luxury .compact-map-head h2,body.theme-luxury .city-picker-title span{color:#2b2113!important}
body.theme-modern .field-wrap input{background:#fff;color:#123744!important}
body.theme-luxury .field-wrap input{background:#fffaf0;color:#2b2113!important}
body.theme-modern .field-wrap input::placeholder{color:#687f86!important;opacity:1}
body.theme-luxury .field-wrap input::placeholder{color:#746650!important;opacity:1}

@media(max-width:700px){.theme-switcher{width:calc(100% - 18px);margin:7px auto;padding:5px;gap:2px}.theme-switcher span{display:none}.theme-switcher button{flex:1;min-width:0;padding:10px 4px;font-size:13px}}
