/* ==========================================================================
   ATWAM GROUP — Shared Components
   Buttons, Hero, Breadcrumbs, Conversation block, Service nav
   Version 1.3.0
   ========================================================================== */

/* Buttons */
.atwam-button,
.wp-block-button__link,
.main-navigation .menu-item.atwam-menu-cta > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: var(--atwam-radius-sm);
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}
.atwam-button:hover,
.wp-block-button__link:hover {
	transform: translateY(-2px);
}
.atwam-button--gold,
.atwam-button-primary .wp-block-button__link {
	color: var(--atwam-navy-deep);
	background: var(--atwam-gold-primary);
	border-color: var(--atwam-gold-primary);
}
.atwam-button--gold:hover,
.atwam-button-primary .wp-block-button__link:hover {
	color: var(--atwam-navy-deep);
	background: var(--atwam-gold-secondary);
	border-color: var(--atwam-gold-secondary);
}
.atwam-button-outline .wp-block-button__link {
	color: var(--atwam-white);
	background: transparent;
	border-color: rgba(255,255,255,.62);
}
.atwam-button-outline .wp-block-button__link:hover {
	color: var(--atwam-navy-deep);
	background: var(--atwam-white);
}
/* Outline-light: transparent bg, semi-transparent white border — for dark backgrounds */
.atwam-button--outline-light {
	color: var(--atwam-white);
	background: transparent;
	border-color: rgba(255,255,255,.35);
}
.atwam-button--outline-light:hover {
	color: var(--atwam-navy-deep);
	background: var(--atwam-white);
	border-color: var(--atwam-white);
}
/* Navy: solid deep-navy bg — for use on light/white backgrounds */
.atwam-button--navy {
	color: var(--atwam-white);
	background: var(--atwam-navy-deep);
	border-color: var(--atwam-navy-deep);
}
.atwam-button--navy:hover {
	color: var(--atwam-white);
	background: var(--atwam-navy-primary);
	border-color: var(--atwam-navy-primary);
}

/* Standard independent heroes (rendered by the plugin) */
.atwam-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--atwam-white);
	background: linear-gradient(120deg, var(--atwam-navy-deep), var(--atwam-navy-primary));
}
.atwam-hero--standard,
.atwam-hero--service {
	min-height: clamp(400px, 46vw, 500px);
}
.atwam-hero--project {
	min-height: clamp(470px, 58vw, 620px);
}
.atwam-hero__media,
.atwam-hero__media img,
.atwam-hero__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.atwam-hero__media {
	z-index: -3;
	display: block;
}
.atwam-hero__media img {
	object-fit: cover;
	object-position: var(--atwam-hero-focal, center center);
}
.atwam-hero__overlay {
	z-index: -2;
	background: linear-gradient(
		90deg,
		rgba(1, 22, 50, var(--atwam-hero-overlay, .78)) 0%,
		rgba(1, 22, 50, calc(var(--atwam-hero-overlay, .78) * .88)) 46%,
		rgba(1, 22, 50, .18) 100%
	);
}
.atwam-hero--project .atwam-hero__overlay {
	background: linear-gradient(
		0deg,
		rgba(1, 22, 50, var(--atwam-hero-overlay, .55)) 0%,
		rgba(1, 22, 50, .08) 75%
	);
}
.atwam-hero__inner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: inherit;
	padding-block: clamp(64px, 8vw, 100px);
}
.atwam-hero__content {
	max-width: 680px;
}
.atwam-hero h1 {
	margin: 0 0 18px;
	color: var(--atwam-white);
	text-wrap: balance;
}
.atwam-hero__subtitle {
	max-width: 630px;
	margin: 0 0 28px;
	color: rgba(255,255,255,.9);
	font-size: clamp(1.02rem, 1.6vw, 1.2rem);
	line-height: 1.7;
}
.atwam-hero__cta {
	margin-top: 4px;
}

/* Rank Math breadcrumb placement */
.atwam-breadcrumb-wrap {
	position: relative;
	z-index: 4;
	color: var(--atwam-body);
	background: var(--atwam-white);
	border-bottom: 1px solid var(--atwam-border);
}
.atwam-breadcrumb-wrap--above {
	border-top: 1px solid rgba(255,255,255,.08);
}
.atwam-breadcrumb-wrap--overlay {
	position: absolute;
	top: 22px;
	right: 0;
	left: 0;
	color: rgba(255,255,255,.82);
	background: transparent;
	border: 0;
}
.atwam-breadcrumb-wrap .rank-math-breadcrumb {
	padding-block: 13px;
	font-size: .85rem;
}
.atwam-breadcrumb-wrap--overlay .rank-math-breadcrumb {
	padding: 0;
}
.atwam-breadcrumb-wrap a {
	color: inherit;
	text-decoration: none;
}
.atwam-breadcrumb-wrap a:hover {
	color: var(--atwam-gold-primary);
}
.atwam-breadcrumb-wrap--overlay a,
.atwam-breadcrumb-wrap--overlay .last {
	color: rgba(255,255,255,.84);
}

/* Start the Conversation block */
.atwam-conversation {
	width: 100vw;
	max-width: none;
	margin: var(--atwam-section-space) 0 0 calc(50% - 50vw);
	padding-block: clamp(52px, 6vw, 76px);
	color: var(--atwam-white);
	background:
		linear-gradient(110deg, rgba(1,22,50,.98), rgba(7,29,73,.95)),
		var(--atwam-navy-deep);
}
.atwam-conversation__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}
.atwam-conversation__copy {
	max-width: 760px;
}
.atwam-conversation h2 {
	margin: 0 0 12px;
	color: var(--atwam-white);
}
.atwam-conversation p:last-child {
	margin-bottom: 0;
	color: rgba(255,255,255,.8);
	font-size: 1.06rem;
}

/* Service navigation */
.atwam-service-nav {
	width: 100vw;
	max-width: none;
	margin: var(--atwam-section-space) 0 0 calc(50% - 50vw);
	padding-block: clamp(48px, 6vw, 72px);
	background: var(--atwam-off-white);
}
.atwam-service-nav h2 {
	margin: 0 0 28px;
}
.atwam-service-nav ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.atwam-service-nav a {
	display: block;
	height: 100%;
	padding: 18px 20px;
	color: var(--atwam-heading);
	background: var(--atwam-white);
	border: 1px solid var(--atwam-border);
	border-radius: var(--atwam-radius-md);
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.atwam-service-nav a:hover {
	transform: translateY(-2px);
	border-color: var(--atwam-gold-primary);
	box-shadow: var(--atwam-shadow-sm);
}

/* Card types (light context — no dark-background assumption) */
.atwam-service-card,
.atwam-project-card,
.atwam-svc-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 26px;
	background: var(--atwam-white);
	border: 1px solid var(--atwam-border);
	border-radius: var(--atwam-radius-md);
	box-shadow: var(--atwam-shadow-sm);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.atwam-service-card:hover,
.atwam-project-card:hover,
.atwam-svc-card:hover {
	transform: translateY(-4px);
	border-color: var(--atwam-gold-primary);
	box-shadow: var(--atwam-shadow-md);
}
.atwam-service-number {
	color: var(--atwam-gold-primary);
	font-weight: 800;
	letter-spacing: .12em;
}
.atwam-service-link,
.atwam-svc-link a,
.atwam-text-link {
	margin-top: auto;
	color: var(--atwam-navy-primary);
	font-weight: 700;
	text-decoration: none;
}
.atwam-project-card {
	padding: 0;
}
.atwam-project-card figure {
	margin: 0;
}
.atwam-project-card img {
	width: 100%;
	height: 230px;
	object-fit: cover;
}
.atwam-project-card h3 {
	margin: 20px 24px 6px;
}
.atwam-project-location {
	margin: 0 24px 24px;
	color: var(--atwam-gold-primary);
	font-size: .82rem;
	font-weight: 700;
}

/* Shared section header */
.atwam-core-services-header,
.atwam-section-head,
.atwam-center-head {
	max-width: var(--atwam-text-width);
	margin: 0 auto 46px;
	text-align: center;
}

/* Shared grids */
.atwam-services-grid,
.atwam-projects-grid,
.atwam-svc-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.atwam-services-grid > .wp-block-group__inner-container,
.atwam-projects-grid > .wp-block-group__inner-container,
.atwam-svc-grid > .wp-block-group__inner-container {
	display: contents;
}

/* Responsive */
@media (max-width: 1100px) {
	.atwam-services-grid,
	.atwam-svc-grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}
@media (max-width: 900px) {
	.atwam-projects-grid {
		grid-template-columns: 1fr;
	}
	.atwam-service-nav ul {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
	.atwam-conversation__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}
@media (max-width: 767px) {
	.atwam-hero--standard,
	.atwam-hero--service {
		min-height: 380px;
	}
	.atwam-hero--project {
		min-height: 440px;
	}
	.atwam-hero__overlay {
		background: linear-gradient(
			0deg,
			rgba(1,22,50,.94) 0%,
			rgba(1,22,50,.72) 70%,
			rgba(1,22,50,.38) 100%
		);
	}
	.atwam-breadcrumb-wrap--overlay {
		top: 14px;
	}
	.atwam-services-grid,
	.atwam-svc-grid,
	.atwam-service-nav ul {
		grid-template-columns: 1fr;
	}
}
