/**
 * PATN mobile / responsive overrides (loads last).
 */

html,
body,
.patn-site,
.site {
	max-width: 100%;
	overflow-x: clip;
}

@media (max-width: 1279.98px) {
	:root {
		--section-gutter-space: 1.25rem;
		--grid-margin-12-col: 1.25rem;
		--grid-margin-10-col: 1.25rem;
		--grid-margin-8-col: 1.25rem;
		--grid-margin-6-col: 1.25rem;
		--grid-margin-4-col: 1.25rem;
	}

	.patn-layout-aligned,
	.wbg_ext_global_header__topbar,
	.wbg_ext_global_header__main.patn-layout-aligned {
		padding-left: var(--section-gutter-space);
		padding-right: var(--section-gutter-space);
	}

	main .section > div {
		padding-left: var(--section-gutter-space);
		padding-right: var(--section-gutter-space);
		max-width: 100%;
		box-sizing: border-box;
	}

	img,
	video,
	iframe,
	embed,
	object {
		max-width: 100%;
		height: auto;
	}

	table {
		display: block;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Axes: always stack below desktop megamenu breakpoint */
	.patn-priorites-section .overlay-cards {
		flex-direction: column !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 6px;
	}

	.patn-priorites-section .overlay-card,
	.patn-priorites-section .overlay-card.collapsed,
	.patn-priorites-section .overlay-card:not(.collapsed) {
		flex: none !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	.patn-priorites-section .overlay-card.collapsed {
		min-height: 5.5rem;
	}

	.patn-priorites-section .overlay-card:not(.collapsed) {
		min-height: 14rem;
	}

	.patn-priorites-section .overlay-card:not(.collapsed) .expand-btn {
		opacity: 1;
		pointer-events: auto;
	}
}

/* Phones / small tablets: hero in document flow (no absolute overlay) */
@media (max-width: 899.98px) {
	.curated-cards .feature-card {
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.curated-cards .feature-card picture img {
		max-height: 240px !important;
		min-height: 0 !important;
		width: 100%;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.curated-cards .feature-card .feature-card-content {
		position: static !important;
		left: auto !important;
		bottom: auto !important;
		width: 100% !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		gap: 0.75rem;
		padding: 1rem 1.125rem 1.25rem !important;
		background: linear-gradient(180deg, rgba(1, 39, 64, 0.96) 0%, var(--blue-90, #012740) 100%);
		box-sizing: border-box;
	}

	.curated-cards .feature-card .feature-card-content .feature-card-content-text {
		width: 100% !important;
	}

	.curated-cards .feature-card .feature-card-content .feature-card-content-heading {
		font-size: 1.125rem;
		line-height: 1.3;
	}

	.curated-cards .feature-card .feature-card-content .feature-card-link {
		justify-content: flex-start !important;
		align-self: flex-start !important;
		width: 100% !important;
	}

	.curated-cards .feature-card .feature-card-content .feature-card-link a.button {
		white-space: normal !important;
		margin: 0 !important;
		max-width: 100%;
	}

	.curated-cards.list {
		padding: 1.25rem;
		padding-block-start: 0;
	}

	.curated-cards.list ul {
		grid-template-columns: 1fr !important;
	}

	.curated-cards.list ul li a {
		grid-template-columns: minmax(20%, 84px) 1fr !important;
	}
}

@media (max-width: 640px) {
	:root {
		--section-gutter-space: 1rem;
		--grid-margin-12-col: 1rem;
	}

	.search-form input[type="search"] {
		min-width: 0;
		width: 100%;
	}

	.patn-data-grid {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.wbg_ext_global_header__main .patn-logo img {
		max-height: 48px;
		max-width: min(180px, 55vw);
	}
}
