/* Oasis home page hero. Loaded only on the front page, see
   oasis_enqueue_assets(). Every other home page section is built from
   shared template parts and styled in main.css. */

.oasis-hero-full {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(600px, 85vh, 820px);
	margin: 20px 0 0;
	padding: 3.5rem 0 4rem;
	overflow: hidden;
	border-radius: 28px 28px 0 0;
}

.oasis-hero-full__media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 0;
}

img.oasis-hero-full__media {
	object-fit: cover;
}

/*
 * Left-to-right scrim: the headline, lead paragraph and buttons all sit in
 * the left column over a busy factory photo, so the darkening is weighted
 * there and fades out to the right where the white quote card already
 * provides its own contrast. A second, softer top-to-bottom pass keeps the
 * trust row at the bottom edge readable. Mobile overrides this below,
 * where the text is centred and full width instead.
 */
.oasis-hero-full__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(4, 21, 43, 0.88) 0%,
			rgba(4, 21, 43, 0.78) 30%,
			rgba(4, 21, 43, 0.45) 55%,
			rgba(4, 21, 43, 0.15) 78%,
			rgba(4, 21, 43, 0.05) 100%
		),
		linear-gradient(180deg, rgba(4, 21, 43, 0) 55%, rgba(4, 21, 43, 0.35) 100%);
}

/*
 * Single column for now: the quote-form card that used to fill a second
 * column is deliberately left out (a cover photo is coming for that spot
 * instead), see front-page.php. Revisit this grid once that image is in.
 */
.oasis-hero-full__content {
	position: relative;
	z-index: 2;
	width: 100%;
}

.oasis-hero-full__text h1 {
	color: var(--oasis-white);
	max-width: 20ch;
}

.oasis-hero-full__text p {
	color: rgba(255, 255, 255, 0.82);
	max-width: 52ch;
}

.oasis-hero-full__actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}

.oasis-hero-full__actions .oasis-btn--primary {
	background: var(--oasis-accent);
	border-color: var(--oasis-accent);
}

.oasis-hero-full__actions .oasis-btn--primary::after {
	background: var(--oasis-navy);
}

.oasis-hero-full__actions .oasis-btn--primary:hover {
	border-color: var(--oasis-white);
}

.oasis-hero-full__actions .oasis-btn--outline {
	color: var(--oasis-white);
	border-color: rgba(255, 255, 255, 0.5);
}

.oasis-hero-full__actions .oasis-btn--outline::after {
	background: var(--oasis-white);
	color: var(--oasis-navy);
}

.oasis-hero-full__actions .oasis-btn--outline:hover {
	border-color: var(--oasis-white);
}

.oasis-hero-full__trust {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 2rem;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9rem;
}

.oasis-hero-full__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
}

/* Short label always visible; the fuller phrase behind it only shows on
   hover/focus, see .oasis-hero-full__trust-tip below. Pure CSS, no JS. */
.oasis-hero-full__trust-item {
	position: relative;
	border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
	cursor: default;
}

.oasis-hero-full__trust-tip {
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	margin-bottom: 0.6rem;
	padding: 0.45rem 0.85rem;
	background: var(--oasis-white);
	color: var(--oasis-navy);
	font-size: 0.8rem;
	font-weight: 500;
	white-space: nowrap;
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
	z-index: 5;
}

.oasis-hero-full__trust-item:hover .oasis-hero-full__trust-tip,
.oasis-hero-full__trust-item:focus-visible .oasis-hero-full__trust-tip {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

@media (max-width: 900px) {
	.oasis-hero-full {
		align-items: flex-start;
		margin: 12px 0 0;
		padding: 2.5rem 0;
		border-radius: 20px 20px 0 0;
		min-height: auto;
	}

	/* Text is centred and full width here, so darken evenly top to bottom
	   instead of weighting one side. */
	.oasis-hero-full__scrim {
		background: linear-gradient(180deg, rgba(4, 21, 43, 0.55) 0%, rgba(4, 21, 43, 0.65) 55%, rgba(4, 21, 43, 0.8) 100%);
	}

	.oasis-hero-full__text {
		text-align: center;
	}

	.oasis-hero-full__text h1,
	.oasis-hero-full__text p {
		max-width: none;
	}

	.oasis-hero-full__actions,
	.oasis-hero-full__trust {
		justify-content: center;
	}

	.oasis-hero-full__trust {
		flex-wrap: wrap;
	}
}
