/* Cart page custom styles for Alexandra Tatar theme */

.woocommerce-cart .site-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 140px 20px 40px;
}

.alex-cart-cards {
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.alex-cart-card,
.alex-cart-totals {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(145, 42, 127, 0.10);
    box-shadow: 0 14px 40px rgba(46, 18, 37, 0.08);
    border-radius: 22px;
    backdrop-filter: blur(10px);
}

.alex-cart-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
}

.alex-cart-card__left {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.alex-cart-thumb img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

.alex-cart-main {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.alex-cart-name {
    color: #2b1b29;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
}

.alex-cart-name:hover {
    color: #912A7F;
}

.alex-cart-booking {
    display: grid;
    gap: 2px;
    color: #6f5d6c;
    font-size: 14px;
}

.alex-cart-booking__service {
    font-weight: 600;
}

.alex-cart-booking__datetime {
    color: #8b7287;
}

.alex-cart-card__right {
    display: grid;
    justify-items: end;
    gap: 10px;
    flex: 0 0 auto;
}

.alex-cart-price {
    color: #2b1b29;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.alex-cart-qty .cart-qty-static {
    display: inline-flex;
    min-width: 40px;
    justify-content: center;
    align-items: center;
    padding: 8px 12px;
    background: #fff7fb;
    border: 1px solid #ecdcec;
    color: #912A7F;
    border-radius: 999px;
    font-weight: 700;
}

.alex-cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(145, 42, 127, 0.18);
    color: #912A7F;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.alex-cart-remove:hover {
    background: #912A7F;
    border-color: #912A7F;
    color: #fff;
}

.alex-cart-totals {
    padding: 22px;
    display: grid;
    gap: 14px;
}

.alex-cart-totals__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #3a2a38;
    font-size: 15px;
}

.alex-cart-totals__row--total {
    font-size: 18px;
    padding-top: 12px;
    border-top: 1px solid rgba(145, 42, 127, 0.10);
}

.alex-cart-actions .button.alt {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 15px 24px;
    border-radius: 999px;
    background: #912A7F;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    border: 0;
}

.alex-cart-actions .button.alt:hover {
    background: #7a246b;
}

.cart-empty-message {
    /* stylized empty cart box */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    color: #6f5d6c;
    padding: 36px 24px;
    max-width: 760px;
    margin: 28px auto;
    background: rgba(255,255,255,0.97);
    border: 1px solid rgba(145,42,127,0.06);
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(46,18,37,0.04);
}

/* decorative icon above message */
.cart-empty-message::before {
    content: "\1F6D2"; /* shopping cart emoji fallback */
    font-size: 44px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 999px;
    background: #fff;
    color: #912A7F;
    border: 1px solid rgba(145,42,127,0.08);
    box-shadow: 0 10px 30px rgba(145,42,127,0.06);
}

/* larger headline in the empty cart area */
.cart-empty-message .wc-empty-cart-message__title,
.cart-empty-message h2,
.wc-empty-cart-message .cart-empty {
    font-size: 18px;
    font-weight: 700;
    color: #2b1b29;
    margin: 0;
}

/* style return-to-shop / back links as primary button */
.wc-backward,
.cart-empty-message a {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding: 12px 20px;
    background: #912A7F;
    color: #fff !important;
    border-radius: 999px;
    text-decoration: none !important;
    font-weight: 700;
}

.wc-backward:hover,
.cart-empty-message a:hover {
    background: #7a246b;
}

/* ==========================
   Cart notices & messages
   ========================== */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error {
    display: flex;
    gap: 14px;
    align-items: center;
    background: rgba(145,42,127,0.04);
    border: 1px solid rgba(145,42,127,0.08);
    color: #4b3a45;
    padding: 14px 18px;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(46,18,37,0.03);
    max-width: 760px;
    margin: 10px auto 18px;
    font-size: 14px;
}

.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-error::before {
    content: "";
    flex: 0 0 44px;
    height: 44px;
    border-radius: 10px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #912A7F;
    font-size: 20px;
    box-shadow: 0 6px 18px rgba(145,42,127,0.06);
}

.woocommerce-cart .woocommerce-info::before { content: "ℹ️"; }
.woocommerce-cart .woocommerce-message::before { content: "✅"; }
.woocommerce-cart .woocommerce-error::before { content: "⚠️"; }

.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-error a {
    color: var(--primary-mov);
    font-weight: 700;
    text-decoration: underline;
}

/* make the small return link consistent */
.woocommerce-cart .wc-backward,
.woocommerce-cart .return-to-shop {
    margin-top: 12px;
    display: inline-block;
}

/* Remove default bullets for notice list */
.woocommerce-cart .woocommerce-info ul,
.woocommerce-cart .woocommerce-message ul,
.woocommerce-cart .woocommerce-error ul {
    margin: 0;
    padding-left: 18px;
}

/* session expiry / info messages in cart area (make them consistent) */
.wc-empty-cart-message .woocommerce-info,
.woocommerce-info.cart-empty {
    border: 0;
    color: #6f5d6c;
    font-size: 14px;
    align-items: center;
}

/* Hide native WooCommerce cart table when our custom template is active */
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals {
    display: none;
}

@media (max-width: 768px) {
    .woocommerce-cart .site-main {
        padding: 120px 14px 28px;
    }

    .alex-cart-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .alex-cart-card__right {
        width: 100%;
        justify-items: start;
    }

    .alex-cart-remove {
        margin-top: 2px;
    }

    .alex-cart-actions .button.alt {
        width: 100%;
    }
}
