/* ==========================================
   HAIR PALACE — CART PAGE
   Fix title gap + brand restyle
========================================== */

.woocommerce-cart.hp-cart-restyle,
body.woocommerce-cart {
    --hp-ink: #211126;
    --hp-gold: #d4af37;
    --hp-gold-soft: #e6c86a;
    --hp-purple: #6b2d7b;
    --hp-purple-deep: #4a1d56;
    --hp-cream: #faf7f4;
    --hp-line: #ebe4ef;
    --hp-muted: #7a7180;
    --hp-font-display: "Cormorant Garamond", Georgia, serif;
    --hp-font-body: "Manrope", system-ui, sans-serif;
    background: var(--hp-cream);
}

/* ---------- FIX LARGE GAP (title → items) ---------- */
body.woocommerce-cart .page-head {
    background: linear-gradient(90deg, var(--hp-purple-deep), var(--hp-purple)) !important;
    padding: 18px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    position: relative;
}

body.woocommerce-cart .page-head::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--hp-gold), transparent 70%);
}

body.woocommerce-cart .page-head .page-title,
body.woocommerce-cart .page-head h1 {
    font-family: var(--hp-font-display) !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    color: #fff !important;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem) !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .page-head .breadcrumb-wrap {
    display: none;
}

/* Theme default was ~80px — this was the big gap */
body.woocommerce-cart .site-content {
    padding-top: 20px !important;
    padding-bottom: 40px !important;
    background: transparent !important;
}

body.woocommerce-cart .wrap-detail-page,
body.woocommerce-cart .site-main,
body.woocommerce-cart .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.woocommerce-cart .entry-header {
    display: none !important; /* avoid duplicate Cart title in content */
}

/* ---------- CART BLOCK LAYOUT ---------- */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
    font-family: var(--hp-font-body) !important;
    margin-top: 0 !important;
}

body.woocommerce-cart .wc-block-cart {
    background: transparent;
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wc-block-cart__main {
    background: #fff;
    border: 1px solid var(--hp-line);
    border-radius: 16px;
    padding: 8px 16px 16px !important;
    box-shadow: 0 10px 28px rgba(33, 17, 38, 0.05);
}

body.woocommerce-cart .wc-block-cart-items__header,
body.woocommerce-cart .wc-block-cart-items__header span {
    font-family: var(--hp-font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--hp-muted) !important;
    font-weight: 600 !important;
    border-color: var(--hp-line) !important;
}

body.woocommerce-cart .wc-block-cart-items__row {
    border-color: var(--hp-line) !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    border-radius: 12px;
    background: #f4f0f6;
}

body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-cart .wc-block-cart-item__product a {
    font-family: var(--hp-font-body) !important;
    font-weight: 700 !important;
    color: var(--hp-ink) !important;
    text-decoration: none !important;
    font-size: 15px !important;
}

body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-cart-item__total {
    font-family: var(--hp-font-body) !important;
    font-weight: 700 !important;
    color: var(--hp-purple) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    border: 1px solid var(--hp-line) !important;
    border-radius: 10px !important;
    overflow: hidden;
    background: #fff;
}

body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    font-family: var(--hp-font-body) !important;
    font-weight: 600 !important;
}

/* Cart totals sidebar */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wc-block-components-sidebar {
    background: #fff !important;
    border: 1px solid var(--hp-line) !important;
    border-radius: 16px !important;
    padding: 18px !important;
    box-shadow: 0 10px 28px rgba(33, 17, 38, 0.05);
}

body.woocommerce-cart .wc-block-cart__sidebar h2,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-components-panel__button {
    font-family: var(--hp-font-display) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--hp-ink) !important;
    font-size: 1.15rem !important;
}

body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-cart .wc-block-components-totals-wrapper {
    font-family: var(--hp-font-body) !important;
    color: var(--hp-ink);
    border-color: var(--hp-line) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item,
body.woocommerce-cart .wc-block-components-totals-item--highlight {
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--hp-purple) !important;
    font-size: 1.2rem !important;
}

/* Checkout CTA */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-button:not(.is-link).contained,
body.woocommerce-cart a.checkout-button,
body.woocommerce-cart .checkout-button {
    background: var(--hp-ink) !important;
    border-color: var(--hp-ink) !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-family: var(--hp-font-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    min-height: 48px !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-button:not(.is-link).contained:hover,
body.woocommerce-cart a.checkout-button:hover {
    background: var(--hp-gold) !important;
    border-color: var(--hp-gold) !important;
    color: var(--hp-ink) !important;
}

/* ---------- CLASSIC CART (fallback) ---------- */
body.woocommerce-cart table.shop_table {
    background: #fff;
    border: 1px solid var(--hp-line) !important;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(33, 17, 38, 0.05);
}

body.woocommerce-cart table.shop_table th {
    font-family: var(--hp-font-body) !important;
    font-size: 11px !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--hp-muted) !important;
    border-color: var(--hp-line) !important;
}

body.woocommerce-cart table.shop_table td {
    border-color: var(--hp-line) !important;
    font-family: var(--hp-font-body) !important;
}

body.woocommerce-cart table.shop_table td.product-name a {
    color: var(--hp-ink) !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    background: #fff;
    border: 1px solid var(--hp-line);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(33, 17, 38, 0.05);
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-family: var(--hp-font-display) !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 1.15rem !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    text-align: center;
}

/* Empty cart */
body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .cart-empty {
    font-family: var(--hp-font-display) !important;
    color: var(--hp-ink) !important;
    margin-top: 12px !important;
}

body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    padding-top: 8px !important;
}

/* ---------- MOBILE ---------- */
@media (max-width: 767px) {
    body.woocommerce-cart .page-head {
        padding: 14px 0 !important;
    }

    body.woocommerce-cart .site-content {
        padding-top: 14px !important;
        padding-bottom: 28px !important;
    }

    body.woocommerce-cart .wc-block-cart-items,
    body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
    body.woocommerce-cart .wc-block-cart__sidebar {
        border-radius: 14px !important;
    }
}
