/* =============================================
   Checkout Page — Etxe Beroi
   ============================================= */

/* ── Cacher le titre de la page ────────────────────────────────── */
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .woocommerce-checkout-header,
body.woocommerce-checkout h1.wp-block-post-title,
body.woocommerce-checkout .wp-block-post-title {
	display: block !important;
}

/* ── Layout principal ──────────────────────────────────────────── */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: 1290px !important;
	width: 100% !important;
	margin: 100px auto 0 !important;
	padding: 0 24px 60px !important;
}

/* ── Deux colonnes ─────────────────────────────────────────────── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block {
	flex: 1 !important;
	min-width: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
	width: 420px !important;
	flex-shrink: 0 !important;
}

/* ── Titres de section ─────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description {
	font-size: 14px !important;
	color: #6B7280 !important;
}

/* ── Espacement des champs ──────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-combobox,
body.woocommerce-checkout .wc-block-components-select-input {
	margin-bottom: 16px !important;
}

body.woocommerce-checkout .wc-block-components-address-form__address_1-container,
body.woocommerce-checkout .wc-block-components-address-form__address_2-container,
body.woocommerce-checkout .wc-block-components-address-form__city-container,
body.woocommerce-checkout .wc-block-components-address-form__postcode-container,
body.woocommerce-checkout .wc-block-components-address-form__state-container,
body.woocommerce-checkout .wc-block-components-address-form__country-container,
body.woocommerce-checkout .wc-block-components-address-form__first_name-container,
body.woocommerce-checkout .wc-block-components-address-form__last_name-container,
body.woocommerce-checkout .wc-block-components-address-form__phone-container,
body.woocommerce-checkout .wc-block-components-address-form__company-container {
	margin-bottom: 16px !important;
}

/* ── Inputs ────────────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-text-input {
	position: relative !important;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	border: 1.5px solid #D1D5DB !important;
	border-radius: 10px !important;
	padding: 24px 16px 8px !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	min-height: 56px !important;
	color: #1A1A1A !important;
	background: #fff !important;
	transition: border-color 0.2s ease !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
	border-color: #2D6A4F !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.1) !important;
}

/* Label flottant : état par défaut (placeholder) */
body.woocommerce-checkout .wc-block-components-text-input label {
	font-size: 16px !important;
	color: #9CA3AF !important;
	left: 16px !important;
	top: 16px !important;
	transition: all 0.15s ease !important;
	pointer-events: none !important;
}

/* Label flottant : remonté quand focus ou rempli */
body.woocommerce-checkout .wc-block-components-text-input.is-active label {
	font-size: 11px !important;
	color: #6B7280 !important;
	top: 8px !important;
	left: 16px !important;
}

/* ── Select / Combobox ─────────────────────────────────────────── */
body.woocommerce-checkout select,
body.woocommerce-checkout .wc-block-components-select-input select {
	border: 1.5px solid #D1D5DB !important;
	border-radius: 10px !important;
	padding: 24px 16px 8px !important;
	font-size: 16px !important;
	min-height: 56px !important;
	color: #1A1A1A !important;
	background: #fff !important;
	box-sizing: border-box !important;
}

body.woocommerce-checkout select:focus {
	border-color: #2D6A4F !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(45, 106, 79, 0.1) !important;
}

/* ── Combobox dropdown ─────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control {
	min-height: 56px !important;
}

body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
	padding: 24px 16px 8px !important;
}

body.woocommerce-checkout .wc-block-components-combobox .components-form-token-field__input-container {
	min-height: 56px !important;
	padding: 0 !important;
	border: none !important;
}

body.woocommerce-checkout .wc-block-components-combobox label {
	font-size: 16px !important;
	left: 16px !important;
	top: 16px !important;
}

body.woocommerce-checkout .wc-block-components-combobox.is-active label {
	font-size: 11px !important;
	top: 8px !important;
}

/* ── Radio buttons ─────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-radio-control__input {
	border-color: #D1D5DB !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input:checked {
	border-color: #2D6A4F !important;
	background: #2D6A4F !important;
}

/* ── Shipping method toggle (Ship / Pick up) ───────────────────── */
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__label {
	font-size: 15px !important;
	font-weight: 500 !important;
	color: #1A1A1A !important;
}

/* ── Pickup options ────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-checkout__pickup-options {
	background: #F9FAFB !important;
	border-radius: 12px !important;
	padding: 20px !important;
	border: 1px solid #E5E7EB !important;
}

/* ── Panneau récapitulatif commande ────────────────────────────── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
	background: #FAFAF8 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
	position: sticky !important;
	top: 100px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: transparent !important;
}

/* Titre récapitulatif */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel__button {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

/* Produit dans le résumé */
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover !important;
	border-radius: 10px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1A1A1A !important;
	text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
	font-size: 13px !important;
	color: #6B7280 !important;
}

/* Prix dans le résumé */
body.woocommerce-checkout .wc-block-components-product-price .wc-block-formatted-money-amount {
	font-weight: 600 !important;
	color: #1A1A1A !important;
}

/* Totaux */
body.woocommerce-checkout .wc-block-components-totals-item__label {
	font-size: 15px !important;
	color: #6B7280 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value .wc-block-formatted-money-amount {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1A1A1A !important;
}

/* Total final */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
	text-transform: uppercase !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #1A1A1A !important;
}

/* ── Coupon ────────────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-totals-coupon__form input {
	border: 1.5px solid #D1D5DB !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form input:focus {
	border-color: #2D6A4F !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form button {
	background: #2D6A4F !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	padding: 10px 18px !important;
	transition: background 0.2s !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__form button:hover {
	background: #1B4332 !important;
}

/* ── Bouton Commander ──────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 100% !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #fff !important;
	background: #2D6A4F !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 16px 24px !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	transition: background 0.25s ease !important;
	cursor: pointer !important;
	min-height: 52px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	background: #1B4332 !important;
}

/* ── Masquer paiement + Commander dans la colonne gauche (déplacés à droite via JS) ── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block .wp-block-woocommerce-checkout-payment-block {
	display: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-fields-block .wc-block-checkout__actions_row {
	display: none !important;
}

/* ── Lien retour ───────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	color: #2D6A4F !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
	color: #1B4332 !important;
	text-decoration: underline !important;
}

/* ── Séparateurs + espacement sections ─────────────────────────── */
body.woocommerce-checkout .wc-block-components-checkout-step {
	border-bottom: 1px solid #F0F0F0 !important;
	padding-bottom: 32px !important;
	margin-bottom: 32px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step:last-child {
	border-bottom: none !important;
}

/* Contenu intérieur des steps */
body.woocommerce-checkout .wc-block-components-checkout-step__content {
	padding-top: 16px !important;
}

/* Grille des champs adresse — plus d'espace entre les colonnes */
body.woocommerce-checkout .wc-block-components-address-form {
	gap: 16px !important;
}

/* ── Options de livraison — styling radio ────────────────────────── */
body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option {
	border: 1.5px solid #E5E7EB !important;
	border-radius: 12px !important;
	padding-top: 14px !important;
	padding-right: 16px !important;
	padding-bottom: 14px !important;
	margin-bottom: 8px !important;
	transition: border-color 0.2s, background 0.2s !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option--checked {
	border-color: #2D6A4F !important;
	background: #F0FDF4 !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__label {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1A1A1A !important;
}

body.woocommerce-checkout .wc-block-components-shipping-rates-control .wc-block-components-radio-control__secondary-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #2D6A4F !important;
}

/* ── Retrait en magasin — badge date ────────────────────────────── */
body.woocommerce-checkout .eb-pickup-ready-badge {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	padding: 8px 12px;
	background: rgba(45, 106, 79, 0.08);
	border-radius: 6px;
	font-size: 12px;
	color: #2D6A4F;
	line-height: 1.3;
}

body.woocommerce-checkout .eb-pickup-ready-badge svg {
	flex-shrink: 0;
	opacity: 0.7;
}

body.woocommerce-checkout .eb-pickup-ready-badge strong {
	color: #1B4332;
	font-weight: 600;
}

/* ── Paiement ──────────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked {
	border-color: #2D6A4F !important;
	background: #F0FDF4 !important;
}

/* ── Termes et conditions ──────────────────────────────────────── */
body.woocommerce-checkout .wc-block-checkout__terms input[type="checkbox"]:checked {
	background: #2D6A4F !important;
	border-color: #2D6A4F !important;
}

/* ── Notices ───────────────────────────────────────────────────── */
body.woocommerce-checkout .wc-block-components-notice-banner.is-error {
	border-color: #DC2626 !important;
	border-radius: 10px !important;
}

body.woocommerce-checkout .wc-block-components-notice-banner.is-success {
	border-color: #2D6A4F !important;
	border-radius: 10px !important;
}

/* ── Mobile ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		margin-top: 40px !important;
		padding: 0 16px 40px !important;
	}

	body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
		width: 100% !important;
		position: static !important;
		margin-top: 24px !important;
	}

	body.woocommerce-checkout .eb-pickup-ready {
		gap: 10px;
	}

	body.woocommerce-checkout .eb-pickup-ready-text {
		font-size: 15px;
	}
}


/* ── Cacher le lien Retour au panier ───────────────────────────── */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
	display: none !important;
}

/* ── Paiement déplacé dans le résumé (via JS) ──────────────── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-payment-block {
	margin-top: 24px !important;
	border: none !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-payment-block .wc-block-components-checkout-step__title {
	font-size: 14px !important;
	margin-bottom: 12px !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
	border: none !important;
	padding: 12px 0 !important;
}

/* ── Bouton Commander dans le résumé ───────────────────────────── */
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wc-block-checkout__actions_row {
	margin-top: 20px !important;
	justify-content: center !important;
}

/* =============================================
   FIX MOBILE — Infos client AVANT le récap/paiement/Commander
   Override de WooCommerce qui force le sidebar (.wc-block-checkout__sidebar)
   en order:0 sur .is-mobile/.is-small. Le paiement + bouton Commander ayant
   été déplacés dans le sidebar (checkout-layout.js), ils remontaient avant
   le formulaire. On rétablit : formulaire d abord, récap ensuite.
   ============================================= */
body.woocommerce-checkout .is-mobile .wc-block-checkout__main,
body.woocommerce-checkout .is-small .wc-block-checkout__main {
	order: 0 !important;
}
body.woocommerce-checkout .is-mobile .wc-block-checkout__sidebar,
body.woocommerce-checkout .is-small .wc-block-checkout__sidebar {
	order: 1 !important;
	margin-top: 24px !important;
}

/* =============================================
   FIX paiement — WooCommerce 10.9.1
   Depuis la 10.9.1, le moyen de paiement s affiche avec un vrai bouton radio
   qui chevauchait le libellé (padding gauche retiré par l ancien CSS).
   Il n y a qu UN moyen de paiement (SumUp, auto-sélectionné) : on masque le
   radio et on présente « Carte de crédit / débit » proprement, comme une
   indication.
   ⚠️ IMPORTANT : si tu ajoutes un 2e moyen de paiement, SUPPRIME ce bloc
   (sinon impossible de choisir) ou rends le radio à nouveau visible.
   ============================================= */
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__input {
	display: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
	display: block !important;
	padding: 14px 16px !important;
	border: 1px solid #E5E7EB !important;
	border-radius: 10px !important;
	background: #fff !important;
	margin: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-layout,
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label-group {
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__label {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1A1A1A !important;
	margin: 0 !important;
}

/* Description rassurante (si affichée par la passerelle) */
body.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__description {
	display: block !important;
	font-size: 13px !important;
	color: #6B7280 !important;
	margin-top: 4px !important;
	line-height: 1.4 !important;
}
