/*
Theme Name:     Simplewood Ollie child
Template:       ollie
Version:        1.0
*/

/* Blocs qui doivent sortir des conteneurs contraints. */
.full-bleed-cta,
.full-bleed-image {
	max-width: none !important;
}

.wide-context-image,
.home-context-image {
	/* Bande panoramique commune : assez haute pour garder les sujets lisibles. */
	position: relative;
	aspect-ratio: 3 / 1;
	overflow: hidden;
}

.wide-context-image img,
.home-context-image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.newsletter-clouds-image img {
	object-position: center bottom;
}

.newsletter-final-cta {
	margin-top: var(--wp--preset--spacing--x-large) !important;
}

.contact-tent-image img {
	object-position: center 55%;
}

.hygiene-compass-image img {
	object-position: center 55%;
}

.resources-backpack-image img {
	object-position: center;
}

.about-profile-image img {
	/* Le visage est sous le centre de la photo source. */
	object-position: center 52%;
}

.wayfinding-photo {
	position: relative;
	aspect-ratio: 3 / 1;
	overflow: hidden;
}

.wayfinding-photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	max-height: 100%;
	object-fit: cover;
	object-position: center;
}

.about-portrait {
	margin-block: 0;
}

.about-portrait img {
	display: block;
	width: 100%;
	height: auto;
}

/* La seconde séquence éditoriale reste sur l'axe de lecture de l'introduction. */
.about-principles {
	width: 100%;
	max-width: var(--wp--style--global--content-size) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

.about-principles > * {
	margin-inline-start: 0 !important;
	margin-inline-end: auto !important;
}

/* Les boutons vert citron gardent un contraste fort dans tous leurs états. */
.wp-block-button__link.has-primary-alt-background-color {
	color: var(--wp--preset--color--primary-alt-accent) !important;
}

/* Le lien du menu correspondant à la page courante reste identifiable sur fond sombre. */
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--primary-alt) !important;
}

.wp-block-button__link.has-primary-alt-background-color:hover,
.wp-block-button__link.has-primary-alt-background-color:focus-visible,
.wp-block-button__link.has-primary-alt-background-color:active {
	background-color: var(--wp--preset--color--primary-alt-accent) !important;
	color: var(--wp--preset--color--base) !important;
}

/* Les boutons d’envoi Gravity Forms reprennent le style de l’action principale. */
.gform_wrapper .gform_button.button {
	appearance: none;
	background-color: var(--wp--preset--color--primary-alt) !important;
	border: 0;
	border-radius: 5px;
	color: var(--wp--preset--color--primary-alt-accent) !important;
	cursor: pointer;
	font: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: inherit;
	padding: .6em 1em;
}

.gform_wrapper .gform_button.button:hover,
.gform_wrapper .gform_button.button:focus-visible,
.gform_wrapper .gform_button.button:active {
	background-color: var(--wp--preset--color--main) !important;
	color: var(--wp--preset--color--base) !important;
}

.gform_wrapper .gform_button.button:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary-alt-accent);
	outline-offset: 3px;
}

.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--main) !important;
	outline-offset: 3px;
}

/* Piste future : schéma de parcours conservé hors affichage jusqu’à validation de sa compréhension. */
.wayfinding-visual {
	margin-block: var(--wp--preset--spacing--x-large);
	padding: clamp(1.25rem, 4vw, 3.5rem) clamp(1rem, 4vw, 3rem);
	background: color-mix(in srgb, var(--wp--preset--color--tertiary) 86%, white);
}

.wayfinding-visual svg {
	display: block;
	width: 100%;
	height: auto;
}

.wayfinding-route,
.wayfinding-branch {
	fill: none;
	stroke: var(--wp--preset--color--main);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 10;
	stroke-dasharray: 2 24;
}

.wayfinding-branch {
	stroke: var(--wp--preset--color--primary-alt-accent);
}

.wayfinding-node {
	fill: var(--wp--preset--color--primary-alt);
	stroke: var(--wp--preset--color--primary-alt-accent);
	stroke-width: 6;
}

.wayfinding-node-start,
.wayfinding-node-end {
	fill: var(--wp--preset--color--main);
	stroke: var(--wp--preset--color--primary-alt);
}

.wayfinding-node-branch {
	fill: var(--wp--preset--color--primary-alt-accent);
	stroke: var(--wp--preset--color--primary-alt);
}

.wayfinding-label {
	fill: var(--wp--preset--color--main);
	font-family: inherit;
	font-size: 22px;
	font-weight: 600;
	text-anchor: middle;
}

.wayfinding-caption {
	margin: var(--wp--preset--spacing--small) auto 0;
	max-width: 70ch;
	text-align: center;
}

/* Les pages dont le dernier bloc est un CTA coloré touchent le footer malgré le padding du template. */
body.page-id-23762 main,
body.page-id-23804 main {
	padding-bottom: 0 !important;
}

@media (max-width: 782px) {
	.wide-context-image,
	.home-context-image,
	.wayfinding-photo {
		/* Même ratio commun sur mobile pour préserver les cadrages. */
		aspect-ratio: 3 / 1;
	}


	.about-principles {
		max-width: none !important;
	}
}
