/* Mastek site search — header-safe styling. Scoped to .msk-search-* only. */

.msk-search-item{
	position:relative;
	display:flex;
	align-items:center;
	list-style:none;
}

/* Toggle (magnifier) button */
.msk-search-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;height:38px;
	padding:0;margin:0 .35rem 0 0;
	border:1px solid rgba(0,0,0,.12);
	border-radius:50%;
	background:transparent;
	color:#1f2a44;
	cursor:pointer;
	transition:background .15s ease,color .15s ease,border-color .15s ease;
}
/* Higher specificity + !important: the Astra theme forces
   `button:hover{background:transparent!important;color:#fff}`, which would
   otherwise make this icon a white glyph on a white header (invisible). */
.msk-search-item .msk-search-toggle:hover,
.msk-search-item .msk-search-toggle:focus,
.msk-search-item.is-open .msk-search-toggle{
	background:#8f18cf !important;
	border-color:#8f18cf !important;
	color:#fff !important;
}
.msk-search-item .msk-search-toggle svg{ stroke:currentColor; }
.msk-search-item .msk-search-toggle:hover svg,
.msk-search-item .msk-search-toggle:focus svg,
.msk-search-item.is-open .msk-search-toggle svg{ stroke:#fff !important; }

/* Dropdown panel */
.msk-search-panel{
	position:absolute;
	top:calc(100% + 12px);
	right:0;
	width:380px;max-width:92vw;
	background:#fff;
	border:1px solid #e6e6ef;
	border-radius:12px;
	box-shadow:0 18px 50px rgba(20,20,60,.18);
	padding:12px;
	z-index:2000;
	transform-origin:top right;
	/* closed state — animates open via .is-open below */
	opacity:0;
	visibility:hidden;
	transform:translateY(-12px) scale(.98);
	pointer-events:none;
	transition:opacity .24s ease, transform .24s cubic-bezier(.22,1,.36,1), visibility .24s;
}
.msk-search-item.is-open .msk-search-panel{
	opacity:1;
	visibility:visible;
	transform:translateY(0) scale(1);
	pointer-events:auto;
}
/* small caret pointing up to the icon */
.msk-search-panel::before{
	content:"";position:absolute;top:-7px;right:14px;
	width:12px;height:12px;background:#fff;
	border-left:1px solid #e6e6ef;border-top:1px solid #e6e6ef;
	transform:rotate(45deg);border-radius:2px 0 0 0;
}
@media (prefers-reduced-motion:reduce){
	.msk-search-panel{transition:opacity .01s linear, visibility .01s;}
}

/* Search form row */
.msk-search-form{
	display:flex;
	align-items:center;
	gap:8px;
	border:1px solid #d9d9e6;
	border-radius:9px;
	padding:8px 10px;
	background:#f7f7fb;
}
.msk-search-form:focus-within{
	border-color:#8f18cf;
	background:#fff;
	box-shadow:0 0 0 3px rgba(143,24,207,.12);
}
.msk-search-ico{display:inline-flex;color:#8f18cf;flex:0 0 auto;}
.msk-search-input{
	flex:1 1 auto;
	border:0;outline:0;background:transparent;
	font-size:15px;line-height:1.3;color:#1f2a44;
	min-width:0;padding:2px 0;
}
.msk-search-close{
	border:0;background:transparent;color:#8a8aa0;
	cursor:pointer;display:inline-flex;padding:2px;border-radius:6px;flex:0 0 auto;
}
.msk-search-close:hover{color:#1f2a44;background:#ececf5;}

/* Results */
.msk-search-results{margin-top:8px;}
.msk-search-results:not(.has-results){display:none;}
.msk-search-list{list-style:none;margin:0;padding:0;max-height:52vh;overflow:auto;}
.msk-search-list li{margin:0;padding:0;border-bottom:1px solid #f0f0f6;}
.msk-search-list li:last-child{border-bottom:0;}
.msk-search-list a{
	display:block;padding:10px 8px;text-decoration:none;border-radius:8px;color:inherit;
}
.msk-search-list a:hover{background:#f6f1fb;}
.msk-r-title{
	display:block;font-weight:600;font-size:14.5px;color:#1f2a44;line-height:1.3;
}
.msk-r-type{
	font-style:normal;font-size:10.5px;font-weight:600;text-transform:uppercase;
	letter-spacing:.04em;color:#8f18cf;background:#f3e8fb;
	padding:1px 7px;border-radius:999px;margin-left:6px;vertical-align:middle;
}
.msk-r-snip{
	display:block;font-size:12.5px;color:#5a5a70;line-height:1.45;margin-top:2px;
}
.msk-r-snip mark,.msk-search-list mark{background:#fff2a8;color:inherit;padding:0 1px;border-radius:2px;}
.msk-search-all{
	display:block;margin-top:8px;padding:9px;text-align:center;
	font-size:13px;font-weight:600;color:#8f18cf;text-decoration:none;
	border-top:1px solid #f0f0f6;border-radius:0 0 8px 8px;
}
.msk-search-all:hover{background:#f6f1fb;}
.msk-search-loading,.msk-search-empty{
	padding:14px 8px;font-size:13px;color:#6a6a80;text-align:center;
}

/* Full results page (search.php) */
#msk-search-results{display:block;width:100%;max-width:none;margin:0;padding:0;float:none;background:#f7f8fc;color:#1f2a44;}
#msk-search-results .msk-results-inner{max-width:960px;margin:0 auto;padding:0 20px;box-sizing:border-box;}

/* Top band: clears the fixed site header */
#msk-search-results .msk-results-hero{background:#F5F8FF;border-bottom:1px solid #e3e8f5;color:#1f2a44;padding:40px 0 40px;}
#msk-search-results .msk-results-hero h1{font-size:36px;line-height:1.2;font-weight:500;margin:0 0 20px;color:#2F3E70;}
#msk-search-results .msk-results-form{display:flex;gap:10px;margin:0;width:100%;max-width:none;}
#msk-search-results .msk-results-form input[type=search]{
	flex:1;min-width:0;height:52px;border:0;border-radius:10px;padding:0 18px;font-size:16px;outline:0;
	background:#fff;color:#1f2a44;border:1px solid #d6dcec;box-shadow:0 4px 14px rgba(47,62,112,.08);
}
#msk-search-results .msk-results-form input[type=search]:focus{border-color:#8D17CC;box-shadow:0 0 0 3px rgba(141,23,204,.15);}
#msk-search-results .msk-results-form button{
	height:52px;border:0;background:#2F3E70;color:#fff;font-size:16px;font-weight:600;border-radius:10px;padding:0 28px;cursor:pointer;
	transition:background .2s ease;
}
#msk-search-results .msk-results-form button,
#msk-search-results .msk-results-form button:focus{background:#2F3E70 !important;background-color:#2F3E70 !important;color:#fff !important;border:0 !important;}
#msk-search-results .msk-results-form button:hover,
#msk-search-results .msk-results-form button:active,
#msk-search-results .msk-results-form button:focus-visible{background:#8D17CC !important;background-color:#8D17CC !important;color:#fff !important;}
#msk-search-results .msk-results-hero .msk-results-meta{margin:16px 0 0;font-size:15px;color:#4a4a60;}
#msk-search-results .msk-results-hero .msk-results-meta strong{color:#2F3E70;}
#msk-search-results .msk-results-page{color:#6a6a80;}

/* Result cards */
#msk-search-results .msk-results-body{padding-top:36px;padding-bottom:72px;}
#msk-search-results .msk-results-list{list-style:none;margin:0;padding:0;display:grid;gap:16px;}
#msk-search-results .msk-results-list li.msk-res-card{
	position:relative;margin:0;padding:22px 24px;background:#fff;border:1px solid #e8e9f2;border-radius:12px;
	box-shadow:0 2px 8px rgba(31,42,68,.04);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;
}
#msk-search-results .msk-results-list li.msk-res-card:hover{border-color:#d9c3ee;box-shadow:0 8px 24px rgba(31,42,68,.08);transform:translateY(-1px);}
#msk-search-results .msk-res-type{
	display:inline-block;margin:0 0 10px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;
	text-transform:uppercase;background:#f3eafb;color:#8f18cf;
}
#msk-search-results .msk-res-type--post{background:#e8f0ff;color:#2453c7;}
#msk-search-results .msk-res-type--resources{background:#e7f6ef;color:#1f7a4d;}
#msk-search-results .msk-res-type--event_list{background:#fff3e3;color:#b4630a;}
#msk-search-results .msk-res-type--press-releases{background:#eef0f4;color:#4a5068;}
#msk-search-results .msk-results-list h2{font-size:20px;font-weight:500;margin:0 0 4px;line-height:1.35;}
#msk-search-results .msk-results-list h2 a{color:#1f2a44;text-decoration:none;}
#msk-search-results .msk-results-list h2 a::after{content:"";position:absolute;inset:0;border-radius:12px;} /* whole card clickable */
#msk-search-results .msk-results-list li.msk-res-card:hover h2 a{color:#8f18cf;}
#msk-search-results .msk-results-list .msk-res-url{display:block;font-size:13px;color:#6a6a80;margin:0 0 10px;word-break:break-word;}
#msk-search-results .msk-results-list .msk-res-snip{font-size:15px;color:#4a4a60;line-height:1.6;margin:0;}
#msk-search-results .msk-results-list mark{background:#fff2a8;color:inherit;padding:0 2px;border-radius:2px;}
#msk-search-results .msk-res-more{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:#8f18cf;text-decoration:none;}
#msk-search-results .msk-results-list li.msk-res-card:hover .msk-res-more span{margin-left:4px;}
#msk-search-results .msk-res-more span{transition:margin .2s ease;}

/* Pagination */
#msk-search-results .msk-results-pagination{margin:40px 0 0;}
#msk-search-results .msk-results-pagination .screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
#msk-search-results .msk-results-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;}
#msk-search-results .msk-results-pagination .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;box-sizing:border-box;
	border:1px solid #e1e2ec;border-radius:10px;background:#fff;color:#1f2a44;font-size:15px;font-weight:500;text-decoration:none;
	transition:all .2s ease;
}
#msk-search-results .msk-results-pagination a.page-numbers:hover{border-color:#8f18cf;color:#8f18cf;}
#msk-search-results .msk-results-pagination .page-numbers.current{background:#8f18cf;border-color:#8f18cf;color:#fff;}
#msk-search-results .msk-results-pagination .page-numbers.dots{border:0;background:none;min-width:auto;padding:0 4px;}
#msk-search-results .msk-results-pagination .prev,#msk-search-results .msk-results-pagination .next{padding:0 16px;gap:6px;}

/* Empty state */
#msk-search-results .msk-results-empty{padding:48px 24px;text-align:center;background:#fff;border:1px dashed #d9d9e6;border-radius:12px;}
#msk-search-results .msk-results-empty h2{font-size:22px;margin:0 0 8px;color:#1f2a44;}
#msk-search-results .msk-results-empty p{margin:0;color:#5a5a70;font-size:15px;}

@media (max-width:991px){
	#msk-search-results .msk-results-hero{padding:40px 0 40px;}
	#msk-search-results .msk-results-hero h1{font-size:28px;margin-bottom:16px;}
}
@media (max-width:575px){
	#msk-search-results .msk-results-form button{padding:0 18px;}
	#msk-search-results .msk-results-list li.msk-res-card{padding:18px;}
	#msk-search-results .msk-results-list h2{font-size:18px;}
	#msk-search-results .msk-results-pagination .prev,#msk-search-results .msk-results-pagination .next{font-size:0;padding:0 14px;} /* arrows only */
	#msk-search-results .msk-results-pagination .prev span,#msk-search-results .msk-results-pagination .next span{font-size:16px;}
}

/* Results page doesn't load clean.css (other templates link it), whose global a{text-decoration:none}
   keeps footer links plain; restore that here. */
body.search .site-footer a,body.search .site-footer a:hover{text-decoration:none !important;}

/* Show the desktop instance on lg+, the mobile instance below lg. */
@media (min-width:992px){
	.msk-search-item--mobile{display:none !important;}
}
@media (max-width:991px){
	.msk-search-item--desktop{display:none !important;}
	.msk-search-panel{position:fixed;left:12px;right:12px;width:auto;top:70px;}
	.msk-search-panel::before{display:none;} /* no caret on the full-width mobile panel */
}
