/* Native Columns keep complete content sections in their saved reading order.
   Grid changes only their layout; narrow screens retain the same block order. */
.wp-block-columns.outloud-content-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--custom--spacing--columns);
	margin-block-end: 0;
	align-items: start;
}
.outloud-content-columns > .wp-block-column > :first-child { margin-block-start: 0; }
.outloud-content-columns > .wp-block-column > :last-child { margin-block-end: 0; }
/* Queries nested in half-width training sections need one readable card column. */
.outloud-training-sections .outloud-content-columns .outloud-catalogue .wp-block-post-template {
	grid-template-columns: minmax(0, 1fr);
}
.outloud-content-columns > .wp-block-column > .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 1.25rem;
}
/* Illustrated directions: three complete steps, followed by access details. */
.outloud-arrival-sections {
	display: grid;
	gap: var(--wp--custom--spacing--section);
}
.outloud-arrival-sections > *,
.outloud-arrival-sections > .wp-block-group > :first-child { margin-block: 0; }
.outloud-arrival-sections > .wp-block-group > .wp-block-columns { margin-block: var(--wp--custom--spacing--subsection) 0; }
.wp-block-columns.outloud-route-steps {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--custom--spacing--columns);
}
.outloud-route-steps > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
}
.outloud-route-steps > .wp-block-column > * { margin: 0; }
.outloud-route-steps .wp-block-image { width: 100%; max-width: 32rem; }
.outloud-route-steps .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--image);
}
.outloud-route-steps p,
.outloud-access-details p { max-width: 66ch; }
@media (min-width: 64.01rem) {
	.wp-block-columns.outloud-route-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.outloud-route-steps > .wp-block-column > .wp-block-heading { min-height: var(--wp--custom--card--heading--title-min-height); }
}
/* Unframed service cards: image and copy share a compact reading width. */
.wp-block-columns:is(.outloud-therapy-cards, .outloud-service-cards) {
	max-width: 100rem;
	margin-inline: auto;
	padding-block: 0;
	gap: var(--wp--custom--spacing--columns);
	align-items: stretch;
}
:is(.outloud-therapy-cards, .outloud-service-cards) > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
	max-width: 24rem;
	justify-self: center;
	padding-inline: 1.5rem;
	box-sizing: border-box;
}
:is(.outloud-therapy-cards, .outloud-service-cards) > .wp-block-column > * {
	margin: 0;
}
:is(.outloud-therapy-cards, .outloud-service-cards) > .wp-block-column > .wp-block-buttons {
	margin-block-start: auto;
	padding-block-start: .5rem;
}
:is(.outloud-therapy-cards, .outloud-service-cards) .wp-block-image img {
	margin-inline: auto;
}
/* Compact service overview: square image beside the copy and action.
   The detailed therapy presentation keeps its own image-first layout. */
.wp-block-columns.outloud-service-cards > .wp-block-column {
	display: grid;
	grid-template-columns: clamp(10rem, 14vw, 15rem) minmax(0, 1fr);
	grid-template-rows: auto 1fr auto;
	max-width: none;
	padding-inline: 0;
	justify-self: stretch;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.outloud-service-cards > .wp-block-column > .wp-block-image {
	grid-column: 1;
	grid-row: 1 / -1;
	align-self: start;
}
.outloud-service-cards > .wp-block-column > :not(.wp-block-image) { grid-column: 2; }
.wp-block-columns.outloud-service-cards > .wp-block-column > .wp-block-image img {
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
}
.wp-block-columns.outloud-service-cards > .wp-block-column > .outloud-home-contain img { object-fit: contain; }
@media (max-width: 37.5rem) {
	.wp-block-columns.outloud-service-cards > .wp-block-column { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
	.outloud-service-cards > .wp-block-column > .wp-block-image { grid-row: auto; width: min(100%, 14rem); }
	.outloud-service-cards > .wp-block-column > :not(.wp-block-image) { grid-column: 1; }
}
/* Flow the service-area list down each column in its original reading order. */
.outloud-therapy-sections .wp-block-list {
	columns: 3 12rem;
	column-gap: 2rem;
}
.outloud-therapy-sections .wp-block-list > li {
	break-inside: avoid;
}
@media (min-width: 64.01rem) {
	.wp-block-columns.outloud-content-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:is(.outloud-therapy-cards, .outloud-service-cards) > .wp-block-column { max-width: 28rem; padding-inline: 0; }
}
@media (min-width: 64.01rem) and (max-width: 79.99rem) {
	.outloud-therapy-cards > .wp-block-column:last-child {
		grid-column: 1 / -1;
		max-width: 52rem;
	}
}
/* Invoice instructions need generous reading width and parallel method headings. */
.outloud-contact-methods > .outloud-contact-form-layout { margin-block-start: var(--wp--preset--spacing--40); }
.outloud-contact-form-layout .outloud-secure-contact {
	margin: 0;
	padding: var(--wp--custom--spacing--card);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--outloud-service-surface);
	border: var(--wp--custom--card--border-width) solid var(--wp--custom--card--yellow--border);
}
.outloud-secure-contact > :first-child { margin-block-start: 0; }
.outloud-secure-contact > :last-child { margin-block-end: 0; }
@media (min-width: 64.01rem) {
	.wp-block-columns.outloud-contact-form-layout { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
}
.outloud-billing-section > .outloud-billing-overview { margin-block: 0; }
.outloud-billing-section > .outloud-billing-columns { margin-block-start: var(--wp--custom--spacing--subsection); }
.outloud-billing-intro { max-width: 66ch; margin-block-start: var(--wp--preset--spacing--40); }
.outloud-billing-intro > :first-child { margin-block-start: 0; }
.outloud-billing-intro > :last-child { margin-block-end: 0; }
.outloud-billing-columns > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding-block-start: 0;
}
.outloud-billing-columns > .wp-block-column > * { margin: 0; }
.outloud-billing-address {
	padding: 1.25rem;
	border-radius: var(--wp--custom--radius--inset);
	background: var(--wp--preset--color--outloud-service-surface);
	border: var(--wp--custom--card--border-width) solid var(--wp--custom--card--yellow--border);
	box-sizing: border-box;
}
.outloud-billing-address > p { margin: 0; overflow-wrap: anywhere; }
.wp-block-columns.outloud-billing-columns { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 80rem) {
	.outloud-billing-address { min-height: 8rem; }
	.wp-block-columns.outloud-billing-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wp-block-columns.outloud-therapy-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.outloud-training-sections #koulutukset-offering .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Development service: open sections and editorial project examples. */
.outloud-development-sections {
 display: grid;
 gap: var(--wp--custom--spacing--section);
}
.outloud-development-sections > * { margin-block: 0; }
.outloud-development-sections p { max-width: 68ch; }
.outloud-development-projects > .wp-block-heading { margin-block-start: 0; }
.outloud-development-projects .outloud-project-stories {
 gap: var(--wp--custom--spacing--section) var(--wp--custom--spacing--columns);
 margin-block: var(--wp--custom--spacing--subsection);
}
.outloud-project-stories > .outloud-project-story { margin-block: 0; }
.outloud-project-story .outloud-project-icon { max-width: 8rem; }
.outloud-project-story .outloud-project-resource {
 gap: var(--wp--preset--spacing--40);
}
.outloud-project-resource > * { margin: 0; }
.outloud-project-story .wp-block-quote {
 margin-inline: 0;
 margin-block-start: var(--wp--custom--spacing--subsection);
 padding: 0;
 border: 0;
 max-width: 68ch;
}
.outloud-project-story .wp-block-quote > p { margin-block-start: 0; }
/* Inline quotation marks; the native blockquote supplies the semantics. */
.outloud-project-story .wp-block-quote > p:first-of-type::before,
.outloud-project-story .wp-block-quote > p:last-of-type::after {
 content: "\201D" / "";
}
.outloud-project-story .wp-block-quote cite {
 display: block;
 margin-block-start: var(--wp--preset--spacing--30);
 font-size: var(--wp--preset--font-size--small);
 font-style: normal;
 font-weight: 400;
}
