/* Assiette Gourmande — mini-panier lateral
   Transforme le dropdown Blocksy existant en panneau. Aucun second systeme de panier.
   Desactivable via l'option ag_feature_mini_cart. */

/* ---------- voile de fond ----------
   Le voile est insere par le module DANS le conteneur du panneau (.ct-header-cart),
   et non sur la page : l'en-tete de Blocksy forme un calque ferme, un voile pose
   plus haut passerait au-dessus du panneau et capterait tous les clics. */
.ag-mc-backdrop {
	position: fixed;
	inset: 0;
	z-index: 99980;
	background: rgba(22, 24, 22, .45);
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s ease, visibility .28s ease;
}

.ag-mc-open .ag-mc-backdrop {
	opacity: 1;
	visibility: visible;
}

/* ---------- blocage du defilement ---------- */
.ag-mc-lock,
.ag-mc-lock body {
	overflow: hidden !important;
}

/* ---------- le dropdown devient un panneau ---------- */
.ag-mini-cart-on .ct-header-cart .ct-cart-content {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 99981;
	display: flex !important;
	flex-direction: column;
	/* Tiroir : une bande de page reste visible a gauche, sous le voile. */
	width: min(430px, 90vw);
	max-width: 90vw;
	height: 100%;
	margin: 0;
	padding: 0 0 env(safe-area-inset-bottom, 0px);
	border-radius: 0;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(41, 51, 61, .18);
	opacity: 1;
	visibility: hidden;
	transform: translateX(100%);
	transition: transform .28s ease, visibility .28s ease;
	--mini-cart-background-color: #ffffff;
	--mini-cart-divider-color: rgba(0, 0, 0, .08);
	/* Etat lisible par le module. Jamais anime, donc toujours exact. */
	--ag-mc-etat: ferme;
}

/* le survol de l'icone ne doit plus ouvrir le panneau */
.ag-mini-cart-on .ct-header-cart:hover .ct-cart-content,
.ag-mini-cart-on .ct-header-cart:focus-within .ct-cart-content {
	transform: translateX(100%);
	visibility: hidden;
}

/* ouverture pilotee par le module, sur la racine du document */
.ag-mc-open .ct-header-cart .ct-cart-content,
.ag-mc-open .ct-header-cart:hover .ct-cart-content,
.ag-mc-open .ct-header-cart:focus-within .ct-cart-content {
	transform: translateX(0);
	visibility: visible;
	--ag-mc-etat: ouvert;
}

/* le panneau reste visible quand le panier se vide */
.ag-mini-cart-on .ct-header-cart .ct-cart-content[data-count="0"] {
	display: flex !important;
}

/* la fleche du dropdown n'a plus lieu d'etre */
.ag-mini-cart-on .ct-header-cart .ct-cart-content:before {
	content: none;
}

/* ---------- lisibilite ----------
   Le dropdown d'origine est configure sur fond sombre : ses textes sont blancs.
   Le panneau, lui, est sur fond blanc. On redonne donc une couleur lisible aux
   elements concernes, sans toucher au reglage du theme ni au titre du plat. */
.ag-mini-cart-on .ct-header-cart .ct-cart-content,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .quantity,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total strong,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-Price-amount,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dt,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dd,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation p {
	color: #3A3D3A !important;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .remove_from_cart_button {
	color: #8A8F8A !important;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .remove_from_cart_button:hover,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .remove_from_cart_button:focus-visible {
	color: #C0392B !important;
}

/* ---------- options Advanced Product Fields ---------- */
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 4px;
	margin: 4px 0 2px;
	font-size: 12px;
	line-height: 1.45;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dt,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dd {
	margin: 0;
	padding: 0;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dt {
	font-weight: 600;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .variation dd p {
	margin: 0;
	font-size: inherit;
}

/* ---------- en-tete du panneau ---------- */
.ag-mc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex: none;
	padding: 16px 18px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.ag-mc-head__title {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	color: #3A3D3A;
}

.ag-mc-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	flex: none;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: #525552;
	cursor: pointer;
	line-height: 0;
}

.ag-mc-close:hover,
.ag-mc-close:focus-visible {
	color: var(--theme-palette-color-1, #F2902B);
}

/* ---------- corps defilant ---------- */
.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart {
	flex: 1 1 auto;
	max-height: none;
	min-height: 0;
	overflow-y: auto;
	margin: 0;
	padding: 16px 18px;
	-webkit-overflow-scrolling: touch;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart-item {
	padding-bottom: 14px;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .product-title {
	font-weight: 600;
}

/* ligne en cours de suppression */
.ag-mini-cart-on .ct-header-cart .ct-cart-content .ag-mc-busy {
	opacity: .45;
	pointer-events: none;
	transition: opacity .15s ease;
}

/* ---------- pied : total, boutons ---------- */
.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__total {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 14px 18px;
	border-top: 1px solid rgba(0, 0, 0, .08);
	font-size: 15px;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons {
	flex: none;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
	padding: 0 18px 12px;
}

.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons .button {
	width: 100%;
	text-align: center;
	--theme-button-min-height: 46px;
}

.ag-mc-continue {
	flex: none;
	display: block;
	width: calc(100% - 36px);
	margin: 0 18px 18px;
	padding: 10px;
	background: none;
	border: 1px solid rgba(0, 0, 0, .15);
	border-radius: 0;
	color: #525552;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
}

.ag-mc-continue:hover,
.ag-mc-continue:focus-visible {
	border-color: var(--theme-palette-color-1, #F2902B);
	color: var(--theme-palette-color-1, #F2902B);
}

.ag-mc-close:focus-visible,
.ag-mc-continue:focus-visible {
	outline: 2px solid var(--theme-palette-color-1, #F2902B);
	outline-offset: 2px;
}

/* ---------- panier vide ---------- */
.ag-mini-cart-on .ct-header-cart .ct-cart-content .cart-empty,
.ag-mini-cart-on .ct-header-cart .ct-cart-content .wc-empty-cart-message {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 30px 18px;
	text-align: center;
	color: #525552;
}

/* ---------- mobile ---------- */
@media (max-width: 781px) {
	.ag-mini-cart-on .ct-header-cart .ct-cart-content .woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}

	.ag-mc-head {
		padding: 14px 16px;
	}
}

/* la bulle WhatsApp s'efface pendant l'ouverture, et seulement pendant */
.ag-mc-open .ht-ctc,
.ag-mc-open [class*="ht_ctc"] {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.ag-mini-cart-on .ct-header-cart .ct-cart-content,
	.ag-mc-backdrop {
		transition: visibility .01ms linear;
	}
}
