/**
 * Pattern: Our Methodology
 * Pełna szerokość tła (neutral-background), content ograniczony do sectionWidth.
 * Układ flex z zawijaniem: tekst + diagram, bez sztywnych kolumn.
 *
 * @package nbs-theme
 */

/* Pełna szerokość tła */
section.nbs-our-methodology {
	display: flex;
	justify-content: center;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	box-sizing: border-box;
	background-color: var(--wp--preset--color--neutral-background, #F7F8FA);
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}

/* Inner – centrowany kontener sectionWidth, flex row */
.nbs-our-methodology__inner {
	width: 100%;
	max-width: min(100vw, var(--wp--custom--section-width, 1140px));
	margin-left: var(--wp--custom--horizontal-section-margin, 24px);
	margin-right: var(--wp--custom--horizontal-section-margin, 24px);
	box-sizing: border-box;
	display: flex;
	/* WP potrafi wymusić nowrap (np. przez ustawienia bloku), więc nadpisujemy */
	flex-wrap: wrap !important;
	align-items: stretch;
	gap: 2rem;
}

/* Kontenery – układ flex, bez sztywnych kolumn 50/50 */
.nbs-our-methodology__col {
	flex: 1 1 34rem;
	min-width: 0;
	box-sizing: border-box;
}

.nbs-our-methodology__col--left h2 {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.nbs-our-methodology__col--left .body-default {
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.nbs-our-methodology__col--left .body-default:last-of-type {
	margin-bottom: 0;
}

/* Lista */
.nbs-our-methodology__list {
	margin-top: 0.25rem;
	margin-bottom: 1.5rem;
	padding-left: 1.25rem;
	list-style-type: disc;
}

.nbs-our-methodology__list li {
	font-family: var(--wp--preset--font-family--montserrat, Montserrat, sans-serif);
	font-size: var(--wp--preset--font-size--body-default, 16px);
	line-height: 1.6;
	color: var(--wp--preset--color--text-primary, #1A1A1A);
	margin-bottom: 0.25rem;
}

/* CTA */
.nbs-our-methodology__cta {
	margin-top: 1.75rem;
	margin-bottom: 0;
}

/* Prawa kolumna – diagram + pionowy podpis */
.nbs-our-methodology__col--right {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 460px;
	flex: 1 1 26rem;
	container-type: inline-size;
}

/* Obraz diagramu – 405×460px, wyśrodkowany */
.nbs-our-methodology__diagram {
	flex-shrink: 0;
	width: min(100%, 405px) !important;
	height: auto !important;
	/* zostaw miejsce na pionowy podpis przy prawej krawędzi */
	margin: 0 1.75rem 0 0 !important;
}

.nbs-our-methodology__diagram img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

/* Pionowy podpis – przylegający do prawej krawędzi kolumny */
.nbs-our-methodology__diagram-caption {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--montserrat, Montserrat, sans-serif);
	font-size: var(--wp--preset--font-size--small, 14px);
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--text-primary, #1A1A1A);
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
}

/* Responsywność */
@media (max-width: 768px) {
	.nbs-our-methodology__col--right {
		min-height: auto;
		padding-right: 0;
	}
}

/* Gdy prawa kolumna robi się zbyt wąska, zmniejsz podpis do dostępnego miejsca */
@container (max-width: 360px) {
	.nbs-our-methodology__diagram-caption {
		font-size: 12px;
		line-height: 1.35;
	}
}

@container (max-width: 300px) {
	.nbs-our-methodology__diagram-caption {
		font-size: 10px;
		line-height: 1.25;
	}
}
