/* =========================================================
   Brasserie – Formats & Achat rapide
   Style neutre/minimaliste à ajuster aux couleurs du thème.
   ========================================================= */

/* --- Barre de filtres ----------------------------------- */
.bsf-filterbar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	padding: 14px 0 22px;
	border-bottom: 1px solid rgba( 0, 0, 0, 0.08 );
	margin-bottom: 26px;
	font-size: 0.95rem;
}

.bsf-filterbar .bsf-all {
	color: #9a9a8e;
	text-decoration: none;
}

.bsf-filterbar .bsf-filter-label {
	margin-left: 6px;
	color: #2b2b2b;
}

.bsf-select {
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid rgba( 0, 0, 0, 0.18 );
	border-radius: 999px;
	padding: 9px 34px 9px 18px;
	font: inherit;
	color: #2b2b2b;
	cursor: pointer;
	background-image: url( "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e" );
	background-repeat: no-repeat;
	background-position: right 14px center;
}

.bsf-bestseller {
	margin-left: auto;
	color: #2b2b2b;
	text-decoration: none;
}

.bsf-bestseller.active {
	font-weight: 600;
	text-decoration: underline;
}

/* --- Carte produit : positionnement du popup ------------ */
.woocommerce ul.products li.product,
ul.products li.product {
	position: relative;
}

/* --- Chips de format sous le produit -------------------- */
.bsf-formats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 10px 0 4px;
}

.bsf-chip,
.bsf-pop-chip {
	font: inherit;
	font-size: 0.82rem;
	line-height: 1;
	padding: 8px 14px;
	border: 1px solid rgba( 0, 0, 0, 0.22 );
	border-radius: 999px;
	background: #fff;
	color: #2b2b2b;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.bsf-chip:hover,
.bsf-pop-chip:hover {
	border-color: #2b2b2b;
}

.bsf-pop-chip.active {
	background: #6e6e5e; /* gris/olive proche du visuel 3 Monts */
	border-color: #6e6e5e;
	color: #fff;
}

.bsf-chip.bsf-out,
.bsf-pop-chip.bsf-out {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

/* --- Popup d'achat -------------------------------------- */
.bsf-popup {
	display: none;
	position: absolute;
	left: 50%;
	bottom: 8px;
	transform: translateX( -50% );
	width: min( 86%, 320px );
	z-index: 30;
}

.bsf-popup.active {
	display: block;
	animation: bsf-pop 0.16s ease-out;
}

@keyframes bsf-pop {
	from {
		opacity: 0;
		transform: translate( -50%, 8px );
	}
	to {
		opacity: 1;
		transform: translate( -50%, 0 );
	}
}

.bsf-popup-inner {
	position: relative;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 18px 45px rgba( 0, 0, 0, 0.18 );
	padding: 26px 22px 22px;
	text-align: center;
}

.bsf-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 26px;
	height: 26px;
	border: 1px solid #cdd6c6;
	border-radius: 50%;
	background: #fff;
	color: #7a8a6e;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.bsf-pop-chips {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-bottom: 16px;
}

.bsf-pop-label {
	margin: 14px 0 4px;
	color: #9a9a8e;
	font-size: 0.85rem;
}

.bsf-pop-price {
	font-size: 1.15rem;
	font-weight: 600;
	color: #2b2b2b;
}

.bsf-pop-price small {
	font-size: 0.7em;
}

/* --- Sélecteur quantité --------------------------------- */
.bsf-qty {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin-top: 4px;
}

.bsf-qty .bsf-minus,
.bsf-qty .bsf-plus {
	width: 30px;
	height: 30px;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 50%;
	background: #fff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.bsf-qty-input {
	width: 42px;
	text-align: center;
	border: none;
	font: inherit;
	font-size: 1rem;
	-moz-appearance: textfield;
}

.bsf-qty-input::-webkit-outer-spin-button,
.bsf-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* --- Bouton Ajouter ------------------------------------- */
.bsf-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 18px;
	padding: 13px 18px;
	border: 1px solid #2b2b2b;
	border-radius: 999px;
	background: #fff;
	color: #2b2b2b;
	font: inherit;
	font-size: 0.95rem;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.bsf-add::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url( "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3e%3ccircle cx='9' cy='21' r='1'/%3e%3ccircle cx='20' cy='21' r='1'/%3e%3cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3e%3c/svg%3e" ) no-repeat center / contain;
	mask: url( "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3e%3ccircle cx='9' cy='21' r='1'/%3e%3ccircle cx='20' cy='21' r='1'/%3e%3cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3e%3c/svg%3e" ) no-repeat center / contain;
}

.bsf-add:hover {
	background: #2b2b2b;
	color: #fff;
}

.bsf-add.loading {
	opacity: 0.6;
	cursor: wait;
}

.bsf-add.done {
	background: #5b7a3f;
	border-color: #5b7a3f;
	color: #fff;
}

.bsf-add.done::before {
	display: none;
}

/* --- Mobile --------------------------------------------- */
@media ( max-width: 600px ) {
	.bsf-popup {
		width: 92%;
	}
	.bsf-filterbar {
		font-size: 0.9rem;
	}
}
