/**
 * Fiche produit : mise en forme des templates Bricks « Fiche … ».
 * Les données viennent de blianti-core/includes/modules/fiche-produit.php.
 */

.blianti-fiche,
.blianti-fiche-section {
	--encre: #2B1A10;
	--papier: #FBF7F1;
	--accent: #B0521D;
	--trait: #D9CBBB;
	--doux: #6E5B4D;
	width: 100%;
	background: var(--papier);
	color: var(--encre);
	font-family: "Hanken Grotesk", sans-serif;
	font-size: 15px;
	line-height: 1.5;
}

.blianti-fiche__conteneur,
.blianti-fiche-section__conteneur {
	width: 100%;
	max-width: 1352px;
	margin: 0 auto;
	padding: 0 16px;
}

.blianti-fiche {
	padding-top: 24px;
	padding-bottom: 72px;
}

.blianti-fiche .woocommerce-breadcrumb,
.blianti-fiche .brxe-woocommerce-breadcrumbs {
	margin-bottom: 24px;
	color: var(--doux);
	font-size: 13px;
}

/* Galerie et informations */
.blianti-fiche__haut {
	display: grid;
	grid-template-columns: minmax(0, 762fr) minmax(0, 512fr);
	gap: 46px;
	align-items: start;
	width: 100%;
}

.blianti-fiche__galerie {
	width: 100%;
}

.blianti-fiche__galerie .woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.blianti-fiche__galerie .flex-control-thumbs img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.blianti-fiche__infos {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

/* Boutique, en haut des informations */
.blianti-fiche__vendeur {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--encre);
	font-weight: 500;
}

.blianti-fiche__logo {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #5A3722;
	object-fit: cover;
	overflow: hidden;
}

.blianti-fiche__verifie {
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	background: var(--accent);
	transform: rotate(45deg);
}

.blianti-fiche__note {
	color: var(--doux);
}

.blianti-fiche .brxe-product-title {
	margin-bottom: 12px;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
}

.blianti-fiche .brxe-product-price {
	color: var(--encre);
	font-size: 22px;
	font-weight: 500;
}

.blianti-fiche .brxe-product-price del {
	margin-left: 10px;
	color: var(--doux);
	font-size: 15px;
}

.blianti-fiche .brxe-product-price ins {
	text-decoration: none;
}

.blianti-fiche .brxe-product-stock,
.blianti-fiche .woocommerce-variation-availability {
	margin-top: 6px;
	color: var(--accent);
	font-size: 14px;
}

.blianti-fiche .brxe-product-stock .stock {
	margin: 0;
	color: inherit;
}

.blianti-fiche .brxe-product-short-description {
	margin-top: 14px;
}

/* Choix et bouton */
.blianti-fiche .brxe-product-add-to-cart {
	width: 100%;
	margin-top: 24px;
}

/* Une seule mention de stock : sous le prix pour un produit simple, avec la variation sinon. */
.blianti-fiche__infos:has(form.variations_form) .brxe-product-stock {
	display: none;
}

.blianti-fiche .brxe-product-add-to-cart > .stock {
	display: none;
}

.blianti-fiche form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}

.blianti-fiche form.variations_form {
	display: block;
}

.blianti-fiche table.variations {
	width: 100%;
	margin: 0 0 20px;
	border: 0;
}

.blianti-fiche table.variations,
.blianti-fiche table.variations tbody,
.blianti-fiche table.variations tr,
.blianti-fiche table.variations th,
.blianti-fiche table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

.blianti-fiche table.variations tr + tr {
	margin-top: 18px;
}

.blianti-fiche table.variations label {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	color: var(--encre);
	font-weight: 400;
}

.blianti-fiche .reset_variations {
	display: inline-block;
	margin-top: 8px;
	color: var(--doux);
	font-size: 13px;
}

.blianti-fiche .bricks-variation-swatches {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.blianti-fiche .bricks-swatch-label li {
	margin-right: -1px;
	padding: 0;
	border: 0;
	background: none;
}

.blianti-fiche .bricks-swatch-label .bricks-swatch-button {
	min-width: 66px;
	height: 52px;
	padding: 0 12px;
	border: 1px solid var(--encre);
	background: transparent;
	color: var(--encre);
	font-size: 14px;
	text-align: center;
	cursor: pointer;
}

.blianti-fiche .bricks-swatch-label li.bricks-swatch-selected .bricks-swatch-button {
	background: var(--encre);
	color: var(--papier);
}

.blianti-fiche .bricks-swatch-label .bricks-swatch-button[aria-disabled="true"] {
	border-color: var(--trait);
	color: var(--doux);
	text-decoration: line-through;
	cursor: not-allowed;
}

.blianti-fiche .bricks-swatch-color {
	gap: 12px;
}

.blianti-fiche .bricks-swatch-color li {
	padding: 0;
	border: 0;
	background: none;
}

.blianti-fiche .bricks-swatch-color li[data-value="multicolore"] span {
	background: conic-gradient(#C0281C, #EFC52F, #3F8A4D, #2F6FC4, #C0281C) !important;
}

.blianti-fiche .bricks-swatch-color .bricks-swatch-button {
	display: block;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 3px solid var(--papier);
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--trait);
	cursor: pointer;
}

.blianti-fiche .bricks-swatch-color li.bricks-swatch-selected .bricks-swatch-button {
	box-shadow: 0 0 0 1px var(--encre);
}

.blianti-fiche .bricks-swatch-color .bricks-swatch-button[aria-disabled="true"] {
	opacity: .35;
	cursor: not-allowed;
}

.blianti-fiche .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: stretch;
}

.blianti-fiche .quantity {
	display: flex;
	flex: 0 0 140px;
	height: 58px;
	margin: 0;
	border: 1px solid var(--encre);
}

.blianti-fiche .quantity input.qty {
	flex: 1;
	width: 40px;
	min-width: 0;
	border: 0;
	background: transparent;
	text-align: center;
}

.blianti-fiche .quantity .action {
	display: flex;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: var(--encre);
	cursor: pointer;
}

.blianti-fiche .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 58px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: var(--encre);
	color: var(--papier);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.blianti-fiche .single_add_to_cart_button:hover {
	background: var(--accent);
}

.blianti-fiche .blianti-favori--fiche {
	flex: 0 0 58px;
	width: 58px;
	height: 58px;
}

.blianti-fiche .blianti-mention-prix,
.blianti-fiche .brxe-product-add-to-cart form.cart ~ p,
.blianti-fiche .brxe-product-add-to-cart form.cart ~ small {
	margin: 12px 0 0;
	color: var(--doux);
	font-size: 13px;
}

/* Quantité fixée à 1 : WooCommerce garde un champ caché. */
.blianti-fiche .quantity:has(input[type="hidden"]) {
	display: none;
}

/* Service et sur commande : la demande du client */
.blianti-fiche .blianti-field {
	flex: 0 0 100%;
	margin: 0;
}

.blianti-fiche .blianti-field__label {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
}

.blianti-fiche .blianti-field__input {
	min-height: 132px;
	padding: 14px;
	border: 1px solid var(--encre);
	border-radius: 0;
	background: transparent;
	color: var(--encre);
	font: inherit;
	resize: vertical;
}

.blianti-fiche .blianti-field__input:focus {
	border-color: var(--accent);
	outline: 1px solid var(--accent);
}

.blianti-fiche .blianti-field__counter {
	margin-top: 6px;
	color: var(--doux);
	font-size: 12px;
	opacity: 1;
}

/* Livraison, vérification, boutique */
.blianti-fiche__garanties {
	width: 100%;
	margin-top: 22px;
	border-bottom: 1px solid var(--trait);
}

.blianti-fiche__garantie {
	display: flex;
	flex-direction: row;
	gap: 14px;
	width: 100%;
	padding: 16px 0;
	border-top: 1px solid var(--trait);
}

.blianti-fiche__garantie-icone {
	flex: 0 0 22px;
	color: var(--encre);
	font-size: 20px;
}

.blianti-fiche__garantie-titre {
	font-weight: 500;
}

.blianti-fiche__garantie-texte {
	color: var(--doux);
	font-size: 14px;
}

.blianti-fiche__contact {
	display: grid;
	grid-template-columns: 86px 1fr;
	gap: 2px 0;
	margin-top: 4px;
	font-size: 14px;
}

.blianti-fiche__contact-libelle {
	color: var(--doux);
}

.blianti-fiche__contact a {
	color: var(--encre);
	text-decoration: underline;
}

/* Description et avis */
.blianti-fiche__onglets {
	width: 100%;
	margin-top: 96px;
	border-top: 1px solid var(--encre);
}

.blianti-fiche__onglets > .brxe-block {
	width: 100%;
	border-bottom: 1px solid var(--trait);
}

.blianti-fiche__onglets .accordion-title-wrapper {
	padding: 22px 0;
	cursor: pointer;
}

.blianti-fiche__onglet-titre {
	font-size: 22px;
	font-weight: 500;
}

.blianti-fiche__onglet-note {
	margin-left: 12px;
	color: var(--doux);
	font-size: 15px;
	font-weight: 400;
}

.blianti-fiche__onglets .accordion-content-wrapper {
	padding: 8px 0 32px;
}

.blianti-fiche__onglets .brxe-product-content {
	max-width: 680px;
	font-size: 16px;
	line-height: 1.7;
}

/* Le titre « Avis » est déjà celui de l'accordéon. */
.blianti-fiche__onglets .woocommerce-Reviews-title {
	display: none;
}

/* Rencontrez le vendeur */
.blianti-fiche-vendeur {
	background: #EBDCCB;
	padding-top: 72px;
	padding-bottom: 72px;
}

.blianti-fiche-vendeur__grille {
	display: grid;
	grid-template-columns: 276px minmax(0, 1fr) 276px;
	gap: 48px 120px;
	align-items: center;
	width: 100%;
}

.blianti-fiche-vendeur__portrait {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #5A3722;
	overflow: hidden;
}

.blianti-fiche-vendeur__portrait img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blianti-fiche-vendeur__surtitre {
	color: var(--doux);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.blianti-fiche-vendeur__titre {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin: 12px 0 8px;
}

.blianti-fiche-vendeur__nom {
	width: auto;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
}

.blianti-fiche-vendeur__badge {
	color: var(--accent);
	font-size: 14px;
}

.blianti-fiche-vendeur__resume {
	color: var(--doux);
	font-size: 14px;
}

.blianti-fiche-vendeur__bio {
	margin-top: 14px;
	font-size: 18px;
	line-height: 1.5;
}

.blianti-fiche-vendeur__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.blianti-bouton {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	padding: 0 20px;
	border: 1px solid var(--encre);
	font-size: 15px;
	font-weight: 600;
	text-align: center;
}

.blianti-bouton--plein {
	background: var(--encre);
	color: var(--papier);
}

.blianti-bouton--plein:hover {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--papier);
}

.blianti-bouton--contour {
	color: var(--encre);
}

.blianti-bouton--contour:hover {
	color: var(--accent);
	border-color: var(--accent);
}

/* Listes de produits */
.blianti-fiche-liste {
	padding-top: 64px;
}

.blianti-fiche-liste:last-of-type {
	padding-bottom: 96px;
}

/* Une liste sans produit disparaît, titre compris. */
.blianti-fiche-liste:not(:has(.blianti-carte)) {
	display: none;
}

.blianti-fiche-liste__entete {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin-bottom: 24px;
}

.blianti-fiche-liste__titre {
	font-size: 22px;
	font-weight: 500;
}

.blianti-fiche-liste__lien {
	color: var(--encre);
	font-size: 14px;
	text-decoration: underline;
}

.blianti-fiche-liste__grille {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
}

.blianti-carte {
	position: relative;
	width: 100%;
}

.blianti-carte__visuel {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	background: #D9CBBB;
	overflow: hidden;
}

.blianti-carte__visuel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blianti-carte__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	padding: 4px 10px;
	background: var(--papier);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.blianti-carte .blianti-favori {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 1;
	width: 34px;
	height: 34px;
	background: var(--papier);
}

.blianti-carte__titre {
	margin-top: 12px;
	color: var(--encre);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
}

.blianti-carte__meta {
	margin-top: 4px;
	color: var(--doux);
	font-size: 13px;
}

.blianti-carte__prix {
	margin-top: 4px;
	font-size: 16px;
	font-weight: 500;
}

@media (max-width: 991px) {
	.blianti-fiche__haut,
	.blianti-fiche-vendeur__grille {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.blianti-fiche__onglets {
		margin-top: 56px;
	}

	.blianti-fiche-vendeur__portrait {
		max-width: 276px;
	}

	.blianti-fiche-liste__grille {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.blianti-fiche-liste__grille {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.blianti-fiche .brxe-product-title {
		font-size: 24px;
	}

	.blianti-fiche-vendeur__nom {
		font-size: 26px;
	}
}
