.sw-search-modal__head {
display: flex;
gap: 12px;
align-items: center;
padding: 16px var(--t-vypln);
border-bottom: var(--t-ramecek);
}
.sw-search-modal__field {
display: flex;
flex: 1;
gap: 12px;
align-items: center;
min-width: 0;
}
.sw-search-modal__field input {
width: 100%;
min-height: 44px;
padding: 8px 0;
border: 0;
background: none;
font-size: 1.15rem;
}
.sw-search-modal__field input:focus,
.sw-search-modal__field input:focus-visible {
outline: none;
}
.sw-search-modal__filters {
display: flex;
flex-wrap: wrap;
gap: 10px 20px;
padding: 12px var(--t-vypln);
border-bottom: var(--t-delici-linka);
font-size: 0.9375rem;
}
.sw-search-modal__body {
padding: var(--t-vypln);
}
.sw-search-modal__hint {
margin: 0;
color: var(--t-text-tlumeny);
}
.sw-search-results-group + .sw-search-results-group {
margin-top: var(--t-mezera);
}
.sw-search-results-group__label {
margin: 0 0 6px;
color: var(--t-text-tlumeny);
font-size: 0.8125rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.sw-search-results-group__list {
border-top: var(--t-ramecek);
}
.sw-search-result {
display: grid;
gap: 2px;
padding: 10px 0;
border-bottom: var(--t-delici-linka);
text-decoration: none;
}
.sw-search-result:hover {
background: var(--t-pozadi-jemne);
}
.sw-search-result__title {
font-weight: 700;
text-decoration: underline;
text-underline-offset: 0.18em;
}
.sw-search-result__snippet {
color: var(--t-text-tlumeny);
font-size: 0.9375rem;
}
.sw-search-result__snippet mark {
background: var(--t-pozadi-zvyraznene);
color: inherit;
}
.sw-search-modal { place-items: start center; padding: 8vh var(--t-okraj, 16px) 4vh; }
.sw-search-modal__backdrop { background: var(--vz-hledani-clona, rgba(17, 24, 39, 0.55)); }
.sw-search-modal__card {
width: min(760px, 100%);
border: 0;
border-radius: var(--vz-hledani-zaobleni, var(--vz-obrazek-zaobleni, var(--t-zaobleni)));
box-shadow: var(--vz-hledani-stin, 0 30px 80px rgba(0, 0, 0, 0.28));
overflow: hidden;
animation: vz-hledani-okno 0.28s cubic-bezier(.2, .7, .2, 1);
}
@keyframes vz-hledani-okno { from { opacity: 0; transform: translateY(-14px) scale(0.985); } to { opacity: 1; transform: none; } }
.sw-search-modal__head { gap: 14px; padding: 18px 22px; border-bottom: 2px solid var(--t-linka-jemna); transition: border-color 0.2s ease; }
.sw-search-modal__head:focus-within { border-bottom-color: var(--t-akcent); }
.sw-search-modal__field { gap: 14px; border: 0; border-radius: 0; background: none; padding: 0; }
.sw-search-modal__field > i { font-size: 1.25rem; color: var(--t-akcent); }
.sw-search-modal__field input,
.sw-search-modal__field input[type="search"] {
min-height: 48px;
padding: 6px 0;
border: 0;
border-radius: 0;
background: none;
box-shadow: none;
font-family: var(--t-pismo-nadpisy, inherit);
font-size: clamp(1.25rem, 2.4vw, 1.6rem);
font-weight: 500;
color: var(--t-text);
}
.sw-search-modal__field input::placeholder { color: var(--t-text-tlumeny); opacity: 1; }
.sw-search-modal__field input::-webkit-search-cancel-button { cursor: pointer; }
.sw-search-modal__close { flex-basis: 42px; width: 42px; height: 42px; border: 1px solid var(--t-linka-jemna); border-radius: 50%; font-size: 1.1rem; }
.sw-search-modal__filters { gap: 8px; padding: 14px 22px; border-bottom: 1px solid var(--t-linka-jemna); }
.sw-search-toggle { position: relative; display: inline-flex; align-items: center; gap: 0; cursor: pointer; }
.sw-search-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.sw-search-toggle__track { display: none; }
.sw-search-toggle__label {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 7px 14px;
border: 1px solid var(--t-linka);
border-radius: 999px;
background: var(--t-pozadi);
color: var(--t-text);
font-size: 0.875rem;
font-weight: 600;
line-height: 1.2;
transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.sw-search-toggle__label::before { content: ""; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid currentColor; transition: background 0.2s ease; }
.sw-search-toggle input:checked + .sw-search-toggle__track + .sw-search-toggle__label { background: var(--t-akcent); border-color: var(--t-akcent); color: var(--t-akcent-text); }
.sw-search-toggle input:checked + .sw-search-toggle__track + .sw-search-toggle__label::before { background: currentColor; }
.sw-search-toggle:hover .sw-search-toggle__label { border-color: var(--t-akcent); }
.sw-search-toggle input:focus-visible + .sw-search-toggle__track + .sw-search-toggle__label { outline: 3px solid var(--t-akcent); outline-offset: 2px; }
.sw-search-modal__body { max-height: min(62vh, 640px); overflow-y: auto; padding: 18px 22px 22px; overscroll-behavior: contain; }
.sw-search-modal__hint { padding: 26px 0; text-align: center; font-size: 0.95rem; }
.sw-search-results-group + .sw-search-results-group { margin-top: 22px; }
.sw-search-results-group__label { margin: 0 0 4px; font-size: 0.75rem; letter-spacing: 0.1em; }
.sw-search-results-group__list { border-top: 1px solid var(--t-linka-jemna); }
.sw-search-result {
position: relative;
display: grid;
gap: 3px;
padding: 13px 34px 13px 12px;
margin: 0 -12px;
border-bottom: 1px solid var(--t-linka-jemna);
border-radius: var(--t-zaobleni-male, 0);
color: var(--t-text);
text-decoration: none;
transition: background 0.18s ease, padding 0.18s ease;
}
.sw-search-result::after { content: "→"; position: absolute; right: 12px; top: 50%; transform: translate(-4px, -50%); opacity: 0; color: var(--t-akcent); transition: opacity 0.18s ease, transform 0.18s ease; }
.sw-search-result:hover,
.sw-search-result:focus-visible { background: var(--t-pozadi-jemne); outline: none; }
.sw-search-result:hover::after,
.sw-search-result:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
.sw-search-result:focus-visible { box-shadow: inset 3px 0 0 var(--t-akcent); }
.sw-search-result__title { font-weight: 700; text-decoration: none; color: var(--t-text); }
.sw-search-result:hover .sw-search-result__title { color: var(--t-odkaz); }
.sw-search-result__snippet { font-size: 0.875rem; line-height: 1.5; }
.sw-search-result__snippet mark { padding: 0 2px; border-radius: 3px; background: var(--vz-akcent-jemny, var(--t-pozadi-zvyraznene)); color: inherit; font-weight: 600; }
@media (max-width: 640px) {
.sw-search-modal { padding: 0; }
.sw-search-modal__card { width: 100%; min-height: 100svh; border-radius: 0; box-shadow: none; animation-name: vz-hledani-telefon; }
.sw-search-modal__head { padding: 12px 16px; }
.sw-search-modal__filters { padding: 12px 16px; flex-wrap: nowrap; overflow-x: auto; }
.sw-search-modal__body { max-height: none; padding: 14px 16px 30px; }
.sw-search-result { margin: 0; padding-inline: 0 30px; border-radius: 0; }
.sw-search-result::after { right: 0; opacity: 1; transform: translate(0, -50%); }
}
@keyframes vz-hledani-telefon { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
.sw-search-modal__card { animation: none; }
.sw-search-result, .sw-search-result::after, .sw-search-toggle__label { transition: none; }
}
