:root {
    --commerce-bg: #100b14;
    --commerce-surface: #1a1220;
    --commerce-surface-2: #24172c;
    --commerce-border: rgba(255, 255, 255, .10);
    --commerce-text: #f9f5fb;
    --commerce-muted: #b9aebf;
    --commerce-gold: #f4c76b;
    --commerce-violet: #8b5cf6;
    --commerce-pink: #ec4899;
    --commerce-green: #86efac;
    --commerce-red: #fda4af;
    --commerce-shadow: 0 22px 55px rgba(0, 0, 0, .28);
}

body.commerce-theme {
    color: var(--commerce-text);
    background:
        radial-gradient(circle at 8% 4%, rgba(124, 58, 237, .15), transparent 30rem),
        radial-gradient(circle at 92% 22%, rgba(236, 72, 153, .10), transparent 34rem),
        var(--commerce-bg);
}

body.commerce-theme main {
    min-height: 62vh;
}

body.commerce-theme h1,
body.commerce-theme h2,
body.commerce-theme h3 {
    color: var(--commerce-text);
}

body.commerce-theme h1 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
}

body.commerce-theme .back-link,
body.commerce-theme .account-back-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--commerce-gold);
    font-weight: 850;
    text-decoration: none;
}

body.commerce-theme .back-link:hover,
body.commerce-theme .account-back-button:hover {
    color: #fff;
}

/* Boutique */
body.commerce-theme .shop-page {
    width: min(1380px, 100%);
    max-width: none;
    padding: 42px max(4%, 20px) 90px;
}

body.commerce-theme .shop-hero {
    isolation: isolate;
    margin-bottom: 28px;
    padding: clamp(38px, 6vw, 76px);
    background:
        radial-gradient(circle at 88% 18%, rgba(236, 72, 153, .30), transparent 28%),
        radial-gradient(circle at 72% 110%, rgba(124, 58, 237, .42), transparent 42%),
        linear-gradient(135deg, #211426, #100b14 68%);
    border: 1px solid var(--commerce-border);
    border-radius: 30px;
    box-shadow: var(--commerce-shadow);
}

body.commerce-theme .shop-hero::after {
    right: -55px;
    bottom: -105px;
    width: 270px;
    height: 270px;
    background: rgba(244, 199, 107, .9);
    box-shadow: 0 0 80px rgba(244, 199, 107, .18);
}

body.commerce-theme .shop-kicker {
    color: var(--commerce-gold);
    letter-spacing: .14em;
}

body.commerce-theme .shop-title {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 6rem);
    font-weight: 600;
    letter-spacing: -.055em;
}

body.commerce-theme .shop-intro,
body.commerce-theme .shop-count,
body.commerce-theme .subcategory-empty {
    color: var(--commerce-muted);
}

body.commerce-theme .shop-filters,
body.commerce-theme .category-browser {
    color: var(--commerce-text);
    background: rgba(26, 18, 32, .94);
    border: 1px solid var(--commerce-border);
    box-shadow: var(--commerce-shadow);
    backdrop-filter: blur(14px);
}

body.commerce-theme .shop-filters input,
body.commerce-theme .shop-filters select {
    color: var(--commerce-text);
    background: #120d17;
    border-color: rgba(255, 255, 255, .14);
}

body.commerce-theme .shop-filters input::placeholder {
    color: #827687;
}

body.commerce-theme .shop-filters button,
body.commerce-theme .product-view-button,
body.commerce-theme .category-back {
    color: #fff;
    background: linear-gradient(135deg, var(--commerce-violet), var(--commerce-pink));
    border: 0;
    box-shadow: 0 11px 25px rgba(124, 58, 237, .25);
}

body.commerce-theme .shop-filters button:hover,
body.commerce-theme .product-view-button:hover,
body.commerce-theme .category-back:hover {
    filter: brightness(1.08);
}

body.commerce-theme .shop-reset,
body.commerce-theme .category-breadcrumb a {
    color: var(--commerce-gold);
}

body.commerce-theme .category-heading {
    color: var(--commerce-text);
    font-size: 1.12rem;
}

body.commerce-theme .category-breadcrumb {
    color: #8f8294;
}

body.commerce-theme .category-chip {
    color: #e7dced;
    background: rgba(255, 255, 255, .06);
    border-color: var(--commerce-border);
}

body.commerce-theme .category-chip:hover,
body.commerce-theme .category-chip.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--commerce-violet), var(--commerce-pink));
    border-color: transparent;
}

body.commerce-theme .category-visual-card {
    background: linear-gradient(145deg, #24152d, #5b21b6);
    border-color: rgba(255, 255, 255, .08);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .32);
}

body.commerce-theme .category-visual-card:hover,
body.commerce-theme .category-visual-card.is-active {
    border-color: var(--commerce-gold);
    box-shadow: 0 19px 42px rgba(0, 0, 0, .46);
}

body.commerce-theme .product-grid {
    gap: 18px;
}

body.commerce-theme .product-card {
    color: var(--commerce-text);
    background: var(--commerce-surface);
    border: 1px solid var(--commerce-border);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .24);
}

body.commerce-theme .product-card:hover {
    border-color: rgba(244, 199, 107, .36);
    box-shadow: 0 25px 52px rgba(0, 0, 0, .4);
}

body.commerce-theme .product-card-image {
    background: linear-gradient(145deg, #fff, #eee7f1);
}

body.commerce-theme .product-card-content,
body.commerce-theme .product-name,
body.commerce-theme .product-name a {
    color: var(--commerce-text);
}

body.commerce-theme .product-name a:hover {
    color: var(--commerce-gold);
}

body.commerce-theme .product-category {
    color: #f59ac2;
}

body.commerce-theme .product-description {
    color: var(--commerce-muted);
}

body.commerce-theme .product-price {
    color: var(--commerce-gold);
}

body.commerce-theme .stock--ok {
    color: var(--commerce-green);
}

body.commerce-theme .empty-catalogue,
body.commerce-theme .pagination a {
    color: var(--commerce-text);
    background: var(--commerce-surface);
    border: 1px solid var(--commerce-border);
}

body.commerce-theme .pagination a:hover,
body.commerce-theme .pagination .current {
    color: #fff;
    background: linear-gradient(135deg, var(--commerce-violet), var(--commerce-pink));
    border-color: transparent;
}

/* Panier */
body.commerce-theme .cart-page {
    width: min(1180px, 100%);
    max-width: none;
    padding: 55px 20px 90px;
}

body.commerce-theme .cart-title {
    color: var(--commerce-text);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 5.4rem);
    font-weight: 600;
}

body.commerce-theme .cart-message {
    color: #baf7d6;
    background: rgba(22, 129, 95, .18);
    border: 1px solid rgba(134, 239, 172, .24);
}

body.commerce-theme .cart-list,
body.commerce-theme .cart-summary,
body.commerce-theme .empty-cart {
    color: var(--commerce-text);
    background: rgba(26, 18, 32, .96);
    border: 1px solid var(--commerce-border);
    box-shadow: var(--commerce-shadow);
}

body.commerce-theme .cart-summary {
    position: sticky;
    top: 105px;
}

body.commerce-theme .cart-item {
    border-color: var(--commerce-border);
}

body.commerce-theme .cart-item-image {
    background: linear-gradient(145deg, #fff, #eee7f1);
}

body.commerce-theme .cart-item-name,
body.commerce-theme .cart-item-name a,
body.commerce-theme .cart-summary h2,
body.commerce-theme .cart-total {
    color: var(--commerce-text);
}

body.commerce-theme .cart-item-name a:hover {
    color: var(--commerce-gold);
}

body.commerce-theme .cart-item-variant {
    color: var(--commerce-muted);
}

body.commerce-theme .cart-item-price {
    color: var(--commerce-gold);
}

body.commerce-theme .cart-actions input {
    color: var(--commerce-text);
    background: #120d17;
    border-color: rgba(255, 255, 255, .16);
}

body.commerce-theme .remove-button {
    color: var(--commerce-red);
}

body.commerce-theme .cart-total {
    border-color: var(--commerce-border);
}

body.commerce-theme .cart-button--update {
    color: #efe7f4;
    background: rgba(255, 255, 255, .08);
    border: 1px solid var(--commerce-border);
}

body.commerce-theme .cart-button--checkout {
    color: #fff;
    background: linear-gradient(135deg, var(--commerce-violet), var(--commerce-pink));
    box-shadow: 0 12px 30px rgba(124, 58, 237, .3);
}

/* Espace client : bases communes */
body.commerce-theme main.account-page,
body.commerce-theme .profile-page,
body.commerce-theme .address-page {
    color: var(--commerce-text);
}

body.commerce-theme main.account-page {
    width: min(1180px, 100%);
    max-width: none;
    padding: 50px 20px 90px;
}

body.commerce-theme .account-title,
body.commerce-theme .profile-card h1,
body.commerce-theme .address-page h1 {
    color: var(--commerce-text);
    font-family: Georgia, "Times New Roman", serif;
}

body.commerce-theme .account-title {
    font-size: clamp(2.8rem, 6vw, 4.8rem);
    font-weight: 600;
}

body.commerce-theme .account-intro,
body.commerce-theme .intro,
body.commerce-theme .empty,
body.commerce-theme .help,
body.commerce-theme .profile-card > p {
    color: var(--commerce-muted);
}

body.commerce-theme .account-card,
body.commerce-theme .orders-card,
body.commerce-theme .profile-card,
body.commerce-theme .address-card-wrap,
body.commerce-theme .order-card,
body.commerce-theme .empty-state {
    color: var(--commerce-text);
    background: rgba(26, 18, 32, .96);
    border: 1px solid var(--commerce-border);
    box-shadow: var(--commerce-shadow);
}

body.commerce-theme .account-card h2,
body.commerce-theme .orders-card h2,
body.commerce-theme .address-card-wrap h2,
body.commerce-theme .order-card h2,
body.commerce-theme .empty-state h2 {
    color: var(--commerce-text);
}

body.commerce-theme .account-card p,
body.commerce-theme .order-card p,
body.commerce-theme .empty-state p {
    color: var(--commerce-muted);
}

body.commerce-theme .account-label {
    color: #9f91a5;
}

body.commerce-theme .account-button,
body.commerce-theme .button-light,
body.commerce-theme .button-secondary,
body.commerce-theme .profile-cancel {
    color: #eadff1;
    background: rgba(255, 255, 255, .07);
    border: 1px solid var(--commerce-border);
}

body.commerce-theme .account-button:hover,
body.commerce-theme .button-light:hover,
body.commerce-theme .button-secondary:hover {
    color: #fff;
    background: rgba(139, 92, 246, .22);
    border-color: rgba(139, 92, 246, .5);
}

body.commerce-theme .account-button--logout {
    color: #fecdd3;
    background: rgba(190, 24, 93, .13);
    border-color: rgba(251, 113, 133, .22);
}

body.commerce-theme .orders-card-header {
    background: linear-gradient(135deg, rgba(255,255,255,.04), rgba(124,58,237,.08));
    border-color: var(--commerce-border);
}

body.commerce-theme .all-orders-button,
body.commerce-theme .button,
body.commerce-theme .profile-save,
body.commerce-theme .submit-button,
body.commerce-theme .button-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--commerce-violet), var(--commerce-pink));
    border: 0;
    box-shadow: 0 11px 27px rgba(124, 58, 237, .28);
}

body.commerce-theme .orders-table th {
    color: #a99ead;
    background: #120d17;
}

body.commerce-theme .orders-table th,
body.commerce-theme .orders-table td {
    border-color: var(--commerce-border);
}

body.commerce-theme .orders-table tbody tr:hover {
    background: rgba(255, 255, 255, .035);
}

body.commerce-theme .order-number a,
body.commerce-theme .order-total {
    color: var(--commerce-gold);
}

body.commerce-theme .badge,
body.commerce-theme .order-status {
    border: 1px solid rgba(255, 255, 255, .08);
}

body.commerce-theme .address-card {
    color: var(--commerce-text);
    background: rgba(255, 255, 255, .035);
    border-color: var(--commerce-border);
}

body.commerce-theme .address-card--default {
    background: rgba(124, 58, 237, .10);
    border-color: var(--commerce-violet);
}

body.commerce-theme .address-content,
body.commerce-theme .address-phone {
    color: var(--commerce-muted);
}

body.commerce-theme .default-badge {
    color: #baf7d6;
    background: rgba(22, 129, 95, .20);
}

body.commerce-theme .button-danger {
    color: #fecdd3;
    background: rgba(190, 24, 93, .15);
    border: 1px solid rgba(251, 113, 133, .22);
}

body.commerce-theme .profile-page {
    min-height: 70vh;
    padding: 50px 20px 90px;
    background: transparent;
}

body.commerce-theme .profile-field label,
body.commerce-theme .address-page label,
body.commerce-theme .field label,
body.commerce-theme .danger-form label {
    color: #eee6f2;
}

body.commerce-theme .profile-field small,
body.commerce-theme .profile-field input,
body.commerce-theme .field input,
body.commerce-theme .address-page input,
body.commerce-theme .address-page select,
body.commerce-theme .danger-form input {
    color: var(--commerce-text);
}

body.commerce-theme .profile-field input,
body.commerce-theme .field input,
body.commerce-theme .address-page input,
body.commerce-theme .address-page select,
body.commerce-theme .danger-form input {
    background: #120d17;
    border-color: rgba(255, 255, 255, .15);
}

body.commerce-theme .profile-field input:focus,
body.commerce-theme .field input:focus,
body.commerce-theme .address-page input:focus,
body.commerce-theme .address-page select:focus,
body.commerce-theme .danger-form input:focus {
    outline: 0;
    border-color: var(--commerce-violet);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .18);
}

body.commerce-theme .profile-alert--success,
body.commerce-theme .notice-success,
body.commerce-theme .cart-message {
    color: #bbf7d0;
    background: rgba(22, 129, 95, .17);
}

body.commerce-theme .profile-alert--error,
body.commerce-theme .notice-error,
body.commerce-theme .form-error,
body.commerce-theme .error,
body.commerce-theme .danger-error {
    color: #fecdd3;
    background: rgba(190, 24, 93, .17);
    border: 1px solid rgba(251, 113, 133, .2);
}

/* Connexion et inscription */
body.commerce-theme .account-page > .account-card {
    width: min(100%, 570px);
    margin: 0 auto;
    padding: clamp(25px, 5vw, 42px);
    border-radius: 26px;
}

body.commerce-theme .account-page > .account-card .account-title {
    font-size: clamp(2.6rem, 8vw, 4.2rem);
}

body.commerce-theme .account-link {
    color: var(--commerce-muted);
}

body.commerce-theme .account-link a {
    color: var(--commerce-gold);
}

/* Commandes */
body.commerce-theme .account-container {
    width: min(100%, 1050px);
    margin: 0 auto;
}

body.commerce-theme .account-container > h1 {
    margin-bottom: 8px;
    font-size: clamp(2.8rem, 6vw, 4.8rem);
}

body.commerce-theme .account-container > p {
    color: var(--commerce-muted);
}

body.commerce-theme .orders-list {
    display: grid;
    gap: 15px;
    margin-top: 28px;
}

body.commerce-theme .order-card {
    border-radius: 20px;
}

/* Adresses */
body.commerce-theme .account-back-wrap {
    max-width: 1120px;
    margin-top: 28px;
}

body.commerce-theme .address-page {
    padding-top: 24px;
}

body.commerce-theme .address-page h1 {
    font-size: clamp(2.8rem, 6vw, 4.8rem);
    font-weight: 600;
}

/* Zone de suppression */
body.commerce-theme .danger-zone {
    color: var(--commerce-text);
    background: rgba(69, 10, 25, .28);
    border-color: rgba(251, 113, 133, .25);
}

body.commerce-theme .danger-zone h2 {
    color: #fecdd3;
}

body.commerce-theme .danger-zone p {
    color: #d5b7c0;
}

body.commerce-theme .delete-button {
    background: linear-gradient(135deg, #be123c, #881337);
    box-shadow: 0 10px 25px rgba(190, 18, 60, .22);
}

@media (max-width: 820px) {
    body.commerce-theme .shop-page,
    body.commerce-theme .cart-page,
    body.commerce-theme main.account-page,
    body.commerce-theme .profile-page,
    body.commerce-theme .address-page {
        padding-right: 14px;
        padding-left: 14px;
    }

    body.commerce-theme .cart-summary {
        position: static;
    }

    body.commerce-theme .orders-table tr {
        color: var(--commerce-text);
        background: var(--commerce-surface);
        border: 1px solid var(--commerce-border);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
    }

    body.commerce-theme .orders-table td::before {
        color: #a99ead;
    }
}

@media (max-width: 700px) {
    body.commerce-theme .shop-hero {
        padding: 34px 23px 72px;
        border-radius: 22px;
    }

    body.commerce-theme .shop-filter-toggle {
        color: #fff;
        background: rgba(255, 255, 255, .07);
        border-color: var(--commerce-border);
    }

    body.commerce-theme .category-visual-card {
        flex-basis: 155px;
        width: 155px;
    }
}

@media (max-width: 580px) {
    body.commerce-theme .cart-title,
    body.commerce-theme .account-title,
    body.commerce-theme .profile-card h1,
    body.commerce-theme .address-page h1,
    body.commerce-theme .account-container > h1 {
        font-size: clamp(2.45rem, 13vw, 3.5rem);
    }

    body.commerce-theme .cart-list,
    body.commerce-theme .cart-summary,
    body.commerce-theme .empty-cart,
    body.commerce-theme .account-card,
    body.commerce-theme .orders-card,
    body.commerce-theme .profile-card,
    body.commerce-theme .address-card-wrap,
    body.commerce-theme .order-card {
        border-radius: 17px;
    }

    body.commerce-theme .address-card-wrap,
    body.commerce-theme .profile-card,
    body.commerce-theme .account-card {
        padding: 20px;
    }
}
/* À ajouter tout en bas de /assets/css/commerce.css */

:root {
    --commerce-violet: #5d0a7a;
    --commerce-pink: #410666;
}

/* Ombres accordées au nouveau dégradé violet foncé */
body.commerce-theme .shop-filters button,
body.commerce-theme .product-view-button,
body.commerce-theme .category-back,
body.commerce-theme .cart-button--checkout,
body.commerce-theme .all-orders-button,
body.commerce-theme .button,
body.commerce-theme .profile-save,
body.commerce-theme .submit-button,
body.commerce-theme .button-primary {
    box-shadow: 0 11px 27px rgba(65, 6, 102, .38);
}

body.commerce-theme .account-button:hover,
body.commerce-theme .button-light:hover,
body.commerce-theme .button-secondary:hover {
    background: rgba(65, 6, 102, .32);
    border-color: rgba(93, 10, 122, .70);
}

body.commerce-theme .profile-field input:focus,
body.commerce-theme .field input:focus,
body.commerce-theme .address-page input:focus,
body.commerce-theme .address-page select:focus,
body.commerce-theme .danger-form input:focus {
    box-shadow: 0 0 0 3px rgba(65, 6, 102, .26);
}