/* ===== INNER PAGE HERO BANNER (extends under transparent header) ===== */
.wa-inner-page .wa-page-hero {
	position: relative;
	margin-top: 0;
	min-height: 340px;
	padding: calc(var(--wa-site-header-offset) + 48px) 0 64px;
	display: flex;
	align-items: center;
	overflow: hidden;
	text-align: center;
	isolation: isolate;
	background-color: var(--wa-navy);
}

.wa-inner-page .wa-page-hero--booking {
	min-height: 320px;
	padding-bottom: 56px;
}

body.admin-bar.wa-inner-page .wa-page-hero {
	padding-top: calc(32px + var(--wa-site-header-offset) + 48px);
}

@media (max-width: 782px) {
	body.admin-bar.wa-inner-page .wa-page-hero {
		padding-top: calc(46px + var(--wa-site-header-offset) + 48px);
	}
}

.wa-page-hero-bg {
	position: absolute;
	inset: 0;
	background-image: var(--wa-page-hero-image);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1.02);
	z-index: 0;
}

.wa-page-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		135deg,
		rgba(11, 20, 35, 0.88) 0%,
		rgba(11, 20, 35, 0.72) 45%,
		rgba(42, 140, 207, 0.35) 100%
	);
}

.wa-page-hero-inner {
	position: relative;
	z-index: 2;
}

.wa-page-hero-eyebrow {
	display: inline-block;
	margin-bottom: 14px;
	padding: 8px 16px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wa-blue-light);
	background: rgba(94, 200, 237, 0.12);
	border: 1px solid rgba(94, 200, 237, 0.28);
	border-radius: 50px;
}

.wa-page-hero-title {
	margin: 0;
	font-family: var(--wa-font-heading);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 800;
	line-height: 1.15;
	color: #ffffff;
	text-shadow: 0 2px 24px rgba(11, 20, 35, 0.45);
}

.wa-page-hero-desc {
	max-width: 680px;
	margin: 16px auto 0;
	font-size: clamp(1rem, 2vw, 1.15rem);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.88);
}

.wa-page-hero .wa-breadcrumbs {
	margin-top: 18px;
	color: rgba(255, 255, 255, 0.75);
}

.wa-page-hero .wa-breadcrumbs a {
	color: var(--wa-blue-light);
	transition: color 0.2s ease;
}

.wa-page-hero .wa-breadcrumbs a:hover {
	color: #ffffff;
}

.wa-page-hero .wa-breadcrumb-sep {
	opacity: 0.45;
}

/* ===== INNER PAGE CONTENT ===== */
.wa-inner-page .wa-content-area {
	padding: 64px 0 80px;
}

.wa-page-card {
	padding: 40px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(94, 200, 237, 0.12);
	border-radius: var(--wa-radius-lg);
	box-shadow: var(--wa-shadow);
}

.wa-page-featured {
	margin: -20px 0 32px;
	border-radius: var(--wa-radius-lg);
	overflow: hidden;
	box-shadow: var(--wa-shadow);
}

.wa-page-featured img {
	display: block;
	width: 100%;
	height: auto;
}

.wa-entry-content > *:first-child {
	margin-top: 0;
}

.wa-entry-content h2 {
	margin-top: 2em;
	margin-bottom: 0.75em;
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.wa-entry-content h3 {
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}

.wa-entry-content ul,
.wa-entry-content ol {
	padding-left: 1.25em;
	margin: 1em 0 1.5em;
}

.wa-entry-content li {
	margin-bottom: 0.5em;
}

.wa-entry-content a {
	color: var(--wa-blue-light);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wa-entry-content a:hover {
	color: var(--wa-blue);
}

/* ===== ABOUT PAGE ===== */
.wa-about-page-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin: 48px 0 0;
}

.wa-about-stat-card {
	padding: 28px 20px;
	text-align: center;
	background: rgba(94, 200, 237, 0.08);
	border: 1px solid rgba(94, 200, 237, 0.18);
	border-radius: var(--wa-radius-lg);
}

.wa-about-stat-card strong {
	display: block;
	font-family: var(--wa-font-heading);
	font-size: 2rem;
	font-weight: 800;
	background: var(--wa-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.wa-about-stat-card span {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	color: var(--wa-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* ===== CONTACT PAGE ===== */
.wa-contact-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 48px;
}

.wa-contact-card {
	padding: 28px 22px;
	text-align: center;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(94, 200, 237, 0.14);
	border-radius: var(--wa-radius-lg);
	transition: transform 0.25s ease, border-color 0.25s ease;
}

.wa-contact-card:hover {
	transform: translateY(-4px);
	border-color: rgba(94, 200, 237, 0.35);
}

.wa-contact-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 16px;
	font-size: 20px;
	color: var(--wa-blue-light);
	background: rgba(94, 200, 237, 0.12);
	border-radius: 50%;
}

.wa-contact-card h3 {
	margin: 0 0 8px;
	font-size: 1rem;
}

.wa-contact-card p,
.wa-contact-card a {
	margin: 0;
	font-size: 15px;
	color: var(--wa-text-muted);
	line-height: 1.6;
}

.wa-contact-card a {
	color: var(--wa-blue-light);
	font-weight: 600;
}

.wa-contact-form-wrap {
	padding: 40px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(94, 200, 237, 0.12);
	border-radius: var(--wa-radius-lg);
}

.wa-contact-form-wrap h2 {
	margin-top: 0;
}

.wa-contact-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 24px;
	max-width: none;
}

.wa-contact-form-inner .wpcf7 form {
	margin-top: 8px;
}

.wa-contact-form-inner .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	border-radius: var(--wa-radius);
	font-size: 14px;
}

.wa-contact-form-inner .wpcf7 form.sent .wpcf7-response-output {
	border-color: rgba(94, 200, 237, 0.45);
	background: rgba(94, 200, 237, 0.1);
	color: var(--wa-blue-light);
}

.wa-contact-form-inner .wpcf7 form.invalid .wpcf7-response-output,
.wa-contact-form-inner .wpcf7 form.failed .wpcf7-response-output {
	border-color: rgba(255, 193, 7, 0.45);
	background: rgba(255, 193, 7, 0.1);
}

.wa-contact-form .required {
	color: var(--wa-blue-light);
}

/* ===== SINGLE SERVICE / FLEET ===== */
.wa-single-service,
.wa-single-fleet {
	margin-bottom: 0;
}

.wa-single-service-grid,
.wa-single-fleet-grid {
	display: grid;
	grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	padding: 40px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(94, 200, 237, 0.12);
	border-radius: var(--wa-radius-lg);
	box-shadow: var(--wa-shadow);
}

.wa-single-service-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	padding: 32px;
	background: linear-gradient(135deg, var(--wa-navy-mid), rgba(42, 140, 207, 0.15));
	border-radius: var(--wa-radius-lg);
	overflow: hidden;
}

.wa-single-service-icon img {
	width: 100%;
	height: auto;
	border-radius: var(--wa-radius);
}

.wa-single-service-icon i {
	font-size: 4rem;
	color: var(--wa-blue-light);
}

.wa-single-service-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 32px;
}

.wa-single-fleet-image img {
	width: 100%;
	height: auto;
	border-radius: var(--wa-radius-lg);
}

.wa-fleet-meta-lg {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(94, 200, 237, 0.12);
}

.wa-fleet-meta-lg span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	color: var(--wa-text);
}

/* ===== ARCHIVE PAGES ===== */
.wa-services-section,
.wa-fleet-section {
	padding-top: 72px;
}

.wa-fleet-section .wa-pagination {
	padding-bottom: 8px;
}

@media (max-width: 768px) {
	.wa-pagination {
		margin-top: 40px;
		padding-top: 28px;
	}

	.wa-pagination-list {
		gap: 8px;
	}

	.wa-pagination-item a,
	.wa-pagination-item span {
		min-width: 42px;
		height: 42px;
		padding: 0 12px;
		font-size: 13px;
	}

	.wa-pagination-item.is-prev a,
	.wa-pagination-item.is-next a {
		min-width: 42px;
	}
}

.wa-inner-page .wa-booking-section.wa-booking-page {
	margin-top: 0;
	padding-top: 72px;
}

/* ===== 404 ===== */
.wa-error-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 32px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
	.wa-about-page-stats,
	.wa-contact-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.wa-single-service-grid,
	.wa-single-fleet-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.wa-inner-page .wa-page-hero {
		min-height: 300px;
		padding-top: calc(var(--wa-site-header-offset) + 40px);
		padding-bottom: 48px;
	}

	.wa-page-card,
	.wa-contact-form-wrap,
	.wa-single-service-grid,
	.wa-single-fleet-grid {
		padding: 24px 20px;
	}

	.wa-about-page-stats,
	.wa-contact-grid {
		grid-template-columns: 1fr;
	}

	.wa-inner-page .wa-content-area {
		padding: 48px 0 64px;
	}
}
