/* Header search modal and live suggestions */
.search-modal[hidden]{display:none}
.search-modal{
	position:fixed;
	z-index:calc(var(--z-header) + 20);
	inset:0;
	display:grid;
	align-items:start;
	overflow-y:auto;
	padding:clamp(16px,5vw,70px) var(--container-padding);
	background:rgba(20,7,55,.62);
	backdrop-filter:blur(14px);
	opacity:0;
	transition:opacity .22s ease;
}
.search-modal-open{overflow:hidden}
.search-modal-open .search-modal{opacity:1}
.search-modal__dialog{
	position:relative;
	width:min(920px,100%);
	margin-inline:auto;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.75);
	border-radius:26px;
	background:#fff;
	box-shadow:0 30px 90px rgba(17,3,52,.24);
	transform:translateY(-16px);
	transition:transform .22s ease;
}
.search-modal-open .search-modal__dialog{transform:translateY(0)}
.search-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,40px) clamp(22px,5vw,48px) 20px}
.search-modal__eyebrow{display:block;margin-bottom:5px;color:var(--color-accent-dark);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.search-modal h2{margin:0;font-size:clamp(1.7rem,4vw,2.65rem)}
.search-modal__close{display:grid;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--color-bg-purple);place-items:center;color:var(--color-primary);cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-base)}
.search-modal__close:hover{background:var(--color-primary);color:#fff;transform:rotate(5deg)}
.search-modal__form{padding:0 clamp(22px,5vw,48px) 24px}
.search-modal__field{position:relative;display:flex;align-items:center}
.search-modal__field>i{position:absolute;left:20px;color:var(--color-primary);pointer-events:none}
.search-modal__field input{width:100%;height:62px;padding:0 145px 0 52px;border:1px solid #dcd4e8;border-radius:16px;background:#fbfaff;color:var(--color-heading);font-size:1rem}
.search-modal__field input:focus{border-color:var(--color-primary);outline:3px solid rgba(53,16,140,.1)}
.search-modal__field button{position:absolute;right:7px;min-height:48px;padding:12px 20px;border:0;border-radius:12px;background:var(--color-primary);color:#fff;font-weight:700;cursor:pointer}
.search-modal__hint{margin:10px 2px 0;color:var(--color-muted);font-size:.68rem}
.search-modal__results{min-height:124px;max-height:min(54vh,520px);overflow-y:auto;border-top:1px solid var(--color-border-light);background:var(--color-bg-soft)}
.search-result-count{padding:17px clamp(18px,4vw,36px) 0;color:var(--color-muted);font-size:.7rem}.search-result-count strong{color:var(--color-heading)}
.search-start,.search-empty{display:flex;min-height:124px;align-items:center;justify-content:center;gap:14px;padding:28px;text-align:left}
.search-start>i,.search-empty>i{display:grid;width:44px;height:44px;flex:none;border-radius:13px;background:var(--color-accent-light);place-items:center;color:var(--color-accent-dark)}
.search-start strong,.search-empty strong{display:block;color:var(--color-heading)}
.search-start p,.search-empty p{margin:3px 0 0;color:var(--color-muted);font-size:.76rem}
.search-empty{display:block;text-align:center}
.search-empty>i{margin:0 auto 12px}
.search-loading{display:flex;min-height:124px;align-items:center;justify-content:center;gap:7px}
.search-loading span{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:search-pulse .8s ease-in-out infinite alternate}
.search-loading span:nth-child(2){animation-delay:.15s}.search-loading span:nth-child(3){animation-delay:.3s}
@keyframes search-pulse{to{opacity:.3;transform:translateY(-5px)}}
.search-skeleton{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:26px clamp(18px,4vw,36px)}
.search-skeleton span{height:78px;border-radius:14px;background:linear-gradient(90deg,#eee9f4 20%,#faf8fc 40%,#eee9f4 60%);background-size:250% 100%;animation:search-shimmer 1.2s linear infinite}
@keyframes search-shimmer{to{background-position:-250% 0}}
.search-suggestion-group{padding:22px clamp(18px,4vw,36px) 8px}
.search-suggestion-group h3{margin:0 0 10px;color:var(--color-muted);font-family:var(--font-primary);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}
.search-recommendation-note{margin:-4px 0 12px;color:var(--color-text-light);font-size:.72rem}
.search-suggestion-group--recommended{background:linear-gradient(90deg,rgba(255,106,33,.06),transparent)}
.search-suggestion-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.search-suggestion{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:13px;min-width:0;padding:10px;border:1px solid transparent;border-radius:14px;background:#fff;color:var(--color-heading);transition:border-color var(--transition-base),transform var(--transition-base)}
.search-suggestion:hover{border-color:#d9cde8;transform:translateY(-2px)}
.search-suggestion__image{display:grid;overflow:hidden;width:58px;aspect-ratio:1;border-radius:11px;background:var(--color-bg-purple);place-items:center;color:var(--color-primary)}
.search-suggestion__image img{width:100%;height:100%;padding:3px;object-fit:contain}
.search-suggestion__copy{display:block;min-width:0}
.search-suggestion__copy small{display:block;color:var(--color-accent-dark);font-size:.58rem;font-weight:700;text-transform:uppercase}
.search-suggestion__copy strong{display:block;overflow:hidden;margin:2px 0;color:var(--color-heading);font-family:var(--font-heading);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.search-suggestion__copy>span{display:block;color:var(--color-muted);font-size:.67rem}
.search-suggestion>i{color:var(--color-primary);font-size:.68rem}
.search-view-all{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px clamp(18px,4vw,36px) 26px;padding:14px;border-radius:12px;background:var(--color-primary);color:#fff;font-size:.76rem;font-weight:700}
.search-view-all:hover{background:var(--color-primary-dark);color:#fff}
@media(max-width:680px){
	.search-modal{padding:10px}
	.search-modal__dialog{border-radius:20px}
	.search-modal__head{padding:22px 18px 16px}
	.search-modal__form{padding:0 18px 18px}
	.search-modal__field input{height:58px;padding-right:54px}
	.search-modal__field button{right:6px;width:44px;padding:0;font-size:0}
	.search-modal__field button::after{font-family:"Font Awesome 6 Free";font-size:.8rem;font-weight:900;content:"\f002"}
	.search-suggestion-group>div{grid-template-columns:1fr}
	.search-skeleton{grid-template-columns:1fr}
	.search-modal__results{max-height:58vh}
}
@media(prefers-reduced-motion:reduce){.search-modal,.search-modal__dialog,.search-modal__close,.search-suggestion{transition:none}.search-loading span{animation:none}}
