/* ===========================================================================
 * Extreme Pro - vyhledávání: formulář (všude), našeptávač, ikona v hlavičce,
 * okno hledání (overlay / dropdown / modal) a stránka výsledků.
 * Proměnné (:root): --srch-accent, --srch-radius, --srch-ico, --srch-ico-c.
 * ======================================================================== */

/* ---------- Formulář ---------- */
.exp-search-form { --h: 48px; position: relative; display: flex; align-items: center; width: 100%; margin: 0; }
.exp-search-form * { box-sizing: border-box; }
.exp-search-form .exp-search-input { width: 100%; height: var(--h); margin: 0; padding: 0 calc(var(--h) + 8px) 0 18px; border: 1px solid #d9dce1; border-radius: 999px; background: #fff; color: #1d2327; font: inherit; font-size: 15px; line-height: normal; box-shadow: none; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.exp-search-form .exp-search-input:focus { outline: 0; border-color: var(--srch-accent, var(--exp-primary,#5000A0)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 15%, transparent); }
.exp-search-form .exp-search-input::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.exp-search-form .exp-search-input::placeholder { color: #8a8f96; opacity: 1; }
.exp-search-form .exp-search-btn { position: absolute; top: 5px; right: 5px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: calc(var(--h) - 10px); height: calc(var(--h) - 10px); margin: 0; padding: 0; border: 0; border-radius: 999px; background: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: filter .2s, transform .2s; }
.exp-search-form .exp-search-btn:hover { filter: brightness(1.15); }
.exp-search-ico { display: none; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #8a8f96; pointer-events: none; font-size: 16px; line-height: 1; }
/* s textovým tlačítkem: lupa vlevo v poli */
.exp-search-form.has-text-btn .exp-search-ico { display: block; }
.exp-search-form.has-text-btn .exp-search-input { padding-left: 46px; padding-right: 130px; }
.exp-search-form.has-text-btn .exp-search-btn { padding: 0 24px; }
/* velký */
.exp-search-form--lg { --h: 60px; }
.exp-search-form--lg .exp-search-input { font-size: 18px; padding-left: 24px; }
.exp-search-form--lg.has-text-btn .exp-search-input { padding-left: 54px; }
.exp-search-form--lg .exp-search-ico { left: 22px; font-size: 19px; }
/* hranatý */
.exp-search-form--box .exp-search-input { border-radius: var(--srch-radius, 12px); }
.exp-search-form--box .exp-search-btn { border-radius: calc(var(--srch-radius, 12px) - 4px); }
/* podtržený */
.exp-search-form--line .exp-search-input { padding-left: 40px; border-width: 0 0 2px; border-radius: 0; background: transparent; box-shadow: none !important; }
.exp-search-form--line .exp-search-ico { display: block; left: 2px; }
.exp-search-form--line .exp-search-btn { display: none; }
.exp-search-form--line.exp-search-form--lg .exp-search-input { height: 72px; padding-left: 50px; font-size: clamp(20px, 3vw, 30px); font-weight: 500; }
.exp-search-form--line.exp-search-form--lg .exp-search-ico { font-size: 26px; left: 4px; }
/* načítání našeptávače */
.exp-search-form.is-loading .exp-search-btn > * { opacity: 0; }
.exp-search-form.is-loading .exp-search-btn::after { content: ""; position: absolute; width: 16px; height: 16px; border: 2px solid #fff; border-right-color: transparent; border-radius: 50%; animation: exp-srch-spin .7s linear infinite; }
.exp-search-form--line.is-loading .exp-search-ico { animation: exp-srch-pulse .9s ease-in-out infinite; }
@keyframes exp-srch-spin { to { transform: rotate(360deg); } }
@keyframes exp-srch-pulse { 50% { opacity: .3; } }
.exp-search-sc { margin: 1em 0; }

/* ---------- Našeptávač ---------- */
.exp-search-live { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 50; max-height: min(60vh, 460px); overflow-y: auto; padding: 6px; border-radius: 14px; background: #fff; border: 1px solid rgba(0, 0, 0, .08); box-shadow: 0 18px 44px rgba(17, 24, 39, .16); text-align: left; }
.exp-search-live[hidden] { display: none; }
.exp-search-live a { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; color: #1d2327 !important; text-decoration: none !important; font-size: 15px; line-height: 1.3; }
.exp-search-live a:hover, .exp-search-live a.is-active { background: color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 8%, #fff); }
.exp-search-live-img { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 8px; overflow: hidden; }
.exp-search-live-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.exp-search-live-img span { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--srch-accent, var(--exp-primary,#5000A0)), color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 55%, var(--exp-secondary,#ff7a59))); color: #fff; font-weight: 700; }
.exp-search-live-t { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.exp-search-live-type { flex: 0 0 auto; padding: 2px 9px; border-radius: 999px; background: #f0f1f3; color: #5f6368; font-size: 12px; }
.exp-search-live a.exp-search-live-all { justify-content: center; margin-top: 4px; border-top: 1px solid #eee; border-radius: 0 0 10px 10px; color: var(--srch-accent, var(--exp-primary,#5000A0)) !important; font-weight: 600; font-size: 14px; }
.exp-search-live-none { padding: 14px; text-align: center; color: #6b7076; }

/* ---------- Ikona v hlavičce ---------- */
.exp-srch-item { display: flex; align-items: center; }
.exp-srch-open { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border: 0; background: none; color: var(--srch-ico-c, inherit); font: inherit; font-size: var(--srch-ico); line-height: 1; cursor: pointer; transition: color .2s, transform .2s; }
.exp-srch-open:hover { color: var(--srch-accent, var(--exp-primary,#5000A0)); }
.exp-srch-open:hover .exp-srch-open-i { transform: scale(1.1); }
.exp-srch-open-i { transition: transform .2s; }
.exp-srch-label { font-size: 14px; font-weight: 600; text-transform: inherit; }
.exp-srch-inmenu { display: none; }
.exp-srch-mob { display: none; }
@media (max-width: 991px) {
	.exp-srch-mob { display: inline-flex; margin-left: auto; margin-right: 6px; padding: 8px; font-size: 20px; color: inherit; }
	.exp-header-nav--mobile-only .exp-srch-item .exp-srch-open { display: none; }
	.exp-header-nav--mobile-only .exp-srch-item--m-icon, .exp-header-nav--mobile-only .exp-srch-item--m-none { display: none !important; }
	.exp-header-nav--mobile-only .exp-srch-item--m-menu, .exp-header-nav--mobile-only .exp-srch-item--m-both { order: -1; flex: 0 0 100% !important; padding: 12px 16px; }
	.exp-header-nav--mobile-only .exp-srch-item .exp-srch-inmenu { display: block; width: 100%; }
	.exp-srch-item--m-menu ~ .exp-srch-mob { display: none; }
}
html.exp-srch-lock { overflow: hidden; }

/* ---------- Okno hledání ---------- */
.exp-srch-pop { position: fixed; inset: 0; z-index: 100000; --pop-bg: #fff; --pop-text: #1d2327; --pop-muted: #6b7076; --pop-chip: color-mix(in srgb,var(--exp-primary,#5000A0) 6%,#fff); }
.exp-srch-pop--dark { --pop-bg: #14161b; --pop-text: #fff; --pop-muted: rgba(255, 255, 255, .6); --pop-chip: rgba(255, 255, 255, .08); }
.exp-srch-pop[hidden] { display: none; }
.exp-srch-pop-bg { position: absolute; inset: 0; background: rgba(12, 14, 20, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s; }
.exp-srch-pop-box { position: relative; color: var(--pop-text); opacity: 0; transition: opacity .25s, transform .3s cubic-bezier(.22, .8, .3, 1); }
.exp-srch-pop.is-open .exp-srch-pop-bg, .exp-srch-pop.is-open .exp-srch-pop-box { opacity: 1; transform: none; }
.exp-srch-pop-inner { position: relative; width: 100%; max-width: 860px; margin: 0 auto; }
.exp-srch-close { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--pop-chip); color: var(--pop-text); font-size: 18px; cursor: pointer; transition: transform .2s, background-color .2s; z-index: 2; }
.exp-srch-close:hover { transform: rotate(90deg); }
.exp-srch-x { position: relative; width: 18px; height: 18px; }
.exp-srch-x::before, .exp-srch-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; background: currentColor; transform: translate(-50%, -50%) rotate(45deg); }
.exp-srch-x::after { transform: translate(-50%, -50%) rotate(-45deg); }
.exp-srch-pop .exp-search-form--line .exp-search-input { color: var(--pop-text); border-color: color-mix(in srgb, var(--pop-text) 20%, transparent); }
.exp-srch-pop .exp-search-form--line .exp-search-input:focus { border-color: var(--srch-accent, var(--exp-primary,#5000A0)); }
.exp-srch-pop--dark .exp-search-form--line .exp-search-ico { color: rgba(255, 255, 255, .6); }
.exp-srch-pop--dark .exp-search-form--line .exp-search-input::placeholder { color: rgba(255, 255, 255, .45); }
.exp-srch-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; }
.exp-srch-popular-t { margin-right: 6px; font-size: 14px; color: var(--pop-muted, #6b7076); }
.exp-srch-popular a { display: inline-flex; padding: 7px 16px; border-radius: 999px; background: var(--pop-chip, color-mix(in srgb,var(--exp-primary,#5000A0) 6%,#fff)); color: var(--pop-text, #1d2327) !important; font-size: 14px; text-decoration: none !important; transition: background-color .2s, color .2s; }
.exp-srch-popular a:hover { background: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff !important; }
.exp-srch-hint { margin: 22px 0 0; font-size: 13px; color: var(--pop-muted); }
.exp-srch-hint kbd { display: inline-block; padding: 1px 6px; border-radius: 5px; border: 1px solid color-mix(in srgb, var(--pop-text) 20%, transparent); background: transparent; color: inherit; font: inherit; font-size: 12px; box-shadow: none; }
@media (max-width: 767px) { .exp-srch-hint { display: none; } }
/* celá obrazovka */
.exp-srch-pop--overlay .exp-srch-pop-bg { background: color-mix(in srgb, var(--pop-bg) 94%, transparent); }
.exp-srch-pop--overlay .exp-srch-pop-box { padding: min(22vh, 180px) 24px 40px; transform: translateY(-16px); }
.exp-srch-pop--overlay .exp-srch-close { position: fixed; top: 24px; right: 24px; }
/* panel pod hlavičkou */
.exp-srch-pop--dropdown .exp-srch-pop-bg { top: var(--srch-top, 0); }
.exp-srch-pop--dropdown .exp-srch-pop-box { margin-top: var(--srch-top, 0); padding: 30px 24px 34px; background: var(--pop-bg); box-shadow: 0 20px 40px rgba(0, 0, 0, .12); transform: translateY(-10px); }
.exp-srch-pop--dropdown .exp-srch-pop-inner { padding-right: 60px; }
.exp-srch-pop--dropdown .exp-srch-close { right: 0; top: 8px; }
/* okno uprostřed */
.exp-srch-pop--modal .exp-srch-pop-box { width: calc(100% - 32px); max-width: 680px; margin: min(14vh, 120px) auto 0; padding: 28px; border-radius: calc(var(--srch-radius, 12px) + 6px); background: var(--pop-bg); box-shadow: 0 30px 80px rgba(0, 0, 0, .3); transform: scale(.96); }
.exp-srch-pop--modal .exp-srch-pop-inner { padding-top: 40px; }
.exp-srch-pop--modal .exp-srch-close { top: -12px; right: -12px; width: 38px; height: 38px; font-size: 15px; }
.exp-srch-pop--modal .exp-search-form--lg { --h: 56px; }
.exp-srch-pop--dark .exp-search-form:not(.exp-search-form--line) .exp-search-input { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .15); color: #fff; }

/* ---------- Stránka výsledků ---------- */
.exp-srch-page { padding-bottom: 80px; }
.exp-srch-page * { box-sizing: border-box; }
.exp-srch-hero { padding: 56px 0 44px; background: linear-gradient(180deg, color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 7%, #fff), #fff); text-align: center; }
.exp-srch-hero .container { max-width: 820px; }
.exp-srch-h1 { margin: 0 0 24px; font-size: clamp(28px, 4vw, 40px); line-height: 1.2; color: #1d2327; }
.exp-srch-count { margin: 18px 0 0; font-size: 16px; color: #5f6368; }
.exp-srch-count strong { color: #1d2327; }
.container.exp-srch-wrap::before, .container.exp-srch-wrap::after { content: none; display: none; }
.exp-srch-wrap { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sdb-space, 44px); padding-top: 30px; }
.exp-srch-side-right { grid-template-columns: minmax(0, 1fr) var(--sdb-w, 300px); }
.exp-srch-side-left { grid-template-columns: var(--sdb-w, 300px) minmax(0, 1fr); }
.exp-srch-side-left .exp-srch-sidebar { order: -1; }
.exp-srch-side-none .exp-srch-main { width: 100%; max-width: 900px; margin: 0 auto; }
@media (max-width: 991px) {
	.exp-srch-side-right, .exp-srch-side-left { grid-template-columns: minmax(0, 1fr); }
	.exp-srch-side-left .exp-srch-sidebar { order: 2; }
}
.exp-srch-main { min-width: 0; }
.exp-srch-tabs { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 26px; padding-bottom: 4px; scrollbar-width: thin; }
.exp-srch-tabs a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; border: 1px solid rgba(0, 0, 0, .1); background: #fff; color: #1d2327 !important; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: all .2s; }
.exp-srch-tabs a span { min-width: 22px; padding: 0 7px; border-radius: 999px; background: #f0f1f3; color: #5f6368; font-size: 12px; line-height: 20px; text-align: center; }
.exp-srch-tabs a:hover { border-color: var(--srch-accent, var(--exp-primary,#5000A0)); }
.exp-srch-tabs a.is-active { background: var(--srch-accent, var(--exp-primary,#5000A0)); border-color: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff !important; }
.exp-srch-tabs a.is-active span { background: rgba(255, 255, 255, .22); color: #fff; }
/* výsledek */
.exp-srch-list { display: flex; flex-direction: column; gap: 18px; }
.exp-srch-res { display: flex; gap: 22px; padding: 20px; border-radius: var(--srch-radius, 12px); background: #fff; border: 1px solid rgba(0, 0, 0, .07); box-shadow: 0 6px 20px rgba(17, 24, 39, .05); transition: box-shadow .25s, transform .25s; }
.exp-srch-res:hover { box-shadow: 0 14px 34px rgba(17, 24, 39, .1); transform: translateY(-2px); }
.exp-srch-res.is-new { animation: exp-srch-in .45s ease both; }
@keyframes exp-srch-in { from { opacity: 0; transform: translateY(12px); } }
.exp-srch-res-img { flex: 0 0 180px; aspect-ratio: 4 / 3; overflow: hidden; border-radius: calc(var(--srch-radius, 12px) * .75); background: #eee; align-self: flex-start; }
.exp-srch-res-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.exp-srch-res:hover .exp-srch-res-img img { transform: scale(1.06); }
.exp-srch-noimg { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--srch-accent, var(--exp-primary,#5000A0)), color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 55%, var(--exp-secondary,#ff7a59))); color: #fff; font-size: 36px; font-weight: 700; }
.exp-srch-res-body { display: flex; flex-direction: column; gap: 8px; min-width: 0; flex: 1; }
.exp-srch-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-size: 13px; color: #7a7f86; }
.exp-srch-type { padding: 2px 10px; border-radius: 999px; background: color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 10%, #fff); color: var(--srch-accent, var(--exp-primary,#5000A0)); font-weight: 700; font-size: 12px; }
.exp-srch-type--stranky { background: #e8f1fd; color: #1a5fb4; }
.exp-srch-type--sluzby { background: #e7f6ec; color: #16794a; }
.exp-srch-type--reference { background: #fff1e0; color: #b35c00; }
.exp-srch-type--produkty { background: #fde8ef; color: #b3134b; }
.exp-srch-res-title { margin: 0; font-size: 20px; line-height: 1.35; }
.exp-srch-res-title a { color: #1d2327 !important; text-decoration: none !important; }
.exp-srch-res-title a:hover { color: var(--srch-accent, var(--exp-primary,#5000A0)) !important; }
.exp-srch-res-text { margin: 0; font-size: 15px; line-height: 1.65; color: #4a4f55; }
.exp-srch-res mark { padding: 0 2px; border-radius: 3px; background: color-mix(in srgb, var(--srch-accent, var(--exp-primary,#5000A0)) 16%, #fff); color: inherit; }
.exp-srch-res-url { font-size: 13px; color: #16794a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* mřížka */
.exp-srch-list--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 22px; }
.exp-srch-list--grid .exp-srch-res { flex-direction: column; gap: 14px; padding: 0 0 18px; overflow: hidden; }
.exp-srch-list--grid .exp-srch-res-img { flex: none; width: 100%; aspect-ratio: 16 / 10; border-radius: 0; }
.exp-srch-list--grid .exp-srch-res-body { padding: 0 18px; }
.exp-srch-list--grid .exp-srch-res-title { font-size: 18px; }
/* kompaktní */
.exp-srch-list--compact { gap: 0; border-top: 1px solid rgba(0, 0, 0, .08); }
.exp-srch-list--compact .exp-srch-res { padding: 18px 4px; border: 0; border-bottom: 1px solid rgba(0, 0, 0, .08); border-radius: 0; box-shadow: none; background: none; }
.exp-srch-list--compact .exp-srch-res:hover { transform: none; }
@media (max-width: 767px) {
	.exp-srch-page .container { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 600px) {
	.exp-srch-list--list .exp-srch-res { flex-direction: column; gap: 14px; padding: 16px; }
	.exp-srch-list--list .exp-srch-res-img { flex: none; width: 100%; aspect-ratio: 16 / 9; }
	.exp-srch-hero { padding: 36px 0 30px; }
	.exp-search-form.has-text-btn .exp-search-input { padding-right: 60px; }
	.exp-search-form.has-text-btn .exp-search-btn { padding: 0; width: calc(var(--h) - 10px); }
	.exp-search-form.has-text-btn .exp-search-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.exp-search-form.has-text-btn .exp-search-btn::before { content: "›"; font-size: 26px; line-height: 1; }
}
/* stránkování */
.exp-srch-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 40px; }
.exp-srch-pages .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid rgba(0, 0, 0, .1); background: #fff; color: #1d2327 !important; font-weight: 600; text-decoration: none !important; }
.exp-srch-pages .page-numbers.current { background: var(--srch-accent, var(--exp-primary,#5000A0)); border-color: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff !important; }
.exp-srch-more { display: flex; justify-content: center; margin-top: 36px; }
.exp-srch-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 28px; border: 2px solid var(--srch-accent, var(--exp-primary,#5000A0)); border-radius: 999px; background: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff !important; font-weight: 600; text-decoration: none !important; transition: all .2s; }
.exp-srch-btn--outline { background: transparent; color: var(--srch-accent, var(--exp-primary,#5000A0)) !important; }
.exp-srch-btn--outline:hover { background: var(--srch-accent, var(--exp-primary,#5000A0)); color: #fff !important; }
.exp-srch-spin { display: none; width: 16px; height: 16px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: exp-srch-spin .7s linear infinite; }
.exp-srch-more.is-loading .exp-srch-spin { display: inline-block; }
/* nic nenalezeno */
.exp-srch-empty { padding: 44px 24px; border-radius: calc(var(--srch-radius, 12px) + 4px); background: color-mix(in srgb,var(--exp-primary,#5000A0) 4%,#fff); text-align: center; }
.exp-srch-empty-ico { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; margin-bottom: 14px; border-radius: 50%; background: #fff; color: var(--srch-accent, var(--exp-primary,#5000A0)); font-size: 28px; box-shadow: 0 8px 24px rgba(17, 24, 39, .08); }
.exp-srch-empty h2 { margin: 0 0 8px; font-size: 24px; color: #1d2327; }
.exp-srch-empty p { max-width: 520px; margin: 0 auto; color: #5f6368; }
.exp-srch-empty .exp-srch-popular { justify-content: center; }
.exp-srch-empty .exp-srch-popular a { background: #fff; border: 1px solid rgba(0, 0, 0, .08); }
.exp-srch-latest-t { margin: 44px 0 18px; font-size: 20px; color: #1d2327; }
@media (prefers-reduced-motion: reduce) {
	.exp-srch-pop *, .exp-srch-res { transition: none !important; animation: none !important; }
}
.exp-srch-pop--dark .exp-search-live { background: #1f2229; border-color: rgba(255, 255, 255, .1); }
.exp-srch-pop--dark .exp-search-live a { color: #fff !important; }
.exp-srch-pop--dark .exp-search-live a:hover, .exp-srch-pop--dark .exp-search-live a.is-active { background: rgba(255, 255, 255, .08); }
.exp-srch-pop--dark .exp-search-live-type { background: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .75); }
.exp-srch-pop--dark .exp-search-live a.exp-search-live-all { border-color: rgba(255, 255, 255, .1); color: #fff !important; }
.exp-srch-pop--dark .exp-search-live-none { color: rgba(255, 255, 255, .6); }
