/* =========================================
   CRAFTY MAMMIES — WooCommerce Styling
   ========================================= */

.page-content-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 48px 40px 80px;
}

/* ── CART TABLE ── */
.woocommerce-cart table.cart,
.woocommerce-checkout table.cart {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.woocommerce-cart table.cart th,
.woocommerce-checkout table.cart th {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--grey);
    font-weight: 500;
    padding: 0 0 16px;
    border-bottom: 1px solid #f0d6e8;
}

.woocommerce-cart table.cart td,
.woocommerce-checkout table.cart td {
    padding: 20px 0;
    border-bottom: 1px solid #f5f0f3;
    vertical-align: middle;
}

.woocommerce-cart table.cart img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #f0d6e8;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-checkout table.cart .product-name a {
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 500;
    color: var(--black);
    text-decoration: none;
}

.woocommerce-cart table.cart .product-name a:hover { color: var(--pink); }

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
    font-size: 15px;
    font-weight: 500;
    color: var(--black);
}

/* Item meta (personalisation) */
.woocommerce-cart table.cart .wc-item-meta,
.woocommerce-checkout .wc-item-meta {
    margin-top: 8px;
    font-size: 12px;
    color: var(--grey);
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.woocommerce-cart table.cart .wc-item-meta li,
.woocommerce-checkout .wc-item-meta li {
    display: flex;
    gap: 6px;
}

.woocommerce-cart table.cart .wc-item-meta .wc-item-meta-label {
    font-weight: 500;
    color: var(--black);
    min-width: 90px;
}

/* Qty input */
.woocommerce-cart .quantity input,
.woocommerce-checkout .quantity input {
    width: 60px;
    padding: 8px;
    border: 1.5px solid #ede0e8;
    border-radius: 8px;
    font-family: var(--sans);
    font-size: 14px;
    text-align: center;
}

.woocommerce-cart .quantity input:focus { outline: none; border-color: var(--pink); }

/* Remove button */
.woocommerce-cart a.remove {
    color: var(--grey) !important;
    font-size: 18px;
    text-decoration: none;
    transition: color 0.2s;
}
.woocommerce-cart a.remove:hover { color: var(--pink) !important; }

/* ── CART TOTALS ── */
.cart-collaterals { margin-top: 40px; }

.cart_totals h2 {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px;
}

.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    background: var(--grey-light);
    border-radius: 16px;
    overflow: hidden;
}

.cart_totals table th,
.cart_totals table td {
    padding: 14px 20px;
    border-bottom: 1px solid #f0ebe8;
    vertical-align: top;
}

.cart_totals table th {
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--grey);
    font-weight: 500;
    width: 40%;
}

.cart_totals table .order-total th,
.cart_totals table .order-total td {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
    border-bottom: none;
}

.cart_totals table .order-total td strong { color: var(--pink); }

/* Proceed to checkout button */
.wc-proceed-to-checkout .checkout-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--pink) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-pill) !important;
    padding: 14px 32px !important;
    font-family: var(--sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    text-decoration: none !important;
    display: inline-block !important;
    width: 100%;
    text-align: center;
}

.wc-proceed-to-checkout .checkout-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--pink-dark) !important; }

/* ── CHECKOUT ── */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout h3 {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px;
    color: var(--black);
}

.woocommerce-checkout .form-row label {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--grey);
    margin-bottom: 6px;
    display: block;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1.5px solid #ede0e8;
    border-radius: 8px;
    font-family: var(--sans);
    font-size: 14px;
    color: var(--black);
    background: #fff;
    transition: border-color 0.2s;
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus { outline: none; border-color: var(--pink); }

.woocommerce-checkout #order_review_heading {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 20px;
}

/* Order review table */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    background: var(--grey-light);
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px 20px;
    border-bottom: 1px solid #f0ebe8;
}

.woocommerce-checkout-review-order-table .order-total td strong { color: var(--pink); font-size: 16px; }

/* Place order button */
#place_order {
    width: 100%;
    padding: 16px !important;
    font-size: 15px !important;
    margin-top: 12px;
}

/* ── NOTICES ── */
.woocommerce-message,
.woocommerce-info {
    background: var(--pink-pale);
    border-left: 4px solid var(--pink);
    padding: 14px 20px;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.woocommerce-error {
    background: #fff0f0;
    border-left: 4px solid #e05050;
    padding: 14px 20px;
    border-radius: 0 8px 8px 0;
    font-size: 14px;
    margin-bottom: 24px;
    list-style: none;
}

/* ── MY ACCOUNT ── */
.woocommerce-MyAccount-navigation {
    background: var(--grey-light);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 24px;
}

.woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-direction: column; gap: 4px; }

.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    color: var(--black);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--pink);
    color: #fff;
}

/* Express payment buttons (Google Pay etc) */
.woocommerce-cart .wc-block-components-express-payment,
.woocommerce-checkout .wc-block-components-express-payment {
    margin-bottom: 20px;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
    .page-content-wrap { padding: 32px 20px 60px; }
    .woocommerce-cart table.cart thead { display: none; }
    .woocommerce-cart table.cart td { display: block; padding: 8px 0; border: none; }
    .woocommerce-cart table.cart tr { border-bottom: 1px solid #f5f0f3; padding: 16px 0; display: block; }
    .cart_totals table th { width: 50%; }
}
