/* =========================================================
 * W3-G1 · Solutions overview (0.4.5)
 * Loaded on demand when an `adepa-sol-*` group renders (inc/solutions.php) and always in the editor.
 * Scope: `.adepa-sol-*` selectors only — no existing class, token or component changes behaviour.
 * Geometry: rectangular, no radius, no shadows. Four sections:
 *   01 .adepa-sol-intro       white, compact (breadcrumb, eyebrow, H1, kV tag | two paragraphs)
 *   02 .adepa-sol-families    six image-led entries — 1 column, 2 columns from 720px
 *   03 .adepa-sol-integrated  warm grey (grey-100), typographic, three statements
 *   04 .adepa-sol-cta         charcoal (is-style-dark-section), mailto CTA — the footer RFQ band is
 *                             omitted by the "Page — No RFQ band" template
 * ========================================================= */

.adepa-sol-intro,
.adepa-sol-families,
.adepa-sol-integrated,
.adepa-sol-cta { margin-block: 0 !important; }

:is(.adepa-sol-intro__inner, .adepa-sol-intro__head, .adepa-sol-intro__copy,
    .adepa-sol-grid, .adepa-sol-family, .adepa-sol-family__body,
    .adepa-sol-integrated__inner, .adepa-sol-integrated__grid, .adepa-sol-integrated__head, .adepa-sol-integrated__copy,
    .adepa-sol-statements, .adepa-sol-statement,
    .adepa-sol-cta__inner, .adepa-sol-cta__statement, .adepa-sol-cta__action) > * { margin: 0 !important; }

/* ---------- 01 · Introduction ---------- */
.adepa-sol-intro {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--70);
	border-bottom: 1px solid var(--wp--preset--color--grey-200);
}
.adepa-sol-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60) !important;
}
.adepa-sol-intro__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--30);
}
.adepa-sol-intro__title { max-width: 14ch; overflow-wrap: break-word; }
.adepa-sol-intro__tag { margin-top: var(--wp--preset--spacing--10) !important; }
.adepa-sol-intro__copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	max-width: var(--wp--custom--layout--reading);
}
.adepa-sol-intro__text { color: var(--wp--preset--color--grey-700); }
@media (min-width: 1024px) {
	.adepa-sol-intro__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: var(--wp--preset--spacing--70);
		align-items: end;
	}
}

/* ---------- 02 · Solution families ---------- */
.adepa-sol-families { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80); }
.adepa-sol-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: var(--wp--preset--spacing--70);
	column-gap: var(--wp--preset--spacing--60);
}
@media (min-width: 720px) {
	.adepa-sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.adepa-sol-family {
	position: relative;
	display: flex;
	flex-direction: column;
}
.adepa-sol-family__media {
	margin: 0 !important;
	border: 1px solid var(--wp--preset--color--grey-200);
	background: var(--wp--preset--color--grey-100);
}
.adepa-sol-family__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 0;
}
/* 0.4.7 (W3-G3): Owner product photographs on white (01 MV, 02 transformer, 04 LV) are shown whole inside the
   same 3:2 frame: white frame (matches the photographs' pure-white backgrounds), contain fit, small even inset.
   `!important` overrides the image block's inline object-fit:cover. No radius, shadow, opacity or filter. */
.adepa-sol-family__media--contain {
	background: var(--wp--preset--color--white, #fff);
}
.adepa-sol-family__media--contain img {
	box-sizing: border-box;
	padding: 3%;
	object-fit: contain !important;
	object-position: 50% 50%;
	background: var(--wp--preset--color--white, #fff);
}
.adepa-sol-family__body {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--20);
	align-content: start;
	padding-top: var(--wp--preset--spacing--40);
}
.adepa-sol-family__body > * { grid-column: 2; }
.adepa-sol-family__num {
	grid-column: 1 !important;
	grid-row: 1;
	padding-top: 0.5em;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	line-height: 1.2;
	color: var(--wp--preset--color--brand-red);
	font-variant-numeric: tabular-nums;
}
.adepa-sol-family__title {
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: 1.2;
	letter-spacing: var(--wp--custom--letter-spacing--snug);
	color: var(--wp--preset--color--ink);
	overflow-wrap: break-word;
}
.adepa-sol-family__desc {
	margin-top: var(--wp--preset--spacing--20) !important;
	max-width: 52ch;
	line-height: 1.6;
	color: var(--wp--preset--color--grey-700);
}
.adepa-sol-family__scope {
	margin-top: var(--wp--preset--spacing--30) !important;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--grey-300);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.5;
	color: var(--wp--preset--color--ink);
	overflow-wrap: break-word;
}
/* Active state — only after manual activation (title text linked, `adepa-link-planned` removed):
   the whole entry becomes the link target, with the text-link arrow. Inert while planned. */
.adepa-sol-family__title a { color: inherit; text-decoration: none; }
.adepa-sol-family__title a::before { content: ""; position: absolute; inset: 0; }
.adepa-sol-family__title a::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 0.66em;
	margin-left: 0.5em;
	background-color: var(--wp--preset--color--brand-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 5.25h15.1L10.9 1.06 11.96 0 18 6l-6.04 6-1.06-1.06 4.2-4.19H0z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 5.25h15.1L10.9 1.06 11.96 0 18 6l-6.04 6-1.06-1.06 4.2-4.19H0z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wp--custom--motion--base) var(--adepa-ease);
}
.adepa-sol-family__title a:is(:hover, :focus-visible) { color: var(--wp--preset--color--brand-red); }
.adepa-sol-family__title a:is(:hover, :focus-visible)::after { transform: translateX(4px); }
.adepa-sol-family__title a:focus-visible { outline: none; }
.adepa-sol-family:has(.adepa-sol-family__title a:focus-visible) { outline: 2px solid var(--wp--preset--color--brand-red); outline-offset: 6px; }

/* ---------- 03 · Integrated sourcing ---------- */
.adepa-sol-integrated { padding-block: var(--wp--preset--spacing--70); }
.adepa-sol-integrated__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
}
.adepa-sol-integrated__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--30);
}
.adepa-sol-integrated__title { max-width: 16ch; overflow-wrap: break-word; }
.adepa-sol-integrated__copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	max-width: var(--wp--custom--layout--reading);
}
.adepa-sol-integrated__text { color: var(--wp--preset--color--grey-700); }
.adepa-sol-statements {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60) !important;
}
.adepa-sol-statement {
	padding-top: var(--wp--preset--spacing--30);
	border-top: 2px solid var(--wp--preset--color--ink);
}
.adepa-sol-statement__title {
	font-size: var(--wp--preset--font-size--heading-4);
	line-height: 1.25;
	letter-spacing: var(--wp--custom--letter-spacing--snug);
	overflow-wrap: break-word;
}
.adepa-sol-statement__text {
	margin-top: var(--wp--preset--spacing--20) !important;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	color: var(--wp--preset--color--grey-700);
}
@media (min-width: 768px) {
	.adepa-sol-statements { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--50); }
}
@media (min-width: 1024px) {
	.adepa-sol-integrated__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: var(--wp--preset--spacing--70);
		align-items: end;
	}
}

/* ---------- 04 · Project requirement CTA ---------- */
.adepa-sol-cta { padding-block: var(--wp--preset--spacing--80); }
.adepa-sol-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
}
.adepa-sol-cta__statement {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
}
.adepa-sol-cta__title { max-width: 18ch; overflow-wrap: break-word; }
.adepa-sol-cta__copy { max-width: var(--wp--custom--layout--reading); line-height: 1.6; }
.adepa-sol-cta__prompts {
	margin-top: var(--wp--preset--spacing--20) !important;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--wp--preset--color--white) !important;
}
.adepa-sol-cta__action {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--30);
}
.adepa-sol-cta__email { font-size: var(--wp--preset--font-size--small); }
.adepa-sol-cta__email a { text-decoration: underline; text-underline-offset: 0.2em; overflow-wrap: anywhere; }
@media (min-width: 1024px) {
	.adepa-sol-cta__inner {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		column-gap: var(--wp--preset--spacing--70);
		align-items: end;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adepa-sol-family__title a::after { transition: none; }
}

/* ---------- 0.4.33 (W9-R2) · Projects references ----------
 * Page "Projects" (draft): section .adepa-sol-projects after the .adepa-sol-intro hero.
 * Eight cards, one fixed 3:2 media frame each, so a future approved photograph drops in at the same proportion:
 *   text-only:  .adepa-sol-project__media.adepa-sol-project__tile > p.adepa-sol-project__country
 *   photograph: .adepa-sol-project__media > figure.wp-block-image > img (object-fit: cover)
 * Grid: 1 column <600px, 2 columns 600–1023.98px, 4 columns >=1024px (8 cards = 1x8, 2x4, 4x2; no orphans).
 * Cards are not links (no project detail pages), so nothing in them is focusable. */
.adepa-sol-projects { margin-block: 0 !important; padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--80); }
:is(.adepa-sol-projects__inner, .adepa-sol-projects__grid, .adepa-sol-project, .adepa-sol-project__media) > * { margin: 0 !important; }
.adepa-sol-projects__lead { max-width: var(--wp--custom--layout--reading); color: var(--wp--preset--color--grey-700); }
.adepa-sol-projects__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60) !important;
}
.adepa-sol-project { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); min-width: 0; }
.adepa-sol-project__media {
	position: relative;
	box-sizing: border-box;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--grey-200);
	background: var(--wp--preset--color--grey-100);
}
.adepa-sol-project__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.adepa-sol-project__tile {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--wp--preset--spacing--40);
}
.adepa-sol-project__tile::before {
	content: "";
	position: absolute;
	top: var(--wp--preset--spacing--40);
	left: var(--wp--preset--spacing--40);
	width: 2.5rem;
	height: 2px;
	background: var(--wp--preset--color--brand-red);
}
.adepa-sol-project__country {
	font-size: var(--wp--preset--font-size--heading-3);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: var(--wp--custom--letter-spacing--snug);
	color: var(--wp--preset--color--grey-700);
	overflow-wrap: break-word;
}
.adepa-sol-project__name {
	font-size: var(--wp--preset--font-size--heading-4);
	line-height: 1.25;
	letter-spacing: var(--wp--custom--letter-spacing--snug);
	overflow-wrap: break-word;
}
@media (min-width: 600px) {
	.adepa-sol-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.adepa-sol-projects__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--40); }
}
