/*!
 * Standardized Hero Search Bar – Documentation / Knowledge Base
 * Clean, minimal: one input with search icon inside on the left (decorative only). No Search button.
 * Use classes: .ikbase-hero-search, .ikbase-hero-search-bar, .ikbase-hero-search-icon
 */

:root {
	--ikbase-hero-search-bg: #F8FAFC;
	--ikbase-hero-search-border: #E2E8F0;
	--ikbase-hero-search-border-hover: #CBD5E1;
	--ikbase-hero-search-border-focus: #2563EB;
	--ikbase-hero-search-focus-ring: rgba(37, 99, 235, 0.12);
	--ikbase-hero-search-text: #0F172A;
	--ikbase-hero-search-placeholder: #94A3B8;
	--ikbase-hero-search-icon: #94A3B8;
}

/* Container: full-width within max, center-aligned */
.ikbase-hero-search {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.ikbase-hero-search-form {
	width: 100%;
}

/* Bar: looks like a single input; icon is inside on the left (decorative). Height 48–52px, medium rounded. */
.ikbase-hero-search-bar {
	position: relative;
	display: flex;
	align-items: center;
	height: 50px;
	min-height: 48px;
	max-height: 52px;
	background: var(--ikbase-hero-search-bg);
	border: 1px solid var(--ikbase-hero-search-border);
	border-radius: 8px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ikbase-hero-search-bar:hover {
	border-color: var(--ikbase-hero-search-border-hover);
}

.ikbase-hero-search-bar:focus-within {
	border: 1px solid var(--ikbase-hero-search-border-focus);
	box-shadow: 0 0 0 3px var(--ikbase-hero-search-focus-ring);
	outline: none;
}

/* Icon: inside the input on the left, decorative only, muted gray (#94A3B8) */
.ikbase-hero-search-icon {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ikbase-hero-search-icon);
	pointer-events: none;
	z-index: 0;
}

.ikbase-hero-search-icon .dashicons {
	font-size: 20px;
	width: 20px;
	height: 20px;
}

/* Input: full width, padding-left so text doesn’t overlap icon inside */
.ikbase-hero-search-bar input[type="search"],
.ikbase-hero-search-bar input[type="text"],
.ikbase-hero-search-input,
.ikbase-hero-search-bar .ikbase-search-input {
	flex: 1;
	min-width: 0;
	height: 100%;
	min-height: 48px;
	padding: 12px 16px 12px 44px;
	margin: 0;
	border: none;
	background: transparent;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--ikbase-hero-search-text);
	box-shadow: none;
	outline: none;
	transition: color 0.2s ease;
	position: relative;
	z-index: 1;
}

.ikbase-hero-search-bar input::placeholder {
	color: var(--ikbase-hero-search-placeholder);
}

/* No layout shift on focus */
.ikbase-hero-search-bar input:focus {
	outline: none;
}

/* No Search button: clean documentation look; submit on Enter via form */
.ikbase-hero-search-bar .ikbase-hero-search-button,
.ikbase-hero-search-bar .ikbase-search-button,
.ikbase-hero-search-bar .ikbase-search-submit {
	display: none !important;
}

/* Legacy: when form has no .ikbase-hero-search-bar, style the wrapper so input still gets standard look */
.ikbase-hero-search .ikbase-search-wrapper:not(.ikbase-hero-search-bar) {
	display: flex;
	align-items: center;
	height: 50px;
	min-height: 48px;
	max-height: 52px;
	background: var(--ikbase-hero-search-bg);
	border: 1px solid var(--ikbase-hero-search-border);
	border-radius: 8px;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ikbase-hero-search .ikbase-search-wrapper:hover {
	border-color: var(--ikbase-hero-search-border-hover);
}

.ikbase-hero-search .ikbase-search-wrapper:focus-within {
	border: 1px solid var(--ikbase-hero-search-border-focus);
	box-shadow: 0 0 0 3px var(--ikbase-hero-search-focus-ring);
}

.ikbase-hero-search .ikbase-search-wrapper input {
	background: transparent !important;
	border: none !important;
	font-size: 15px !important;
	color: var(--ikbase-hero-search-text) !important;
	padding-left: 44px !important;
	min-height: 48px !important;
}

.ikbase-hero-search .ikbase-search-wrapper input::placeholder {
	color: var(--ikbase-hero-search-placeholder) !important;
}

/* Accessibility: clear focus indication (keyboard-friendly). No layout shift. */
.ikbase-hero-search-bar input:focus-visible,
.ikbase-hero-search .ikbase-search-wrapper input:focus-visible {
	outline: none;
}

/* Override global search-style selector so hero search always uses this standard */
.ikbase-hero-search .ikbase-hero-search-bar input,
.ikbase-hero-search .ikbase-hero-search-bar .ikbase-hero-search-input,
.ikbase-hero-search .ikbase-search-wrapper.ikbase-hero-search-bar input {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
