/**
 * ALJA — WooCommerce Blocks Stylesheet
 * Override complet des WooCommerce Blocks pour Cart et Checkout.
 * Inspiré d'Airbnb & Wecandoo : clean, minimal, mobile-first.
 *
 * @package ALJA
 * @since   1.0.0
 */

/* ═══════════════════════════════════════
   RESET & BASE
   ═══════════════════════════════════════ */

/* Reset globals WC qui outrepassent le design */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    border-top-color: var(--wp--preset--color--primary) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    padding: 1rem 1.5rem !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    background: var(--wp--preset--color--white) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

/* Enlever les backgrounds agressifs des blocks WC */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
    background: transparent !important;
    padding: 0 !important;
    margin-block: 0 !important;
}

/* ═══════════════════════════════════════
   PAGE PANIER — WC Blocks Cart
   ═══════════════════════════════════════ */

/* ── En-tête page panier ── */
.wc-block-cart h1,
.woocommerce-cart h1,
.wp-block-woocommerce-cart h1 {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
    margin-block-end: 2rem !important;
    padding-block-start: 2.5rem !important;
}

/* ── Layout 2 colonnes (60% produits / 40% totaux) ── */
.wc-block-cart__main-heading,
.wp-block-woocommerce-cart .wc-block-cart {
    max-width: var(--alja-site-max, 109rem);
    margin-inline: auto;
    padding-inline: var(--alja-gutter, 1.25rem);
}

/* Grid principal cart */
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-cart .wc-block-cart__main {
    background: transparent !important;
}

/* ── Tableau produits panier ── */
.wc-block-cart-items {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--xl) !important;
    overflow: hidden !important;
    box-shadow: 0 1px 8px rgba(0,0,0,0.05) !important;
    margin-block-end: 1.5rem !important;
}

/* Entête tableau */
.wc-block-cart-items .wc-block-cart-items__header {
    background: #f8f8f8 !important;
    padding: 0.875rem 1.25rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    gap: 1rem !important;
    font-size: var(--wp--preset--font-size--xs) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--wp--preset--color--gray-600) !important;
}

/* Ligne produit */
.wc-block-cart-item {
    display: grid !important;
    grid-template-columns: 80px 1fr auto !important;
    gap: 1.25rem !important;
    padding: 1.25rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    align-items: center !important;
    transition: background var(--wp--custom--transition--fast) !important;
}

.wc-block-cart-item:last-child {
    border-bottom: none !important;
}

.wc-block-cart-item:hover {
    background: #fafafa !important;
}

/* Image produit dans le panier */
.wc-block-cart-item__image img,
.wc-block-components-product-image img,
.wc-block-cart-item .wc-block-cart-item__image a img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    display: block !important;
}

/* Nom produit */
.wc-block-cart-item .wc-block-cart-item__product h3 a,
.wc-block-cart-item .wc-block-components-product-name a,
.wc-block-cart-item h3 a {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    text-decoration: none !important;
    transition: color var(--wp--custom--transition--fast) !important;
}

.wc-block-cart-item h3 a:hover {
    color: var(--wp--preset--color--primary) !important;
}

/* Prix barré / promo */
.wc-block-components-product-price del,
.wc-block-cart-item del {
    color: var(--wp--preset--color--gray-400) !important;
    font-size: var(--wp--preset--font-size--xs) !important;
    font-weight: 400 !important;
}

.wc-block-components-product-price ins,
.wc-block-cart-item ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Sélecteur de quantité */
.wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    border: 1.5px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    overflow: hidden !important;
    width: fit-content !important;
    background: var(--wp--preset--color--white) !important;
}

.wc-block-components-quantity-selector__button {
    width: 2rem !important;
    height: 2rem !important;
    background: transparent !important;
    border: none !important;
    font-size: 1.125rem !important;
    font-weight: 300 !important;
    color: var(--wp--preset--color--charcoal) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background var(--wp--custom--transition--fast) !important;
    line-height: 1 !important;
}

.wc-block-components-quantity-selector__button:hover {
    background: var(--wp--preset--color--sand-light, #f5ede3) !important;
    color: var(--wp--preset--color--primary) !important;
}

.wc-block-components-quantity-selector input {
    width: 3rem !important;
    height: 2rem !important;
    border: none !important;
    border-inline: 1.5px solid var(--wp--preset--color--gray-200) !important;
    text-align: center !important;
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    outline: none !important;
    background: var(--wp--preset--color--white) !important;
}

/* Bouton supprimer */
.wc-block-cart-item .wc-block-cart-item__remove-link,
.wc-block-cart-item button.wc-block-cart-item__remove-link {
    font-size: var(--wp--preset--font-size--xs) !important;
    color: var(--wp--preset--color--gray-400) !important;
    text-decoration: none !important;
    transition: color var(--wp--custom--transition--fast) !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    margin-block-start: 0.5rem !important;
}

.wc-block-cart-item .wc-block-cart-item__remove-link:hover {
    color: var(--wp--preset--color--error) !important;
}

/* Prix total ligne */
.wc-block-cart-item .wc-block-cart-item__total .wc-block-components-product-price {
    font-size: var(--wp--preset--font-size--lg) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
}

/* ── Actions panier (coupon, update) ── */
.wc-block-cart__submit-container,
.wp-block-woocommerce-cart .wc-block-cart__submit {
    margin-block-start: 0 !important;
}

/* Champ coupon */
.wc-block-components-coupon-field,
.wc-block-cart__coupon-field {
    display: flex !important;
    gap: 0.5rem !important;
    margin-block: 1rem !important;
}

.wc-block-components-coupon-field input,
.wc-block-cart .wc-block-components-text-input input {
    flex: 1 !important;
    padding: 0.75rem 1rem !important;
    border: 1.5px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--charcoal) !important;
    background: var(--wp--preset--color--white) !important;
    outline: none !important;
    transition: border-color var(--wp--custom--transition--fast) !important;
}

.wc-block-components-coupon-field input:focus {
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 0 3px rgba(58,138,106,0.1) !important;
}

/* ── Sidebar Totaux ── */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--xl) !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
    padding: 0 !important;
}

.wc-block-components-totals-wrapper {
    padding: 0 !important;
}

/* Entête sidebar */
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-cart__sidebar > .wc-block-components-totals-wrapper .wp-block-woocommerce-cart-order-summary-block {
    padding: 1.5rem !important;
}

.wc-block-cart__sidebar h2,
.wc-block-order-summary .wc-block-order-summary__title {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--lg) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
    padding: 1.25rem 1.5rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    margin: 0 !important;
}

/* Lignes de totaux */
.wc-block-components-totals-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.875rem 1.5rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--charcoal) !important;
}

.wc-block-components-totals-item:last-child {
    border-bottom: none !important;
}

.wc-block-components-totals-item__label {
    font-weight: 500 !important;
}

.wc-block-components-totals-item__value {
    font-weight: 700 !important;
}

/* Total final */
.wc-block-components-totals-footer-item {
    background: #f8f8f8 !important;
    padding: 1.25rem 1.5rem !important;
    border-top: 2px solid var(--wp--preset--color--gray-200) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: var(--wp--preset--font-size--xl) !important;
    font-weight: 800 !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Bouton Proceed to Checkout */
.wc-block-cart__submit-container .wc-block-components-checkout-button,
.wc-block-cart__submit-container button,
.wc-block-cart .wc-block-cart__submit .wc-block-cart__submit-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 1rem 2rem !important;
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: all var(--wp--custom--transition--base) !important;
    box-shadow: 0 4px 16px rgba(58,138,106,0.25) !important;
    margin-block-start: 1rem !important;
}

.wc-block-cart__submit-container .wc-block-components-checkout-button:hover,
.wc-block-cart .wc-block-cart__submit .wc-block-cart__submit-button:hover {
    background: var(--wp--preset--color--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(58,138,106,0.35) !important;
}

/* Panier vide */
.wc-block-cart--is-loading .wc-block-cart-items,
.wc-empty-cart-notice {
    text-align: center !important;
    padding: 4rem 2rem !important;
    background: var(--wp--preset--color--white) !important;
    border-radius: var(--wp--custom--border-radius--xl) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
}

.wc-empty-cart-notice h2,
.wc-empty-cart-notice p {
    color: var(--wp--preset--color--gray-600) !important;
    margin-block-end: 1.5rem !important;
}

/* ═══════════════════════════════════════
   PAGE CHECKOUT — WC Blocks Checkout
   Inspiré Airbnb / Wecandoo
   ═══════════════════════════════════════ */

/* Titre page checkout */
.wc-block-checkout h1,
.woocommerce-checkout h1,
.wp-block-woocommerce-checkout h1 {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
    margin-block-end: 2rem !important;
    padding-block-start: 2.5rem !important;
}

/* Layout checkout (déjà géré par WC Blocks en grid) */
.wp-block-woocommerce-checkout .wc-block-checkout {
    max-width: var(--alja-site-max, 109rem) !important;
    margin-inline: auto !important;
    padding-inline: var(--alja-gutter, 1.25rem) !important;
    padding-block: 2.5rem !important;
}

/* ── Sections formulaire ── */
/* Cards pour chaque section (Contact info, Billing, Payment) */
.wc-block-checkout__main .wc-block-checkout__actions,
.wc-block-checkout__form .wc-block-components-checkout-step {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--xl) !important;
    padding: 1.75rem !important;
    margin-block-end: 1rem !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.04) !important;
}

/* Numéro de step */
.wc-block-components-checkout-step__heading-number {
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    width: 1.75rem !important;
    height: 1.75rem !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

/* Titre de section (Contact information, Billing address...) */
.wc-block-components-checkout-step__title {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--lg) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

.wc-block-components-checkout-step__heading {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin-block-end: 1.5rem !important;
    padding-block-end: 1rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
}

/* ── Reset complet des champs formulaire checked ── */

/* Labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox .wc-block-components-checkbox__label,
.wc-block-components-checkout-step__content label {
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--xs) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

/* Tous les inputs / selects checkout */
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-select select,
.wc-block-components-select__control,
.wc-block-components-country-input input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="number"],
.wc-block-checkout select,
.wc-block-checkout textarea {
    width: 100% !important;
    padding: 0.8125rem 1rem !important;
    border: 1.5px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--charcoal) !important;
    background: var(--wp--preset--color--white) !important;
    outline: none !important;
    transition: border-color var(--wp--custom--transition--fast),
                box-shadow var(--wp--custom--transition--fast) !important;
    box-sizing: border-box !important;
    height: auto !important;
    appearance: none !important;
}

.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 0 3px rgba(58,138,106,0.12) !important;
}

/* Placeholder */
.wc-block-checkout input::placeholder,
.wc-block-checkout textarea::placeholder {
    color: var(--wp--preset--color--gray-400) !important;
}

/* Validation erreur */
.wc-block-components-text-input.has-error input,
.wc-block-components-text-input.is-active.has-error input {
    border-color: var(--wp--preset--color--error) !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,0.1) !important;
}

.wc-block-components-validation-error p {
    font-size: var(--wp--preset--font-size--xs) !important;
    color: var(--wp--preset--color--error) !important;
    margin-block-start: 0.25rem !important;
}

/* ── Checkbox livraison ── */
.wc-block-checkout__use-address-for-shipping,
.wc-block-components-checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 0.625rem !important;
    cursor: pointer !important;
    margin-block: 0.75rem !important;
}

.wc-block-components-checkbox input[type="checkbox"] {
    width: 1.125rem !important;
    height: 1.125rem !important;
    accent-color: var(--wp--preset--color--primary) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    border-radius: 3px !important;
    border: 1.5px solid var(--wp--preset--color--gray-300) !important;
}

/* ── Payment section ── */
.wc-block-checkout__payment-method,
.wc-block-components-payment-method-list {
    background: transparent !important;
}

.wc-block-components-payment-method-list-item {
    background: var(--wp--preset--color--white) !important;
    border: 1.5px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    padding: 1rem 1.25rem !important;
    margin-block-end: 0.625rem !important;
    cursor: pointer !important;
    transition: all var(--wp--custom--transition--fast) !important;
}

.wc-block-components-payment-method-list-item:has(input:checked) {
    border-color: var(--wp--preset--color--primary) !important;
    background: rgba(58,138,106,0.04) !important;
    box-shadow: 0 0 0 2px rgba(58,138,106,0.12) !important;
}

.wc-block-components-payment-method-label {
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
}

.wc-block-components-payment-method-list-item input[type="radio"] {
    accent-color: var(--wp--preset--color--primary) !important;
    width: 1.125rem !important;
    height: 1.125rem !important;
}

/* Message "no payment methods" */
.wc-block-checkout__no-payment-methods {
    background: rgba(239,68,68,0.06) !important;
    border: 1px solid rgba(239,68,68,0.2) !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    padding: 1rem 1.25rem !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--charcoal) !important;
}

/* ── Résumé commande (Order Summary sidebar) ── */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
    position: sticky !important;
    top: 90px !important;
}

.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-order-summary {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--xl) !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06) !important;
    padding: 0 !important;
}

/* Titre order summary */
.wc-block-order-summary__title,
.wp-block-woocommerce-checkout-order-summary-block h2 {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--lg) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
    padding: 1.25rem 1.5rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    margin: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Produit dans order summary */
.wc-block-order-summary-item {
    display: grid !important;
    grid-template-columns: 60px 1fr auto !important;
    gap: 1rem !important;
    padding: 1rem 1.5rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    align-items: start !important;
}

.wc-block-order-summary-item__image img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
}

.wc-block-order-summary-item__quantity {
    position: absolute !important;
    top: -8px !important;
    right: -8px !important;
    background: var(--wp--preset--color--charcoal) !important;
    color: #fff !important;
    width: 1.375rem !important;
    height: 1.375rem !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    border: 2px solid #fff !important;
}

.wc-block-order-summary-item__image {
    position: relative !important;
}

.wc-block-order-summary-item__description {
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    line-height: 1.4 !important;
}

.wc-block-order-summary-item__total .wc-block-components-product-price {
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--charcoal) !important;
}

/* Totaux order summary */
.wc-block-checkout__sidebar .wc-block-components-totals-item {
    padding: 0.75rem 1.5rem !important;
    border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item {
    background: #f8f8f8 !important;
    padding: 1.125rem 1.5rem !important;
    border-top: 2px solid var(--wp--preset--color--gray-200) !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: var(--wp--preset--font-size--xl) !important;
    font-weight: 800 !important;
    color: var(--wp--preset--color--primary) !important;
}

/* ── Bouton Place Order ── */
.wc-block-checkout__actions .wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions button[type="submit"],
.wc-block-checkout .wc-block-checkout__actions .wc-block-components-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 1.0625rem 2rem !important;
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    border: none !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    cursor: pointer !important;
    transition: all var(--wp--custom--transition--base) !important;
    box-shadow: 0 4px 20px rgba(58,138,106,0.25) !important;
    margin-block-start: 1.5rem !important;
}

.wc-block-checkout__actions .wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions button[type="submit"]:hover {
    background: var(--wp--preset--color--primary-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(58,138,106,0.35) !important;
}

/* Bouton Retour au panier */
.wc-block-checkout__actions .wc-block-checkout__actions--right a,
.wc-block-checkout a.wc-block-checkout__return-to-cart-link {
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--gray-600) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
    transition: color var(--wp--custom--transition--fast) !important;
}

.wc-block-checkout a.wc-block-checkout__return-to-cart-link:hover {
    color: var(--wp--preset--color--primary) !important;
}

/* Mentions T&C */
.wc-block-checkout__terms p,
.wc-block-checkout__terms-and-conditions {
    font-size: var(--wp--preset--font-size--xs) !important;
    color: var(--wp--preset--color--gray-600) !important;
    line-height: 1.6 !important;
    margin-block: 1rem !important;
}

.wc-block-checkout__terms a {
    color: var(--wp--preset--color--primary) !important;
    text-decoration: underline !important;
}

/* ── Coupon accordion dans checkout ── */
.wc-block-components-panel .wc-block-components-panel__button,
.wc-block-checkout .wc-block-components-panel__button {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--wp--preset--color--gray-200) !important;
    width: 100% !important;
    padding: 1rem 1.5rem !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    transition: background var(--wp--custom--transition--fast) !important;
}

.wc-block-components-panel .wc-block-components-panel__button:hover {
    background: #f8f8f8 !important;
}

/* ═══════════════════════════════════════
   BOUTIQUE — WC Blocks Archive Products
   ═══════════════════════════════════════ */

/* Grille produits WC Blocks */
.wp-block-woocommerce-product-listing .wc-block-grid__products,
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
}

@media (min-width: 640px) {
    .wc-block-grid__products { grid-template-columns: repeat(3, 1fr) !important; }
}

@media (min-width: 1024px) {
    .wc-block-grid__products { grid-template-columns: repeat(4, 1fr) !important; }
}

@media (min-width: 1440px) {
    .wc-block-grid__products { grid-template-columns: repeat(5, 1fr) !important; }
}

/* Card produit WC Block */
.wc-block-grid__product {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--lg) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform var(--wp--custom--transition--base),
                box-shadow var(--wp--custom--transition--base),
                border-color var(--wp--custom--transition--base) !important;
}

.wc-block-grid__product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important;
    border-color: transparent !important;
}

.wc-block-grid__product a.wc-block-grid__product-image img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    transition: transform var(--wp--custom--transition--slow) !important;
}

.wc-block-grid__product:hover a.wc-block-grid__product-image img {
    transform: scale(1.05) !important;
}

.wc-block-grid__product-title {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    padding: 0.75rem 0.875rem 0.25rem !important;
    text-decoration: none !important;
}

.wc-block-grid__product-price .wc-block-components-product-price {
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
    padding: 0 0.875rem 0.75rem !important;
    display: block !important;
}

/* Bouton add to cart WC Block */
.wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product .wp-block-button__link {
    display: block !important;
    width: calc(100% - 1.75rem) !important;
    margin: 0 0.875rem 0.875rem !important;
    padding: 0.625rem 1rem !important;
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    font-size: var(--wp--preset--font-size--xs) !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: background var(--wp--custom--transition--fast) !important;
    text-decoration: none !important;
}

.wc-block-grid__product .wp-block-button__link:hover {
    background: var(--wp--preset--color--primary-dark) !important;
}

/* ═══════════════════════════════════════
   ALSO — Classic WooCommerce overrides
   (pour les pages qui utilisent encore les templates classiques)
   ═══════════════════════════════════════ */

/* Grille produits classique WC */
ul.products { list-style: none !important; padding: 0 !important; }

ul.products li.product {
    background: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--gray-200) !important;
    border-radius: var(--wp--custom--border-radius--lg) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform var(--wp--custom--transition--base), box-shadow var(--wp--custom--transition--base) !important;
}

ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important;
    border-color: transparent !important;
}

ul.products li.product a img {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    transition: transform var(--wp--custom--transition--slow) !important;
}

ul.products li.product:hover a img {
    transform: scale(1.05) !important;
}

ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--wp--preset--font-family--heading) !important;
    font-size: var(--wp--preset--font-size--sm) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--charcoal) !important;
    padding: 0.75rem 0.875rem 0.25rem !important;
    margin: 0 !important;
}

ul.products li.product .price {
    font-size: var(--wp--preset--font-size--md) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
    padding: 0 0.875rem 0.75rem !important;
    display: block !important;
}

ul.products li.product a.button, ul.products li.product .button {
    display: block !important;
    width: calc(100% - 1.75rem) !important;
    margin: 0 0.875rem 0.875rem !important;
    padding: 0.625rem 1rem !important;
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    font-size: var(--wp--preset--font-size--xs) !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--wp--custom--border-radius--md) !important;
    text-align: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: background var(--wp--custom--transition--fast) !important;
    box-sizing: border-box !important;
}

ul.products li.product a.button:hover, ul.products li.product .button:hover {
    background: var(--wp--preset--color--primary-dark) !important;
}

/* ═══════════════════════════════════════
   RESPONSIVE AJUSTEMENTS
   ═══════════════════════════════════════ */

@media (max-width: 767px) {
    .wc-block-cart-item {
        grid-template-columns: 64px 1fr !important;
    }

    .wc-block-cart-item__total {
        grid-column: 1 / -1 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding-block-start: 0.5rem !important;
        border-top: 1px solid var(--wp--preset--color--gray-200) !important;
        margin-block-start: 0.5rem !important;
    }

    .wc-block-order-summary-item {
        padding: 0.875rem 1.25rem !important;
    }

    .wc-block-components-checkout-step {
        padding: 1.25rem !important;
    }

    .wp-block-woocommerce-checkout .wc-block-checkout {
        padding-block: 1.5rem !important;
    }

    .wc-block-checkout h1 {
        font-size: 1.5rem !important;
        padding-block-start: 1.5rem !important;
    }
}

/* NOTE : Les styles .alja-product-card* ont été déplacés dans
           assets/css/product-card.css (source unique de vérité).
           Ne pas rajouter de styles carte ici. */


/* ═══════════════════════════════════════
   FIX — Footer gap on cart / checkout
   ═══════════════════════════════════════ */
body.alja-checkout-page,
body.alja-cart-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body.alja-checkout-page #alja-checkout-main { flex: 1; }

.wc-block-cart { margin-bottom: 0 !important; padding-bottom: 0 !important; }

body.alja-checkout-page .alja-footer-wrap,
body.alja-cart-page .alja-footer-wrap {
    margin-top: 0 !important;
}

/* ── Cacher le bandeau WC "added to cart" — remplacé par le toast popup ── */
.wc-block-components-notice-banner,
.woocommerce-notices-wrapper .woocommerce-message,
.wc-block-store-notice {
    display: none !important;
}
