/* Fiche produit V2 : parcours en étapes (cartes de choix) + total */

.ltdc-step {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0 22px;
	font-family: 'Quicksand', var(--font-sans, sans-serif);
}
/* Quel que soit le conteneur (flex, inline, largeur auto), l'étape et le total prennent toute la largeur */
.woocommerce-variation-add-to-cart > .ltdc-step,
.woocommerce-variation-add-to-cart > .ltdc-option-group,
.woocommerce-variation-add-to-cart > .ltdc-total,
#ltdc-product-woo > .ltdc-step,
#ltdc-product-woo > .ltdc-option-group,
#ltdc-product-woo > .ltdc-total {
	width: 100%;
	flex: 0 0 100%;
	align-self: stretch;
}
.ltdc-step__title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 10px;
	font-family: 'Quicksand', var(--font-sans, sans-serif);
	font-weight: 700;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--color-text, #1c1512);
}
.ltdc-step__title small {
	font-weight: 500;
	font-size: .76rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-text-muted, #7a5c4a);
}


/* ── Repères : pastille numérotée, icône, filet ─────────────── */
#ltdc-product-woo { counter-reset: ltdcstep; }
.ltdc-step { padding-top: 14px; border-top: 1px solid var(--color-border-soft, rgba(28, 21, 18, .06)); }
.ltdc-step__title { align-items: center; justify-content: flex-start; gap: 8px; }
.ltdc-step__title::before,
#ltdc-product-woo .size-picker__label::before {
	counter-increment: ltdcstep;
	content: counter(ltdcstep);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--color-text, #1c1512);
	color: var(--color-bg, #fcf6ee);
	font-family: 'Quicksand', var(--font-sans, sans-serif);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: 0;
	order: -2;
}
#ltdc-product-woo .size-picker__label { display: inline-flex; align-items: center; gap: 8px; }
/* Configurateurs : les grandes sections sont déjà numérotées, les étapes gardent seulement l'icône */
.fabric-options-group--steps .ltdc-step__title::before { display: none; }
.fabric-options-group--steps .ltdc-step:first-child { border-top: 0; padding-top: 0; }

/* Deux cartes côte à côte */
.ltdc-choice {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
}
.ltdc-choice__card {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	box-sizing: border-box;
	float: none !important;
	display: flex !important;
	flex-direction: column;
	gap: 4px;
	margin: 0 !important;
	padding: 14px 14px 12px;
	background: #fff;
	border: 1.5px solid var(--color-border, rgba(28, 21, 18, .1));
	border-radius: 10px;
	cursor: pointer;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: 'Quicksand', var(--font-sans, sans-serif);
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.ltdc-choice__card:hover { border-color: var(--color-text, #1c1512); }
.ltdc-choice__card.is-selected {
	border-color: var(--color-text, #1c1512);
	box-shadow: inset 0 0 0 1px var(--color-text, #1c1512);
	background: var(--color-bg, #fcf6ee);
}
.ltdc-choice__card input[type=radio] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.ltdc-choice__icon {
	display: block;
	width: 74px;
	max-width: 100%;
	margin: 0 0 4px;
	color: var(--color-text, #1c1512);
}
.ltdc-choice__icon svg { display: block; width: 100%; height: auto; }
.ltdc-choice__name {
	padding-right: 24px;
	font-weight: 700;
	font-size: .92rem;
	line-height: 1.3;
	color: var(--color-text, #1c1512);
}
.ltdc-choice__desc {
	flex: 1;
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text-muted, #7a5c4a);
}
.ltdc-choice__desc strong { color: var(--color-text, #1c1512); }
.ltdc-choice__price {
	margin-top: 6px;
	font-weight: 700;
	font-size: .85rem;
	color: var(--color-warm, #b87a4b);
}
.ltdc-choice__price.is-included {
	font-weight: 600;
	color: var(--color-text-muted, #7a5c4a);
}
.ltdc-choice__price.is-places {
	font-size: .76rem;
	font-weight: 700;
	color: #e67e22; /* orange : quelques places restantes */
}
.ltdc-choice__price.is-urgent { color: #c53030; } /* rouge : à partir du seuil (2) */
.ltdc-choice__check {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--color-border, rgba(28, 21, 18, .15));
	border-radius: 50%;
	background: #fff;
	transition: background .2s, border-color .2s;
}
.ltdc-choice__check svg { width: 10px; height: 10px; opacity: 0; transition: opacity .2s; }
.ltdc-choice__card.is-selected .ltdc-choice__check {
	background: var(--color-text, #1c1512);
	border-color: var(--color-text, #1c1512);
}
.ltdc-choice__card.is-selected .ltdc-choice__check svg { opacity: 1; }
.ltdc-choice__badge {
	position: absolute;
	top: -9px;
	left: 12px;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--color-accent, #f6b099);
	color: var(--color-text, #1c1512);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.ltdc-choice__badge--patent { background: var(--color-text, #1c1512); color: var(--color-bg, #fcf6ee); }

/* Panneau sous les cartes (champ prénom, options des bracelets) */
.ltdc-step__panel {
	margin-top: 10px;
	padding: 16px 18px;
	background: #fff;
	border: 1.5px solid var(--color-border, rgba(28, 21, 18, .1));
	border-radius: 10px;
}
.ltdc-step__panel[hidden] { display: none; }
.ltdc-step__panel .ltdc-opt-addon-text { margin-top: 0; padding-left: 0; }

/* Les anciens rendus (cases à cocher) restent dans le formulaire mais invisibles */
.ltdc-step .ltdc-opt-addon-label,
.ltdc-step .nel-express-label,
.ltdc-step .ltdc-att__toggle { display: none !important; }
.ltdc-option-group.has-steps {
	margin: 0;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.ltdc-option-group.has-steps .ltdc-option-group__title { display: none; }
.ltdc-step .nel-express-block { margin: 0; padding: 0; background: transparent; border: 0; }

/* La date standard a été recopiée dans la carte "Délai standard" (classe posée par product-steps.js) */
.product-info__price .nel-delivery-message.is-moved { display: none !important; }
#fabric-recap-delivery.is-moved { display: none !important; }
/* Configurateur : le cadre blanc des options laisse place aux étapes */
.fabric-options-group--steps { background: transparent; border: 0; border-radius: 0; padding: 0; margin-bottom: 0; }
.ltdc-step .fabric-broderie__label { display: none !important; }
.ltdc-step .fabric-broderie__field { margin-top: 0; }

/* Total avant le bouton */
.ltdc-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 4px 0 12px;
	padding: 14px 0 0;
	border-top: 1px solid var(--color-border, rgba(28, 21, 18, .1));
	font-family: 'Quicksand', var(--font-sans, sans-serif);
}
.ltdc-total[hidden] { display: none; }
.ltdc-total__label {
	font-weight: 700;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--color-text, #1c1512);
}
.ltdc-total__sub {
	display: block;
	margin-top: 2px;
	font-weight: 500;
	font-size: .74rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-text-muted, #7a5c4a);
}
.ltdc-total__amount {
	font-family: 'Quicksand', var(--font-sans, sans-serif); /* même police que le prix de la fiche */
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	color: var(--color-warm, #b87a4b);
	white-space: nowrap;
}

@media (max-width: 420px) {
	.ltdc-choice { gap: 8px; }
	.ltdc-choice__card { padding: 12px 10px 10px; }
	.ltdc-choice__name { font-size: .85rem; padding-right: 20px; }
	.ltdc-choice__desc { font-size: .74rem; }
	.ltdc-choice__check { top: 10px; right: 10px; width: 16px; height: 16px; }
	.ltdc-choice__icon { width: 64px; }
}

/* ── Étape 1 des ciels : "Simple / Double" en deux cartes au lieu de pastilles ── */
.ltdc-size-picker[data-attribute="attribute_choix"] .size-picker__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 10px;
}
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 4px;
	min-width: 0;
	width: 100%;
	padding: 14px 14px 12px;
	border: 1.5px solid var(--color-border, rgba(28, 21, 18, .1));
	border-radius: 10px;
	background: #fff;
	color: var(--color-text, #1c1512);
	font-family: 'Quicksand', var(--font-sans, sans-serif);
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	white-space: normal;
}
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill:hover { border-color: var(--color-text, #1c1512); background: #fff; }
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill.is-selected {
	background: var(--color-bg, #fcf6ee);
	color: var(--color-text, #1c1512);
	border-color: var(--color-text, #1c1512);
	box-shadow: inset 0 0 0 1px var(--color-text, #1c1512);
}
.size-pill__name { padding-right: 24px; }
.size-pill__desc { font-size: .78rem; font-weight: 500; color: var(--color-text-muted, #7a5c4a); }
.size-pill__price { margin-top: 6px; font-size: .85rem; font-weight: 700; color: var(--color-warm, #b87a4b); }
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill .ltdc-choice__check { top: 12px; right: 12px; }
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill.is-selected .ltdc-choice__check { background: var(--color-text, #1c1512); border-color: var(--color-text, #1c1512); }
.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill.is-selected .ltdc-choice__check svg { opacity: 1; }
@media (max-width: 420px) {
	.ltdc-size-picker[data-attribute="attribute_choix"] .size-pill { padding: 12px 10px 10px; font-size: .85rem; }
}
