/* Otsingu overlay (mobiil + desktop) + otsinguvälja täiendused. Laetakse _layout.blade.php-s pärast style.css-i. */
.search-ov {position: fixed; inset: 0; box-sizing: border-box; padding: 0; border: 0; margin: 0; width: 100%; max-width: none; height: 100%; max-height: none; background: #fff; color: #000; overflow-y: auto;}
.search-ov:not([open]) {display: none;}
.search-ov::backdrop {background: rgba(0,0,0,0.5);}
.search-ov__inner {max-width: 40rem; margin: 0 auto; padding: 16px 16px 32px; min-height: 100%; display: flex; flex-direction: column;}
.search-ov__top {display: flex; align-items: center; justify-content: space-between; min-height: 56px;}
.search-ov__title {margin: 0; font-size: 1.25rem; line-height: 1.2;}
.search-ov__close {width: 48px; height: 48px; font-size: 36px; line-height: 1; background: none; border: 0; cursor: pointer; color: inherit;}
.search-ov__form {display: flex; flex-direction: column; gap: 12px; margin-top: 8px;}
.search-ov__field {-webkit-appearance: none; appearance: none; width: 100%; min-height: 56px; box-sizing: border-box; font-size: 20px; line-height: 1.3; padding: 0 16px; border: 2px solid #c1c1c1; border-radius: 8px; background: #fff;}
.search-ov__field:focus {outline: 0; border-color: var(--colorPrimary); box-shadow: 0 0 0 3px rgba(var(--colorPrimaryRGB), 0.2);}
.search-ov__submit {width: 100%; min-height: 56px; font-size: 18px; justify-content: center; cursor: pointer;}
.search-ov__suggest {margin-top: 28px;}
.search-ov__sec {margin-bottom: 24px;}
.search-ov__sec[hidden] {display: none;}
.search-ov__h {margin: 0 0 8px; font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: #666; display: flex; justify-content: space-between; align-items: center;}
.search-ov__clear {font-size: 0.8125rem; text-transform: none; letter-spacing: 0; background: none; border: 0; color: var(--colorPrimary); text-decoration: underline; cursor: pointer; padding: 8px 0 8px 12px;}
.search-ov__links {list-style: none; margin: 0; padding: 0;}
.search-ov__links li {margin: 0; border-bottom: 1px solid #e5e5e5;}
.search-ov__links a {display: block; padding: 14px 4px; font-size: 18px; color: inherit; text-decoration: none; min-height: 48px; box-sizing: border-box;}
.search-ov__links a:hover, .search-ov__links a:focus-visible {color: var(--colorPrimary);}
html.search-ov-open {overflow: hidden;}
/* type=search: peida natiivne kustutusnupp, et välimus jääks samaks */
.search__f::-webkit-search-cancel-button {-webkit-appearance: none;}
/* Kui JS on olemas, asendab overlay päises väljalaiendamise (mobiil ja desktop) */
html.has-search-ov .search__f, html.has-search-ov .search__bd {display: none;}
html.has-search-ov .search__b {width: 2.4em; height: 2.4em; cursor: pointer;}
/* Desktop: suurem väli, sisu keskel, tume taust */
@media screen and (min-width: 768px) {
	.search-ov {background: #fff;}
	.search-ov__inner {max-width: 48rem; padding: 10vh 24px 48px; min-height: 0;}
	.search-ov__close {position: absolute; top: 24px; right: 32px;}
	.search-ov__title {font-size: 1.75rem;}
	.search-ov__form {flex-direction: row; gap: 12px; margin-top: 16px;}
	.search-ov__field {min-height: 64px; font-size: 24px;}
	.search-ov__submit {width: auto; min-width: 9rem; min-height: 64px; padding: 0 2rem;}
}
@media (prefers-reduced-motion: no-preference) {
	.search-ov[open] {animation: searchOvIn 0.18s ease-out;}
	@keyframes searchOvIn {from {opacity: 0;} to {opacity: 1;}}
}
/* overlay on #topRibbon sees: style.css "#topRibbon > * {margin-left:1.5em}" nihutas seda paremale */
#topRibbon > .search-ov, .search-ov {margin: 0 !important;}
/* iOS ei suumi: päise väli >=16px */
.search-wrap .search__f {font-size: 16px;}
