/*
Theme Name: GE2studio — Bilingual Public Quality
Theme URI: https://ge2studio.com/
Description: Version cumulative FR/EN 1.12.6 du site public GE2studio : modèles, composants, formulaires et moteurs de calcul partagés.
Author: GE2studio
Author URI: https://ge2studio.com/
Template: ge2studio
Version: 1.12.6
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ge2studio-manager-smart
*/

/* Bilingual navigation: compact, visible and keyboard-friendly on every page. */
.ge2studio-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: .42rem;
	margin-left: 1rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	white-space: nowrap;
}
.ge2studio-language-switcher[data-ge2-language-switcher] {
	position: relative;
	z-index: 4;
}
.ge2studio-language-switcher a {
	color: inherit;
	text-decoration: none;
	opacity: .66;
	transition: opacity .2s ease, color .2s ease;
}
.ge2studio-language-switcher a:hover,
.ge2studio-language-switcher a:focus-visible,
.ge2studio-language-switcher a.is-current {
	opacity: 1;
	color: #f08b5c;
}
.ge2studio-language-switcher span {
	opacity: .35;
}
@media (max-width: 1100px) {
	.ge2studio-language-switcher {
		margin-left: auto;
		margin-right: .45rem;
		font-size: .72rem;
	}
}

/*
 * Les modèles, médias et fonctionnalités restent fournis par le thème parent
 * `ge2studio`. Les styles et scripts de cette livraison sont chargés depuis
 * /assets afin de préserver un packaging clair, réversible et auditable.
 */

/* --------------------------------------------------------------------------
   V1.10.33 — parcours Smart : cinq étapes de décision, puis mesure du résultat.
   -------------------------------------------------------------------------- */
.ge2studio-indexing-gate .decision-journey-stage {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
}

.ge2studio-indexing-gate .decision-journey-line {
	display: none !important;
}

.ge2studio-indexing-gate .decision-journey-steps {
	position: relative !important;
	inset: auto !important;
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 14px !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ge2studio-indexing-gate .decision-journey-steps > li,
.ge2studio-indexing-gate .decision-journey-steps > li.is-above,
.ge2studio-indexing-gate .decision-journey-steps > li.is-below {
	position: relative !important;
	inset: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	min-width: 0 !important;
	width: auto !important;
	min-height: 250px !important;
	height: auto !important;
	padding: 22px 20px 24px !important;
	border: 1px solid rgba(35, 31, 27, .12) !important;
	border-radius: 20px !important;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .52)),
		rgba(246, 241, 234, .78) !important;
	box-shadow: 0 18px 40px rgba(28, 24, 20, .06) !important;
	transform: none !important;
}

.ge2studio-indexing-gate .decision-journey-steps > li::before,
.ge2studio-indexing-gate .decision-journey-steps > li::after {
	display: none !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-node {
	position: static !important;
	inset: auto !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	transform: none !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-copy {
	position: static !important;
	inset: auto !important;
	display: grid !important;
	gap: 8px !important;
	width: 100% !important;
	margin: auto 0 0 !important;
	padding: 0 !important;
	transform: none !important;
	text-align: left !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-copy > span {
	color: #9d3f18 !important;
	font-size: .78rem !important;
	font-weight: 780 !important;
	letter-spacing: .08em !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-copy small {
	color: #6a6259 !important;
	font-size: .78rem !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-copy h3 {
	margin: 0 !important;
	color: #1b1d1c !important;
	font-size: clamp(1.2rem, 1.45vw, 1.55rem) !important;
	line-height: 1.08 !important;
}

.ge2studio-indexing-gate .decision-journey-steps .decision-journey-copy p {
	margin: 0 !important;
	color: #5f5a53 !important;
	font-size: .92rem !important;
	line-height: 1.48 !important;
}

.ge2studio-indexing-gate .decision-journey-after {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: .35rem 1rem;
	align-items: center;
	margin: 18px 0 0;
	padding: 16px 18px;
	border: 1px solid rgba(232, 97, 41, .24);
	border-radius: 16px;
	background: rgba(232, 97, 41, .07);
}

.ge2studio-indexing-gate .decision-journey-after > span {
	grid-row: 1 / 3;
	align-self: stretch;
	display: grid;
	place-items: center;
	padding: .35rem .7rem;
	border-radius: 999px;
	background: #171918;
	color: #f7f1e9;
	font-size: .72rem;
	font-weight: 760;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ge2studio-indexing-gate .decision-journey-after strong {
	color: #1d1f1d;
	font-size: 1rem;
	line-height: 1.25;
}

.ge2studio-indexing-gate .decision-journey-after p {
	margin: 0;
	color: #5f5a53;
	font-size: .9rem;
	line-height: 1.45;
}

@media (max-width: 1100px) {
	/* The parent defines the brand/menu grid at this breakpoint, but its
	 * original display:grid starts only at 560px. Activate those columns
	 * throughout the collapsed navigation range instead of forcing margins. */
	.ge2studio-editorial-clarity .site-header .header-inner {
		display: grid;
	}

	.ge2studio-indexing-gate .decision-journey-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.ge2studio-indexing-gate .decision-journey-steps > li:nth-child(4),
	.ge2studio-indexing-gate .decision-journey-steps > li:nth-child(5) {
		min-height: 220px !important;
	}
}

@media (max-width: 760px) {
	.ge2studio-indexing-gate .decision-journey-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ge2studio-indexing-gate .decision-journey-steps > li {
		min-height: 220px !important;
	}

	.ge2studio-indexing-gate .decision-journey-steps > li:last-child {
		grid-column: 1 / -1 !important;
		min-height: 190px !important;
	}

	.ge2studio-indexing-gate .decision-journey-after {
		grid-template-columns: 1fr;
	}

	.ge2studio-indexing-gate .decision-journey-after > span {
		grid-row: auto;
		justify-self: start;
	}
}

@media (max-width: 480px) {
	.ge2studio-indexing-gate .decision-journey-steps {
		grid-template-columns: 1fr !important;
	}

	.ge2studio-indexing-gate .decision-journey-steps > li,
	.ge2studio-indexing-gate .decision-journey-steps > li:last-child {
		grid-column: auto !important;
		min-height: 0 !important;
		padding: 18px !important;
	}

	.ge2studio-indexing-gate .decision-journey-steps .decision-journey-node {
		width: 52px !important;
		height: 52px !important;
	}

	.ge2studio-indexing-gate .decision-journey-after {
		padding: 14px 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ge2studio-indexing-gate .decision-journey-steps > li {
		transition: none !important;
	}
}

@media (forced-colors: active) {
	.ge2studio-indexing-gate .decision-journey-steps > li,
	.ge2studio-indexing-gate .decision-journey-after {
		border-color: CanvasText !important;
		background: Canvas !important;
		box-shadow: none !important;
	}
}

/* The member journey is an ordered list. Keep the existing article component
 * and its responsive/hover styles, with list items as layout wrappers only. */
.home-page ol.member-journey {
	padding: 0;
	list-style: none;
}
.home-page .member-journey > li { min-width: 0; }
.home-page .member-journey > li > article { height: 100%; }
/* Keep editorial captions readable without depending on a mockup-wide JS guard. */
.home-page .member-journey small { font-size: .875rem; line-height: 1.5; }

/* 1.12.6: invalid calculator results are hidden regardless of parent layout rules. */
.simulation-demo [hidden] { display: none !important; }
.simulation-results[data-result-state="invalid"] .simulation-invalid { overflow-wrap: anywhere; }
