/**
 * Fiche produit pizza — taille (options + prix alignés) + masquage prix catalogue.
 *
 * Structure TM EPO (par option) :
 *   li.tmcp-field-wrap
 *     > label.tm-epo-field-label
 *         > .tc-epo-style-wrapper   (radio/checkbox)
 *         > .tc-label-wrap
 *             > .tm-label
 *                 > .aco-pizza-option-row
 *                     > .aco-pizza-option-name
 *                     > .aco-pizza-option-price
 *
 * @package Annexe_Customizations
 */

/* Prix catalogue Elementor / Woo. */
body.single-product.aco-pizza-product div.product .summary > p.price,
body.single-product.aco-pizza-product div.product .entry-summary > p.price,
body.single-product.aco-pizza-product .elementor-widget-woocommerce-product-price,
body.single-product.aco-pizza-product .elementor-widget-woocommerce-product-price .price {
	display: none !important;
}

/*
 * Masque la ligne client « Options amount » (calcul EPO inchangé).
 * Le « Total » final reste visible.
 */
body.single-product.aco-pizza-product #tm-epo-totals dt.tm-options-totals,
body.single-product.aco-pizza-product #tm-epo-totals dd.tm-options-totals,
body.single-product.aco-pizza-product #tm-epo-totals .tm-options-totals,
body.single-product.aco-pizza-product .tm-final-totals .tm-options-totals {
	display: none !important;
}

/*
 * Suppléments pizza : liste visuelle ordonnée composée des lignes EPO
 * existantes. Les éléments source deviennent vides et sont masqués.
 */
.aco-pizza-supplements-ordered .aco-pizza-supplements-source {
	display: none !important;
}

.aco-pizza-supplements-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.aco-pizza-supplements-list li.tmcp-field-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0 0 0.35rem;
}

.aco-pizza-supplements-list .tm-epo-field-label {
	display: flex;
	align-items: center;
	column-gap: 0.75em;
	flex: 0 1 auto;
	min-width: 0;
}

.aco-pizza-supplements-list .tc-epo-style-wrapper {
	flex: 0 0 auto;
}

.aco-pizza-supplements-list .tc-label-wrap {
	flex: 1 1 auto;
	min-width: 0;
}

.aco-pizza-supplements-list .tc-price-wrap {
	display: flex;
	flex: 0 0 auto;
	justify-content: flex-end;
	margin-left: 0.75em;
	white-space: nowrap;
}

/* Espaces demandés après Pâte épaisse, Miel et Anchois. */
.aco-pizza-supplements-list li.tmcp-field-wrap[data-aco-pizza-supplement-order="10"],
.aco-pizza-supplements-list li.tmcp-field-wrap[data-aco-pizza-supplement-order="50"],
.aco-pizza-supplements-list li.tmcp-field-wrap[data-aco-pizza-supplement-order="160"],
.aco-pizza-supplements-list li.tmcp-field-wrap[data-aco-pizza-supplement-order="230"] {
	margin-bottom: 1.25rem;
}

.aco-pizza-size-prices {
	display: none !important;
}

/* Montants natifs TM EPO. */
.aco-pizza-size-field-div .tc-price,
.aco-pizza-size-field-ul .tc-price,
.aco-pizza-size-field-div .tmcp-field-wrap > .price,
.aco-pizza-size-field-ul .tmcp-field-wrap > .price,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] .tc-price,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] .tmcp-field-wrap > .price {
	display: none !important;
}

/*
 * Ligne option : pleine largeur.
 * Grid sur le <label> EPO : [radio | zone texte 1fr].
 */
.aco-pizza-size-field-div li.tmcp-field-wrap,
.aco-pizza-size-field-ul > li.tmcp-field-wrap,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] li.tmcp-field-wrap {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 0.35rem;
}

.aco-pizza-size-field-div li.tmcp-field-wrap > .tm-epo-field-label,
.aco-pizza-size-field-ul > li.tmcp-field-wrap > .tm-epo-field-label,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] li.tmcp-field-wrap > .tm-epo-field-label {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: 0.5em;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.aco-pizza-size-field-div li.tmcp-field-wrap .tc-epo-style-wrapper,
.aco-pizza-size-field-ul > li.tmcp-field-wrap .tc-epo-style-wrapper,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] li.tmcp-field-wrap .tc-epo-style-wrapper {
	grid-column: 1;
	justify-self: start;
}

/* Conteneur libellé EPO : occupe toute la colonne restante. */
.aco-pizza-size-field-div li.tmcp-field-wrap .tc-label-wrap,
.aco-pizza-size-field-ul > li.tmcp-field-wrap .tc-label-wrap,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] li.tmcp-field-wrap .tc-label-wrap,
.aco-pizza-size-field-div li.tmcp-field-wrap .tm-label,
.aco-pizza-size-field-ul > li.tmcp-field-wrap .tm-label,
.cpf-element[data-uniqid="64d3a5835e8415.82813811"] li.tmcp-field-wrap .tm-label {
	display: block !important;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	font-weight: 600;
	line-height: 1.35;
}

/*
 * Rangée name | prix : grille 1fr / auto.
 * Les prix partagent la même colonne droite quelle que soit la longueur du nom.
 */
.aco-pizza-option-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	width: 100%;
	min-width: 0;
	column-gap: 1em;
}

.aco-pizza-option-name {
	grid-column: 1;
	justify-self: start;
	min-width: 0;
	text-align: left;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.aco-pizza-option-price {
	grid-column: 2;
	justify-self: end;
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	line-height: 1.35;
}

.aco-pizza-option-price .woocommerce-Price-amount,
.aco-pizza-option-price .amount {
	font-weight: inherit;
	display: inline !important;
}
