/* Page panier : affichage et confort (inc/panier-confort.php), lot 3, 20/10/2026. Aucun calcul changé.
   v3 (20/10/2026) : la liste des pays cachée par select2 n'élargit plus la page sur téléphone (pays manquant).
   v2 : liste des pays affichée directement quand le pays manque ; mise à jour au choix du pays (bouton
   « Enregistrer » caché, sauf si le calcul demande d'autres champs ; remis sans JavaScript par <noscript>). */

/* Pays connu : petit lien « Modifier » sur la ligne du pays ; le grand bouton de WooCommerce est caché */
.anaaz-panier-bloc--livraison:has(.anaaz-panier-livraison__modifier) .shipping-calculator-button {
	display: none !important;
}

.anaaz-panier-livraison__modifier {
	display: inline-block;
	margin: -12px -8px; /* zone de toucher ≥ 44 px sans grossir la ligne */
	padding: 12px 8px;
	border: 0;
	background: none;
	color: #111;
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.anaaz-panier-livraison__modifier:focus-visible {
	outline: 2px solid #1c2b36;
	outline-offset: -4px;
}

.anaaz-panier-bloc--livraison.est-modification .shipping-calculator-form {
	display: block !important;
	height: auto !important;
	margin-top: 8px;
}

/* Pays manquant : la liste tout de suite (plus de bouton « Ajouter un pays » à ouvrir) */
.anaaz-panier-bloc--livraison .anaaz-pays-a-choisir .shipping-calculator-form {
	display: block !important;
	height: auto !important;
}

.anaaz-panier-bloc--livraison .anaaz-pays-a-choisir .shipping-calculator-button {
	display: none !important;
}

/* v3 : la liste d'origine cachée par la liste améliorée (select2, classe select2-hidden-accessible, 1 px) est exclue :
   avec width:100% !important elle reprenait toute la largeur en position absolue et élargissait la page de 23 px
   sur téléphone quand le pays manque. */
.anaaz-panier-bloc--livraison .shipping-calculator-form select:not(.select2-hidden-accessible),
.anaaz-panier-bloc--livraison .shipping-calculator-form .select2-container {
	width: 100% !important;
	max-width: 420px;
}

.anaaz-panier-bloc--livraison .shipping-calculator-form select:not(.select2-hidden-accessible) {
	min-height: 44px;
	font-size: 15px; /* 15 px et plus : pas de zoom automatique sur iPhone */
}

/* « Enregistrer » : la mise à jour se fait au choix du pays */
.anaaz-panier-bloc--livraison .shipping-calculator-form button[name="calc_shipping"] {
	display: none !important;
}

.anaaz-panier-bloc--livraison .shipping-calculator-form.anaaz-calcul-champs button[name="calc_shipping"] {
	display: inline-flex !important;
}

/* Mise à jour en cours (choix du pays, quantité, code promo) : petit indicateur posé PAR-DESSUS les totaux et le
   bloc Livraison (rien ne se décale), seulement pendant la mise à jour ; texte pour lecteurs d'écran seulement. */
.cart-panel.anaaz-panier--calcul .panel-row.totals,
.anaaz-panier-bloc--livraison.anaaz-panier-bloc--calcul {
	position: relative;
}

.cart-panel.anaaz-panier--calcul .panel-row.totals > *,
.anaaz-panier-bloc--livraison.anaaz-panier-bloc--calcul > *:not(.anaaz-ecran-lecteur) {
	opacity: 0.45;
	transition: opacity 0.2s ease;
}

.cart-panel.anaaz-panier--calcul .panel-row.totals::after,
.anaaz-panier-bloc--livraison.anaaz-panier-bloc--calcul::after {
	content: "";
	position: absolute;
	right: 0;
	width: 16px;
	height: 16px;
	border: 2px solid #cfcfcf;
	border-top-color: #1c2b36;
	border-radius: 50%;
	animation: anaazPanierTourne 0.8s linear infinite;
	pointer-events: none;
}

.cart-panel.anaaz-panier--calcul .panel-row.totals::after {
	top: 50%;
	margin-top: -10px;
}

.anaaz-panier-bloc--livraison.anaaz-panier-bloc--calcul::after {
	top: 20px;
}

@keyframes anaazPanierTourne {
	to { transform: rotate(360deg); }
}

.anaaz-ecran-lecteur {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Messages de livraison et de code promo : jamais en haut de page (recopiés dans leur bloc par le script). */
body.anaaz-panier-confort .woocommerce-notices-wrapper > *:has(.anaaz-marque-livraison),
body.anaaz-panier-confort .woocommerce-notices-wrapper > *:has(.anaaz-marque-code) {
	display: none !important;
}

/* 1. Titre */
body.anaaz-panier-confort .cart-page h1.anaaz-panier-titre {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
}

body.anaaz-panier-confort .cart-page .anaaz-panier-titre__nombre {
	font-size: 0.64em;
	font-weight: 500;
	color: #555;
	white-space: nowrap;
}

/* 3. Blocs Code promo et Livraison, bien séparés */
.anaaz-panier-bloc {
	margin: 18px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid #e3e3e3;
}

.anaaz-panier-bloc--livraison {
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e3e3e3;
}

.anaaz-panier-bloc__titre {
	margin: 0 0 8px !important;
	color: #111;
	font-size: 15px;
	font-weight: 700;
}

.anaaz-panier-livraison__pays {
	margin: 0 0 8px !important;
	color: #111;
	font-size: 14px;
	font-weight: 600;
}

/* WooCommerce répète « Livraison à … » : remplacé par la ligne ci-dessus. */
.anaaz-panier-bloc--livraison .woocommerce-shipping-destination {
	display: none !important;
}

.anaaz-panier-bloc--livraison .panel-row {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
}

.anaaz-panier-bloc--livraison .anaaz-pays-a-choisir__texte {
	margin: 0 0 12px !important;
}

/* « Ajouter un pays » / « Modifier » bien visibles */
.anaaz-panier-bloc--livraison a.shipping-calculator-button {
	min-height: 44px;
	padding: 0 20px;
	font-size: 14px !important;
}

.anaaz-panier-code__ouvrir {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: #111;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.anaaz-panier-code__ouvrir::after {
	content: "+";
	display: inline-block;
	margin-left: 8px;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}

.anaaz-panier-bloc--code.est-ouvert .anaaz-panier-code__ouvrir::after {
	content: "−";
}

.anaaz-panier-bloc--code:not(.est-ouvert) .anaaz-panier-code {
	display: none !important;
}

.anaaz-panier-bloc--code .anaaz-panier-code {
	margin-top: 8px;
}

.anaaz-panier-code__ouvrir:focus-visible,
.anaaz-barre-paiement__bouton:focus-visible {
	outline: 2px solid #1c2b36;
	outline-offset: 2px;
}

/* Messages recopiés dans leur bloc */
.anaaz-panier-bloc__messages:empty {
	display: none;
}

.anaaz-panier-bloc__messages {
	margin: 8px 0;
}

.anaaz-panier-bloc__messages > * {
	display: block !important;
	margin: 0 0 8px !important;
	padding: 10px 12px !important;
	border-radius: 4px;
	font-size: 13px;
	line-height: 1.4;
	list-style: none;
}

.anaaz-panier-bloc__messages .woocommerce-error {
	background: #fdf0ef !important;
	color: #a1271b !important;
	border: 1px solid #e8a39c !important;
}

.anaaz-panier-bloc__messages .woocommerce-message,
.anaaz-panier-bloc__messages .woocommerce-info {
	background: #f4f7f5 !important;
	color: #1e5b34 !important;
	border: 1px solid #cfe1d5 !important;
}

.anaaz-panier-bloc__messages li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.anaaz-panier-bloc__messages .button,
.anaaz-panier-bloc__messages .wc-forward {
	display: none !important;
}

/* Pays manquant signalé (clic sur le paiement grisé) */
.anaaz-panier-bloc--livraison.anaaz-panier-bloc--erreur {
	margin-left: -10px;
	margin-right: -10px;
	padding-left: 10px;
	padding-right: 10px;
	border-radius: 4px;
	background: #fdf0ef;
	outline: 2px solid #e8a39c;
}

.anaaz-panier-erreur {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 10px !important;
	color: #a1271b;
	font-size: 14px;
	font-weight: 600;
}

.anaaz-panier-erreur::before {
	content: "!";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #a1271b;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

/* 4. Mise à jour en cours : voir l'indicateur en haut de cette feuille (v2). Le message de réussite de
   WooCommerce (« Mise à jour des frais de livraison. ») n'est plus ajouté du tout (inc/panier-confort.php). */

/* 5a. Ordinateur (deux colonnes) : récapitulatif visible au défilement, sous l'en-tête fixe quand il est là */
@media (min-width: 1024px) {
	body.anaaz-panier-confort .woocommerce-cart-form .cart-panel.anaaz-collant {
		position: sticky !important;
		top: calc(var(--anaaz-entete-visible, 0px) + 20px) !important;
		align-self: flex-start;
		transition: top 0.25s ease;
	}

	.anaaz-barre-paiement {
		display: none !important;
	}
}

/* 5b. Téléphone et tablette (récapitulatif sous les articles) : barre fixe Total + paiement */
.anaaz-barre-paiement {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 990; /* sous l'en-tête (999 / 1000), la bannière cookies et les fenêtres plein écran */
	background: #fff;
	border-top: 1px solid #e6e6e6;
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	transform: translateY(110%);
	visibility: hidden;
	transition: transform 0.25s ease, visibility 0.25s;
	will-change: transform;
}

.anaaz-barre-paiement--visible {
	transform: none;
	visibility: visible;
}

.anaaz-barre-paiement__dedans {
	display: flex;
	align-items: center;
	gap: 12px;
	box-sizing: border-box;
	min-height: 72px;
	padding: 10px 16px;
}

.anaaz-barre-paiement__total {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: #111;
	font-size: 13px;
	line-height: 1.3;
}

.anaaz-barre-paiement__total strong {
	display: block;
	font-size: 18px;
	font-weight: 700;
}

.anaaz-barre-paiement__total small {
	font-size: 11px;
	font-weight: 400;
	color: #555;
}

.anaaz-barre-paiement__droite {
	flex: 0 0 58%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 4px;
}

.anaaz-barre-paiement__bouton {
	min-height: 52px;
	padding: 0 12px;
	border: 1px solid #1c2b36;
	border-radius: 4px;
	background: #1c2b36;
	color: #fff;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

/* Même état que le vrai bouton (grisé), mais toujours cliquable : le clic montre ce qu'il manque. */
.anaaz-barre-paiement__bouton[aria-disabled="true"] {
	border-color: #c5cacd;
	background: #e4e7e9; /* texte #333 : contraste ≈ 10:1 */
	color: #333;
}

.anaaz-barre-paiement__raison {
	margin: 0;
	color: #444;
	font-size: 12px;
	line-height: 1.3;
	text-align: center;
}

.anaaz-barre-paiement__raison:empty {
	display: none;
}

@media (max-width: 1023px) {
	body.anaaz-panier-confort {
		padding-bottom: 92px; /* place réservée en permanence : la barre ne cache jamais la fin de la page */
	}

	body.anaaz-panier-confort .cart-page h1.anaaz-panier-titre {
		font-size: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cart-panel.anaaz-panier--calcul .panel-row.totals::after,
	.anaaz-panier-bloc--livraison.anaaz-panier-bloc--calcul::after {
		animation: none;
		border-top-color: #cfcfcf;
		border-right-color: #1c2b36;
	}

	.anaaz-barre-paiement,
	body.anaaz-panier-confort .woocommerce-cart-form .cart-panel.anaaz-collant {
		transition: none;
	}
}
