/* ============================================================
   Lechner Coach — WooCommerce overrides
   Style: dark / red / Russo One — cohérent avec la maquette.
   Targets: cart, checkout, my-account, single product, shop
   ============================================================ */

:root {
    --lc-bg:        #0a0a0b;
    --lc-bg-2:      #0f0f11;
    --lc-surface:   #141417;
    --lc-surface-2: #1b1b1f;
    --lc-line:      rgba(255,255,255,.10);
    --lc-line-2:    rgba(255,255,255,.18);
    --lc-red:       #e11d2a;
    --lc-red-2:     #ff2e3c;
    --lc-red-soft:  rgba(225,29,42,.12);
    --lc-text:      #f4f4f5;
    --lc-muted:     #a1a1aa;
    --lc-muted-2:   #71717a;
    --lc-radius:    12px;
}

/* ------- Header fixed pushes content; reserve 78px on non-front WC pages ------- */
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.single-product,
body.archive.tax-product_cat,
body.post-type-archive-product {
    padding-top: 78px !important;
}

/* ------- Page wrapper — fluid, dark ------- */
body.woocommerce-page main#content,
body.woocommerce-page .site-main,
body.woocommerce-page .page-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 56px 24px !important;
    background: transparent;
}

body.woocommerce-page .entry-title,
body.woocommerce-page .page-header h1,
body.woocommerce-page .woocommerce-products-header__title {
    font-family: 'Russo One', 'Impact', sans-serif !important;
    font-weight: 400;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.05;
    margin: 0 0 32px !important;
}

/* ============================================================
   1) PANIER (block-based cart)
   ============================================================ */
.wc-block-cart,
.wc-block-checkout {
    color: var(--lc-text);
    --wp--preset--color--vivid-red:        var(--lc-red);
    --wc-block-color-tertiary:             var(--lc-red);
}

.wc-block-cart__main,
.wc-block-checkout__main {
    background: var(--lc-surface);
    border: 1px solid var(--lc-line);
    border-radius: var(--lc-radius);
    padding: 28px 32px !important;
}

.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
    background: var(--lc-surface);
    border: 1px solid var(--lc-line);
    border-radius: var(--lc-radius);
    padding: 28px 32px !important;
}

/* Cart items table */
.wc-block-cart-items th,
.wc-block-components-product-name,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total {
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--lc-muted) !important;
    font-size: .82rem !important;
    border-bottom: 1px solid var(--lc-line) !important;
    padding-bottom: 14px !important;
}

.wc-block-cart-items tr,
.wc-block-cart-items__row {
    border-bottom: 1px solid var(--lc-line) !important;
}

.wc-block-cart-item__name,
.wc-block-components-product-name {
    color: #fff !important;
    font-family: 'Barlow', sans-serif !important;
    font-weight: 700;
    font-size: 1.05rem !important;
    text-decoration: none !important;
}

.wc-block-cart-item__name:hover { color: var(--lc-red-2) !important; }

.wc-block-components-product-price__value,
.wc-block-cart-item__price,
.wc-block-formatted-money-amount,
.price ins .amount,
.woocommerce-Price-amount {
    color: #fff !important;
    font-family: 'Barlow', sans-serif !important;
    font-weight: 700 !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
    background: var(--lc-bg-2) !important;
    border: 1px solid var(--lc-line-2) !important;
    border-radius: 8px !important;
    overflow: hidden;
}
.wc-block-components-quantity-selector__input { color: #fff !important; background: transparent !important; }
.wc-block-components-quantity-selector__button { color: var(--lc-muted) !important; }
.wc-block-components-quantity-selector__button:hover { color: var(--lc-red-2) !important; }

/* Remove item link */
.wc-block-cart-item__remove-link {
    color: var(--lc-muted-2) !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .75rem !important;
}
.wc-block-cart-item__remove-link:hover { color: var(--lc-red-2) !important; }

/* Totals block */
.wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item-tax-value {
    color: var(--lc-muted) !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .85rem !important;
}
.wc-block-components-totals-item__value {
    color: #fff !important;
    font-family: 'Russo One', sans-serif !important;
    font-size: 1.05rem !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.6rem !important;
    color: #fff !important;
}

/* Coupon / promo */
.wc-block-components-totals-coupon,
.wc-block-components-totals-coupon__form {
    background: var(--lc-bg-2);
    border: 1px solid var(--lc-line);
    border-radius: 8px;
    padding: 12px;
}
.wc-block-components-totals-coupon__button {
    background: var(--lc-red) !important;
    color: #fff !important;
    border: none !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-radius: 6px !important;
}

/* Empty cart message */
.wc-block-cart__empty-cart__title,
.cart-empty {
    color: #fff !important;
    font-family: 'Russo One', sans-serif !important;
    font-size: 1.8rem !important;
    text-transform: uppercase;
    margin-bottom: 18px !important;
}
.wc-block-cart__empty-cart__description,
.return-to-shop { color: var(--lc-muted) !important; }

/* ============================================================
   2) Boutons WooCommerce (cart, checkout, account)
   ============================================================ */
.wc-block-components-button,
.wp-element-button,
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.checkout-button {
    background: var(--lc-red) !important;
    color: #fff !important;
    border: none !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-size: .95rem !important;
    padding: 14px 28px !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px -8px rgba(225,29,42,.45) !important;
    transition: transform .25s, box-shadow .25s, background .25s !important;
    text-decoration: none !important;
}
.wc-block-components-button:hover,
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.checkout-button:hover {
    background: var(--lc-red-2) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 18px 40px -8px rgba(225,29,42,.55) !important;
}

/* Outline/ghost buttons (continue shopping, etc.) */
.wc-block-components-button.outlined,
.woocommerce a.button.alt,
.wc-block-cart__submit-container .wc-block-components-checkout-place-order-button {
    background: var(--lc-red) !important;
}

/* "Continuer mes achats" / liens secondaires */
.wc-block-cart__continue-shopping,
.return-to-shop a,
.button.wc-backward {
    background: transparent !important;
    color: var(--lc-text) !important;
    border: 1.5px solid var(--lc-line-2) !important;
    box-shadow: none !important;
}
.return-to-shop a:hover,
.button.wc-backward:hover { border-color: var(--lc-red) !important; }

/* ============================================================
   3) CHECKOUT (block-based)
   ============================================================ */
.wc-block-checkout__form {
    color: var(--lc-text);
}

.wc-block-components-checkout-step__title {
    font-family: 'Russo One', sans-serif !important;
    color: #fff !important;
    font-size: 1.3rem !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 18px !important;
}

.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background: var(--lc-bg-2) !important;
    border: 1px solid var(--lc-line-2) !important;
    color: var(--lc-text) !important;
    border-radius: 9px !important;
    padding: 13px 15px !important;
    font-family: 'Barlow', sans-serif !important;
    font-size: .98rem !important;
}
.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--lc-red) !important;
    box-shadow: 0 0 0 3px var(--lc-red-soft) !important;
    outline: none !important;
}

.wc-block-components-text-input label,
.wc-block-components-checkbox__label,
.woocommerce form .form-row label {
    color: var(--lc-muted) !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .78rem !important;
}

/* Payment methods radio cards */
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__option-layout {
    color: var(--lc-text) !important;
}

.wc-block-components-radio-control__option {
    background: var(--lc-bg-2) !important;
    border: 1px solid var(--lc-line-2) !important;
    border-radius: 9px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px;
}
.wc-block-components-radio-control__option[data-checked="true"],
.wc-block-components-radio-control__option--checked {
    border-color: var(--lc-red) !important;
    background: var(--lc-red-soft) !important;
}

/* ============================================================
   4) MY ACCOUNT
   ============================================================ */
.woocommerce-MyAccount-navigation {
    background: var(--lc-surface);
    border: 1px solid var(--lc-line);
    border-radius: var(--lc-radius);
    padding: 18px 0;
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 12px 22px;
    color: var(--lc-muted);
    font-family: 'Barlow Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .95rem;
    font-weight: 600;
    border-left: 3px solid transparent;
    transition: color .2s, background .2s, border-color .2s;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
    color: #fff;
    background: var(--lc-red-soft);
    border-left-color: var(--lc-red);
}
.woocommerce-MyAccount-content {
    background: var(--lc-surface);
    border: 1px solid var(--lc-line);
    border-radius: var(--lc-radius);
    padding: 28px 32px;
    color: var(--lc-text);
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: 'Russo One', sans-serif;
    color: #fff;
    text-transform: uppercase;
}

/* Orders table */
.woocommerce-orders-table,
.woocommerce-table--order-details {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.woocommerce-orders-table th,
.woocommerce-table th {
    background: var(--lc-bg-2) !important;
    color: var(--lc-muted) !important;
    font-family: 'Barlow Condensed', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .82rem;
    padding: 14px 18px;
    border-bottom: 1px solid var(--lc-line);
    text-align: left;
}
.woocommerce-orders-table td,
.woocommerce-table td {
    color: var(--lc-text) !important;
    padding: 14px 18px;
    border-bottom: 1px solid var(--lc-line);
}

/* ============================================================
   5) SINGLE PRODUCT
   ============================================================ */
.single-product div.product {
    color: var(--lc-text);
}
.single-product .product_title {
    font-family: 'Russo One', sans-serif !important;
    color: #fff !important;
    font-size: clamp(2rem, 4.5vw, 3.2rem) !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    line-height: 1.05;
}
.single-product .summary .price,
.single-product .price {
    color: var(--lc-red-2) !important;
    font-family: 'Russo One', sans-serif !important;
    font-size: 2.2rem !important;
    margin-bottom: 22px;
}
.single-product .woocommerce-product-details__short-description {
    color: var(--lc-muted) !important;
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 24px;
}
.single-product .woocommerce-product-details__short-description ul li {
    list-style: none;
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    color: var(--lc-text);
}
.single-product .woocommerce-product-details__short-description ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--lc-red-2);
    font-weight: 700;
}

/* Tabs reset — kill all default WC tab decorations (the ugly ::before/::after pseudo borders) */
.single-product .woocommerce-tabs ul.tabs {
    border: none !important;
    border-bottom: 1px solid var(--lc-line) !important;
    padding: 0 !important;
    margin: 40px 0 0 !important;
    display: flex;
    list-style: none;
    gap: 0;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none !important; content: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important; content: none !important;
    border: none !important; box-shadow: none !important;
}
.single-product .woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 14px 22px !important;
    color: var(--lc-muted) !important;
    font-family: 'Barlow Condensed', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color .2s, border-color .2s;
}
.single-product .woocommerce-tabs ul.tabs li a:hover { color: #fff !important; }
.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #fff !important;
    border-bottom-color: var(--lc-red) !important;
}

/* Panel content */
.single-product .woocommerce-tabs .panel,
.single-product .woocommerce-Tabs-panel {
    background: var(--lc-surface) !important;
    border: 1px solid var(--lc-line) !important;
    border-radius: var(--lc-radius) !important;
    padding: 32px 36px !important;
    margin-top: 16px !important;
    color: var(--lc-text);
    line-height: 1.7;
}

/* Hide the duplicate "Description" h2 inside the tab content (tab title is enough above) */
.single-product .woocommerce-Tabs-panel--description > h2:first-child {
    display: none !important;
}

/* Description content typography */
.single-product .woocommerce-Tabs-panel p {
    color: #d4d4d8 !important;
    margin-bottom: 16px !important;
}
.single-product .woocommerce-Tabs-panel h3 {
    font-family: 'Russo One', sans-serif !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: 1.25rem !important;
    margin: 32px 0 16px !important;
    padding-top: 24px;
    border-top: 1px solid var(--lc-line);
}

/* "Ce que tu reçois" list — checkmarks rouges ✓ */
.single-product .woocommerce-Tabs-panel ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-product .woocommerce-Tabs-panel ul li {
    position: relative;
    padding-left: 32px !important;
    margin-bottom: 12px !important;
    color: var(--lc-text) !important;
    line-height: 1.55;
}
.single-product .woocommerce-Tabs-panel ul li::before {
    content: "" !important;
    position: absolute;
    left: 0; top: 0.45em;
    width: 18px; height: 18px;
    background: var(--lc-red);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center / contain;
            mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center / contain;
}

/* Quantity in single product */
.single-product .quantity input.qty {
    background: var(--lc-bg-2) !important;
    border: 1px solid var(--lc-line-2) !important;
    color: var(--lc-text) !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
    font-family: 'Barlow', sans-serif !important;
}

/* Related / upsell products grid */
.related.products h2, .upsells.products h2 {
    font-family: 'Russo One', sans-serif !important;
    color: #fff !important;
    text-transform: uppercase;
    margin-top: 60px !important;
}

/* ============================================================
   6) SHOP / ARCHIVE
   ============================================================ */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #fff !important;
    font-family: 'Barlow', sans-serif !important;
    font-weight: 700;
    text-transform: none;
}
.woocommerce ul.products li.product .price {
    color: var(--lc-red-2) !important;
    font-family: 'Russo One', sans-serif !important;
}
.woocommerce-result-count,
.woocommerce-ordering select {
    color: var(--lc-muted) !important;
}

/* ============================================================
   7) Notices (success/info/error)
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
    background: var(--lc-surface) !important;
    border: 1px solid var(--lc-line-2) !important;
    border-left: 3px solid var(--lc-red) !important;
    color: var(--lc-text) !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    margin-bottom: 20px !important;
}
.woocommerce-message::before { color: var(--lc-red-2) !important; }
.woocommerce-message a,
.woocommerce-info a { color: var(--lc-red-2) !important; }

/* Stripe payment form dark mode */
.wc-stripe-payment-request-button-separator { color: var(--lc-muted) !important; }
.wc-block-components-payment-method-content { color: var(--lc-text); }
