/**
 * Velas — WooCommerce Block Cart Styles
 * Matches panier.html design exactly
 */

/* ── PAGE WRAPPER ─────────────────────────────────────────────────────────── */
.woocommerce-cart .site-main,
.woocommerce-cart #content {
    background: #FAF8F5;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* ── HERO BANNER ──────────────────────────────────────────────────────────── */
.woocommerce-cart .site-main::before {
    content: '';
    display: block;
    width: 100%;
    background: linear-gradient(to right, #F4F0EA 40%, transparent 100%), #F4F0EA;
    border-bottom: 1px solid #EBE5DB;
    padding: 5rem 6rem;
    box-sizing: border-box;
}

/* Hero via injected element — we'll inject it via JS below */
.velas-cart-hero {
    width: 100%;
    background: #F4F0EA;
    border-bottom: 1px solid #EBE5DB;
    padding: 4rem 1.5rem;
    box-sizing: border-box;
}
@media (min-width: 768px) {
    .velas-cart-hero { padding: 5rem 3rem; }
}
@media (min-width: 1024px) {
    .velas-cart-hero { padding: 6rem 6rem; }
}
.velas-cart-hero h1 {
    font-family: 'Libre Baskerville', serif;
    font-size: 2.5rem;
    color: #2B2621;
    font-weight: 400;
    margin: 0 0 0.75rem 0;
}
@media (min-width: 768px) { .velas-cart-hero h1 { font-size: 3rem; } }
@media (min-width: 1024px) { .velas-cart-hero h1 { font-size: 3.75rem; } }
.velas-cart-hero p {
    color: #2B2621;
    font-size: 0.9375rem;
    font-weight: 300;
    margin: 0 0 1.5rem 0;
}
.velas-cart-hero nav {
    font-size: 0.625rem;
    color: #716A60;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 300;
}
.velas-cart-hero nav a { color: #716A60; text-decoration: none; }
.velas-cart-hero nav a:hover { color: #B99B6B; }

/* ── BLOCK CART LAYOUT ────────────────────────────────────────────────────── */
.wp-block-woocommerce-cart {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 3rem 1.5rem !important;
    background: #FAF8F5 !important;
}
@media (min-width: 768px) {
    .wp-block-woocommerce-cart { padding: 3rem !important; }
}
@media (min-width: 1024px) {
    .wp-block-woocommerce-cart { padding: 4rem 6rem !important; }
}

/* Sidebar layout — 2 col on desktop */
.wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
    align-items: start !important;
}
@media (min-width: 1024px) {
    .wc-block-components-sidebar-layout {
        grid-template-columns: 1fr 380px !important;
        gap: 4rem !important;
    }
}

/* ── CART ITEMS TABLE ─────────────────────────────────────────────────────── */
.wc-block-cart__main {
    background: #fff !important;
    border: 1px solid #EBE5DB !important;
    border-radius: 2px !important;
    padding: 1.5rem !important;
}
@media (min-width: 768px) {
    .wc-block-cart__main { padding: 2rem !important; }
}

/* Table */
.wc-block-cart-items {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
}

/* Table header */
.wc-block-cart-items__header {
    border-bottom: 1px solid #EBE5DB !important;
}
.wc-block-cart-items__header th {
    font-size: 0.6875rem !important;
    font-weight: 600 !important;
    color: #2B2621 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    padding: 0 0 1rem 0 !important;
    background: transparent !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
}
.wc-block-cart-items__header-image { width: 120px !important; }
.wc-block-cart-items__header-total { text-align: right !important; }

/* Table rows */
.wc-block-cart-items__row {
    border-bottom: 1px solid #EBE5DB !important;
}
.wc-block-cart-items__row td {
    padding: 1.5rem 0 !important;
    vertical-align: middle !important;
    border: none !important;
    background: transparent !important;
}

/* Product image */
.wc-block-cart-item__image {
    width: 110px !important;
    padding-right: 1rem !important;
}
.wc-block-cart-item__image a {
    display: block !important;
    width: 100px !important;
    height: 100px !important;
    border-radius: 2px !important;
    overflow: hidden !important;
    background: #F4F0EA !important;
}
.wc-block-cart-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Product name */
.wc-block-components-product-name {
    font-family: 'Libre Baskerville', serif !important;
    font-size: 1.125rem !important;
    color: #2B2621 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 0.25rem !important;
}
.wc-block-components-product-name:hover { color: #B99B6B !important; }

/* Product price in item */
.wc-block-cart-item__prices {
    margin-bottom: 0.25rem !important;
}
.wc-block-cart-item__prices .price,
.wc-block-cart-item__prices .wc-block-components-product-price {
    font-size: 0.8125rem !important;
    color: #716A60 !important;
    font-weight: 400 !important;
}

/* Product metadata (description) */
.wc-block-components-product-metadata {
    margin-bottom: 0 !important;
}
.wc-block-components-product-metadata__description p {
    font-size: 0.75rem !important;
    color: #716A60 !important;
    font-weight: 300 !important;
    margin: 0 !important;
}

/* Quantity selector */
.wc-block-cart-item__quantity {
    margin-top: 0.75rem !important;
}
.wc-block-components-quantity-selector {
    display: flex !important;
    align-items: center !important;
    border: 1px solid #EBE5DB !important;
    border-radius: 2px !important;
    height: 36px !important;
    width: 100px !important;
    overflow: hidden !important;
    background: #fff !important;
}
.wc-block-components-quantity-selector__input {
    width: 36px !important;
    text-align: center !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: #2B2621 !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    -moz-appearance: textfield !important;
    order: 2 !important;
}
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
}
.wc-block-components-quantity-selector__button {
    width: 32px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: #716A60 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
    padding: 0 !important;
}
.wc-block-components-quantity-selector__button:hover:not(:disabled) {
    color: #2B2621 !important;
}
.wc-block-components-quantity-selector__button:disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}
.wc-block-components-quantity-selector__button--minus { order: 1 !important; }
.wc-block-components-quantity-selector__button--plus { order: 3 !important; }

/* Remove button */
.wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    font-size: 0.6875rem !important;
    color: #716A60 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin-top: 0.5rem !important;
    transition: color 0.2s !important;
    font-family: 'Inter', sans-serif !important;
}
.wc-block-cart-item__remove-link:hover { color: #dc2626 !important; }
.wc-block-cart-item__remove-link svg { display: none !important; }
.wc-block-cart-item__remove-link::before {
    content: 'Supprimer' !important;
    font-size: 0.6875rem !important;
}

/* Item total */
.wc-block-cart-item__total {
    text-align: right !important;
    white-space: nowrap !important;
}
.wc-block-cart-item__total .price,
.wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    color: #2B2621 !important;
}

/* ── ORDER SUMMARY SIDEBAR ────────────────────────────────────────────────── */
.wc-block-cart__sidebar {
    position: sticky !important;
    top: 6rem !important;
}

.wp-block-woocommerce-cart-order-summary-block {
    background: #fff !important;
    border: 1px solid #EBE5DB !important;
    border-radius: 2px !important;
    padding: 1.5rem !important;
}
@media (min-width: 768px) {
    .wp-block-woocommerce-cart-order-summary-block { padding: 2rem !important; }
}

/* Summary title */
.wc-block-cart__totals-title {
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    color: #2B2621 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    margin: 0 0 2rem 0 !important;
    font-family: 'Inter', sans-serif !important;
    border: none !important;
    padding: 0 !important;
}

/* Totals items */
.wc-block-components-totals-wrapper {
    border-top: 1px solid #EBE5DB !important;
    padding-top: 1.25rem !important;
    margin-top: 0 !important;
}

.wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 0.625rem 0 !important;
    border: none !important;
}

.wc-block-components-totals-item__label {
    font-size: 0.8125rem !important;
    color: #716A60 !important;
    font-weight: 300 !important;
    font-family: 'Inter', sans-serif !important;
}

.wc-block-components-totals-item__value {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    color: #2B2621 !important;
    font-family: 'Inter', sans-serif !important;
}

/* Footer total */
.wc-block-components-totals-footer-item {
    border-top: 1px solid #EBE5DB !important;
    margin-top: 0.5rem !important;
    padding-top: 1.25rem !important;
    flex-wrap: wrap !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #2B2621 !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: 'Libre Baskerville', serif !important;
    font-size: 1.375rem !important;
    font-weight: 400 !important;
    color: #B99B6B !important;
}
.wc-block-components-totals-footer-item-tax-value {
    font-family: 'Libre Baskerville', serif !important;
    font-size: 1.375rem !important;
    color: #B99B6B !important;
}
.wc-block-components-totals-footer-item__description {
    width: 100% !important;
    font-size: 0.6875rem !important;
    color: #716A60 !important;
    font-weight: 300 !important;
    margin-top: 0.25rem !important;
}

/* ── PROCEED TO CHECKOUT BUTTON ───────────────────────────────────────────── */
.wc-block-cart__submit-container {
    margin-top: 1.5rem !important;
}
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button {
    width: 100% !important;
    background: #B99B6B !important;
    color: #FAF8F5 !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 1rem 2rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    display: block !important;
    cursor: pointer !important;
    transition: background 0.3s ease, transform 0.2s ease !important;
    font-family: 'Inter', sans-serif !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover {
    background: #856B46 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(185,155,107,0.3) !important;
    color: #FAF8F5 !important;
}
.wc-block-components-button__text {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
}

/* ── NOTICES ──────────────────────────────────────────────────────────────── */
.wc-block-components-notices {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 1.5rem !important;
}
@media (min-width: 1024px) {
    .wc-block-components-notices { padding: 0 6rem !important; }
}

/* ── TRUST BADGES (injected via JS) ──────────────────────────────────────── */
.velas-trust-badges {
    background: #FCFAF8;
    border: 1px solid #EBE5DB;
    border-radius: 2px;
    padding: 1.5rem 2rem;
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 768px) {
    .velas-trust-badges {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        divide-x: 1px solid #EBE5DB;
    }
}
.velas-trust-badge {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0 1.25rem;
    border-right: 1px solid #EBE5DB;
}
.velas-trust-badge:first-child { padding-left: 0; }
.velas-trust-badge:last-child { border-right: none; }
.velas-trust-badge i {
    font-size: 1.75rem;
    color: #B99B6B;
    flex-shrink: 0;
}
.velas-trust-badge h4 {
    font-size: 0.75rem;
    font-weight: 600;
    color: #2B2621;
    margin: 0 0 0.125rem 0;
}
.velas-trust-badge p {
    font-size: 0.6875rem;
    color: #716A60;
    font-weight: 300;
    margin: 0;
}

/* ── CONTINUE SHOPPING (injected via JS) ─────────────────────────────────── */
.velas-continue-shopping {
    margin-top: 1.25rem;
}
.velas-continue-shopping a {
    font-size: 0.75rem;
    font-weight: 500;
    color: #2B2621;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: color 0.2s;
}
.velas-continue-shopping a:hover { color: #B99B6B; }

/* ── SECURE BADGE (injected via JS) ──────────────────────────────────────── */
.velas-secure-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    color: #716A60;
    margin-top: 1.25rem;
    font-size: 0.75rem;
    font-weight: 300;
}
.velas-secure-badge i { font-size: 1.125rem; }

/* ── EMPTY CART ───────────────────────────────────────────────────────────── */
.wp-block-woocommerce-empty-cart-block {
    text-align: center !important;
    padding: 6rem 1.5rem !important;
}
.wp-block-woocommerce-empty-cart-block h2 {
    font-family: 'Libre Baskerville', serif !important;
    font-size: 1.75rem !important;
    color: #2B2621 !important;
    font-weight: 400 !important;
    margin-bottom: 1rem !important;
}
