/* =============================================================================
   WooCommerce — panier + checkout + mon compte + boutique (style AZL)
   ============================================================================= */

body.azl-app.woocommerce-cart .azl-woo,
body.azl-app.woocommerce-checkout .azl-woo,
body.azl-app.woocommerce-account .azl-woo,
body.azl-app.woocommerce-shop .azl-woo,
body.azl-app.woocommerce-order-pay .azl-woo,
body.azl-app.woocommerce-add-payment-method .azl-woo,
body.azl-app.single-product .azl-woo,
body.azl-app.tax-product_cat .azl-woo,
body.azl-app.tax-product_tag .azl-woo {
	max-width: none;
	width: 100%;
}

body.azl-app .azl-woo__card {
	width: 100%;
	box-sizing: border-box;
}

body.azl-app .azl-woo__card {
	background: var(--azl-neutral-0);
	border: 1px solid var(--azl-line);
	border-radius: var(--azl-radius-xl);
	padding: 28px 32px 36px;
	box-shadow: none;
}

body.azl-app .azl-woo__card .azl-page-content__title {
	font-size: 25px;
	font-weight: 800;
	color: var(--azl-ink);
	letter-spacing: -0.02em;
}

body.azl-app .azl-woo__body {
	color: var(--azl-text);
}

/* ── Notices ─────────────────────────────────────────────────────────────── */

body.azl-app .woocommerce-message,
body.azl-app .woocommerce-info,
body.azl-app .woocommerce-error,
body.azl-app .woocommerce-noreviews,
body.azl-app p.no-comments {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	border-radius: 12px !important;
	border: 1px solid var(--azl-line) !important;
	border-top: 1px solid var(--azl-line) !important;
	background: var(--azl-bg) !important;
	color: var(--azl-text) !important;
	padding: 14px 18px 14px 52px !important;
	margin: 0 0 20px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
}

body.azl-app .woocommerce-message {
	background: var(--azl-success-bg) !important;
	border-color: #bbf7d0 !important;
}

body.azl-app .woocommerce-info {
	background: var(--azl-info-bg) !important;
	border-color: #bfe6ed !important;
}

body.azl-app .woocommerce-error {
	background: var(--azl-danger-bg) !important;
	border-color: #fecaca !important;
	list-style: none !important;
}

body.azl-app .woocommerce-message::before,
body.azl-app .woocommerce-info::before,
body.azl-app .woocommerce-error::before {
	position: absolute !important;
	color: var(--azl-primary-500) !important;
	top: 50% !important;
	left: 18px !important;
	transform: translateY(-50%) !important;
}

body.azl-app .woocommerce-message .button,
body.azl-app .woocommerce-info .button,
body.azl-app .woocommerce-error .button {
	order: 2 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	margin: 0 0 0 auto !important;
	color: #fff !important;
}

body.azl-app .woocommerce-error::before {
	color: var(--azl-danger) !important;
}

body.azl-app .woocommerce-message a,
body.azl-app .woocommerce-info a {
	color: var(--azl-primary-600) !important;
	font-weight: 700 !important;
}

/* ── Boutons (bleu pétrole charte — écrase Astra #046bd2) ─────────────────
   Normal : --azl-primary-600 (#0a6f80)
   Hover  : --azl-primary-700 (#0a5a68)
   Active : --azl-primary-800 (#0F4D5C)
   Sélecteurs sur body.woocommerce* : le shell AZL n’enveloppe pas toujours
   un div.woocommerce (boutique via template de page).
   ──────────────────────────────────────────────────────────────────────── */

body.azl-app.woocommerce a.button,
body.azl-app.woocommerce button.button,
body.azl-app.woocommerce input.button,
body.azl-app.woocommerce #respond input#submit,
body.azl-app.woocommerce a.button.alt,
body.azl-app.woocommerce button.button.alt,
body.azl-app.woocommerce input.button.alt,
body.azl-app.woocommerce #place_order,
body.azl-app.woocommerce-page a.button,
body.azl-app.woocommerce-page button.button,
body.azl-app.woocommerce-page input.button,
body.azl-app.woocommerce-page a.button.alt,
body.azl-app.woocommerce-page button.button.alt,
body.azl-app.woocommerce-page input.button.alt,
body.azl-app.woocommerce-page #place_order,
body.azl-app.woocommerce-js a.button,
body.azl-app.woocommerce-js button.button,
body.azl-app.woocommerce-js input.button,
body.azl-app .woocommerce a.button,
body.azl-app .woocommerce button.button,
body.azl-app .woocommerce input.button,
body.azl-app .woocommerce #respond input#submit,
body.azl-app .woocommerce a.button.alt,
body.azl-app .woocommerce button.button.alt,
body.azl-app .woocommerce input.button.alt,
body.azl-app .woocommerce #place_order,
body.azl-app .azl-woo a.button,
body.azl-app .azl-woo button.button,
body.azl-app .azl-woo input.button,
body.azl-app .azl-woo #place_order,
body.azl-app .azl-woo a.add_to_cart_button,
body.azl-app .azl-woo button.single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: var(--azl-primary-600, #0a6f80) !important;
	background-color: var(--azl-primary-600, #0a6f80) !important;
	border: none !important;
	border-color: var(--azl-primary-600, #0a6f80) !important;
	border-radius: 10px !important;
	color: #fff !important;
	font-family: var(--azl-font-body) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	padding: 13px 22px !important;
	height: auto !important;
	min-height: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background 0.15s ease, background-color 0.15s ease, border-color 0.15s ease !important;
}

body.azl-app.woocommerce a.button:hover,
body.azl-app.woocommerce a.button:focus,
body.azl-app.woocommerce button.button:hover,
body.azl-app.woocommerce button.button:focus,
body.azl-app.woocommerce input.button:hover,
body.azl-app.woocommerce input.button:focus,
body.azl-app.woocommerce a.button.alt:hover,
body.azl-app.woocommerce a.button.alt:focus,
body.azl-app.woocommerce button.button.alt:hover,
body.azl-app.woocommerce button.button.alt:focus,
body.azl-app.woocommerce input.button.alt:hover,
body.azl-app.woocommerce input.button.alt:focus,
body.azl-app.woocommerce #place_order:hover,
body.azl-app.woocommerce #place_order:focus,
body.azl-app.woocommerce-page a.button:hover,
body.azl-app.woocommerce-page a.button:focus,
body.azl-app.woocommerce-page button.button:hover,
body.azl-app.woocommerce-page button.button:focus,
body.azl-app.woocommerce-page input.button:hover,
body.azl-app.woocommerce-page input.button:focus,
body.azl-app.woocommerce-page a.button.alt:hover,
body.azl-app.woocommerce-page button.button.alt:hover,
body.azl-app.woocommerce-page input.button.alt:hover,
body.azl-app.woocommerce-page #place_order:hover,
body.azl-app.woocommerce-js a.button:hover,
body.azl-app.woocommerce-js a.button:focus,
body.azl-app.woocommerce-js button.button:hover,
body.azl-app.woocommerce-js button.button:focus,
body.azl-app.woocommerce-js input.button:hover,
body.azl-app .woocommerce a.button:hover,
body.azl-app .woocommerce a.button:focus,
body.azl-app .woocommerce button.button:hover,
body.azl-app .woocommerce button.button:focus,
body.azl-app .woocommerce input.button:hover,
body.azl-app .woocommerce a.button.alt:hover,
body.azl-app .woocommerce button.button.alt:hover,
body.azl-app .woocommerce input.button.alt:hover,
body.azl-app .woocommerce #place_order:hover,
body.azl-app .azl-woo a.button:hover,
body.azl-app .azl-woo a.button:focus,
body.azl-app .azl-woo button.button:hover,
body.azl-app .azl-woo button.button:focus,
body.azl-app .azl-woo input.button:hover,
body.azl-app .azl-woo #place_order:hover,
body.azl-app .azl-woo a.add_to_cart_button:hover,
body.azl-app .azl-woo button.single_add_to_cart_button:hover {
	background: var(--azl-primary-700, #0a5a68) !important;
	background-color: var(--azl-primary-700, #0a5a68) !important;
	border-color: var(--azl-primary-700, #0a5a68) !important;
	color: #fff !important;
}

body.azl-app.woocommerce a.button:active,
body.azl-app.woocommerce button.button:active,
body.azl-app.woocommerce input.button:active,
body.azl-app.woocommerce a.button.alt:active,
body.azl-app.woocommerce button.button.alt:active,
body.azl-app.woocommerce #place_order:active,
body.azl-app.woocommerce-page a.button:active,
body.azl-app.woocommerce-page button.button:active,
body.azl-app.woocommerce-page input.button:active,
body.azl-app.woocommerce-page #place_order:active,
body.azl-app.woocommerce-js a.button:active,
body.azl-app .woocommerce a.button:active,
body.azl-app .woocommerce button.button:active,
body.azl-app .woocommerce #place_order:active,
body.azl-app .azl-woo a.button:active,
body.azl-app .azl-woo button.button:active,
body.azl-app .azl-woo #place_order:active,
body.azl-app .azl-woo a.add_to_cart_button:active,
body.azl-app .azl-woo button.single_add_to_cart_button:active {
	background: var(--azl-primary-800, #0f4d5c) !important;
	background-color: var(--azl-primary-800, #0f4d5c) !important;
	border-color: var(--azl-primary-800, #0f4d5c) !important;
	color: #fff !important;
}

body.azl-app.woocommerce a.button:focus-visible,
body.azl-app.woocommerce button.button:focus-visible,
body.azl-app.woocommerce-page a.button:focus-visible,
body.azl-app.woocommerce-page button.button:focus-visible,
body.azl-app .azl-woo a.button:focus-visible,
body.azl-app .azl-woo button.button:focus-visible {
	outline: none !important;
	box-shadow: var(--azl-shadow-focus, 0 0 0 3px rgb(14 143 163 / 0.25)) !important;
}

body.azl-app.woocommerce a.button:disabled,
body.azl-app.woocommerce button.button:disabled,
body.azl-app.woocommerce input.button:disabled,
body.azl-app.woocommerce a.button.disabled,
body.azl-app.woocommerce button.button.disabled,
body.azl-app.woocommerce-page a.button:disabled,
body.azl-app.woocommerce-page button.button:disabled,
body.azl-app.woocommerce-page input.button:disabled,
body.azl-app .woocommerce a.button:disabled,
body.azl-app .woocommerce button.button:disabled,
body.azl-app .woocommerce input.button:disabled,
body.azl-app .woocommerce a.button.disabled,
body.azl-app .woocommerce button.button.disabled,
body.azl-app .azl-woo a.button:disabled,
body.azl-app .azl-woo button.button:disabled {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
}

body.azl-app.woocommerce a.checkout-button,
body.azl-app.woocommerce #place_order,
body.azl-app.woocommerce-page a.checkout-button,
body.azl-app.woocommerce-page #place_order,
body.azl-app .woocommerce a.checkout-button,
body.azl-app .woocommerce #place_order,
body.azl-app .azl-woo a.checkout-button,
body.azl-app .azl-woo #place_order {
	width: 100% !important;
	padding: 15px 22px !important;
	font-size: 15px !important;
	border-radius: 12px !important;
}

/* ── Formulaires ─────────────────────────────────────────────────────────── */

body.azl-app .woocommerce form .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

body.azl-app .woocommerce form .form-row label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--azl-muted) !important;
	margin-bottom: 6px !important;
	line-height: 1.3 !important;
}

body.azl-app .woocommerce form .form-row label .required {
	color: var(--azl-primary-500) !important;
	text-decoration: none !important;
}

body.azl-app .woocommerce form .input-text,
body.azl-app .woocommerce form textarea,
body.azl-app .woocommerce form select,
body.azl-app .woocommerce form .select2-container .select2-selection--single,
body.azl-app #coupon_code {
	width: 100% !important;
	min-height: 46px !important;
	height: auto !important;
	padding: 12px 14px !important;
	border: 1.5px solid var(--azl-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--azl-text) !important;
	font-family: var(--azl-font-body) !important;
	font-size: 14px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

body.azl-app .woocommerce form textarea {
	min-height: 96px !important;
}

body.azl-app .woocommerce form .input-text:focus,
body.azl-app .woocommerce form textarea:focus,
body.azl-app .woocommerce form select:focus,
body.azl-app #coupon_code:focus {
	border-color: var(--azl-primary-400) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(14, 143, 163, 0.12) !important;
}

body.azl-app .woocommerce .select2-container--default .select2-selection--single {
	height: 46px !important;
	border: 1.5px solid var(--azl-line) !important;
	border-radius: 10px !important;
	padding: 8px 14px !important;
}

body.azl-app .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 28px !important;
	padding: 0 !important;
	color: var(--azl-text) !important;
}

body.azl-app .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	right: 8px !important;
}

/* ── Table panier ────────────────────────────────────────────────────────── */

body.azl-app .woocommerce table.shop_table {
	border: 1px solid var(--azl-line) !important;
	border-radius: 14px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	margin: 0 0 24px !important;
	background: #fff !important;
}

body.azl-app .woocommerce table.shop_table th,
body.azl-app .woocommerce table.shop_table td {
	border: none !important;
	border-bottom: 1px solid var(--azl-line) !important;
	padding: 14px 16px !important;
	vertical-align: middle !important;
	font-size: 14px !important;
	color: var(--azl-text) !important;
	background: transparent !important;
}

body.azl-app .woocommerce table.shop_table thead th {
	background: var(--azl-bg) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--azl-muted) !important;
}

body.azl-app .woocommerce table.shop_table tr:last-child th,
body.azl-app .woocommerce table.shop_table tr:last-child td {
	border-bottom: none !important;
}

body.azl-app .woocommerce table.cart .product-thumbnail img {
	width: 56px !important;
	height: 56px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
	border: 1px solid var(--azl-line) !important;
}

body.azl-app .woocommerce table.cart .product-name a {
	color: var(--azl-ink) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

body.azl-app .woocommerce table.cart .product-name a:hover {
	color: var(--azl-primary-600) !important;
}

body.azl-app .woocommerce table.cart .product-remove a,
body.azl-app .woocommerce a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 8px !important;
	background: var(--azl-bg) !important;
	color: var(--azl-muted) !important;
	font-size: 18px !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

body.azl-app .woocommerce table.cart .product-remove a:hover,
body.azl-app .woocommerce a.remove:hover {
	background: var(--azl-danger-bg) !important;
	color: var(--azl-danger) !important;
}

body.azl-app .woocommerce .quantity .qty {
	width: 72px !important;
	min-height: 42px !important;
	text-align: center !important;
	border: 1.5px solid var(--azl-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-weight: 600 !important;
}

body.azl-app .woocommerce-cart-form .actions {
	padding: 16px !important;
}

body.azl-app .woocommerce-cart-form .coupon {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	float: none !important;
	padding: 0 !important;
}

body.azl-app .woocommerce-cart-form .coupon #coupon_code {
	width: min(220px, 100%) !important;
	float: none !important;
	margin: 0 !important;
}

body.azl-app .woocommerce-cart-form .coupon .button,
body.azl-app .woocommerce-cart-form .actions > .button {
	float: none !important;
}

/* ── Totaux panier ───────────────────────────────────────────────────────── */

body.azl-app .woocommerce .cart-collaterals,
body.azl-app .woocommerce-page .cart-collaterals {
	width: 100% !important;
	margin-top: 8px !important;
}

body.azl-app .woocommerce .cart_totals {
	width: 100% !important;
	max-width: 420px !important;
	margin-left: auto !important;
	float: none !important;
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 14px !important;
	padding: 20px 22px 22px !important;
	box-sizing: border-box !important;
}

body.azl-app .woocommerce .cart_totals > h2 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	background: transparent !important;
	border: none !important;
}

body.azl-app .woocommerce .cart_totals table.shop_table {
	margin: 0 0 16px !important;
	border: none !important;
	background: transparent !important;
	border-radius: 0 !important;
}

body.azl-app .woocommerce .cart_totals table.shop_table th,
body.azl-app .woocommerce .cart_totals table.shop_table td {
	padding: 10px 0 !important;
	border-bottom: 1px solid var(--azl-line) !important;
	background: transparent !important;
}

body.azl-app .woocommerce .cart_totals table.shop_table .order-total th,
body.azl-app .woocommerce .cart_totals table.shop_table .order-total td {
	border-bottom: none !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	padding-top: 14px !important;
}

body.azl-app .woocommerce .wc-proceed-to-checkout {
	padding: 0 !important;
}

/* ── Panier vide ─────────────────────────────────────────────────────────── */

body.azl-app .woocommerce-cart .cart-empty,
body.azl-app .woocommerce-cart .wc-empty-cart-message {
	text-align: center !important;
	padding: 28px 16px !important;
	font-size: 15px !important;
	color: var(--azl-muted) !important;
}

body.azl-app .woocommerce-cart .return-to-shop {
	text-align: center !important;
	margin: 8px 0 0 !important;
}

/* ── Checkout ────────────────────────────────────────────────────────────── */

body.azl-app.woocommerce-checkout .woocommerce {
	display: block !important;
}

body.azl-app.woocommerce-checkout form.checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: 28px;
	align-items: start;
}

body.azl-app.woocommerce-checkout #customer_details {
	grid-column: 1 !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

body.azl-app.woocommerce-checkout #customer_details .col-1,
body.azl-app.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
}

/* Titre + récap dans un seul bloc (évite le trou vertical de la grille 2 lignes). */
body.azl-app.woocommerce-checkout .azl-checkout__sidebar {
	grid-column: 2 !important;
	width: 100% !important;
	min-width: 0;
	align-self: start;
	position: sticky;
	top: 24px;
}

body.azl-app.woocommerce-checkout #order_review_heading {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	background: linear-gradient(125deg, #12171c, #0a6f80) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 14px 14px 0 0 !important;
	padding: 16px 20px !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

body.azl-app.woocommerce-checkout #order_review {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	border: 1px solid var(--azl-line) !important;
	border-top: none !important;
	border-radius: 0 0 14px 14px !important;
	padding: 18px 20px 20px !important;
	background: #fff !important;
}

body.azl-app.woocommerce-checkout .woocommerce-billing-fields > h3,
body.azl-app.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.azl-app.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 16px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--azl-line) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	background: transparent !important;
}

body.azl-app.woocommerce-checkout .woocommerce-checkout-payment {
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	padding: 16px !important;
	margin-top: 16px !important;
}

body.azl-app.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods {
	border: none !important;
	padding: 0 0 12px !important;
	margin: 0 0 12px !important;
	background: transparent !important;
}

body.azl-app.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
	padding: 10px 0 !important;
	border-bottom: 1px solid var(--azl-line) !important;
	font-size: 14px !important;
}

body.azl-app.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li:last-child {
	border-bottom: none !important;
}

body.azl-app.woocommerce-checkout .woocommerce-checkout-payment .place-order {
	padding: 0 !important;
	margin: 0 !important;
}

body.azl-app.woocommerce-checkout .woocommerce-privacy-policy-text,
body.azl-app.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 12.5px !important;
	color: var(--azl-muted) !important;
	line-height: 1.5 !important;
}

body.azl-app.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.azl-app.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin-bottom: 12px !important;
}

/* ── Confirmation commande ───────────────────────────────────────────────── */

body.azl-app.woocommerce-order-received .woocommerce-order {
	max-width: 720px;
}

body.azl-app.woocommerce-order-received .woocommerce-notice--success,
body.azl-app.woocommerce-order-received .woocommerce-thankyou-order-received {
	background: var(--azl-success-bg) !important;
	border: 1px solid #bbf7d0 !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	font-weight: 700 !important;
	color: #166534 !important;
}

body.azl-app.woocommerce-order-received ul.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
	gap: 12px !important;
	padding: 0 !important;
	margin: 20px 0 !important;
	list-style: none !important;
}

body.azl-app.woocommerce-order-received ul.woocommerce-order-overview li {
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	padding: 14px 16px !important;
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--azl-muted) !important;
}

body.azl-app.woocommerce-order-received ul.woocommerce-order-overview li strong {
	display: block !important;
	margin-top: 4px !important;
	font-size: 15px !important;
	color: var(--azl-ink) !important;
}

/* ── Mon compte ──────────────────────────────────────────────────────────── */

/* Les ::before/::after clearfix Woo deviennent des items de grille et
   poussent le contenu sous la nav (bug classique). */
body.azl-app.woocommerce-account .woocommerce::before,
body.azl-app.woocommerce-account .woocommerce::after {
	content: none !important;
	display: none !important;
}

/* Le template enveloppe déjà le shortcode dans .woocommerce, et Woo en
   ajoute un second. La grille ne doit s’appliquer qu’au bloc qui contient
   vraiment la navigation, sinon le contenu est coincé dans la colonne de 240px. */
body.azl-app.woocommerce-account .azl-woo__body > .woocommerce {
	display: block !important;
	width: 100% !important;
}

body.azl-app.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid !important;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
	width: 100% !important;
}

body.azl-app.woocommerce-account:not(.logged-in) .woocommerce {
	display: block !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation,
body.azl-app.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	clear: none !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-column: 1;
	grid-row: 1;
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 14px !important;
	padding: 10px !important;
	box-sizing: border-box !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block !important;
	padding: 11px 14px !important;
	border-radius: 10px !important;
	color: var(--azl-text) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	transition: background 0.15s ease, color 0.15s ease !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: #fff !important;
	color: var(--azl-primary-600) !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--azl-primary-500) !important;
	color: #fff !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 1;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 4px 0 0 !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-content > p {
	font-size: 14px !important;
	line-height: 1.55 !important;
	color: var(--azl-text) !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	color: var(--azl-primary-600) !important;
	font-weight: 600 !important;
}

body.azl-app.woocommerce-account .woocommerce-MyAccount-content a.button,
body.azl-app.woocommerce-account .woocommerce-MyAccount-content button.button,
body.azl-app.woocommerce-account .woocommerce-MyAccount-content input.button {
	color: #fff !important;
}

body.azl-app.woocommerce-account .woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	margin: 0 0 18px !important;
}

body.azl-app.woocommerce-account .woocommerce-EditAccountForm legend {
	padding: 0 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--azl-muted) !important;
}

body.azl-app.woocommerce-account .u-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px !important;
	width: 100% !important;
	align-items: start !important;
}

body.azl-app.woocommerce-account .u-columns::before,
body.azl-app.woocommerce-account .u-columns::after,
body.azl-app.woocommerce-account .col2-set::before,
body.azl-app.woocommerce-account .col2-set::after {
	content: none !important;
	display: none !important;
}

body.azl-app.woocommerce-account .u-column1,
body.azl-app.woocommerce-account .u-column2 {
	width: 100% !important;
	float: none !important;
	max-width: none !important;
}

body.azl-app.woocommerce-account .woocommerce-form-login,
body.azl-app.woocommerce-account .woocommerce-form-register,
body.azl-app.woocommerce-account .woocommerce-ResetPassword,
body.azl-app.woocommerce-account .woocommerce-form-lost-password {
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 14px !important;
	padding: 22px 22px 24px !important;
	margin: 0 !important;
	box-shadow: none !important;
}

body.azl-app.woocommerce-account .woocommerce-form-login > h2,
body.azl-app.woocommerce-account .woocommerce-form-register > h2,
body.azl-app.woocommerce-account .woocommerce-ResetPassword > h2,
body.azl-app.woocommerce-account .woocommerce > h2 {
	margin: 0 0 16px !important;
	padding: 0 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	border: none !important;
	background: transparent !important;
}

body.azl-app.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
body.azl-app.woocommerce-account .woocommerce-form-register .woocommerce-form-register__submit,
body.azl-app.woocommerce-account .woocommerce-Button {
	width: 100% !important;
	margin-top: 8px !important;
}

body.azl-app.woocommerce-account .woocommerce-message .button,
body.azl-app.woocommerce-account .woocommerce-info .button,
body.azl-app.woocommerce-account .woocommerce-error .button {
	width: auto !important;
	margin: 0 0 0 auto !important;
	color: #fff !important;
}

body.azl-app.woocommerce-account .lost_password a {
	color: var(--azl-primary-600) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

body.azl-app.woocommerce-account .woocommerce-Address {
	background: var(--azl-bg) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	margin: 0 0 16px !important;
}

body.azl-app.woocommerce-account .woocommerce-Address-title {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 0 12px !important;
}

body.azl-app.woocommerce-account .woocommerce-Address-title h2,
body.azl-app.woocommerce-account .woocommerce-Address-title h3 {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 900px) {
	body.azl-app.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
	}

	body.azl-app.woocommerce-checkout #customer_details,
	body.azl-app.woocommerce-checkout .azl-checkout__sidebar {
		grid-column: 1 !important;
	}

	body.azl-app.woocommerce-checkout .azl-checkout__sidebar {
		position: static;
	}

	body.azl-app .woocommerce .cart_totals {
		max-width: none !important;
	}

	body.azl-app.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
	}

	body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation,
	body.azl-app.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}

	body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 6px !important;
	}

	body.azl-app.woocommerce-account .woocommerce-MyAccount-navigation li a {
		padding: 9px 12px !important;
		font-size: 13px !important;
	}

	body.azl-app.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	body.azl-app .azl-woo__card {
		padding: 20px 16px 28px;
	}

	body.azl-app .woocommerce table.shop_table_responsive thead {
		display: none !important;
	}

	body.azl-app .woocommerce-cart-form .coupon {
		width: 100% !important;
	}

	body.azl-app .woocommerce-cart-form .coupon #coupon_code {
		width: 100% !important;
	}

	body.azl-app .woocommerce-cart-form .coupon .button,
	body.azl-app .woocommerce-cart-form .actions > .button {
		width: 100% !important;
	}

	body.azl-app.woocommerce-account .woocommerce-MyAccount-content {
		padding: 16px !important;
	}

	body.azl-app.woocommerce-account .woocommerce-form-login,
	body.azl-app.woocommerce-account .woocommerce-form-register,
	body.azl-app.woocommerce-account .woocommerce-ResetPassword,
	body.azl-app.woocommerce-account .woocommerce-form-lost-password {
		padding: 16px !important;
	}
}

/* =============================================================================
   Boutique / catalogue / fiche produit
   ============================================================================= */

body.azl-app .azl-woo--catalog .azl-eyebrow,
body.azl-app .azl-woo__card > .azl-page-content__header .azl-eyebrow {
	margin-bottom: 8px;
}

body.azl-app .azl-woo__term-intro {
	margin: 10px 0 0;
	max-width: 62ch;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--azl-muted, #64748b);
}

body.azl-app .azl-woo__term-intro p {
	margin: 0 0 0.6em;
}

body.azl-app .azl-woo__term-intro p:last-child {
	margin-bottom: 0;
}

/* Masquer la description native Woo (déjà dans le header AZL) */
body.azl-app.tax-product_cat .term-description,
body.azl-app.tax-product_tag .term-description,
body.azl-app.tax-product_cat .woocommerce-products-header,
body.azl-app.tax-product_tag .woocommerce-products-header {
	display: none !important;
}

body.azl-app .woocommerce .woocommerce-result-count,
body.azl-app .woocommerce .woocommerce-ordering {
	font-size: 13px !important;
	color: var(--azl-muted, #64748b) !important;
	margin: 0 0 20px !important;
}

body.azl-app .woocommerce .woocommerce-ordering select {
	border: 1px solid var(--azl-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	padding: 8px 12px !important;
	font: inherit !important;
	color: var(--azl-ink) !important;
}

body.azl-app .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 20px !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

body.azl-app .woocommerce ul.products::before,
body.azl-app .woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

body.azl-app .woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

body.azl-app .woocommerce ul.products li.product:hover {
	border-color: #cbd5e1 !important;
	box-shadow: 0 8px 24px rgb(15 23 42 / 0.06) !important;
}

body.azl-app .woocommerce ul.products li.product a img {
	margin: 0 !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	background: #f4f5f7 !important;
}

body.azl-app .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.azl-app .woocommerce ul.products li.product h2,
body.azl-app .woocommerce ul.products li.product h3 {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	padding: 14px 16px 0 !important;
	margin: 0 !important;
	letter-spacing: -0.02em !important;
}

body.azl-app .woocommerce ul.products li.product .price {
	display: block !important;
	padding: 8px 16px 0 !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--azl-primary-600, #0a6f80) !important;
}

body.azl-app .woocommerce ul.products li.product .price del {
	opacity: 0.55 !important;
	margin-right: 6px !important;
	color: #94a3b8 !important;
	font-weight: 600 !important;
}

body.azl-app .woocommerce ul.products li.product .button,
body.azl-app .woocommerce ul.products li.product a.button {
	margin: 14px 16px 16px !important;
	width: calc(100% - 32px) !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.azl-app .woocommerce ul.products li.product .onsale {
	background: var(--azl-primary-500, #0e8fa3) !important;
	color: #fff !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: 6px 10px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	left: 12px !important;
	top: 12px !important;
	right: auto !important;
}

body.azl-app .woocommerce nav.woocommerce-pagination {
	margin: 8px 0 0 !important;
}

body.azl-app .woocommerce nav.woocommerce-pagination ul {
	border: 0 !important;
	display: flex !important;
	gap: 8px !important;
	justify-content: center !important;
}

body.azl-app .woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
	overflow: visible !important;
}

body.azl-app .woocommerce nav.woocommerce-pagination ul li a,
body.azl-app .woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--azl-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--azl-ink) !important;
	min-width: 40px !important;
	padding: 8px 12px !important;
	font-weight: 700 !important;
}

body.azl-app .woocommerce nav.woocommerce-pagination ul li span.current,
body.azl-app .woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--azl-primary-500, #0e8fa3) !important;
	color: var(--azl-primary-600, #0a6f80) !important;
	background: #f2fbfc !important;
}

/* Fiche produit */
body.azl-app.single-product div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
	gap: 28px !important;
	align-items: start !important;
}

body.azl-app.single-product div.product .woocommerce-product-gallery,
body.azl-app.single-product div.product .summary {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

body.azl-app.single-product div.product .woocommerce-product-gallery {
	background: #f8fafc !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	overflow: hidden !important;
	padding: 12px !important;
}

body.azl-app.single-product div.product .woocommerce-product-gallery img {
	border-radius: 10px !important;
}

body.azl-app.single-product div.product .summary .price {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--azl-primary-600, #0a6f80) !important;
	margin: 0 0 14px !important;
}

body.azl-app.single-product div.product .woocommerce-product-details__short-description,
body.azl-app.single-product div.product .summary > p {
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--azl-text) !important;
}

body.azl-app.single-product div.product form.cart {
	margin-top: 18px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	align-items: center !important;
}

body.azl-app.single-product div.product form.cart .single_add_to_cart_button {
	flex: 1 1 auto !important;
	min-width: 180px !important;
}

body.azl-app.single-product div.product .product_meta {
	margin-top: 20px !important;
	padding-top: 16px !important;
	border-top: 1px solid var(--azl-line) !important;
	font-size: 13px !important;
	color: var(--azl-muted) !important;
}

body.azl-app.single-product .woocommerce-tabs {
	grid-column: 1 / -1 !important;
	margin-top: 8px !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: var(--azl-radius-xl, 14px) !important;
	overflow: hidden !important;
	background: #fff !important;
}

body.azl-app.single-product .woocommerce-tabs ul.tabs {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: #f8fafc !important;
	display: flex !important;
	gap: 0 !important;
}

body.azl-app.single-product .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

body.azl-app.single-product .woocommerce-tabs ul.tabs li {
	border: 0 !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

body.azl-app.single-product .woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 14px 18px !important;
	font-weight: 700 !important;
	color: var(--azl-muted) !important;
}

body.azl-app.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--azl-primary-600, #0a6f80) !important;
	box-shadow: inset 0 -2px 0 var(--azl-primary-500, #0e8fa3) !important;
}

body.azl-app.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	padding: 20px 22px !important;
	margin: 0 !important;
	border: 0 !important;
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	color: var(--azl-text) !important;
}

body.azl-app.single-product .related.products,
body.azl-app.single-product .upsells.products {
	grid-column: 1 / -1 !important;
	margin-top: 28px !important;
}

body.azl-app.single-product .related.products > h2,
body.azl-app.single-product .upsells.products > h2 {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	margin: 0 0 16px !important;
}

@media (max-width: 900px) {
	body.azl-app.single-product div.product {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 700px) {
	body.azl-app .woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}
}

/* =============================================================================
   Order-pay + ajouter un moyen de paiement
   ============================================================================= */

body.azl-app.woocommerce-order-pay #order_review,
body.azl-app.woocommerce-order-pay .woocommerce-checkout-payment,
body.azl-app.woocommerce-add-payment-method #add_payment_method,
body.azl-app.woocommerce-add-payment-method .woocommerce-PaymentBox,
body.azl-app.woocommerce-account .woocommerce-PaymentMethods,
body.azl-app.woocommerce-account .payment_methods {
	background: var(--azl-bg, #f8fafc) !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	padding: 16px 18px !important;
	box-sizing: border-box !important;
}

body.azl-app.woocommerce-order-pay #order_review_heading,
body.azl-app.woocommerce-order-pay .woocommerce-checkout-payment .payment_methods,
body.azl-app.woocommerce-add-payment-method .woocommerce-PaymentMethods,
body.azl-app.woocommerce-account .woocommerce-PaymentMethods {
	margin: 0 0 12px !important;
	list-style: none !important;
	padding: 0 !important;
}

body.azl-app.woocommerce-order-pay #order_review_heading {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--azl-ink) !important;
	margin: 0 0 16px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--azl-line) !important;
}

body.azl-app.woocommerce-order-pay table.shop_table,
body.azl-app.woocommerce-add-payment-method table.shop_table {
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	margin: 0 0 20px !important;
	width: 100% !important;
}

body.azl-app.woocommerce-order-pay table.shop_table th,
body.azl-app.woocommerce-order-pay table.shop_table td,
body.azl-app.woocommerce-add-payment-method table.shop_table th,
body.azl-app.woocommerce-add-payment-method table.shop_table td {
	border-color: var(--azl-line) !important;
	padding: 12px 14px !important;
	font-size: 14px !important;
}

body.azl-app.woocommerce-order-pay ul.payment_methods li,
body.azl-app.woocommerce-add-payment-method ul.payment_methods li,
body.azl-app.woocommerce-account ul.payment_methods li {
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--azl-line) !important;
	font-size: 14px !important;
	list-style: none !important;
}

body.azl-app.woocommerce-order-pay ul.payment_methods li:last-child,
body.azl-app.woocommerce-add-payment-method ul.payment_methods li:last-child,
body.azl-app.woocommerce-account ul.payment_methods li:last-child {
	border-bottom: none !important;
}

body.azl-app.woocommerce-add-payment-method #add_payment_method .payment_box,
body.azl-app.woocommerce-order-pay .payment_box,
body.azl-app.woocommerce-account .payment_box {
	background: #fff !important;
	border: 1px solid var(--azl-line) !important;
	border-radius: 10px !important;
	padding: 14px 16px !important;
	margin: 10px 0 0 !important;
	color: var(--azl-text) !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
}

body.azl-app.woocommerce-add-payment-method #add_payment_method .payment_box::before,
body.azl-app.woocommerce-order-pay .payment_box::before,
body.azl-app.woocommerce-account .payment_box::before {
	display: none !important;
}

body.azl-app.woocommerce-add-payment-method .woocommerce-PaymentBox fieldset,
body.azl-app.woocommerce-order-pay fieldset {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.azl-app.woocommerce-add-payment-method .form-row,
body.azl-app.woocommerce-order-pay .form-row {
	margin: 0 0 12px !important;
}

body.azl-app.woocommerce-add-payment-method .form-row input.input-text,
body.azl-app.woocommerce-add-payment-method .form-row select,
body.azl-app.woocommerce-order-pay .form-row input.input-text,
body.azl-app.woocommerce-order-pay .form-row select {
	border: 1px solid var(--azl-line) !important;
	border-radius: 10px !important;
	padding: 10px 12px !important;
	background: #fff !important;
	font: inherit !important;
	color: var(--azl-ink) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.azl-app.woocommerce-account .woocommerce-PaymentMethod--token,
body.azl-app.woocommerce-account .woocommerce-SavedPaymentMethods {
	border: 1px solid var(--azl-line) !important;
	border-radius: 12px !important;
	background: #fff !important;
	overflow: hidden !important;
}

body.azl-app.woocommerce-account .woocommerce-PaymentMethod--token td,
body.azl-app.woocommerce-account .woocommerce-SavedPaymentMethods td,
body.azl-app.woocommerce-account .woocommerce-SavedPaymentMethods th {
	padding: 12px 14px !important;
	border-color: var(--azl-line) !important;
	font-size: 14px !important;
}

