/**
 * Configurateur : single parcours + single evenements
 * Conteneur max 1280px centré, fond page #F2EFD9
 */

/* Polices : titres en "The Seasons" (the-seasons) - sidebar en Basic Sans */
.single-parcours-configurateur .config-step-title-current,
.single-parcours-configurateur .config-logistique-title,
.single-parcours-configurateur .config-logistique-encadre-label,
.single-parcours-configurateur .config-logistique-livraison-label,
.single-parcours-configurateur .config-recap-title,
.single-parcours-configurateur .config-recap-step-title,
.single-parcours-configurateur .config-choice-label,
.single-evenement-configurateur .event-config-title,
.single-evenement-configurateur .event-config-step-title,
.single-evenement-configurateur .event-theme-card-title,
.single-evenement-configurateur .event-form-field label,
.types-evenements-card-title,
.types-evenements-card-events a {
	font-family: 'The Seasons', 'the-seasons';
}

.single-parcours-configurateur {
	background: #F2EFD9;
}
.single-parcours-configurateur .config-inner {
	max-width: 1280px;
	padding-top: 50px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
}

/* Fil d'Ariane : toujours en Basic Sans */
.single-parcours-configurateur .config-breadcrumb,
.single-parcours-configurateur .config-breadcrumb a,
.single-parcours-configurateur .config-breadcrumb-sep,
.single-parcours-configurateur .config-breadcrumb-current {
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
}
.single-parcours-configurateur .config-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.25rem 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: #666;
}
.single-parcours-configurateur .config-breadcrumb a {
	color: inherit;
	text-decoration: none;
}
.single-parcours-configurateur .config-breadcrumb a:hover {
	text-decoration: underline;
	color: var(--theme-palette-color-1, #267dce);
}
.single-parcours-configurateur .config-breadcrumb-sep {
	opacity: 0.7;
	user-select: none;
}
.single-parcours-configurateur .config-breadcrumb-current {
	font-weight: 600;
	color: #111;
}

/* Ligne 3 colonnes : Précédent | Titre étape (grand) | Suivant */
.single-parcours-configurateur .config-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.single-parcours-configurateur .config-header-col {
	display: flex;
	align-items: center;
}
.single-parcours-configurateur .config-header-prev {
	justify-content: flex-start;
}
.single-parcours-configurateur .config-header-next {
	justify-content: flex-end;
}
.single-parcours-configurateur .config-step-title-current {
	margin: 0;
	font-weight: 400;
	text-align: center;
	line-height: 1;
	font-family: 'The Seasons', 'the-seasons';
	font-size:clamp(2.5rem, 6vw, 4rem);
	max-width: 600px;
	color: #555E50;
}
.single-parcours-configurateur .config-steps-nav .btn,
.single-parcours-configurateur .config-step__prev.btn,
.single-parcours-configurateur .config-step__next.btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 1rem;
	font-size: 0.95rem;
	font-weight: bold;
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
	text-decoration: none;
	border-radius: 50px;
	background: #BFAE41;
	color: #fff;
	border: none;
	cursor: pointer;
}
.single-parcours-configurateur .config-step__prev.btn:hover,
.single-parcours-configurateur .config-step__next.btn:hover {
	opacity: 0.9;
	color: #fff;
}
/* Flèches : Précédent = flèche gauche, Suivant = flèche droite (pas d'inversion) */
.single-parcours-configurateur .config-arrow-prev,.single-parcours-configurateur .config-arrow-next {
	flex-shrink: 0;
	width:15px;
}

/* Layout sidebar + contenu */
.single-parcours-configurateur .config-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 2rem;
	align-items: start;
}
/* Sidebar : pas d'arrière-plan sur l'ensemble */
.single-parcours-configurateur .config-sidebar {
	position: sticky;
	top: 1rem;
	background: transparent;
	padding: 0;
}
.single-parcours-configurateur .config-sidebar-title {
	display: none;
}
/* Sidebar : titres des étapes en Basic Sans + bold */
.single-parcours-configurateur .config-sidebar-step-title,
.single-parcours-configurateur .config-sidebar-step-parent,
.single-parcours-configurateur .config-sidebar-link {
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
	font-weight: 700;
}
.single-parcours-configurateur .config-sidebar-steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Cards étapes : fond blanc pour toutes ; #555E50 uniquement sur l’étape principale (premier niveau), jamais sur les enfants */
.single-parcours-configurateur .config-sidebar-item {
	margin-bottom: 20px;
	/* border-radius: 6px; */
	overflow: hidden;
}
/* Toutes les étapes (principales et sous-étapes) : fond blanc */
.single-parcours-configurateur .config-sidebar-item .config-sidebar-link {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	/* padding: 0.5rem 0.75rem; */
	text-decoration: none;
	color: inherit;
	background: #fff;
	border-radius: 6px;
	transition: background .15s, color .15s;
}
.single-parcours-configurateur .config-sidebar-item .config-sidebar-link:hover {
	background: #f5f5f5;
}
/* Actif uniquement sur l’étape principale (pas sur .config-sidebar-sub) */
.single-parcours-configurateur .config-sidebar-item.is-active:not(.config-sidebar-sub) > .config-sidebar-link {
	color: #fff;
	background: #555E50;
	font-weight: 600;
}
.single-parcours-configurateur .config-sidebar-item.is-active:not(.config-sidebar-sub) .config-sidebar-step-num {
	background: rgba(255,255,255,.25);
	color: #fff;
}
.single-parcours-configurateur .config-sidebar-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	flex-shrink: 0;
}
.single-parcours-configurateur .config-sidebar-item .config-sidebar-step-num {
	background: #BFAE41;
	color: #fff;
	padding:15px;
}
.single-parcours-configurateur .config-sidebar-item.is-active.config-sidebar-sub .config-sidebar-step-num {
	background: #BFAE41;
	color: #fff;
	padding:15px;
}

/* Conteneur parent : étape principale + sous-étapes dans le même bloc #FAFAFA */
.single-parcours-configurateur .config-sidebar-parent-wrap {
	margin-bottom: 20px;
	list-style: none;
}
.single-parcours-configurateur .config-sidebar-parent-inner {
	background: #E9EAE8;
	border-radius: 6px;
	/* padding: 0.5rem; */
}
.single-parcours-configurateur .config-sidebar-parent-inner .config-sidebar-step-parent {
	/* margin-bottom: 0.5rem; */
}
/* Sous-étapes masquées par défaut ; visibles uniquement quand on est dans cette étape principale (.is-expanded) */
.single-parcours-configurateur .config-sidebar-parent-wrap .config-sidebar-sub-list {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}
.single-parcours-configurateur .config-sidebar-parent-wrap.is-expanded .config-sidebar-sub-list {
	display: block;
}
.single-parcours-configurateur .config-sidebar-sub-list > li {
	margin-bottom: 0.35rem;
	border-top: 1px solid #ccc;
}
.single-parcours-configurateur .config-sidebar-sub-list > li:first-child {
	border-top: none;
}
.single-parcours-configurateur .config-sidebar-sub-list > li:last-child {
	margin-bottom: 0;
}
.single-parcours-configurateur .config-sidebar-item.has-children > .config-sidebar-link {
	margin: 0;
}
.single-parcours-configurateur .config-sidebar-item.config-sidebar-sub.has-children > .config-sidebar-link {
	margin: 15px 0;
}
/* Sous-étapes avec catégories : fermées par défaut, ouvertes uniquement pour l’étape courante (.is-open) */
.single-parcours-configurateur .config-sidebar-item.config-sidebar-sub.has-children .config-sidebar-categories {
	display: none;
}
.single-parcours-configurateur .config-sidebar-item.config-sidebar-sub.has-children.is-open .config-sidebar-categories {
	display: block;
}
/* Background quand ouvert et plusieurs catégories */
.single-parcours-configurateur .config-sidebar-item.has-multiple-cats.is-open {
	background: #e8eae8;
	border-radius: 8px;
	/* padding: 8px 12px; */
	margin: 4px 0 15px 0;
}
.single-parcours-configurateur .config-sidebar-item.has-multiple-cats.is-open .config-sidebar-categories {
	margin-bottom: 4px;
}
/* Catégories (sous-étapes) : jamais de background, uniquement le nom */
.single-parcours-configurateur .config-sidebar-categories {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
}
.single-parcours-configurateur .config-sidebar-cat-item {
	margin: 0;
	/* Pas de divider entre les catégories : le divider est entre les sous-étapes (1.X) */
}
.single-parcours-configurateur .config-sidebar-cat-link {
	display: block;
	padding: 0.35rem 20px;
	text-decoration: none;
	color: inherit;
	background: transparent;
	transition: color .15s;
}
.single-parcours-configurateur .config-sidebar-cat-link:hover {
	color: #555E50;
}
.single-parcours-configurateur .config-sidebar-cat-item.is-done .config-sidebar-cat-link::before {
	content: "✓ ";
	opacity: 0.7;
	color: #2e7d32;
}
/* Sous-catégorie courante : en gras pour repérer où l'on est */
.single-parcours-configurateur .config-sidebar-cat-item.is-current .config-sidebar-cat-link {
	font-weight: 700;
}

/* Étape parent (premier niveau) : fond blanc par défaut, #555E50 quand active */
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent {
	font-weight: 600;
	margin-top: 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	/* padding: 0.5rem 0.75rem; */
	background: #fff;
	border-radius: 6px;
	transition: background .15s, color .15s;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent:hover {
	background: #f5f5f5;
	color: inherit;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent.is-active {
	background: #555E50;
	color: #fff;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent.is-active:hover {
	background: #555E50;
	color: #fff;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent:first-child {
	margin-top: 0;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent .config-sidebar-step-num {
	background: #BFAE41;
	color: #fff;
	min-width: 26px;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-step-parent.is-active .config-sidebar-step-num {
	color: #fff;
	padding:15px;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-sub {
	margin: 0 15px;
}
.single-parcours-configurateur .config-sidebar-hierarchy .config-sidebar-sub .config-sidebar-step-num {
	font-size: 0.85rem;
}
.single-parcours-configurateur .config-content {
	min-width: 0;
}
.single-parcours-configurateur .products-grid-parcours {
	width: 100%;
}

/* Grille et cards produits configurateur */
.single-parcours-configurateur .config-products-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
/*
.single-parcours-configurateur .config-product-card-wrap, .archive .config-product-card-wrap {
	margin: 0;
}
.single-parcours-configurateur .config-product-card, .archive .config-product-card {
	display: flex;
	flex-direction: column;
	min-height: 300px;
	background: #FAFAFA;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.single-parcours-configurateur .config-product-card-image-link, .archive .config-product-card-image-link {
	flex: 0 0 70%;
	display: block;
	min-height: 0;
	text-decoration: none;
	color: inherit;
}
.single-parcours-configurateur .config-product-card-image, .archive .config-product-card-image{
	display: block;
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: #f0f0f0;
}
.single-parcours-configurateur .config-product-card-image img, .archive .config-product-card-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	vertical-align: top;
}
.single-parcours-configurateur .config-product-card-info, .archive .config-product-card-info {
	flex: 0 0 24%;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 0.2rem 0.75rem;
	padding: 20px;
	background: #FAFAFA;
	min-height: 0;
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
}
.single-parcours-configurateur .config-product-card-left, .archive .config-product-card-left {
	min-width: 0;
}
.single-parcours-configurateur .config-product-card-title, .archive .config-product-card-title{
	margin: 0 0 0.1rem;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.25;
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
}
.single-parcours-configurateur .config-product-card-title a, .archive .config-product-card-title a {
	color: inherit;
	text-decoration: none;
}
.single-parcours-configurateur .config-product-card-title a:hover, .archive .config-product-card-title a:hover {
	text-decoration: underline;
}
.single-parcours-configurateur .config-product-card-ref, .archive .config-product-card-ref{
	display: block;
	font-size: 0.75rem;
	color: #666;
	margin-top: 0.05rem;
}
.single-parcours-configurateur .config-product-card-right, .archive .config-product-card-right {
	flex-shrink: 0;
}
.single-parcours-configurateur .config-product-card-plus, .archive .config-product-card-plus{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #BFAE41;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 20px 5px 0 rgba(0, 0, 0, 0.00), 0 13px 5px 0 rgba(0, 0, 0, 0.01), 0 7px 4px 0 rgba(0, 0, 0, 0.05), 0 3px 3px 0 rgba(0, 0, 0, 0.09), 0 1px 2px 0 rgba(0, 0, 0, 0.10);
	transition: opacity .2s, background .2s;
}
.single-parcours-configurateur .config-product-card-plus svg, .archive .config-product-card-plus svg {
	display: block;
	width: 18px;
	height: 18px;
}
.single-parcours-configurateur .config-product-card-plus:hover, .archive .config-product-card-plus:hover {
	opacity: 0.9;
	color: #fff;
}
*/

.single-parcours-configurateur .config-step__empty {
	margin: 1rem 0;
	padding: 1rem;
	background: #fff3cd;
	border-radius: 4px;
}
.single-parcours-configurateur .config-error {
	padding: 1rem;
	background: rgba(255,0,0,.08);
	border: 1px solid rgba(255,0,0,.2);
	border-radius: 8px;
}
.single-parcours-configurateur .config-user-choices-bar {
	margin-top: 1.5rem;
	padding: 0.75rem 1rem;
	background: #f0f0f0;
	border-radius: 6px;
	font-size: 0.9rem;
	display: none;
}
.single-parcours-configurateur .config-choice-label {
	font-weight: 600;
	margin-right: 0.5rem;
}
.single-parcours-configurateur .config-choice {
	margin-right: 1rem;
}
.single-parcours-configurateur .config-step__next-cart {
	background: #2e7d32;
}

/* ----- Étape Logistique ----- */
.single-parcours-configurateur .config-logistique-card {
	background: #fff;
	border-radius: 8px;
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.single-parcours-configurateur .config-logistique-title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 400;
	font-family: 'The Seasons', 'the-seasons';
	text-align: center;
	color: #555E50;
}
.single-parcours-configurateur .config-logistique-encadre {
	background: #e9e9e9;
	border-radius: 6px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.25rem;
}
.single-parcours-configurateur .config-logistique-encadre-label {
	margin: 0 0 0.75rem;
	font-size: clamp(1.25rem, 2.5vw, 1.5rem);
	font-weight: 400;
	font-family: 'The Seasons', 'the-seasons';
	color: #555E50;
}
.single-parcours-configurateur .config-logistique-checkboxes {
	margin-top: 10px;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.5rem;
	padding: 5px 10px;
	background: #fff;
	border-radius: 4px;
	width: fit-content;
}
.single-parcours-configurateur .config-checkbox-inline {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	cursor: pointer;
	font-weight: normal;
	color: #555E50;
	margin-bottom: 0;
}
.single-parcours-configurateur .config-logistique-fields {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 0.75rem;
	margin: 0;
}
.single-parcours-configurateur .config-logistique-fields .config-input {
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1rem;
	background: #fff;
	color: #555E50;
}
.single-parcours-configurateur .config-logistique-fields .config-input::placeholder {
	color: #555E50;
	opacity: 0.8;
}
.single-parcours-configurateur .config-logistique-livraison {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	gap: 0.5rem 1rem;
	margin-bottom: 1rem;
}
.single-parcours-configurateur .config-logistique-livraison {
	color: #555E50;
}
.single-parcours-configurateur .config-logistique-livraison-label {
	font-weight: 600;
	margin-right: 0.25rem;
}
.single-parcours-configurateur .config-radio-inline {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	cursor: pointer;
	font-weight: normal;
	margin-bottom: 0;
}
.single-parcours-configurateur .config-logistique-particularites {
	margin-bottom: 1.25rem;
}
.single-parcours-configurateur .config-textarea {
	width: 100%;
	min-height: 100px;
	padding: 0.6rem 0.75rem;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1rem;
	font-family: inherit;
	background: #fff;
	color: #555E50;
	resize: vertical;
}
.single-parcours-configurateur .config-textarea::placeholder {
	color: #555E50;
	opacity: 0.8;
}
.single-parcours-configurateur .config-logistique-submit {
	margin: 0;
	display: flex;
	justify-content: center;
}
.single-parcours-configurateur .config-btn-create-event {
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1.25rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 50px;
	background: #BFAE41;
	color: #fff;
	border: none;
	cursor: pointer;
}
.single-parcours-configurateur .config-btn-create-event:hover {
	opacity: 0.9;
	color: #fff;
}

/* ----- Récapitulatif et demande devis ----- */
.single-parcours-configurateur .config-recap-title {
	margin: 0 0 1.5rem;
	font-size: 1.35rem;
	font-weight: 600;
}

/* Bloc par catégorie : pas de card, titre à gauche et colonnes à droite */
.single-parcours-configurateur .config-recap-step-block {
	margin-bottom: 2rem;
}
.single-parcours-configurateur .config-recap-step-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 5px;
	padding: 0;
}
.single-parcours-configurateur .config-recap-step-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 400;
	color: #555E50;
}
.single-parcours-configurateur .config-recap-step-col-headers {
	display: flex;
	align-items: center;
	gap:20px;
	font-size: 0.9rem;
	font-weight: 500;
	color: #555E50;
	transform:translateX(-70px);
}
.single-parcours-configurateur .config-recap-col-ref,
.single-parcours-configurateur .config-recap-col-qty {
	white-space: nowrap;
}

/* Liste des cartes produit */
.single-parcours-configurateur .config-recap-products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* Une card par produit : bordure arrondie + shadow */
.single-parcours-configurateur .config-recap-product-card {
	display: flex;
	align-items: stretch;
	background: #FAFAFA;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: -20px 98px 28px 0 rgba(0, 0, 0, 0.00), -13px 63px 26px 0 rgba(0, 0, 0, 0.01), -7px 35px 22px 0 rgba(0, 0, 0, 0.05), -3px 16px 16px 0 rgba(0, 0, 0, 0.09), -1px 4px 9px 0 rgba(0, 0, 0, 0.10);
}
.single-parcours-configurateur .config-recap-product-thumb {
	flex-shrink: 0;
	width: 100px;
	min-height: 100px;
	overflow: hidden;
	background: #f0f0f0;
}
.single-parcours-configurateur .config-recap-product-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.single-parcours-configurateur .config-recap-product-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.25rem;
	padding: 1rem 0 1rem 10px;
	min-width: 0;
}
.single-parcours-configurateur .config-recap-product-name {
	font-weight: 400;
	font-family: 'Basic Sans', 'basic-sans', sans-serif;
}
.single-parcours-configurateur .config-recap-product-etiquette {
	font-size: 0.9rem;
	color: #666;
}
.single-parcours-configurateur .config-recap-product-meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-shrink: 0;
	padding-right: 1rem;
}
.single-parcours-configurateur .config-recap-product-ref {
	font-size: 0.9rem;
	color: #555E50;
	min-width: 4em;
	text-align: right;
}
.single-parcours-configurateur .config-recap-product-qty-form {
	display: flex;
	align-items: stretch;
}
.single-parcours-configurateur .config-recap-qty-control {
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	border-radius: 9999px;
	overflow: hidden;
	background: transparent;
}
.single-parcours-configurateur .config-recap-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	min-width: 26px;
	height: 26px;
	padding: 0;
	border: none;
	background: transparent;
	color: #555E50;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: color .15s;
}
.single-parcours-configurateur .config-recap-qty-btn:hover {
	color: #333;
}
.single-parcours-configurateur .config-recap-qty-control .config-recap-product-qty-input {
	width: 2rem;
	min-width: 2rem;
	padding: 0.2rem 0.1rem;
	border: none;
	border-radius: 0;
	font-size: 0.8rem;
	text-align: center;
	background: transparent;
	-moz-appearance: textfield;
	height: fit-content;
}
.single-parcours-configurateur .config-recap-product-qty-input::-webkit-outer-spin-button,
.single-parcours-configurateur .config-recap-product-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.single-parcours-configurateur .config-recap-product-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	text-decoration: none;
	transition: background .15s;
}
.single-parcours-configurateur .config-recap-product-remove:hover {
	background: rgba(0,0,0,.06);
}
.single-parcours-configurateur .config-recap-product-remove svg {
	display: block;
}
.single-parcours-configurateur .config-recap-product-remove:hover svg path {
	stroke: #333;
}

@media (max-width: 900px) {
	.single-parcours-configurateur .config-layout {
		grid-template-columns: 1fr;
	}
	.single-parcours-configurateur .config-sidebar {
		position: static;
	}
}

@media (max-width: 640px) {
	.single-parcours-configurateur .config-header {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
		gap: 0.75rem;
	}
	.single-parcours-configurateur .config-step-title-current {
		grid-column: 1 / -1;
		order: -1;
		font-size: 1.25rem;
	}
	.single-parcours-configurateur .config-header-prev {
		justify-content: flex-start;
	}
	.single-parcours-configurateur .config-header-next {
		justify-content: flex-end;
	}
	.single-parcours-configurateur .config-logistique-fields {
		grid-template-columns: 1fr;
	}
	.single-parcours-configurateur .config-recap-product-card {
		flex-wrap: wrap;
	}
	.single-parcours-configurateur .config-recap-product-thumb {
		width: 80px;
		min-height: 80px;
	}
	.single-parcours-configurateur .config-recap-product-info {
		padding-right: 0.5rem;
	}
	.single-parcours-configurateur .config-recap-product-meta {
		flex-wrap: wrap;
		padding-right: 0.75rem;
	}
}

/* ==========================================================================
   Spiral en bas : une seule <img>, width 100%, hauteur 100% de l'image (tout visible)
   ========================================================================== */
.spiral-bottom-img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: bottom;
	vertical-align: bottom;
}
