/**
 * Fiche produit — formulaire (attributs, quantité, bouton).
 * Le parent charge Bootstrap : la classe .label (badge) écrase th.label WooCommerce
 * (texte blanc), d’où des libellés d’attributs invisibles.
 */

/* Bloc formulaire variations + quantité + bouton */
.single-product .woocommerce form.variations_form.cart {
	background: #f3f3f3;
	padding: 20px;
	border-radius: 20px;
	box-sizing: border-box;
}

/* Titre toujours en haut de l’encadré, au-dessus des attributs */
.single-product form.cart > .larsenal-demande-soumission-titre {
	margin-top: 0;
	margin-bottom: 16px;
	width: 100%;
}

/* --- Table des variations : annuler Bootstrap .label sur les cellules WC --- */
.single-product .woocommerce table.variations,
.single-product .woocommerce table.variations tbody {
	display: block;
	width: 100%;
}

.single-product .woocommerce table.variations {
	border: 0;
	margin: 0 0 1em;
	border-collapse: separate;
	border-spacing: 0;
}

.single-product .woocommerce table.variations th,
.single-product .woocommerce table.variations td {
	border: 0;
	vertical-align: middle;
	background: transparent !important;
}

/* Hauteur de ligne homogène : même écart entre chaque attribut */
.single-product .woocommerce table.variations tbody tr:not(:last-child) {
	margin-bottom: 10px;
}

.single-product .woocommerce table.variations th.label,
.single-product .woocommerce table.variations th.label label {
	display: table-cell !important;
	color: #222 !important;
	background: transparent !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: "Roboto", sans-serif !important;
	line-height: 1.35 !important;
	padding: 0 !important;
	text-align: left !important;
	vertical-align: middle !important;
	white-space: normal !important;
	border-radius: 0 !important;
	letter-spacing: 0.02em;
	text-transform: none;
}

/* Le lien « effacer » est dans la dernière cellule : il ne doit pas
   décaler le libellé par rapport au select. */
.single-product .woocommerce table.variations tr {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
}

.single-product .woocommerce table.variations td.value {
	display: contents;
}

.single-product .woocommerce table.variations td.value .reset_variations {
	grid-column: 2;
	justify-self: start;
}

.single-product .woocommerce table.variations td.value {
	padding: 0 0 0 0 !important;
}

.single-product .woocommerce table.variations select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 11px 38px 11px 14px;
	border: 1px solid #c8c8c8;
	border-radius: 4px;
	font-size: 15px;
	font-family: "Roboto", sans-serif;
	color: #222;
	background-color: #fff;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.single-product .woocommerce table.variations select:hover,
.single-product .woocommerce table.variations select:focus {
	border-color: #888;
	outline: none;
	box-shadow: 0 0 0 3px rgba(224, 39, 38, 0.12);
}

/* WC : ce lien n’est rendu que dans la dernière td → éviter de gonfler visuellement la ligne */
.single-product .woocommerce table.variations td.value .reset_variations {
	display: block;
	clear: both;
	margin-top: 8px;
	margin-bottom: 0;
	font-size: 13px;
	font-weight: 600;
	color: #e02726;
	line-height: 1.3;
}

.single-product .woocommerce .reset_variations:hover {
	color: #a21817;
}

/* Produit simple : encadré ; le bouton YITH est dans le form (woocommerce_after_add_to_cart_button). */
.single-product form.cart:not(.variations_form) {
	background: #f3f3f3;
	padding: 20px;
	border-radius: 20px;
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin-top: 4px;
}

.single-product form.cart:not(.variations_form) .yith-ywraq-add-to-quote {
	width: 100%;
	align-self: flex-start;
	margin-top: 0;
	margin-left: 0;
	text-align: left;
}

.single-product form.cart:not(.variations_form) .single_add_to_cart_button,
.single-product form.cart:not(.variations_form) button.single_add_to_cart_button,
.single-product form.cart:not(.variations_form) button[type="submit"].button,
.single-product form.cart:not(.variations_form) a.single_add_to_cart_button,
.single-product form.cart:not(.variations_form) a.add-request-quote-button {
	align-self: flex-start;
	margin-left: 0;
	margin-right: auto;
}

.single-product .product-type-external form.cart:not(.variations_form),
.single-product .product-type-grouped form.cart:not(.variations_form) {
	display: block;
}

/* Produit variable : le bouton YITH est dans la ligne quantité, sur toute la largeur. */
.single-product form.variations_form .woocommerce-variation-add-to-cart .yith-ywraq-add-to-quote {
	flex: 1 0 100%;
	width: 100%;
	margin: 0;
}

/* --- Ligne quantité + bouton (variable et simple) --- */
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart .variations_button,
.single-product form.cart .quantity + .button,
.single-product form.cart .quantity + button[type="submit"] {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 14px 18px;
	margin-top: 20px;
}

.single-product form.cart .woocommerce-variation-add-to-cart .quantity,
.single-product form.cart .variations_button .quantity,
.single-product form.cart .quantity {
	float: none !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* Libellé « Quantité » : WC le met en .screen-reader-text par défaut */
.single-product form.cart .quantity label.screen-reader-text {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	border: 0 !important;
	white-space: normal !important;
	word-wrap: normal !important;
	display: block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-family: "Roboto", sans-serif !important;
	color: #222 !important;
	line-height: 1.3;
}

.single-product form.cart .quantity .larsenal-qty-controls {
	display: inline-flex;
	align-items: stretch;
}

.single-product form.cart .quantity .larsenal-qty-btn {
	flex: 0 0 44px;
	width: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid #c8c8c8;
	background: #fff;
	color: #222;
	font-family: "Roboto", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.single-product form.cart .quantity .larsenal-qty-btn:hover:not(:disabled) {
	background: #f7f7f7;
	color: #e1251b;
}

.single-product form.cart .quantity .larsenal-qty-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.single-product form.cart .quantity .larsenal-qty-minus {
	border-radius: 4px 0 0 4px;
	border-right: 0;
}

.single-product form.cart .quantity .larsenal-qty-plus {
	border-radius: 0 4px 4px 0;
	border-left: 0;
}

.single-product form.cart .quantity .qty {
	width: 56px !important;
	min-height: 44px;
	margin: 0;
	box-sizing: border-box;
	padding: 10px 4px !important;
	text-align: center;
	border: 1px solid #c8c8c8 !important;
	border-radius: 0 !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	font-family: "Roboto", sans-serif !important;
	color: #222 !important;
	background: #fff !important;
	transition: border-color 0.2s, box-shadow 0.2s;
	-moz-appearance: textfield;
	appearance: textfield;
}

.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single-product form.cart .quantity .qty:focus {
	border-color: #888 !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(224, 39, 38, 0.12);
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart button.single_add_to_cart_button,
.single-product form.cart button[type="submit"].button,
.single-product form.cart a.single_add_to_cart_button {
	align-self: flex-end;
	min-height: 44px;
	margin: 0 !important;
	padding: 14px 26px !important;
	box-sizing: border-box;
	font-family: "Heebo", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.2 !important;
	border: none !important;
	border-radius: 3px !important;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

/* Surcharge lisible si YITH injecte encore du bleu : on aligne sur la charte */
.single-product form.cart .button.alt,
.single-product form.cart .single_add_to_cart_button.button {
	background-color: #e02726 !important;
	color: #fff !important;
}

.single-product form.cart .button.alt:hover,
.single-product form.cart .single_add_to_cart_button.button:hover {
	background-color: #ff4241 !important;
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   YITH Request a Quote — messages sous le bouton (AJAX)
   ------------------------------------------------------------------------- */
.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_product_message {
	box-sizing: border-box;
	margin-top: 8px;
	padding: 12px 14px;
	border-radius: 6px;
	font-size: 14px;
	font-family: "Roboto", sans-serif;
	line-height: 1.45;
	color: #1b4d20;
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
}

.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_product_message p {
	margin: 0;
}

.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_product_message p + p {
	margin-top: 6px;
}

/* Déjà dans le devis */
.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_response_message {
	box-sizing: border-box;
	margin-top: 8px;
	padding: 12px 14px;
	border-radius: 6px;
	font-size: 14px;
	font-family: "Roboto", sans-serif;
	line-height: 1.45;
	color: #5d4037;
	background: #fff8e1;
	border: 1px solid #ffcc80;
}

/* Lien « Voir la liste / consulter le devis » — rendu type bouton secondaire */
.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_browse_message {
	margin-top: 10px;
}

.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_browse_message a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 22px !important;
	box-sizing: border-box;
	font-family: "Heebo", sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.2 !important;
	color: #e02726 !important;
	background: #fff !important;
	border: 2px solid #e02726 !important;
	border-radius: 3px !important;
	text-decoration: none !important;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.woocommerce .yith-ywraq-add-to-quote .yith_ywraq_add_item_browse_message a:hover {
	background: #e02726 !important;
	color: #fff !important;
	border-color: #e02726 !important;
}

@media (max-width: 576px) {
	.single-product .woocommerce table.variations tr {
		display: block;
		margin-bottom: 16px;
	}

	.single-product .woocommerce table.variations th.label,
	.single-product .woocommerce table.variations td.value {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
	}

	.single-product .woocommerce table.variations th.label label {
		display: block !important;
		padding: 0 0 6px 0 !important;
	}

	.single-product .woocommerce table.variations td.value {
		display: block;
	}

	.single-product .woocommerce table.variations td.value .reset_variations {
		grid-column: auto;
	}

	.single-product form.cart .woocommerce-variation-add-to-cart,
	.single-product form.cart .variations_button {
		flex-direction: column;
		align-items: stretch;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product form.cart button.single_add_to_cart_button,
	.single-product form.cart button[type="submit"].button {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
}

/* Formulaire rendu après .contenu-produit (colonne résumé) : léger dégagement du texte */
.single-product .woocommerce .summary .contenu-produit + form.cart {
	margin-top: 1.75rem;
	max-width: 100%;
	box-sizing: border-box;
}

/* Produit exclu de la demande de soumission */
.single-product .larsenal-quote-unavailable {
	background: #f3f3f3;
	padding: 24px 20px;
	border-radius: 20px;
	box-sizing: border-box;
	margin-top: 1.75rem;
	max-width: 100%;
}

.single-product .larsenal-quote-unavailable .larsenal-demande-soumission-titre {
	margin-top: 0;
	margin-bottom: 16px;
	width: 100%;
}

.single-product .larsenal-quote-unavailable p {
	margin: 0;
	font-family: "Roboto", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	color: #222;
}

/* =======================================================================
   Bouton "Ajouter à la soumission" — YITH Request a Quote
   ======================================================================= */
a.add-request-quote-button.button,
.woocommerce a.add-request-quote-button.button,
.woocommerce ul.products li.product a.add-request-quote-button.button {
    background-color: #e1251b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

a.add-request-quote-button.button:hover,
a.add-request-quote-button.button:active,
.woocommerce a.add-request-quote-button.button:hover,
.woocommerce a.add-request-quote-button.button:active,
.woocommerce ul.products li.product a.add-request-quote-button.button:hover,
.woocommerce ul.products li.product a.add-request-quote-button.button:active {
    background-color: #FF4241 !important;
    color: #fff !important;
    border: none !important;
}
.single-product .woocommerce table.variations td.value .reset_variations {
	display: inline-block;
}

/* =======================================================================
   YITH — Masquer la zone de réponse vide (évite la box jaune sans texte)
   ======================================================================= */
[class*="yith_ywraq_add_item_response-"]:empty {
    display: none !important;
}

