/* =========================================================
   ARJUNA PLANNERS
   PREMIUM WOOCOMMERCE
   CART + CHECKOUT
   ========================================================= */


/* =========================================================
   BRAND VARIABLES
   ========================================================= */

:root {
    --arjuna-slate: #34495E;
    --arjuna-slate-dark: #2C3E50;
    --arjuna-gold: #F1C40F;
    --arjuna-gold-dark: #D4AC0D;

    --arjuna-text: #34495E;
    --arjuna-muted: #71808F;

    --arjuna-border: #E5EBF0;
    --arjuna-border-dark: #D5DEE6;

    --arjuna-white: #FFFFFF;
    --arjuna-soft: #F8FAFC;

    --arjuna-shadow: 0 8px 30px rgba(52, 73, 94, 0.07);
}


/* =========================================================
   CART + CHECKOUT — PAGE
   ========================================================= */

.woocommerce-cart,
.woocommerce-checkout {
    background: #FFFFFF;
    color: var(--arjuna-text);
}

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 60px 25px 90px;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
    text-align: center;
    margin-bottom: 40px;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
    margin: 0;

    color: var(--arjuna-slate);

    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: -0.5px;
}


/* Gold accent */

.woocommerce-cart .entry-header::after,
.woocommerce-checkout .entry-header::after {
    content: "";

    display: block;

    width: 45px;
    height: 3px;

    margin: 16px auto 0;

    background: var(--arjuna-gold);

    border-radius: 3px;
}


/* =========================================================
   PAGE CONTENT
   ========================================================= */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content {
    width: 100%;
    color: var(--arjuna-text);
}


/* =========================================================
   WOOCOMMERCE BLOCK CONTAINERS
   ========================================================= */

.woocommerce-cart .wc-block-cart,
.woocommerce-checkout .wc-block-checkout {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   CHECKOUT — MAIN LAYOUT
   ========================================================= */

.woocommerce-checkout .wc-block-checkout {
    padding-top: 5px;
}


/* =========================================================
   CHECKOUT — FORM SECTIONS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-checkout-step {
    background: #FFFFFF;

    border: 1px solid var(--arjuna-border);

    border-radius: 14px;

    padding: 25px 28px;

    margin-bottom: 18px;

    box-shadow: var(--arjuna-shadow);
}


/* =========================================================
   CHECKOUT — SECTION TITLES
   ========================================================= */

.woocommerce-checkout
.wc-block-components-checkout-step__heading {
    color: var(--arjuna-slate);

    font-size: 18px;
    font-weight: 700;

    margin-bottom: 18px;
}


/* Heading number */

.woocommerce-checkout
.wc-block-components-checkout-step__heading-number {
    color: var(--arjuna-slate);

    font-weight: 700;
}


/* =========================================================
   CHECKOUT — LABELS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-text-input label,
.woocommerce-checkout
.wc-block-components-address-form label {
    color: var(--arjuna-text);

    font-size: 13px;
    font-weight: 600;
}


/* =========================================================
   CHECKOUT — INPUTS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-text-input input,
.woocommerce-checkout
.wc-block-components-address-form input,
.woocommerce-checkout
.wc-block-components-address-form select {

    width: 100%;

    min-height: 48px;

    background: #FFFFFF;

    border: 1px solid var(--arjuna-border-dark);

    border-radius: 7px;

    color: var(--arjuna-text);

    font-size: 14px;

    padding: 0 14px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


/* Input focus */

.woocommerce-checkout
.wc-block-components-text-input input:focus,
.woocommerce-checkout
.wc-block-components-address-form input:focus,
.woocommerce-checkout
.wc-block-components-address-form select:focus {

    border-color: var(--arjuna-slate);

    outline: none;

    box-shadow: 0 0 0 2px rgba(52, 73, 94, 0.08);
}


/* =========================================================
   CHECKOUT — PLACE ORDER / PAYMENT AREA
   ========================================================= */

.woocommerce-checkout
.wc-block-checkout__actions {

    margin-top: 10px;

    padding-top: 20px;

    border-top: 1px solid var(--arjuna-border);
}


/* Place order button */

.woocommerce-checkout
.wc-block-components-checkout-place-order-button {

    width: 100%;

    min-height: 54px;

    border: none;

    border-radius: 8px;

    background: var(--arjuna-slate);

    color: #FFFFFF;

    font-size: 15px;

    font-weight: 700;

    letter-spacing: 0.2px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


/* Place order hover */

.woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {

    background: var(--arjuna-gold);

    color: var(--arjuna-slate-dark);

    transform: translateY(-1px);
}


/* =========================================================
   CHECKOUT — ORDER SUMMARY
   ========================================================= */

.woocommerce-checkout
.wc-block-components-order-summary {

    background: #FFFFFF;

    border: 1px solid var(--arjuna-border);

    border-radius: 14px;

    padding: 25px;

    box-shadow: var(--arjuna-shadow);
}


/* Order summary heading */

.woocommerce-checkout
.wc-block-components-order-summary__title {

    color: var(--arjuna-slate);

    font-size: 18px;

    font-weight: 700;
}


/* Product name */

.woocommerce-checkout
.wc-block-components-order-summary-item__description
.wc-block-components-product-name {

    color: var(--arjuna-slate);

    font-size: 14px;

    font-weight: 700;
}


/* Product price */

.woocommerce-checkout
.wc-block-components-order-summary-item__total {

    color: var(--arjuna-slate);

    font-size: 15px;

    font-weight: 700;
}


/* Product image */

.woocommerce-checkout
.wc-block-components-order-summary-item__image {

    border-radius: 8px;

    overflow: hidden;
}


/* =========================================================
   CHECKOUT — TOTALS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-totals-item {

    color: var(--arjuna-text);
}


.woocommerce-checkout
.wc-block-components-totals-item__label {

    color: var(--arjuna-text);

    font-size: 14px;

    font-weight: 600;
}


.woocommerce-checkout
.wc-block-components-totals-item__value {

    color: var(--arjuna-slate);

    font-size: 15px;

    font-weight: 700;
}


/* Final total */

.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label {

    color: var(--arjuna-slate);

    font-size: 17px;

    font-weight: 700;
}


.woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {

    color: var(--arjuna-slate);

    font-size: 21px;

    font-weight: 700;
}


/* =========================================================
   CHECKOUT — PAYMENT METHODS
   ========================================================= */

.woocommerce-checkout
.wc-block-components-radio-control {

    border: 1px solid var(--arjuna-border);

    border-radius: 10px;

    overflow: hidden;
}


.woocommerce-checkout
.wc-block-components-radio-control__option {

    background: #FFFFFF;

    border-bottom: 1px solid var(--arjuna-border);

    padding: 15px;
}


.woocommerce-checkout
.wc-block-components-radio-control__option:last-child {

    border-bottom: none;
}


.woocommerce-checkout
.wc-block-components-radio-control__label {

    color: var(--arjuna-text);

    font-size: 14px;

    font-weight: 600;
}


/* =========================================================
   CHECKOUT — TERMS
   ========================================================= */

.woocommerce-checkout
.wc-block-checkout__terms {

    color: var(--arjuna-muted);

    font-size: 12px;

    line-height: 1.6;
}


.woocommerce-checkout
.wc-block-checkout__terms a {

    color: var(--arjuna-slate);

    font-weight: 600;

    text-decoration: underline;
}


/* =========================================================
   CHECKOUT — LINKS
   ========================================================= */

.woocommerce-checkout a {

    color: var(--arjuna-slate);

}


.woocommerce-checkout a:hover {

    color: var(--arjuna-slate-dark);

}


/* =========================================================
   CART — ITEMS
   ========================================================= */

.woocommerce-cart .wc-block-cart-items {

    background: #FFFFFF;

    border: 1px solid var(--arjuna-border);

    border-radius: 14px;

    padding: 8px 25px;

    box-shadow: var(--arjuna-shadow);
}


/* Cart item separator */

.woocommerce-cart .wc-block-cart-items__row {

    border-bottom: 1px solid var(--arjuna-border);
}


.woocommerce-cart .wc-block-cart-items__row:last-child {

    border-bottom: none;
}


/* =========================================================
   CART — PRODUCT IMAGE
   ========================================================= */

.woocommerce-cart .wc-block-cart-item__image img {

    width: 90px;

    height: auto;

    border-radius: 8px;

    border: 1px solid var(--arjuna-border);

    display: block;
}


/* =========================================================
   CART — PRODUCT NAME
   ========================================================= */

.woocommerce-cart
.wc-block-components-product-name {

    color: var(--arjuna-slate);

    font-size: 16px;

    font-weight: 700;

    text-decoration: none;
}


.woocommerce-cart
.wc-block-components-product-name:hover {

    color: var(--arjuna-slate-dark);
}


/* =========================================================
   CART — PRICE
   ========================================================= */

.woocommerce-cart
.wc-block-components-product-price {

    color: var(--arjuna-slate);

    font-size: 15px;

    font-weight: 600;
}


/* =========================================================
   CART — QUANTITY
   ========================================================= */

.woocommerce-cart
.wc-block-components-quantity-selector {

    min-height: 42px;

    border: 1px solid var(--arjuna-border-dark);

    border-radius: 8px;

    background: #FFFFFF;

    overflow: hidden;
}


.woocommerce-cart
.wc-block-components-quantity-selector__button {

    width: 38px;

    height: 40px;

    border: none;

    background: #FFFFFF;

    color: var(--arjuna-slate);

    font-size: 17px;

    font-weight: 600;

    cursor: pointer;
}


.woocommerce-cart
.wc-block-components-quantity-selector__button:hover {

    background: var(--arjuna-soft);

}


.woocommerce-cart
.wc-block-components-quantity-selector__input {

    width: 38px;

    height: 40px;

    border: none;

    background: #FFFFFF;

    color: var(--arjuna-slate);

    font-size: 14px;

    font-weight: 600;

    text-align: center;
}


/* =========================================================
   CART — REMOVE
   ========================================================= */

.woocommerce-cart
.wc-block-cart-item__remove-link {

    color: var(--arjuna-muted);

    font-size: 12px;

    text-decoration: underline;

    text-underline-offset: 3px;
}


.woocommerce-cart
.wc-block-cart-item__remove-link:hover {

    color: var(--arjuna-slate);

}


/* =========================================================
   CART — TOTALS
   ========================================================= */

.woocommerce-cart .wc-block-cart__totals {

    background: #FFFFFF;

    border: 1px solid var(--arjuna-border);

    border-radius: 14px;

    padding: 28px 30px;

    margin-top: 25px;

    box-shadow: var(--arjuna-shadow);
}


.woocommerce-cart
.wc-block-components-totals-item__label {

    color: var(--arjuna-text);

    font-size: 14px;

    font-weight: 600;
}


.woocommerce-cart
.wc-block-components-totals-item__value {

    color: var(--arjuna-slate);

    font-size: 16px;

    font-weight: 700;
}


/* Cart final total */

.woocommerce-cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label {

    color: var(--arjuna-slate);

    font-size: 17px;

    font-weight: 700;
}


.woocommerce-cart
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {

    color: var(--arjuna-slate);

    font-size: 21px;

    font-weight: 700;
}


/* =========================================================
   CART — CHECKOUT BUTTON
   ========================================================= */

.woocommerce-cart
.wc-block-cart__submit-button {

    width: 100%;

    min-height: 54px;

    margin-top: 20px;

    border: none;

    border-radius: 8px;

    background: var(--arjuna-slate);

    color: #FFFFFF;

    font-size: 15px;

    font-weight: 700;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}


.woocommerce-cart
.wc-block-cart__submit-button:hover {

    background: var(--arjuna-gold);

    color: var(--arjuna-slate-dark);

    transform: translateY(-1px);
}


/* =========================================================
   EMPTY CART
   ========================================================= */

.woocommerce-cart
.wc-block-cart__empty-cart {

    max-width: 700px;

    margin: 30px auto 0;

    padding: 65px 35px;

    background: #FFFFFF;

    border: 1px solid var(--arjuna-border);

    border-radius: 16px;

    text-align: center;

    box-shadow: var(--arjuna-shadow);
}


.woocommerce-cart
.wc-block-cart__empty-cart h2 {

    color: var(--arjuna-slate);

    font-size: 25px;

    font-weight: 700;
}


.woocommerce-cart
.wc-block-cart__empty-cart p {

    color: var(--arjuna-muted);

    font-size: 14px;

    line-height: 1.6;
}


.woocommerce-cart
.wc-block-cart__empty-cart
.wc-block-components-button {

    min-height: 48px;

    margin-top: 20px;

    padding: 0 28px;

    border: none;

    border-radius: 8px;

    background: var(--arjuna-slate);

    color: #FFFFFF;

    font-size: 14px;

    font-weight: 700;
}


.woocommerce-cart
.wc-block-cart__empty-cart
.wc-block-components-button:hover {

    background: var(--arjuna-gold);

    color: var(--arjuna-slate-dark);
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.woocommerce-cart button:focus,
.woocommerce-cart a:focus,
.woocommerce-cart input:focus,
.woocommerce-checkout button:focus,
.woocommerce-checkout a:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus {

    outline: 2px solid var(--arjuna-gold);

    outline-offset: 2px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .woocommerce-cart .site-main,
    .woocommerce-checkout .site-main {

        padding: 45px 20px 70px;
    }


    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title {

        font-size: 34px;
    }


    .woocommerce-cart .wc-block-cart-items {

        padding: 5px 15px;
    }


    .woocommerce-cart .wc-block-cart__totals {

        padding: 25px 20px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .woocommerce-cart .site-main,
    .woocommerce-checkout .site-main {

        padding: 35px 15px 55px;
    }


    .woocommerce-cart .entry-header,
    .woocommerce-checkout .entry-header {

        margin-bottom: 25px;
    }


    .woocommerce-cart .entry-title,
    .woocommerce-checkout .entry-title {

        font-size: 29px;

        letter-spacing: 0;
    }


    .woocommerce-cart .entry-header::after,
    .woocommerce-checkout .entry-header::after {

        margin-top: 12px;
    }


    /* Checkout sections */

    .woocommerce-checkout
    .wc-block-components-checkout-step {

        padding: 20px 17px;

        border-radius: 12px;
    }


    /* Cart */

    .woocommerce-cart .wc-block-cart-items {

        padding: 5px 10px;

        border-radius: 12px;
    }


    .woocommerce-cart .wc-block-cart-item__image img {

        width: 70px;

        border-radius: 7px;
    }


    .woocommerce-cart
    .wc-block-components-product-name {

        font-size: 14px;
    }


    .woocommerce-cart
    .wc-block-components-quantity-selector {

        min-height: 38px;
    }


    .woocommerce-cart
    .wc-block-components-quantity-selector__button {

        width: 34px;

        height: 36px;
    }


    .woocommerce-cart
    .wc-block-components-quantity-selector__input {

        width: 34px;

        height: 36px;
    }


    .woocommerce-cart .wc-block-cart__totals {

        margin-top: 18px;

        padding: 22px 17px;

        border-radius: 12px;
    }


    .woocommerce-cart
    .wc-block-cart__submit-button {

        min-height: 52px;

        font-size: 14px;
    }


    /* Empty cart */

    .woocommerce-cart
    .wc-block-cart__empty-cart {

        padding: 45px 20px;

        border-radius: 12px;
    }


    .woocommerce-cart
    .wc-block-cart__empty-cart h2 {

        font-size: 22px;
    }


    /* Checkout order summary */

    .woocommerce-checkout
    .wc-block-components-order-summary {

        padding: 20px;

        border-radius: 12px;
    }


    /* Place order */

    .woocommerce-checkout
    .wc-block-components-checkout-place-order-button {

        min-height: 52px;

        font-size: 14px;
    }
}

/* =========================================================
   ARJUNA PLANNERS — WOOCOMMERCE CHECKOUT BLOCK
   ========================================================= */

/* Checkout page background */
body.woocommerce-checkout {
    background: #ffffff;
}

/* Main checkout container */
body.woocommerce-checkout .wc-block-checkout {
    max-width: 1100px;
    margin: 40px auto 70px;
    padding: 0 20px;
}

/* Checkout headings */
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
    color: #34495E;
    font-size: 21px;
    font-weight: 700;
}

/* Checkout section cards */
body.woocommerce-checkout .wc-block-checkout__shipping-methods,
body.woocommerce-checkout .wc-block-components-address-form,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-order-summary {
    border-color: #E5EBF0;
}

/* Input fields */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
body.woocommerce-checkout select {
    border: 1px solid #D5DEE6 !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #34495E !important;
    min-height: 48px;
}

/* Input focus */
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus,
body.woocommerce-checkout select:focus {
    border-color: #F1C40F !important;
    box-shadow: 0 0 0 2px rgba(241, 196, 15, 0.18) !important;
    outline: none !important;
}

/* Input labels */
body.woocommerce-checkout .wc-block-components-text-input label {
    color: #34495E;
    font-weight: 600;
}

/* Order summary */
body.woocommerce-checkout .wc-block-components-order-summary {
    background: #F8FAFC;
    border: 1px solid #E5EBF0;
    border-radius: 10px;
    padding: 20px;
}

/* Order summary heading */
body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button {
    color: #34495E;
    font-weight: 700;
}

/* Product name */
body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    color: #34495E;
    font-weight: 600;
}

/* Prices */
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-price,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    color: #34495E;
    font-weight: 700;
}

/* Quantity badge */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    background: #34495E;
    color: #ffffff;
    border-radius: 50%;
}

/* Totals */
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
    color: #34495E;
}

/* Total amount */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #34495E;
    font-size: 20px;
    font-weight: 800;
}

/* Payment section */
body.woocommerce-checkout .wc-block-components-radio-control {
    border: 1px solid #E5EBF0;
    border-radius: 9px;
    overflow: hidden;
}

/* Payment option */
body.woocommerce-checkout .wc-block-components-radio-control__option {
    border-bottom: 1px solid #E5EBF0;
    padding: 16px;
}

/* Place order button */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background: #34495E !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 7px !important;
    min-height: 52px;
    font-size: 16px;
    font-weight: 700;
    width: 100%;
    transition: all 0.2s ease;
}

/* Place order hover */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: #2C3E50 !important;
    transform: translateY(-1px);
}

/* Terms and conditions */
body.woocommerce-checkout .wc-block-checkout__terms {
    color: #71808F;
    font-size: 13px;
}

/* Links */
body.woocommerce-checkout .wc-block-checkout a {
    color: #34495E;
}

body.woocommerce-checkout .wc-block-checkout a:hover {
    color: #D4AC0D;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    body.woocommerce-checkout .wc-block-checkout {
        margin-top: 25px;
        padding: 0 15px;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step__heading {
        font-size: 19px;
    }

    body.woocommerce-checkout .wc-block-components-order-summary {
        padding: 15px;
    }

    body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
        min-height: 50px;
    }
}

