/**
 * Greenway — Styles de la page Panier
 * Thème : Electro Child
 * Chargé via : functions.php (handle: woocommerce-panier-css)
 */

:root {
    --gw-green:        #16a34a;
    --gw-green-dark:   #15803d;
    --gw-green-light:  #ecfdf3;
    --gw-dark:         #111827;
    --gw-text:         #374151;
    --gw-muted:        #6b7280;
    --gw-border:       #e8ecef;
    --gw-bg:           #f6f8f7;
    --gw-white:        #ffffff;
    --gw-radius:       16px;
    --gw-radius-sm:    10px;
    --gw-shadow:       0 4px 24px rgba(17, 24, 39, .06);
    --gw-transition:   all .25s ease;
}

/* ---------- Conteneur général ---------- */
.woocommerce-cart .woocommerce,
.wp-block-woocommerce-cart {
    font-family: 'Poppins', sans-serif;
    color: var(--gw-text);
    padding-top: 10px;
}

/* Titre de page */
.woocommerce-cart .entry-title,
.wp-block-woocommerce-cart h2.wc-block-cart__page-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--gw-dark);
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: .6rem;
}

/* =====================================================================
   1) PANIER CLASSIQUE (shortcode / tableau)
   ===================================================================== */

/* Tableau principal */
.woocommerce-cart table.shop_table {
    background: var(--gw-white);
    border: none;
    border-radius: var(--gw-radius);
    box-shadow: var(--gw-shadow);
    padding: .5rem;
    overflow: hidden;
}

.woocommerce-cart table.shop_table thead th {
    background: var(--gw-green-light);
    color: var(--gw-green-dark);
    font-weight: 600;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .05em;
    padding: 1rem;
    border: none;
}
.woocommerce-cart table.shop_table thead th:first-child { border-radius: var(--gw-radius-sm) 0 0 var(--gw-radius-sm); }
.woocommerce-cart table.shop_table thead th:last-child  { border-radius: 0 var(--gw-radius-sm) var(--gw-radius-sm) 0; }

/* Lignes produits */
.woocommerce-cart table.shop_table tbody td {
    border: none;
    border-bottom: 1px solid var(--gw-border);
    padding: 1.25rem 1rem;
    vertical-align: middle;
}
.woocommerce-cart table.shop_table tbody tr:last-child td { border-bottom: none; }
.woocommerce-cart table.shop_table tbody tr { transition: var(--gw-transition); }
.woocommerce-cart table.shop_table tbody tr:hover { background: #fafcfa; }

/* Nom du produit */
.woocommerce-cart .product-name a {
    color: var(--gw-dark);
    font-weight: 600;
    text-decoration: none;
    transition: var(--gw-transition);
}
.woocommerce-cart .product-name a:hover { color: var(--gw-green); }

/* Miniature */
.woocommerce-cart .product-thumbnail img {
    border-radius: var(--gw-radius-sm);
    width: 80px;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Quantité */
.woocommerce-cart .quantity input[type="number"] {
    border: 1.5px solid var(--gw-border);
    border-radius: 50px;
    padding: .5rem .9rem;
    font-weight: 600;
    text-align: center;
    transition: var(--gw-transition);
}
.woocommerce-cart .quantity input[type="number"]:focus {
    outline: none;
    border-color: var(--gw-green);
    box-shadow: 0 0 0 3px rgba(22,163,74,.12);
}

/* Prix / sous-total */
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
    font-weight: 600;
    color: var(--gw-dark);
}

/* Supprimer */
.woocommerce-cart .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px; height: 34px;
    border-radius: 50%;
    background: #fef2f2;
    color: #dc2626 !important;
    font-weight: 700;
    transition: var(--gw-transition);
}
.woocommerce-cart .product-remove a:hover {
    background: #dc2626;
    color: #fff !important;
    transform: rotate(90deg);
}

/* ---------- Zone actions : coupon + boutons ---------- */
.woocommerce-cart .actions {
    padding: 1.25rem 1rem !important;
}
.woocommerce-cart .coupon .input-text {
    border: 1.5px solid var(--gw-border) !important;
    border-radius: 50px;
    padding: .7rem 1.2rem !important;
    width: 200px;
    transition: var(--gw-transition);
}
.woocommerce-cart .coupon .input-text:focus {
    border-color: var(--gw-green) !important;
    box-shadow: 0 0 0 3px rgba(22,163,74,.12);
    outline: none;
}

.woocommerce-cart .button,
.woocommerce-cart button[type="submit"],
.woocommerce a.button,
.woocommerce button.button {
    background: var(--gw-white);
    color: var(--gw-dark);
    border: 1.5px solid var(--gw-border);
    border-radius: 50px;
    font-weight: 600;
    padding: .7rem 1.5rem !important;
    transition: var(--gw-transition);
    cursor: pointer;
}
.woocommerce-cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background: var(--gw-dark);
    border-color: var(--gw-dark);
    color: #fff;
}

/* Bouton "Mettre à jour le panier" */
.woocommerce-cart input[name="update_cart"] {
    background: var(--gw-white);
    color: var(--gw-green-dark);
    border: 1.5px solid var(--gw-green);
}
.woocommerce-cart input[name="update_cart"]:hover {
    background: var(--gw-green);
    color: #fff;
}

/* =====================================================================
   2) TOTAUX DU PANIER (cart-collaterals)
   ===================================================================== */

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    float: none;
}
.woocommerce-cart .cart_totals > h2 {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--gw-dark);
    margin-bottom: 1rem;
}
.woocommerce-cart .cart_totals .shop_table {
    background: var(--gw-white);
    border: none;
    border-radius: var(--gw-radius);
    box-shadow: var(--gw-shadow);
    padding: 1rem 1.25rem;
}
.woocommerce-cart .cart_totals table tr { border: none; }
.woocommerce-cart .cart_totals th {
    border: none;
    font-weight: 500;
    color: var(--gw-muted);
    padding: .9rem .5rem;
}
.woocommerce-cart .cart_totals td {
    border: none;
    font-weight: 600;
    color: var(--gw-dark);
    text-align: right;
    padding: .9rem .5rem;
}
.woocommerce-cart .cart_totals .order-total .amount {
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--gw-green-dark);
}

/* Bouton "Valider la commande" */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    background: linear-gradient(135deg, var(--gw-green), var(--gw-green-dark)) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    padding: 1.1rem !important;
    border-radius: 50px;
    box-shadow: 0 6px 20px rgba(22,163,74,.35);
    transition: var(--gw-transition);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(22,163,74,.45);
}

/* =====================================================================
   3) PANIER EN BLOCS WOOCOMMERCE (version React — votre cas)
   ===================================================================== */

.wp-block-woocommerce-cart .wc-block-cart,
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
    font-family: 'Poppins', sans-serif;
}

/* Colonne principale + sidebar totals */
.wp-block-woocommerce-cart .wc-block-cart__main,
.wp-block-woocommerce-cart .wc-block-cart__sidebar { gap: 2rem; }

.wp-block-woocommerce-cart .wc-block-components-totals-container,
.wp-block-woocommerce-cart .wc-block-cart__sidebar > div {
    background: var(--gw-white);
    border-radius: var(--gw-radius);
    box-shadow: var(--gw-shadow);
    padding: 1.5rem;
}

/* Tableau des articles */
.wp-block-woocommerce-cart .wc-block-cart-items {
    background: var(--gw-white);
    border-radius: var(--gw-radius);
    box-shadow: var(--gw-shadow);
    overflow: hidden;
    border: none;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header {
    background: var(--gw-green-light);
    border-bottom: none;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header th {
    color: var(--gw-green-dark);
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 1rem;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row {
    border-bottom: 1px solid var(--gw-border);
    padding: 1.25rem 1rem;
    transition: var(--gw-transition);
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:hover { background: #fafcfa; }
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child { border-bottom: none; }

/* Image produit */
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
    border-radius: var(--gw-radius-sm);
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

/* Nom produit */
.wp-block-woocommerce-cart .wc-block-components-product-name {
    color: var(--gw-dark);
    font-weight: 600;
    font-size: 1rem;
}
.wp-block-woocommerce-cart .wc-block-components-product-price {
    color: var(--gw-green-dark);
    font-weight: 600;
}

/* Champ quantité */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    border-radius: 50px;
    border: 1.5px solid var(--gw-border);
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector::after { display: none; }

/* Lien "Supprimer" */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
    color: #dc2626;
    font-weight: 500;
    text-decoration: none;
    transition: var(--gw-transition);
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #b91c1c;
    text-decoration: underline;
}

/* Champs texte (coupon) */
.wp-block-woocommerce-cart .wc-block-components-text-input input {
    border-radius: var(--gw-radius-sm);
    border: 1.5px solid var(--gw-border);
    padding: .9rem 1rem;
}
.wp-block-woocommerce-cart .wc-block-components-text-input input:focus {
    border-color: var(--gw-green);
    box-shadow: 0 0 0 3px rgba(22,163,74,.12);
}

/* Totaux */
.wp-block-woocommerce-cart .wc-block-components-totals-item__label {
    color: var(--gw-muted);
    font-weight: 500;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__value {
    color: var(--gw-dark);
    font-weight: 600;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--gw-green-dark);
    font-size: 1.4rem;
    font-weight: 700;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item {
    border-top: 2px dashed var(--gw-border);
    padding-top: 1rem;
}

/* Bouton "Commander" (blocs) */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button.wc-block-components-button {
    background: linear-gradient(135deg, var(--gw-green), var(--gw-green-dark)) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    padding: 1.05rem !important;
    font-size: 1rem !important;
    box-shadow: 0 6px 20px rgba(22,163,74,.35);
    transition: var(--gw-transition);
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(22,163,74,.45) !important;
}

/* Lien "Retour à la boutique" */
.wp-block-woocommerce-cart .wc-block-cart__return-to-shop a,
.wp-block-woocommerce-cart .wc-block-components-button.outlined {
    background: var(--gw-white) !important;
    color: var(--gw-dark) !important;
    border: 1.5px solid var(--gw-border) !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    padding: .85rem 1.6rem !important;
    transition: var(--gw-transition);
}
.wp-block-woocommerce-cart .wc-block-cart__return-to-shop a:hover {
    background: var(--gw-dark) !important;
    border-color: var(--gw-dark) !important;
    color: #fff !important;
}

/* =====================================================================
   4) MESSAGES / NOTICES
   ===================================================================== */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
    border-radius: var(--gw-radius-sm);
    border: none;
    border-left: 4px solid;
    box-shadow: var(--gw-shadow);
    padding: 1rem 1.25rem;
    font-family: 'Poppins', sans-serif;
}
.woocommerce-message,
.wc-block-components-notice-banner.is-success {
    background: var(--gw-green-light);
    border-color: var(--gw-green);
    color: var(--gw-green-dark);
}
.woocommerce-info,
.wc-block-components-notice-banner.is-info {
    background: #eff6ff;
    border-color: #3b82f6;
    color: #1d4ed8;
}
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
    background: #fef2f2;
    border-color: #dc2626;
    color: #b91c1c;
}

/* Panier vide */
.wc-block-cart__empty-cart__title,
.woocommerce-cart .cart-empty {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gw-dark);
    padding: 3rem 1rem;
}

/* =====================================================================
   5) RESPONSIVE
   ===================================================================== */

@media (max-width: 768px) {
    .woocommerce-cart .product-thumbnail { display: none; }
    .woocommerce-cart table.shop_table thead { display: none; }
    .woocommerce-cart table.shop_table tbody tr {
        display: block;
        position: relative;
        padding: 1.25rem;
    }
    .woocommerce-cart table.shop_table td {
        display: block;
        text-align: right !important;
        border: none;
        padding: .35rem .5rem;
    }
    .woocommerce-cart table.shop_table td::before {
        content: attr(data-title) " : ";
        float: left;
        font-weight: 500;
        color: var(--gw-muted);
    }
    .woocommerce-cart .coupon .input-text { width: 100%; margin-bottom: .75rem; }
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .wc-block-cart__sidebar { margin-top: 1.5rem; }
}


/* =====================================================================
   PANIER VIDE + PRODUITS "NOUVEAU DANS LA BOUTIQUE"
   💡 À placer dans assets/css/woocommerce/panier.css (ou boutique.css)
   Fallbacks var() : fonctionne même sans boutique.css chargé.
   ===================================================================== */

/* ------------------------------------------------------------
   1. MESSAGE "PANIER VIDE" — carte centrée
   ------------------------------------------------------------ */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    max-width: 640px;
    margin: 0 auto 1.5rem;
    padding: 3rem 2rem;

    background: var(--gw-white, #fff);
    border: 1px solid #e8f0e9;
    border-radius: 16px;
    box-shadow: var(--gw-shadow, 0 4px 16px rgba(0, 0, 0, .06));

    font-family: 'Poppins', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gw-dark, #2d3a2b);
    line-height: 1.4;
}

/* Icône panier fournie par Electro : on la passe en vert, plus grande */
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
    color: var(--gw-green, #5b8c51);
    font-size: 3.2rem;
    display: block;
    margin-bottom: .75rem;
    line-height: 1;
}

/* Séparateur pointillé : subtil et centré */
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator {
    border: none;
    margin: 2rem auto;
    max-width: 220px;
}
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator::before {
    color: #c9d8c6;   /* points gris-vert discrets */
}

/* ------------------------------------------------------------
   2. TITRE "NOUVEAU DANS LA BOUTIQUE" — même signature que le H1
   ------------------------------------------------------------ */
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.with-empty-cart-icon) {
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gw-dark, #2d3a2b);
    padding-bottom: .75rem;
    border-bottom: 2px solid var(--gw-green-light, #eaf3e8);
    position: relative;
    display: inline-block;
    margin-bottom: 2rem;
}

/* Accent vert dégradé (aligné avec vos H1) */
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.with-empty-cart-icon)::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 64px;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, #5b8c51, #7ab668);
}

/* ------------------------------------------------------------
   3. GRILLE PRODUITS — cartes façon boutique
   ------------------------------------------------------------ */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    margin: 0;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    position: relative;
    border: 1px solid #e8f0e9;
    border-radius: 16px;
    background: var(--gw-white, #fff);
    box-shadow: var(--gw-shadow, 0 4px 16px rgba(0, 0, 0, .06));
    overflow: hidden;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 34px rgba(91, 140, 81, .18);
    border-color: #5b8c51;
    z-index: 5;
}

/* Image */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    transition: transform .5s ease;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-image img {
    transform: scale(1.04);
}

/* Titre produit */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--gw-dark, #2d3a2b);
    padding: 0 .75rem;
    transition: color .3s ease;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover .wc-block-grid__product-title {
    color: var(--gw-green, #5b8c51);
}

/* Prix : vert, bien visible */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
    color: var(--gw-green-dark, #47703f);
    font-weight: 700;
    font-size: 1.05rem;
    padding: 0 .75rem;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price .woocommerce-Price-currencySymbol {
    font-size: .8em;
}

/* ------------------------------------------------------------
   4. BOUTON "AJOUTER AU PANIER" — pill verte
   ------------------------------------------------------------ */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
    background: linear-gradient(135deg, #5b8c51, #47703f) !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: .7rem 1.6rem !important;
    font-weight: 600 !important;
    font-size: .9rem !important;
    box-shadow: 0 4px 12px rgba(91, 140, 81, .3);
    transition: all .3s ease !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(91, 140, 81, .45) !important;
}

/* ------------------------------------------------------------
   5. RESPONSIVE
   ------------------------------------------------------------ */
@media (max-width: 768px) {
    .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
        padding: 2rem 1.25rem;
        font-size: 1.15rem;
    }
}