/* ==========================================================================
   Imperial Dog & Cat — WooCommerce Checkout
   Scope : body.woocommerce-checkout / .woocommerce-checkout
   Match le style du site (Nunito, terra, arrondis, ombres douces)
   ========================================================================== */

/* ============================================================
   RESET LOCAL + TYPOGRAPHIE
   ============================================================ */
.woocommerce-checkout,
body.woocommerce-checkout .woocommerce {
	font-family: "Nunito Sans", sans-serif;
	color: #1A1A1A;
}

.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
	font-family: "Nunito", sans-serif;
	font-weight: 900;
	font-size: 22px;
	color: #1A1A1A;
	letter-spacing: -0.01em;
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid #E2EFF7;
	display: flex;
	align-items: center;
	gap: 10px;
}

.woocommerce-checkout h3::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 24px;
	background: linear-gradient(180deg, #4BAEE0, #2E96CC);
	border-radius: 4px;
}

/* Pas de barre dans le résumé de commande */
.woocommerce-checkout #order_review_heading::before,
.woocommerce-checkout #order_review h3::before {
	display: none;
}

/* ============================================================
   CARDS WRAPPER : billing, shipping, order review, payment
   ============================================================ */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading + #order_review,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login {
	background: #FFFFFF;
	border: 1px solid #E2EFF7;
	border-radius: 16px;
	padding: 28px 28px 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03), 0 10px 30px rgba(75, 174, 224, 0.06);
	margin-bottom: 24px;
	animation: idc-checkout-fade 0.5s ease both;
}

.woocommerce-checkout .woocommerce-billing-fields   { animation-delay: 0.05s; }
.woocommerce-checkout .woocommerce-shipping-fields  { animation-delay: 0.15s; }
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review                  { animation-delay: 0.25s; }

@keyframes idc-checkout-fade {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   FORM ROWS : labels, inputs, selects
   ============================================================ */
.woocommerce-checkout .form-row {
	margin-bottom: 18px;
	padding: 0;
}

.woocommerce-checkout .form-row label,
.woocommerce-checkout label {
	display: block;
	font-family: "Nunito", sans-serif;
	font-size: 13px;
	font-weight: 700;
	color: #1A1A1A;
	margin-bottom: 8px;
	letter-spacing: 0.01em;
}

.woocommerce-checkout .required {
	color: #E63946 !important;
	text-decoration: none;
	font-weight: 800;
}

/* Inputs / textarea */
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	width: 100%;
	padding: 14px 18px;
	background: #FFFFFF;
	border: 2px solid #E2EFF7;
	border-radius: 12px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	color: #1A1A1A;
	line-height: 1.5;
	outline: none;
	box-shadow: none;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce-checkout .input-text:hover,
.woocommerce-checkout textarea:hover {
	border-color: #9BCBEB;
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce form .form-row input.input-text:focus {
	border-color: #4BAEE0;
	box-shadow: 0 0 0 4px rgba(75, 174, 224, 0.15);
}

.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-selection {
	border-color: #E63946 !important;
}

.woocommerce-checkout .form-row.woocommerce-validated .input-text {
	border-color: #5BC0A9 !important;
}

/* Placeholders */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: #A8B8C4;
	opacity: 1;
}

/* ============================================================
   SELECT2 (WC utilise Select2 pour pays, état…)
   ============================================================ */
.woocommerce-checkout .select2-container .select2-selection--single {
	height: auto;
	min-height: 50px;
	padding: 7px 10px;
	background: #FFFFFF;
	border: 2px solid #E2EFF7;
	border-radius: 12px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	font-family: "Nunito Sans", sans-serif;
	font-size: 15px;
	color: #1A1A1A;
	line-height: 36px;
	padding-left: 8px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 50px;
	top: 0;
	right: 10px;
}

.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--focus .select2-selection--single {
	border-color: #4BAEE0 !important;
	box-shadow: 0 0 0 4px rgba(75, 174, 224, 0.15);
}

.select2-dropdown {
	border: 2px solid #4BAEE0 !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background-color: #4BAEE0 !important;
	color: #FFFFFF !important;
}

/* ============================================================
   CHECKBOX "SHIP TO DIFFERENT ADDRESS" & co
   ============================================================ */
.woocommerce-checkout input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-right: 8px;
	accent-color: #4BAEE0;
	cursor: pointer;
	vertical-align: middle;
}

.woocommerce-checkout #ship-to-different-address label {
	font-size: 16px;
	font-weight: 800;
	display: flex;
	align-items: center;
	cursor: pointer;
}

/* ============================================================
   ORDER REVIEW TABLE
   ============================================================ */
.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 0;
}

.woocommerce-checkout-review-order-table thead th {
	background: #F4F8FB;
	font-family: "Nunito", sans-serif;
	font-weight: 800;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #1A1A1A;
	padding: 14px 16px;
	border: none;
}

.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot th {
	padding: 14px 16px;
	border-top: 1px solid #E2EFF7;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	color: #1A1A1A;
}

.woocommerce-checkout-review-order-table tbody td.product-name {
	font-weight: 700;
	color: #1A1A1A;
}

.woocommerce-checkout-review-order-table .product-quantity {
	color: #707070;
	font-weight: 600;
	margin-left: 4px;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td {
	font-family: "Nunito", sans-serif;
	font-weight: 900;
	font-size: 20px;
	color: #1A1A1A;
	padding-top: 20px;
	border-top: 2px solid #E2EFF7;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child td .amount {
	color: #4BAEE0;
	font-size: 24px;
}

/* ============================================================
   PAYMENT METHODS
   ============================================================ */
.woocommerce-checkout #payment {
	background: #FFFFFF;
	border: 2px solid #E2EFF7;
	border-radius: 16px;
	padding: 28px 28px 24px;
	margin-top: 24px;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.04),
		0 12px 32px rgba(75, 174, 224, 0.10),
		0 24px 60px rgba(75, 174, 224, 0.06);
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	background: #FFFFFF;
	border: 2px solid #E2EFF7;
	border-radius: 14px;
	padding: 18px 22px;
	margin-bottom: 12px;
	list-style: none;
	transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
	cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
	border-color: #9BCBEB;
	transform: translateX(2px);
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: #4BAEE0;
	margin-right: 10px;
	transform: scale(1.2);
	vertical-align: middle;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	font-family: "Nunito", sans-serif;
	font-weight: 700;
	font-size: 15px;
	color: #1A1A1A;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods li img {
	max-height: 28px;
	margin-left: 10px;
	vertical-align: middle;
}

/* Payment method selected */
.woocommerce-checkout #payment ul.payment_methods li.woocommerce-PaymentMethod:has(input:checked),
.woocommerce-checkout #payment ul.payment_methods li.payment_method:has(input:checked) {
	border-color: #4BAEE0;
	background: #EAF5FC;
}

/* Payment box (description) */
.woocommerce-checkout #payment .payment_box {
	background: #F4F8FB;
	border: 1px dashed #9BCBEB;
	border-radius: 12px;
	padding: 16px 20px;
	margin-top: 12px;
	font-size: 14px;
	color: #1A1A1A;
	line-height: 1.6;
}

.woocommerce-checkout #payment .payment_box::before {
	display: none;
}

/* ============================================================
   TERMS & CONDITIONS
   ============================================================ */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 20px 0;
	padding: 16px 20px;
	background: #F4F8FB;
	border-radius: 12px;
	font-size: 14px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: #4BAEE0;
	font-weight: 700;
}

/* ============================================================
   PLACE ORDER BUTTON
   ============================================================ */
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 20px 40px !important;
	background: linear-gradient(135deg, #4BAEE0 0%, #2E96CC 100%) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 50px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	box-shadow: 0 8px 24px rgba(75, 174, 224, 0.4), 0 2px 8px rgba(75, 174, 224, 0.2) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
	margin-top: 16px !important;
	line-height: 1 !important;
	height: auto !important;
}

.woocommerce-checkout #place_order::after {
	content: "→";
	font-size: 22px;
	font-weight: 400;
	transition: transform 0.25s ease;
}

.woocommerce-checkout #place_order:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 14px 34px rgba(75, 174, 224, 0.50), 0 4px 12px rgba(75, 174, 224, 0.3) !important;
	filter: brightness(1.05) !important;
}

.woocommerce-checkout #place_order:hover::after {
	transform: translateX(6px);
}

.woocommerce-checkout #place_order:active {
	transform: translateY(-1px) !important;
}

/* ============================================================
   COUPON & LOGIN NOTICES (above form)
   ============================================================ */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-notice--info {
	background: #EAF5FC;
	border: 1px solid #9BCBEB;
	border-left: 5px solid #4BAEE0;
	border-radius: 12px;
	padding: 16px 22px;
	font-family: "Nunito Sans", sans-serif;
	font-size: 14px;
	color: #1A1A1A;
	margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-notice--info::before {
	color: #4BAEE0;
}

.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout .showcoupon,
.woocommerce-checkout .showlogin {
	color: #4BAEE0 !important;
	font-weight: 800;
	text-decoration: none;
	border-bottom: 2px solid rgba(75, 174, 224, 0.3);
	transition: border-color 0.2s ease;
}

.woocommerce-checkout .showcoupon:hover,
.woocommerce-checkout .showlogin:hover {
	border-bottom-color: #4BAEE0;
}

/* Error messages */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
	background: #FEF2F3;
	border: 1px solid #F5A5AE;
	border-left: 5px solid #E63946;
	border-radius: 12px;
	padding: 16px 22px;
	color: #1A1A1A;
	list-style: none;
	margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-error li {
	margin: 4px 0;
}

/* Coupon form input + button */
.woocommerce-checkout .woocommerce-form-coupon .form-row {
	display: flex;
	gap: 10px;
	align-items: center;
}

.woocommerce-checkout .woocommerce-form-coupon button[type="submit"] {
	background: #1A1A1A !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 14px 28px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}

.woocommerce-checkout .woocommerce-form-coupon button[type="submit"]:hover {
	background: #000000 !important;
}

/* ============================================================
   LOADING STATE (during AJAX update)
   ============================================================ */
.woocommerce-checkout .blockUI.blockOverlay {
	background: #FFFFFF !important;
	opacity: 0.85 !important;
	border-radius: 16px;
}

.woocommerce-checkout .blockUI.blockOverlay::before {
	border-color: #9BCBEB !important;
	border-top-color: #4BAEE0 !important;
	width: 42px !important;
	height: 42px !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout #order_review {
		padding: 20px 18px;
	}
	.woocommerce-checkout h3,
	.woocommerce-checkout #order_review_heading {
		font-size: 18px;
	}
	.woocommerce-checkout #place_order {
		font-size: 15px !important;
		padding: 18px 30px !important;
	}
	.woocommerce-checkout .woocommerce-form-coupon .form-row {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ==========================================================================
   WOOCOMMERCE CHECKOUT BLOCK (nouveau Gutenberg)
   Classes : .wc-block-checkout, .wc-block-components-*
   ========================================================================== */

.wc-block-checkout,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart {
	font-family: "Nunito Sans", sans-serif;
	color: #1A1A1A;
	animation: idc-checkout-fade 0.5s ease both;
}

/* Titres de sections (Contact, Adresse, Livraison, Paiement) */
.wc-block-components-checkout-step__title,
.wc-block-checkout__main h2,
.wc-block-components-title {
	font-family: "Nunito", sans-serif !important;
	font-weight: 900 !important;
	font-size: 20px !important;
	color: #1A1A1A !important;
	letter-spacing: -0.01em !important;
}

/* Numéros d'étape (1. Contact, 2. Adresse…) */
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__title {
	color: #1A1A1A !important;
}

/* Chaque étape dans une carte */
.wc-block-components-checkout-step {
	background: #FFFFFF !important;
	border: 1px solid #E2EFF7 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03), 0 10px 30px rgba(75, 174, 224, 0.06) !important;
	animation: idc-checkout-fade 0.5s ease both;
}

.wc-block-components-checkout-step:nth-child(1) { animation-delay: 0.05s; }
.wc-block-components-checkout-step:nth-child(2) { animation-delay: 0.15s; }
.wc-block-components-checkout-step:nth-child(3) { animation-delay: 0.25s; }
.wc-block-components-checkout-step:nth-child(4) { animation-delay: 0.35s; }

/* Labels */
.wc-block-components-checkout-step__description,
.wc-block-components-text-input label,
.wc-block-components-checkbox__label {
	font-family: "Nunito", sans-serif !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
}

/* Inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-address-form input,
.wp-block-woocommerce-checkout input[type="text"],
.wp-block-woocommerce-checkout input[type="email"],
.wc-block-components-textarea {
	background: #FFFFFF !important;
	border: 2px solid #E2EFF7 !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 15px !important;
	color: #1A1A1A !important;
	box-shadow: none !important;
	transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
	border-color: #4BAEE0 !important;
	box-shadow: 0 0 0 4px rgba(75, 174, 224, 0.15) !important;
	outline: none !important;
}

/* Flottant label */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label {
	color: #1A1A1A !important;
	font-weight: 700 !important;
}

/* Select (pays) */
.wc-block-components-combobox,
.wc-block-components-select {
	--components-color-accent: #4BAEE0;
}

.wc-block-components-combobox input,
.wc-block-components-select select {
	background: #FFFFFF !important;
	border: 2px solid #E2EFF7 !important;
	border-radius: 12px !important;
	padding: 14px 18px !important;
	font-family: "Nunito Sans", sans-serif !important;
	font-size: 15px !important;
}

/* Checkbox (ship to diff address, save this info…) */
.wc-block-components-checkbox input[type="checkbox"] {
	accent-color: #4BAEE0;
}

.wc-block-components-checkbox__mark {
	fill: #4BAEE0 !important;
}

/* Order summary (sidebar droite) */
.wc-block-components-sidebar,
.wp-block-woocommerce-checkout-totals-block,
.wc-block-checkout__sidebar {
	background: #FFFFFF !important;
	border: 2px solid #E2EFF7 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow:
		0 2px 8px rgba(0, 0, 0, 0.04),
		0 12px 32px rgba(75, 174, 224, 0.10),
		0 24px 60px rgba(75, 174, 224, 0.06) !important;
}

/* Layout côte-à-côte FORCÉ : main 58% / sidebar 42%
   Ne descend pas en dessous — wrap seulement sous 700px (vrai mobile) */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 32px !important;
	width: 100% !important;
}

.wc-block-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout .wc-block-checkout__main,
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block {
	flex: 1 1 58% !important;
	max-width: 58% !important;
	min-width: 0 !important;
}

.wc-block-checkout .wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block {
	flex: 1 1 42% !important;
	max-width: 42% !important;
	min-width: 0 !important;
	position: sticky;
	top: 100px;
}

/* Vraiment sur mobile : empilement */
@media (max-width: 700px) {
	.wc-block-checkout,
	.wp-block-woocommerce-checkout {
		flex-wrap: wrap !important;
	}
	.wc-block-checkout .wc-block-checkout__main,
	.wc-block-checkout .wc-block-checkout__sidebar,
	.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-fields-block,
	.wp-block-woocommerce-checkout > .wp-block-woocommerce-checkout-totals-block {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		position: static;
	}
}

/* Classic checkout : layout flex côte-à-côte forcé */
.woocommerce-checkout form.checkout {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 32px !important;
	align-items: flex-start;
}

.woocommerce-checkout form.checkout #customer_details {
	flex: 1 1 58% !important;
	max-width: calc(58% - 16px) !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
}

.woocommerce-checkout form.checkout > #order_review_heading,
.woocommerce-checkout form.checkout > #order_review {
	flex: 1 1 42% !important;
	max-width: calc(42% - 16px) !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
	margin-left: auto;
}

.woocommerce-checkout form.checkout > #order_review_heading {
	flex-basis: 100%;
	max-width: 100%;
	order: 2;
}

.woocommerce-checkout form.checkout > #order_review {
	order: 3;
	position: sticky;
	top: 100px;
}

.woocommerce-checkout form.checkout #customer_details { order: 1; }

@media (max-width: 700px) {
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout > #order_review_heading,
	.woocommerce-checkout form.checkout > #order_review {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		position: static;
	}
}

/* Titre du résumé (sans barre) */
.wc-block-components-sidebar h2 {
	font-family: "Nunito", sans-serif !important;
	font-weight: 900 !important;
	font-size: 20px !important;
	border-bottom: 2px solid #E2EFF7;
	padding-bottom: 14px;
	margin-bottom: 18px;
}

/* Supprime tous les ::before décoratifs dans le résumé de commande */
.wc-block-components-sidebar h2::before,
.wc-block-components-sidebar h3::before,
.wc-block-components-sidebar .wc-block-components-title::before,
.wc-block-checkout__sidebar h2::before,
.wc-block-checkout__sidebar h3::before,
.wp-block-woocommerce-checkout-totals-block h2::before,
.wp-block-woocommerce-checkout-totals-block h3::before,
.wp-block-woocommerce-checkout-order-summary-block::before,
.wp-block-woocommerce-checkout-order-summary-block h2::before,
.wp-block-woocommerce-checkout-order-summary-block h3::before,
.wc-block-components-order-summary__title::before,
.wc-block-components-panel__button::before {
	content: none !important;
	display: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Total prix */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-formatted-money-amount {
	font-family: "Nunito", sans-serif !important;
	font-weight: 900 !important;
	color: #1A1A1A !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	color: #4BAEE0 !important;
	font-size: 24px !important;
}

/* Produits dans le résumé */
.wc-block-components-order-summary-item {
	padding: 14px 0;
	border-bottom: 1px solid #E2EFF7;
}

.wc-block-components-order-summary-item__description,
.wc-block-components-product-name {
	font-family: "Nunito", sans-serif !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
}

/* Bouton "Passer la commande" */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
button.wc-block-components-button.wc-block-components-checkout-place-order-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 20px 40px !important;
	background: linear-gradient(135deg, #4BAEE0 0%, #2E96CC 100%) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 50px !important;
	font-family: "Nunito", sans-serif !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	box-shadow: 0 8px 24px rgba(75, 174, 224, 0.4), 0 2px 8px rgba(75, 174, 224, 0.2) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease !important;
	margin-top: 20px !important;
	line-height: 1 !important;
	min-height: 56px !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 14px 34px rgba(75, 174, 224, 0.50), 0 4px 12px rgba(75, 174, 224, 0.3) !important;
	filter: brightness(1.05) !important;
}

/* Notices info/error */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-info {
	background: #EAF5FC !important;
	border: 1px solid #9BCBEB !important;
	border-left: 5px solid #4BAEE0 !important;
	border-radius: 12px !important;
	color: #1A1A1A !important;
}

.wc-block-components-notice-banner.is-error {
	background: #FEF2F3 !important;
	border-color: #F5A5AE !important;
	border-left-color: #E63946 !important;
}

/* Payment methods */
.wc-block-components-payment-method,
.wc-block-components-radio-control__option {
	background: #FFFFFF;
	border: 2px solid #E2EFF7 !important;
	border-radius: 14px !important;
	padding: 18px 22px !important;
	margin-bottom: 12px !important;
	transition: border-color 0.25s ease, background 0.25s ease !important;
}

.wc-block-components-radio-control__option:hover {
	border-color: #9BCBEB !important;
}

.wc-block-components-radio-control__option--checked,
.wc-block-components-radio-control__option.wc-block-components-radio-control__option--checked {
	border-color: #4BAEE0 !important;
	background: #EAF5FC !important;
}

/* ============================================================
   ACCESSIBILITÉ — reduce motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading {
		animation: none !important;
	}
	.woocommerce-checkout #place_order {
		transition: none !important;
	}
}
