/* ==========================================================================
   SHINING HANDS — WooCommerce Cart CSS
   Design tokens: primary #ec6d13 | gold #C9A84C | cream #FAF9F7
   Font: Cormorant Garamond (display) + Jost (body)
   ========================================================================== */

:root {
    --sh-primary: #ec6d13;
    --sh-primary-dark: #d45e0a;
    --sh-primary-gradient: linear-gradient(135deg, #ec6d13, #d45e0a);
    --sh-gold: #C9A84C;
    --sh-gold-dark: #A8873B;
    --sh-cream: #FAF9F7;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ─── Page Layout ─────────────────────────────────────────────────────────── */

.woocommerce-cart .woocommerce {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1.5rem 4rem;
}

/* Page title */
.woocommerce-cart h1.entry-title,
.woocommerce-cart h1.page-title,
.woocommerce-cart .page-header h1 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #2d2518;
    text-align: center;
    margin-bottom: 0.25rem;
}

/* ─── Cart Wrapper ─────────────────────────────────────────────────────────── */

.sh-cart-wrapper {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 2rem;
    align-items: start;
    margin-top: 1rem;
}

/* WooCommerce injects .cart-collaterals as a sibling to the form */
.sh-cart-collaterals,
.cart-collaterals {
    position: sticky;
    top: 200px;
}

@media (max-width: 900px) {
    .sh-cart-wrapper {
        grid-template-columns: 1fr;
    }
    .sh-cart-collaterals,
    .cart-collaterals {
        position: static;
    }
}

/* ─── Section Label ────────────────────────────────────────────────────────── */

.sh-cart-section-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #C9A84C;
    margin-bottom: 1.25rem;
}

/* ─── Cart Form Container ──────────────────────────────────────────────────── */

.sh-cart-form {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* ─── Cart Items List ──────────────────────────────────────────────────────── */

.sh-cart-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ─── Single Cart Item ─────────────────────────────────────────────────────── */

.sh-cart-item {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: 1.25rem;
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(201,168,76,0.12);
    border-radius: 1.25rem;
    padding: 1.25rem;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.sh-cart-item:hover {
    border-color: rgba(201,168,76,0.3);
    box-shadow: 0 8px 32px rgba(201,168,76,0.08), 0 2px 8px rgba(0,0,0,0.04);
}

/* Thumbnail */
.sh-cart-item__thumb {
    width: 100px;
    height: 100px;
    border-radius: 0.875rem;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f3f0;
}

.sh-cart-item__thumb a {
    display: block;
    width: 100%;
    height: 100%;
}

.sh-cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.sh-cart-item:hover .sh-cart-item__thumb img {
    transform: scale(1.05);
}

/* Info column */
.sh-cart-item__info {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.sh-cart-item__badge {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #C9A84C;
}

.sh-cart-item__name,
.sh-cart-item__name a {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.15rem;
    font-weight: 600;
    color: #2d2518 !important;
    text-decoration: none !important;
    line-height: 1.3;
    transition: color 0.2s;
}

.sh-cart-item__name a:hover {
    color: #ec6d13 !important;
}

.sh-cart-item__price {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem;
    color: #8a7f72;
}

.sh-cart-item__price .woocommerce-Price-amount {
    font-weight: 600;
    color: #8a7f72;
}

/* Controls column */
.sh-cart-item__controls {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.75rem;
}

/* Quantity input */
.sh-cart-item__qty .quantity {
    display: flex;
    align-items: center;
}

.sh-cart-item__qty .qty,
.woocommerce .quantity input.qty {
    width: 60px !important;
    height: 38px !important;
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.65rem !important;
    text-align: center !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: #2d2518 !important;
    background: #FAF9F7 !important;
    padding: 0 !important;
    transition: border-color 0.2s !important;
}

.sh-cart-item__qty .qty:focus,
.woocommerce .quantity input.qty:focus {
    border-color: #C9A84C !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,168,76,0.12) !important;
}

/* Subtotal */
.sh-cart-item__subtotal {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.2rem;
    font-weight: 700;
    color: #ec6d13;
    white-space: nowrap;
}

.sh-cart-item__subtotal .woocommerce-Price-amount {
    color: #ec6d13 !important;
}

/* Remove button */
.sh-remove-btn,
.sh-cart-item .remove {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #f5f3f0 !important;
    color: #9a8f82 !important;
    border: none !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s !important;
    font-size: 0 !important; /* hide × text, show SVG */
}

.sh-remove-btn:hover,
.sh-cart-item .remove:hover {
    background: #ffede4 !important;
    color: #ec6d13 !important;
}

/* ─── Mobile Cart Item ─────────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .sh-cart-item {
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
    }
    .sh-cart-item__thumb {
        width: 80px;
        height: 80px;
    }
    .sh-cart-item__controls {
        grid-column: 1 / -1;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding-top: 0.75rem;
        border-top: 1px solid #f0ece6;
    }
}

/* ─── Cart Actions Row ─────────────────────────────────────────────────────── */

.sh-cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.25rem;
    padding: 1.25rem;
    background: rgba(201,168,76,0.04);
    border: 1px dashed rgba(201,168,76,0.2);
    border-radius: 1rem;
    flex-wrap: wrap;
}

.sh-coupon-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0;
}

.sh-coupon-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.sh-coupon-input,
input#coupon_code {
    flex: 1 !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 1rem !important;
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.75rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    color: #2d2518 !important;
    background: #ffffff !important;
    transition: border-color 0.2s !important;
}

.sh-coupon-input:focus,
input#coupon_code:focus {
    border-color: #C9A84C !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,168,76,0.12) !important;
}

/* Buttons */
.sh-btn-ghost {
    height: 42px !important;
    padding: 0 1.25rem !important;
    border: 1.5px solid rgba(201,168,76,0.35) !important;
    border-radius: 0.75rem !important;
    background: transparent !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: #8a6f30 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    white-space: nowrap;
}

.sh-btn-ghost:hover {
    background: rgba(201,168,76,0.08) !important;
    border-color: #C9A84C !important;
    color: #7a5f20 !important;
}

.sh-btn-outline {
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    height: 42px !important;
    padding: 0 1.25rem !important;
    border: 1.5px solid #e8e3dc !important;
    border-radius: 0.75rem !important;
    background: transparent !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: #6b6560 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    white-space: nowrap;
}

.sh-btn-outline:hover {
    border-color: #C9A84C !important;
    color: #2d2518 !important;
}

/* ─── Cart Totals (Sidebar) ────────────────────────────────────────────────── */

.sh-cart-totals,
.cart_totals {
    background: #ffffff !important;
    border: 1px solid rgba(201,168,76,0.15) !important;
    border-radius: 1.5rem !important;
    padding: 1.75rem !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05) !important;
}

.sh-totals-header {
    margin-bottom: 1.25rem;
}

.sh-totals-table,
.cart_totals .shop_table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
    margin-bottom: 1.25rem !important;
}

.sh-totals-table th,
.sh-totals-table td,
.cart_totals .shop_table th,
.cart_totals .shop_table td {
    padding: 0.75rem 0 !important;
    border-top: 1px solid #f0ece6 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    color: #4a4340 !important;
    vertical-align: middle !important;
}

.sh-totals-table th,
.cart_totals .shop_table th {
    font-weight: 600 !important;
    color: #6b6560 !important;
    width: 50% !important;
}

.sh-totals-table td,
.cart_totals .shop_table td {
    text-align: right !important;
    font-weight: 600 !important;
}

/* Total row */
.sh-order-total-row th,
.sh-order-total-row td,
.cart_totals .order-total th,
.cart_totals .order-total td {
    border-top: 2px solid rgba(201,168,76,0.2) !important;
    padding-top: 1rem !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #2d2518 !important;
}

.cart_totals .order-total td .woocommerce-Price-amount {
    color: #ec6d13 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
}

/* Coupon discount */
.cart_totals .cart-discount td {
    color: #2a9d4e !important;
}

/* ─── Trust Badges ─────────────────────────────────────────────────────────── */

.sh-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem;
    background: rgba(201,168,76,0.04);
    border-radius: 0.875rem;
    margin-bottom: 1.25rem;
}

.sh-trust-badge {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem;
    font-weight: 600;
    color: #5a5048;
}

/* ─── Proceed to Checkout Button ───────────────────────────────────────────── */

.wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button.button.alt {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--sh-primary-gradient) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 1rem 2rem !important;
    border-radius: 0.875rem !important;
    border: none !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(236,109,19,0.35) !important;
    transition: all 0.3s ease !important;
}

.wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce a.checkout-button.button.alt:hover {
    background: linear-gradient(135deg, #d45e0a, #c04e00) !important;
    box-shadow: 0 8px 28px rgba(236,109,19,0.5) !important;
    transform: translateY(-2px) !important;
}

/* ─── Update Cart Button (global WC) ───────────────────────────────────────── */

.woocommerce button[name="update_cart"],
.woocommerce button.button[name="update_cart"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    height: 42px !important;
    padding: 0 1.25rem !important;
    border: 1.5px solid #e8e3dc !important;
    border-radius: 0.75rem !important;
    background: transparent !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    color: #6b6560 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.woocommerce button[name="update_cart"]:hover {
    border-color: #C9A84C !important;
    color: #2d2518 !important;
}

/* ─── Empty Cart ───────────────────────────────────────────────────────────── */

.sh-empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 4rem 2rem;
    max-width: 480px;
    margin: 0 auto;
}

.sh-empty-cart__icon {
    margin-bottom: 1.5rem;
    animation: sh-float 4s ease-in-out infinite;
}

@keyframes sh-float {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-10px); }
}

.sh-empty-cart__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 600;
    color: #2d2518;
    margin-bottom: 0.75rem !important;
}

.sh-empty-cart__text {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.95rem;
    color: #8a7f72;
    line-height: 1.7;
    margin-bottom: 2rem !important;
}

/* hide wc default empty message */
.woocommerce-info.wc-empty-cart-message {
    display: none !important;
}

.sh-empty-cart__actions {
    margin-bottom: 2.5rem;
}

.sh-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    padding: 0.9rem 2rem !important;
    background: var(--sh-primary-gradient) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 0.875rem !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(236,109,19,0.35) !important;
    transition: all 0.3s ease !important;
}

.sh-btn-primary:hover {
    background: linear-gradient(135deg, #d45e0a, #c04e00) !important;
    box-shadow: 0 8px 28px rgba(236,109,19,0.5) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

.sh-empty-cart__promises {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
    background: rgba(201,168,76,0.05);
    border: 1px dashed rgba(201,168,76,0.2);
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
}

.sh-promise-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.85rem;
    color: #5a5048;
}

.sh-promise-icon {
    color: #C9A84C;
    font-size: 0.6rem;
    flex-shrink: 0;
}

/* ─── WooCommerce Notices ──────────────────────────────────────────────────── */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 0.875rem !important;
    border: none !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    margin: 1.5rem auto !important;
    padding: 1rem 1.25rem !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
    outline: none !important; /* WC focus()'ladığı için tarayıcı varsayılan mavi outline çiziyordu */
}

/* Hesabım / Ödeme sayfalarında çevreleyen padding olmadığı için
   bildirimleri sayfanın diğer içeriğiyle hizalı tutuyoruz. */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error {
    max-width: 1020px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 1.5rem !important;
}

/* WC, erişilebilirlik için bildirime tabindex="-1" + focus() uyguluyor.
   Mavi outline yerine temaya uygun ince bir halka gösteriyoruz. */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus {
    outline: none !important;
}

.woocommerce-message {
    background: #f0fdf4 !important;
    color: #16a34a !important;
    border-left: 4px solid #22c55e !important;
    border-radius: 0.875rem !important;
    box-shadow: 0 2px 12px rgba(34,197,94,0.12) !important;
}

.woocommerce-info {
    background: rgba(201,168,76,0.08) !important;
    color: #7a6020 !important;
    border-left: 4px solid #C9A84C !important;
    border-radius: 0.875rem !important;
    box-shadow: 0 2px 12px rgba(201,168,76,0.12) !important;
}

.woocommerce-error {
    background: #fff1ee !important;
    color: #c02020 !important;
    border-left: 4px solid #ec6d13 !important;
    border-radius: 0.875rem !important;
    list-style: none !important;
    padding-left: 1.25rem !important;
    box-shadow: 0 2px 12px rgba(236,109,19,0.12) !important;
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
    padding: 0.15rem 0 !important;
    list-style: none !important;
}

.woocommerce-error strong,
.woocommerce-message strong,
.woocommerce-info strong {
    font-weight: 700 !important;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
    color: inherit !important;
    text-decoration: underline !important;
    font-weight: 700 !important;
}

/* ─── Shipping Calculator ──────────────────────────────────────────────────── */

.shipping-calculator-button {
    color: #C9A84C !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.shipping-calculator-form input,
.shipping-calculator-form select {
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.65rem !important;
    padding: 0.5rem 0.75rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
}

.shipping-calculator-form .button {
    background: #ec6d13 !important;
    color: white !important;
    border-radius: 0.65rem !important;
    padding: 0.5rem 1rem !important;
    font-weight: 700 !important;
    border: none !important;
}

/* ─── Cross-sells ──────────────────────────────────────────────────────────── */

.cross-sells {
    grid-column: 1 / -1;
    margin-top: 3rem;
}

.cross-sells > h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.75rem !important;
    font-weight: 600;
    color: #2d2518;
    margin-bottom: 1.5rem;
    text-align: center;
}

.cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 1.25rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ─── Override old woocommerce.css table styles ────────────────────────────── */

.woocommerce-cart-form,
.woocommerce-checkout,
.woocommerce-account {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Our custom cart template uses div-based layout (sh-cart-items), not WC's default table.
   The table is not rendered at all in our template, so no override needed here. */

/* ─── Dark mode ────────────────────────────────────────────────────────────── */

.dark .sh-cart-item {
    background: #1e1a14 !important;
    border-color: rgba(201,168,76,0.1) !important;
}

.dark .sh-cart-totals,
.dark .cart_totals {
    background: #1e1a14 !important;
    border-color: rgba(201,168,76,0.1) !important;
}

.dark .sh-cart-item__name,
.dark .sh-cart-item__name a {
    color: #f5f0e8 !important;
}

.dark .sh-cart-item__thumb {
    background: #2a241c !important;
}

.dark .sh-trust-badges {
    background: rgba(201,168,76,0.06) !important;
}

.dark .sh-cart-actions {
    background: rgba(201,168,76,0.04) !important;
    border-color: rgba(201,168,76,0.12) !important;
}

/* ==========================================================================
   WooCommerce CART BLOCK overrides (wc-block-cart)
   These target the Gutenberg block-based cart renderer.
   ========================================================================== */

/* ─── Page & wrapper ───────────────────────────────────────────────────────── */

.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wc-block-cart {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem 4rem;
}

.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar {
    background: transparent;
}

/* ─── Two-column layout ────────────────────────────────────────────────────── */

.wc-block-cart .wp-block-woocommerce-cart-form-block {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    background: #ffffff !important;
    border: 1px solid rgba(201,168,76,0.15) !important;
    border-radius: 1.5rem !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.05) !important;
}

/* ─── Cart Items ───────────────────────────────────────────────────────────── */

.wc-block-cart-items {
    border: none !important;
}

.wc-block-cart-items .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 90px 1fr auto !important;
    gap: 1.25rem !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid rgba(201,168,76,0.12) !important;
    border-radius: 1.25rem !important;
    padding: 1.25rem !important;
    margin-bottom: 1rem !important;
    transition: box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.wc-block-cart-items .wc-block-cart-items__row:hover {
    border-color: rgba(201,168,76,0.3) !important;
    box-shadow: 0 8px 32px rgba(201,168,76,0.08) !important;
}

.wc-block-cart-items thead {
    display: none !important;
}

/* Thumbnail */
.wc-block-cart-items .wc-block-cart-item__image {
    width: 90px !important;
    height: 90px !important;
    border-radius: 0.875rem !important;
    overflow: hidden !important;
}

.wc-block-cart-items .wc-block-cart-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0.875rem !important;
}

/* Product name */
.wc-block-cart-items .wc-block-cart-item__product a,
.wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__product-name {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #2d2518 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
}

.wc-block-cart-items .wc-block-cart-item__product a:hover {
    color: #ec6d13 !important;
}

/* Price */
.wc-block-cart-items .wc-block-cart-item__product .wc-block-cart-item__prices {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    color: #8a7f72 !important;
    margin-top: 0.3rem !important;
}

/* Total per item */
.wc-block-cart-items .wc-block-cart-item__total {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #ec6d13 !important;
    white-space: nowrap !important;
}

.wc-block-cart-items .wc-block-cart-item__total .woocommerce-Price-amount {
    color: #ec6d13 !important;
}

/* Quantity stepper */
.wc-block-quantity-selector {
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
    display: inline-flex !important;
    align-items: center !important;
    background: #FAF9F7 !important;
}

.wc-block-quantity-selector__input {
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    color: #2d2518 !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    width: 48px !important;
    padding: 0 !important;
}

.wc-block-quantity-selector button {
    background: transparent !important;
    border: none !important;
    color: #C9A84C !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 0.35rem 0.5rem !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}

.wc-block-quantity-selector button:hover {
    color: #ec6d13 !important;
}

/* Remove button */
.wc-block-cart-items .wc-block-cart-item__remove-link,
.wc-block-cart-item .wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    color: #9a8f82 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0.5rem !important;
    background: #f5f3f0 !important;
}

.wc-block-cart-items .wc-block-cart-item__remove-link:hover {
    color: #ec6d13 !important;
    background: #ffede4 !important;
}

/* ─── Cart Totals Block ─────────────────────────────────────────────────────── */

.wp-block-woocommerce-cart-order-summary-block .wc-block-cart__order-summary {
    padding: 1.75rem !important;
}

.wc-block-cart__order-summary .wc-block-components-totals-wrapper {
    border: none !important;
}

/* Subtotal, Tax, Shipping rows */
.wc-block-cart__order-summary .wc-block-components-totals-item {
    border-top: 1px solid #f0ece6 !important;
    padding: 0.75rem 0 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    color: #4a4340 !important;
}

.wc-block-cart__order-summary .wc-block-components-totals-item__label {
    font-weight: 600 !important;
    color: #6b6560 !important;
}

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

/* Grand total */
.wc-block-components-totals-footer-item {
    border-top: 2px solid rgba(201,168,76,0.2) !important;
    padding-top: 1rem !important;
    margin-top: 0.25rem !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #2d2518 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: #ec6d13 !important;
}

.wc-block-components-totals-footer-item .woocommerce-Price-amount {
    color: #ec6d13 !important;
}

/* Order summary heading */
.wp-block-woocommerce-cart-order-summary-heading-block h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #C9A84C !important;
    padding: 1.5rem 1.75rem 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* ─── Coupon Block ─────────────────────────────────────────────────────────── */

.wc-block-components-totals-coupon {
    border: none !important;
    padding: 0.75rem 0 !important;
}

.wc-block-components-totals-coupon__form {
    display: flex !important;
    gap: 0.5rem !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.75rem !important;
    padding: 0.6rem 1rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    height: 42px !important;
    transition: border-color 0.2s !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus {
    border-color: #C9A84C !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(201,168,76,0.12) !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-button {
    background: transparent !important;
    border: 1.5px solid rgba(201,168,76,0.35) !important;
    border-radius: 0.75rem !important;
    color: #8a6f30 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    height: 42px !important;
    padding: 0 1.25rem !important;
    white-space: nowrap !important;
    transition: all 0.2s !important;
}

.wc-block-components-totals-coupon__form .wc-block-components-button:hover {
    background: rgba(201,168,76,0.08) !important;
    border-color: #C9A84C !important;
}

/* Applied coupon chip */
.wc-block-components-chip {
    background: rgba(42, 157, 78, 0.08) !important;
    border: 1px solid rgba(42, 157, 78, 0.2) !important;
    border-radius: 999px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    color: #2a9d4e !important;
    padding: 0.25rem 0.75rem !important;
}

/* ─── Proceed to Checkout Button (Block) ───────────────────────────────────── */

.wc-block-cart__submit-container .wc-block-cart__submit,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart .wc-block-cart__submit {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: var(--sh-primary-gradient) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 1rem 2rem !important;
    border-radius: 0.875rem !important;
    border: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 20px rgba(236,109,19,0.35) !important;
    transition: all 0.3s ease !important;
    margin-top: 0.5rem !important;
}

.wc-block-cart__submit-container .wc-block-cart__submit:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-cart .wc-block-cart__submit:hover {
    background: linear-gradient(135deg, #d45e0a, #c04e00) !important;
    box-shadow: 0 8px 28px rgba(236,109,19,0.5) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* Proceed to checkout inner block padding */
.wp-block-woocommerce-cart-order-summary-subtotal-block,
.wp-block-woocommerce-cart-order-summary-fee-block,
.wp-block-woocommerce-cart-order-summary-shipping-block,
.wp-block-woocommerce-cart-order-summary-taxes-block,
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-proceed-to-checkout-block {
    padding: 0 1.75rem !important;
}

.wp-block-woocommerce-proceed-to-checkout-block {
    padding-bottom: 1.75rem !important;
}

/* ─── Empty Cart Block ─────────────────────────────────────────────────────── */

.wc-block-cart__empty-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 4rem 2rem !important;
}

.wc-block-cart__empty-cart__title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #2d2518 !important;
    margin-bottom: 0.75rem !important;
    border: none !important;
}

.wc-block-cart__empty-cart__image {
    order: -1 !important;
    margin-bottom: 1.5rem !important;
    animation: sh-float 4s ease-in-out infinite !important;
    filter: invert(60%) sepia(20%) saturate(800%) hue-rotate(10deg) !important;
    opacity: 0.7 !important;
}

/* Empty cart return button */
.wc-block-cart__empty-cart .wp-block-button__link,
.wc-block-cart__empty-cart .wc-block-components-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.6rem !important;
    padding: 0.9rem 2rem !important;
    background: var(--sh-primary-gradient) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border-radius: 0.875rem !important;
    text-decoration: none !important;
    box-shadow: 0 4px 20px rgba(236,109,19,0.35) !important;
    transition: all 0.3s ease !important;
    border: none !important;
}

.wc-block-cart__empty-cart .wp-block-button__link:hover,
.wc-block-cart__empty-cart .wc-block-components-button:hover {
    background: linear-gradient(135deg, #d45e0a, #c04e00) !important;
    box-shadow: 0 8px 28px rgba(236,109,19,0.5) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* ─── Shipping Calculator Block ────────────────────────────────────────────── */

.wc-block-components-shipping-calculator .wc-block-components-button {
    background: transparent !important;
    border: 1.5px solid rgba(201,168,76,0.35) !important;
    border-radius: 0.75rem !important;
    color: #C9A84C !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    padding: 0.5rem 1rem !important;
    transition: all 0.2s !important;
}

.wc-block-components-shipping-calculator .wc-block-components-country-input input,
.wc-block-components-shipping-calculator .wc-block-components-state-input input,
.wc-block-components-shipping-calculator .wc-block-components-text-input input {
    border: 1.5px solid rgba(201,168,76,0.25) !important;
    border-radius: 0.75rem !important;
    padding: 0.6rem 1rem !important;
    font-family: 'Jost', sans-serif !important;
}

/* ─── WC Block notices ─────────────────────────────────────────────────────── */

.wc-block-components-notice-banner {
    border-radius: 0.875rem !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 0.875rem !important;
    border-left-width: 4px !important;
}

.wc-block-components-notice-banner.is-success {
    background: #f0fdf4 !important;
    border-left-color: #22c55e !important;
}

.wc-block-components-notice-banner.is-error {
    background: #fff1ee !important;
    border-left-color: #ec6d13 !important;
}

.wc-block-components-notice-banner.is-info {
    background: rgba(201,168,76,0.08) !important;
    border-left-color: #C9A84C !important;
}

/* ─── Cross-sell products grid ─────────────────────────────────────────────── */

.wc-block-cart .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 1.25rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.wc-block-cart .wc-block-grid__product {
    background: #fff !important;
    border: 1px solid rgba(201,168,76,0.12) !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
}

.wc-block-cart .wc-block-grid__product:hover {
    border-color: rgba(201,168,76,0.3) !important;
    box-shadow: 0 8px 32px rgba(201,168,76,0.1) !important;
    transform: translateY(-4px) !important;
}

.wc-block-cart .wc-block-grid__product-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #2d2518 !important;
    padding: 0.75rem 1rem 0.25rem !important;
}

.wc-block-cart .wc-block-grid__product-price {
    font-family: 'Jost', sans-serif !important;
    color: #ec6d13 !important;
    font-weight: 700 !important;
    padding: 0 1rem 0.5rem !important;
}

.wc-block-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
    background: var(--sh-primary-gradient) !important;
    color: #fff !important;
    border-radius: 0.65rem !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    padding: 0.5rem 1rem !important;
    letter-spacing: 0.05em !important;
    margin: 0 1rem 1rem !important;
    border: none !important;
    display: inline-block !important;
    transition: all 0.2s !important;
}

/* ─── Page heading area (breadcrumb + h1) ──────────────────────────────────── */

.woocommerce-cart .entry-content > h1,
.woocommerce-cart .page-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(2rem, 4vw, 2.75rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    color: #2d2518 !important;
    text-align: center !important;
    margin-bottom: 2rem !important;
}

/* ─── Mobile ───────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .wc-block-cart-items .wc-block-cart-items__row {
        grid-template-columns: 72px 1fr !important;
        grid-template-rows: auto auto !important;
    }

    .wc-block-cart-items .wc-block-cart-item__image {
        width: 72px !important;
        height: 72px !important;
    }

    .wc-block-cart-items .wc-block-cart-item__total {
        grid-column: 2 !important;
    }
}

