/* body-right(min-height) 안에서 히어로가 남은 높이를 채우도록 */
.body-right:has(.rp-home-hero) {
	display: flex;
	flex-direction: column;
}

.rp-home-hero {
	position: relative;
	flex: 1 1 auto;
	align-self: stretch;
	width: 100%;
	min-height: 100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 72px 20px 80px;
	background: var(--rp-page);
	color: var(--rp-text);
	overflow: hidden;
}

.rp-home-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(
			ellipse 80% 50% at 50% 0%,
			color-mix(in srgb, var(--rp-secondary) 18%, transparent),
			transparent 60%
		),
		radial-gradient(
			ellipse 40% 30% at 80% 80%,
			color-mix(in srgb, var(--rp-secondary) 8%, transparent),
			transparent 55%
		);
	pointer-events: none;
}

.rp-home-hero__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

.rp-home-hero__title {
	margin: 0 0 18px;
	font-size: clamp(26px, 4.2vw, 44px);
	font-weight: var(--fw-700, 700);
	line-height: 1.35;
	letter-spacing: -0.04em;
	color: var(--rp-text);
}

.rp-home-hero__sub {
	margin: 0 0 36px;
	font-size: clamp(14px, 1.6vw, 17px);
	line-height: 1.6;
	color: var(--rp-text-muted);
}

.rp-home-hero__search {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
	padding: 6px 6px 6px 20px;
	border: 1.5px solid var(--rp-secondary);
	border-radius: var(--rp-radius-card-lg, 16px);
	background: var(--rp-surface-glass-strong);
	box-shadow: var(--rp-shadow-sm);
}

.rp-home-hero__search .rp-home-hero__icon {
	flex-shrink: 0;
	margin-right: 10px;
	font-size: 20px;
	color: var(--rp-text);
}

.rp-home-hero__search input {
	flex: 1;
	min-width: 0;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--rp-text);
	font-size: 16px;
	outline: none;
}

.rp-home-hero__search input::placeholder {
	color: var(--rp-text-muted);
}

.rp-home-hero__search input:focus {
	outline: none;
}

.rp-home-hero__search:focus-within {
	box-shadow: var(--rp-input-shadow);
}

.rp-home-hero__search button {
	flex-shrink: 0;
	height: 48px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--rp-radius-medium, 8px);
	background: var(--rp-secondary);
	color: var(--rp-on-brand);
	font-size: 16px;
	font-weight: var(--fw-700, 700);
	cursor: pointer;
	transition: background-color var(--rp-transition), filter var(--rp-transition);
}

.rp-home-hero__search button:hover {
	background: var(--rp-gradient-end);
	filter: brightness(1.04);
}

.rp-home-hero__search button:disabled {
	opacity: 0.7;
	cursor: wait;
}

.rp-home-hero__hint {
	margin: 16px 0 0;
	font-size: 13px;
	color: var(--rp-text-subtle);
}

@media (max-width: 640px) {
	.rp-home-hero {
		padding: 48px 16px 56px;
	}

	.rp-home-hero__search {
		padding: 5px 5px 5px 14px;
	}

	.rp-home-hero__search input {
		height: 44px;
		font-size: 14px;
	}

	.rp-home-hero__search button {
		height: 44px;
		padding: 0 16px;
		font-size: 14px;
	}
}
