/************************************************************************************************/
/** Cart & Checkout — Rental Blocks Styling */

/************************************************************************************************/
/** Hide redundant fields */

/* "Choose Inventory: [name]" — obvious from product name, not needed */
.wc-block-components-product-details__choose-inventory {
    display: none !important;
}

/* Product short description excerpt — not useful in cart/checkout context */
.wc-block-components-product-metadata__description {
    display: none !important;
}

/************************************************************************************************/
/** Cart — Product Image */

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
    width: 90px !important;
    height: 90px !important;
    object-fit: cover;
    border-radius: 6px;
}

/************************************************************************************************/
/** Cart — Product Name */

.wc-block-components-product-name,
a.wc-block-components-product-name {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.3;
    display: block;
    margin-bottom: 8px;
    color: #111;
    text-decoration: none;
}

/************************************************************************************************/
/** Booking Details — Pickup, Return, Duration */

.wc-block-components-product-details {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
    background: #f8fafc;
}

/* Each detail row */
.wc-block-components-product-details > span {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.88em;
    line-height: 1.4;
}

.wc-block-components-product-details > span:last-child {
    border-bottom: none;
}

/* Field label */
.wc-block-components-product-details__name {
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    min-width: 130px;
}

/* Field value */
.wc-block-components-product-details__value {
    color: #111827;
}

/* Hide the " / " separator */
.wc-block-components-product-details > span > [aria-hidden="true"] {
    display: none;
}

/* Pickup row — accent left border */
.wc-block-components-product-details__pickup-date-time {
    border-left: 3px solid #1d4ed8 !important;
    background: #eff6ff;
}

/* Return row */
.wc-block-components-product-details__return-date-time {
    border-left: 3px solid #1d4ed8 !important;
    background: #eff6ff;
}

/* Total days row */
.wc-block-components-product-details__total-days {
    border-left: 3px solid #15803d !important;
    background: #f0fdf4;
    font-weight: 600;
}

.wc-block-components-product-details__total-days .wc-block-components-product-details__value {
    font-weight: 700;
    color: #15803d;
}

/************************************************************************************************/
/** Deposit Row */

.wc-block-components-product-details__deposit-required-pay-on-pickup {
    border-left: 3px solid #d97706 !important;
    background: #fffbeb !important;
}

.wc-block-components-product-details__deposit-required-pay-on-pickup .wc-block-components-product-details__name {
    color: #92400e;
}

.wc-block-components-product-details__deposit-required-pay-on-pickup .wc-block-components-product-details__value {
    color: #92400e;
    font-weight: 700;
}

/************************************************************************************************/
/** Cart — Price display */

.wc-block-cart-item__prices {
    margin: 4px 0 6px;
}

.wc-block-cart-item__prices .wc-block-formatted-money-amount {
    font-size: 1.05em;
    font-weight: 700;
    color: #111;
}

/************************************************************************************************/
/** Cart — Quantity selector */

.wc-block-cart-item__quantity {
    margin-top: 16px;
}

.wc-block-components-quantity-selector {
    max-width: 80px;
}

/************************************************************************************************/
/** Checkout — Order Summary */

/* Description column must shrink properly inside the flex row */
.wc-block-components-order-summary-item__description {
    flex: 1 1 0;
    min-width: 0;
    overflow: hidden;
}

/* Order summary product name */
.wc-block-components-order-summary-item .wc-block-components-product-name {
    font-size: 0.9em;
    margin-bottom: 4px;
}

/* Booking details card — constrained to available width */
.wc-block-components-order-summary-item .wc-block-components-product-details {
    font-size: 1.1em;
    margin-top: 12px;
    width: 100%;
    box-sizing: border-box;
}

.wc-block-components-order-summary-item .wc-block-components-product-details > span {
    padding: 9px 12px;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
}

/* Label: fixed width, no wrap */
.wc-block-components-order-summary-item .wc-block-components-product-details__name {
    flex: 0 0 auto;
    font-size: 1.05em;
    white-space: nowrap;
}

/* Value: fills remaining space, wraps cleanly if needed */
.wc-block-components-order-summary-item .wc-block-components-product-details__value {
    flex: 1 1 auto;
    font-size: 1.05em;
    word-break: break-word;
    min-width: 0;
}

/************************************************************************************************/
/** Hide cross-sell / suggested products */

.wc-block-cart__cross-sells,
.wc-cross-sells,
.cross-sells {
    display: none !important;
}

/************************************************************************************************/
/** Hide page title on cart page */

body.woocommerce-cart .page-header {
    display: none !important;
}

/************************************************************************************************/
/** Empty cart state */

.wp-block-woocommerce-empty-cart-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 48px 24px;
    width: 100%;
    grid-column: 1 / -1; /* span all columns if parent uses CSS grid */
}

.wc-block-cart__empty-cart__title {
    font-size: 1.4em;
    font-weight: 700;
    margin-bottom: 24px;
    text-align: center;
}

.rnbsp-browse-btn {
    display: inline-block;
    background-color: #fbe333;
    color: #000 !important;
    font-weight: 700;
    font-size: 1em;
    padding: 14px 32px;
    border-radius: 4px;
    text-decoration: none;
    letter-spacing: 0.03em;
    margin-top: 8px;
}

.rnbsp-browse-btn:hover {
    background-color: #e8d020;
    color: #000 !important;
    text-decoration: none;
}

/************************************************************************************************/
/** Proceed to Booking button */

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
    background-color: #fbe333 !important;
    color: #000 !important;
    border-color: #fbe333 !important;
    font-weight: 700 !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background-color: #e8d020 !important;
    border-color: #e8d020 !important;
    color: #000 !important;
}

/************************************************************************************************/
/** Cart table header */

.wc-block-cart-items__header-product span,
.wc-block-cart-items__header-total span {
    font-size: 0.75em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6b7280;
}
