/* =========================
   RIKIVA CART PAGE
========================= */

.woocommerce-cart .site-main {
    background: #faf7f2;
}

.woocommerce-cart .woocommerce {
    max-width: 1300px;
    margin: 70px auto 100px;
    padding: 0 25px;
}

.woocommerce-cart h1,
.woocommerce-cart .entry-title {
    margin-bottom: 35px;
    color: #14274e;
    font-size: 44px;
}

.woocommerce-cart table.shop_table {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0,0,0,.06);
}

.woocommerce-cart table.shop_table th {
    padding: 18px;
    background: #f6efe6;
    color: #14274e;
    font-size: 14px;
}

.woocommerce-cart table.shop_table td {
    padding: 20px 18px;
    border-top: 1px solid #eee6dc;
    vertical-align: middle;
}

.woocommerce-cart .product-thumbnail img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:14px;
}

.woocommerce-cart .product-name a{
    font-size:24px;
    font-weight:700;
    color:#14274e;
}

.woocommerce-cart .product-price{
    font-size:32px;
    color:#b88a44;
    font-weight:700;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal {
    color: #b88a44;
    font-weight: 700;
}

.woocommerce-cart .quantity .qty {
    width: 75px;
    height: 46px;
    border: 1px solid #ddd3c7;
    border-radius: 30px;
    text-align: center;
}

.woocommerce-cart .coupon {
    display: flex;
    gap: 10px;
}

.woocommerce-cart .coupon input {
    min-width: 220px;
    padding: 12px 18px;
    border: 1px solid #ddd3c7;
    border-radius: 30px;
}

.woocommerce-cart button.button,
.woocommerce-cart a.button {
    padding: 13px 26px !important;
    border-radius: 30px !important;
    background: #b88a44 !important;
    color: #fff !important;
}

.woocommerce-cart button.button:hover,
.woocommerce-cart a.button:hover {
    background: #93682e !important;
}

.woocommerce-cart .cart-collaterals {
    margin-top: 40px;
}

.woocommerce-cart .cart_totals{
    width:380px;
    min-width:380px;
    padding:30px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
}

.woocommerce-cart .cart_totals h2 {
    margin-bottom: 20px;
    color: #14274e;
}

.woocommerce-cart .cart_totals table {
    border: 0;
}

.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals th {
    padding: 14px 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
    padding: 16px 20px !important;
    border-radius: 35px !important;
    background: #14274e !important;
    color: #fff !important;
    text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #b88a44 !important;
}

@media (max-width: 900px) {
    .woocommerce-cart .cart_totals {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .woocommerce-cart .coupon {
        flex-direction: column;
    }

    .woocommerce-cart .coupon input {
        width: 100%;
        min-width: 0;
    }
}

.cart_totals{
    width:360px;
}


.cart_totals table{
    width:100%;
}

.cart_totals td{
    white-space:nowrap;
    text-align:right;
    font-size:18px;
    font-weight:600;
}

.cart_totals th{
    font-size:18px;
    color:#14274e;
}

.cart_totals td strong{
    white-space:nowrap;
}

.quantity .qty{
    width:80px;
    height:50px;
    border-radius:30px;
    font-size:18px;
}



/* ========================================
   FREE SHIPPING PROGRESS
======================================== */

.rikiva-shipping-progress {
    margin-bottom: 25px;
    padding: 18px 20px;

    border: 1px solid rgba(184, 138, 68, .16);
    border-radius: 14px;

    background: #fffaf4;
}

.rikiva-shipping-progress p {
    margin: 0 0 12px;

    color: #14274e;

    font-size: 13px;
    line-height: 1.6;
}

.rikiva-shipping-progress strong {
    color: #b88a44;
}

.rikiva-shipping-progress-bar {
    height: 8px;

    overflow: hidden;

    border-radius: 20px;

    background: #eadfce;
}

.rikiva-shipping-progress-bar span {
    display: block;

    height: 100%;

    border-radius: inherit;

    background: #b88a44;

    transition: width .35s ease;
}

.rikiva-shipping-progress .is-complete {
    margin: 0;

    color: #347248;

    font-weight: 700;
}

/* =========================================================
   RIKIVA — PREMIUM CART TOTALS CARD
   ========================================================= */

.woocommerce-cart .cart-collaterals {
    margin-top: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    float: none;

    padding: 30px;

    background: #ffffff;
    border: 1px solid rgba(184, 138, 68, 0.16);
    border-radius: 22px;

    box-shadow:
        0 18px 45px rgba(20, 39, 78, 0.07);

    overflow: hidden;
}


/* -------------------------------
   FREE SHIPPING MESSAGE
-------------------------------- */

.woocommerce-cart .rikiva-shipping-progress {
    margin: 0 0 26px;
    padding: 16px 18px;

    background: #f8f3eb;
    border: 1px solid rgba(184, 138, 68, 0.18);
    border-radius: 12px;
}

.woocommerce-cart .rikiva-shipping-progress p {
    margin: 0;

    color: #14274e;
    font-size: 14px;
    line-height: 1.5;
}

.woocommerce-cart .rikiva-shipping-progress .is-complete {
    color: #357a4c;
    font-weight: 600;
}


/* -------------------------------
   CART TOTALS TITLE
-------------------------------- */

.woocommerce-cart .cart_totals > h2 {
    margin: 0 0 22px;

    padding-bottom: 18px;

    border-bottom: 1px solid #eee5da;

    color: #14274e;

    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}


/* -------------------------------
   REMOVE DEFAULT TABLE LOOK
-------------------------------- */

.woocommerce-cart .cart_totals table.shop_table {
    width: 100%;

    margin: 0;

    border: 0 !important;
    border-collapse: collapse;

    background: transparent;
    border-radius: 0;
}

.woocommerce-cart .cart_totals table.shop_table tr {
    border-bottom: 1px solid #eee7dd;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 18px 0 !important;

    border: 0 !important;
    background: transparent !important;

    vertical-align: top;
}


/* LEFT LABEL */

.woocommerce-cart .cart_totals table.shop_table th {
    width: 40%;

    color: #667085;

    font-size: 14px;
    font-weight: 500;

    text-align: left;
}


/* RIGHT VALUE */

.woocommerce-cart .cart_totals table.shop_table td {
    color: #14274e;

    font-size: 15px;
    font-weight: 600;

    text-align: right;
}


/* -------------------------------
   SUBTOTAL
-------------------------------- */

.woocommerce-cart .cart_totals .cart-subtotal td {
    color: #14274e;
    font-weight: 600;
}


/* -------------------------------
   SHIPPING SECTION
-------------------------------- */

.woocommerce-cart .cart_totals .woocommerce-shipping-totals th {
    color: #14274e;
    font-weight: 600;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
    text-align: right;
}


/* Free Shipping */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-methods {
    margin: 0;
    padding: 0;

    list-style: none;
}

.woocommerce-cart
.cart_totals
.woocommerce-shipping-methods li {
    margin: 0;
}

.woocommerce-cart
.cart_totals
.woocommerce-shipping-methods label {
    color: #357a4c;

    font-size: 14px;
    font-weight: 600;
}


/* -------------------------------
   SHIPPING DESTINATION
-------------------------------- */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-destination {
    margin: 10px 0 0;

    color: #667085;

    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}

.woocommerce-cart
.cart_totals
.woocommerce-shipping-calculator {
    margin-top: 8px;
}

.woocommerce-cart
.cart_totals
.shipping-calculator-button {
    color: #b88a44;

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;
}

.woocommerce-cart
.cart_totals
.shipping-calculator-button:hover {
    color: #14274e;
}


/* -------------------------------
   ORDER TOTAL
-------------------------------- */

.woocommerce-cart .cart_totals .order-total {
    border-bottom: 0 !important;
}

.woocommerce-cart
.cart_totals
.order-total th,
.woocommerce-cart
.cart_totals
.order-total td {
    padding-top: 22px !important;
    padding-bottom: 8px !important;
}

.woocommerce-cart
.cart_totals
.order-total th {
    color: #14274e;

    font-size: 16px;
    font-weight: 700;
}

.woocommerce-cart
.cart_totals
.order-total td {
    color: #14274e;

    font-size: 20px;
    font-weight: 700;
}

.woocommerce-cart
.cart_totals
.order-total
.amount {
    color: #14274e;
}


/* -------------------------------
   CHECKOUT BUTTON
-------------------------------- */

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 26px 0 0;
}

.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
    display: flex;

    width: 100%;
    min-height: 56px;

    margin: 0 !important;
    padding: 15px 24px !important;

    align-items: center;
    justify-content: center;

    background: #14274e !important;

    border: 0 !important;
    border-radius: 50px !important;

    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 600 !important;

    text-decoration: none;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button:hover {
    background: #b88a44 !important;

    transform: translateY(-2px);

    box-shadow:
        0 10px 24px rgba(184, 138, 68, 0.22);
}


/* =========================================================
   DESKTOP WIDTH
   ========================================================= */

@media (min-width: 1024px) {

    .woocommerce-cart .cart-collaterals {
        padding-left: 24px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1023px) {

    .woocommerce-cart .cart-collaterals {
        padding-left: 0;
        margin-top: 30px;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        max-width: 100%;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .woocommerce-cart .cart-collaterals .cart_totals {
        padding: 22px 18px;

        border-radius: 16px;
    }

    .woocommerce-cart .cart_totals > h2 {
        font-size: 21px;
    }

    .woocommerce-cart
    .cart_totals
    table.shop_table th,
    .woocommerce-cart
    .cart_totals
    table.shop_table td {
        padding: 15px 0 !important;
    }

    .woocommerce-cart
    .cart_totals
    .order-total td {
        font-size: 18px;
    }

}

/* =========================================================
   RIKIVA CART — FINAL PREMIUM POLISH
   ========================================================= */


/* MAIN CART GRID */

.woocommerce-cart .woocommerce {
    max-width: 1400px;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}

.woocommerce-cart .woocommerce-cart-form {
    background: #fff;
    border-radius: 22px;

    box-shadow:
        0 16px 45px rgba(20, 39, 78, 0.055);

    overflow: hidden;
}


/* =========================================================
   PRODUCT TABLE
   ========================================================= */

.woocommerce-cart table.shop_table.cart {
    margin: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;
}

.woocommerce-cart
table.shop_table.cart thead {
    background: #f8f3eb;
}

.woocommerce-cart
table.shop_table.cart thead th {
    padding: 22px 20px !important;

    border: 0 !important;

    color: #14274e;

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .5px;
}


/* PRODUCT ROW */

.woocommerce-cart
table.shop_table.cart
.cart_item td {
    padding: 24px 20px !important;

    border: 0 !important;
    border-bottom: 1px solid #eee6dc !important;

    vertical-align: middle;
}


/* PRODUCT IMAGE */

.woocommerce-cart
.product-thumbnail img {
    width: 105px !important;
    height: 105px !important;

    object-fit: cover;

    border-radius: 14px;

    box-shadow:
        0 7px 18px rgba(0,0,0,.06);
}


/* PRODUCT NAME */

.woocommerce-cart
.product-name a {
    color: #14274e !important;

    font-size: 19px;
    font-weight: 700;

    text-decoration: none;
}

.woocommerce-cart
.product-name a:hover {
    color: #b88a44 !important;
}


/* PRICE BELOW PRODUCT */

.woocommerce-cart
.product-name .amount,
.woocommerce-cart
.product-price .amount {
    color: #14274e;

    font-weight: 600;
}


/* QUANTITY */

.woocommerce-cart
.quantity {
    display: inline-flex;

    align-items: center;

    border: 1px solid #e1d6c9;

    border-radius: 12px;

    background: #fff;

    overflow: hidden;
}

.woocommerce-cart
.quantity input.qty {
    width: 48px !important;
    min-height: 46px;

    border: 0 !important;

    color: #14274e;

    text-align: center;

    box-shadow: none !important;
}


/* SUBTOTAL */

.woocommerce-cart
.product-subtotal .amount {
    color: #b88a44;

    font-size: 16px;
    font-weight: 700;
}


/* REMOVE ICON */

.woocommerce-cart
.product-remove a {
    display: flex;

    width: 34px;
    height: 34px;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #8c98a8 !important;

    font-size: 18px !important;

    transition:
        background .2s ease,
        color .2s ease;
}

.woocommerce-cart
.product-remove a:hover {
    background: #fff1f1;

    color: #b54747 !important;
}


/* =========================================================
   COUPON AREA
   ========================================================= */

.woocommerce-cart
table.shop_table.cart
.actions {
    padding: 20px !important;

    border: 0 !important;

    background: #fff;
}

.woocommerce-cart
.coupon {
    display: flex;

    gap: 12px;
}

.woocommerce-cart
.coupon input.input-text {
    min-width: 220px;

    min-height: 48px;

    padding: 0 18px;

    border: 1px solid #dfd4c6 !important;

    border-radius: 30px !important;

    background: #fff;

    color: #14274e;
}

.woocommerce-cart
.coupon button {
    min-height: 48px;

    padding: 0 26px !important;

    border-radius: 30px !important;

    background: #b88a44 !important;

    color: #fff !important;

    font-weight: 600 !important;
}


/* =========================================================
   CART TOTALS — CLEANER SHIPPING SECTION
   ========================================================= */

.woocommerce-cart
.cart_totals {
    padding: 30px !important;
}


/* SHIPPING ROW */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-totals {
    display: table-row;
}

.woocommerce-cart
.cart_totals
.woocommerce-shipping-totals th {
    width: 38%;

    padding-top: 20px !important;

    color: #667085;

    font-size: 14px;
    font-weight: 500;
}

.woocommerce-cart
.cart_totals
.woocommerce-shipping-totals td {
    padding-top: 20px !important;

    text-align: right;
}


/* REMOVE TOO MUCH VERTICAL SPACE */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-methods {
    margin-bottom: 5px;
}


/* FREE SHIPPING */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-methods label {
    display: inline-flex;

    align-items: center;

    padding: 7px 12px;

    border-radius: 30px;

    background: #f1faf4;

    color: #347a4a !important;

    font-size: 13px;
    font-weight: 700;
}


/* DESTINATION */

.woocommerce-cart
.cart_totals
.woocommerce-shipping-destination {
    margin-top: 10px;

    color: #747f8f;

    font-size: 12px;
}

.woocommerce-cart
.cart_totals
.shipping-calculator-button {
    display: inline-block;

    margin-top: 8px;

    color: #b88a44;

    font-size: 12px;
    font-weight: 600;
}


/* =========================================================
   TOTAL — STRONGER
   ========================================================= */

.woocommerce-cart
.cart_totals
.order-total {
    border-top: 2px solid #14274e !important;
}

.woocommerce-cart
.cart_totals
.order-total th {
    padding-top: 24px !important;

    color: #14274e;

    font-size: 17px;
    font-weight: 700;
}

.woocommerce-cart
.cart_totals
.order-total td {
    padding-top: 24px !important;

    color: #14274e;

    font-size: 22px;
    font-weight: 800;
}


/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

.woocommerce-cart
.wc-proceed-to-checkout {
    padding-top: 28px;
}

.woocommerce-cart
.wc-proceed-to-checkout
.checkout-button {
    min-height: 58px !important;

    border-radius: 35px !important;

    font-size: 15px !important;

    letter-spacing: .2px;

    box-shadow:
        0 12px 25px rgba(20,39,78,.13);
}


/* Small reassurance below the button */

.woocommerce-cart
.wc-proceed-to-checkout::after {
    content: "🔒 Secure checkout • Easy returns";

    display: block;

    margin-top: 15px;

    color: #7c8795;

    font-size: 11px;

    text-align: center;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .woocommerce-cart .woocommerce {
        padding-left: 16px;
        padding-right: 16px;
    }

    .woocommerce-cart
    table.shop_table.cart
    .cart_item td {
        padding: 18px 14px !important;
    }

    .woocommerce-cart
    .product-thumbnail img {
        width: 80px !important;
        height: 80px !important;
    }

    .woocommerce-cart
    .product-name a {
        font-size: 16px;
    }

    .woocommerce-cart
    .coupon {
        display: grid;

        grid-template-columns: 1fr;
    }

    .woocommerce-cart
    .coupon input.input-text,
    .woocommerce-cart
    .coupon button {
        width: 100% !important;
    }

}


/* =========================================================
   RIKIVA FREE SHIPPING PROGRESS
========================================================= */

.rikiva-shipping-progress {

    max-width: 100%;

    margin: 0 0 20px;

    padding: 17px 18px;

    border:
        1px solid #eee4d7;

    border-radius: 13px;

    background: #fffaf4;
}


.rikiva-shipping-progress-text {

    display: flex;

    align-items: center;

    gap: 11px;
}


.rikiva-shipping-icon {

    display: flex;

    width: 36px;
    height: 36px;

    flex: 0 0 36px;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f4e8d8;

    font-size: 14px;
}


.rikiva-shipping-progress-text strong {

    display: block;

    margin-bottom: 3px;

    color: #14274e;

    font-size: 12px;
    font-weight: 700;
}


.rikiva-shipping-progress-text small {

    display: block;

    color: #777f89;

    font-size: 9px;
}


/* PROGRESS */

.rikiva-shipping-progress-bar {

    width: 100%;
    height: 5px;

    overflow: hidden;

    margin-top: 13px;

    border-radius: 10px;

    background: #eadfd2;
}


.rikiva-shipping-progress-bar span {

    display: block;

    height: 100%;

    border-radius: inherit;

    background: #b88a44;

    transition:
        width .35s ease;
}


/* FREE SHIPPING */

.rikiva-free-shipping-achieved
.rikiva-shipping-icon {

    background: #e8f4eb;

    color: #32734b;
}


.rikiva-shipping-progress-bar.is-complete span {

    background: #4f805f;
}

/* =========================================================
   RIKIVA CART QUANTITY - FINAL LAYOUT FIX
========================================================= */

.woocommerce-cart-form .quantity {
    display: grid !important;
    grid-template-columns: 46px 54px 46px !important;
    align-items: center !important;

    width: 146px !important;
    min-width: 146px !important;
    height: 58px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 1px solid #e4d5c2 !important;
    border-radius: 15px !important;
    overflow: hidden !important;

    background: #fff !important;
}


/* MINUS */

.woocommerce-cart-form .quantity .minus,
.woocommerce-cart-form .quantity .ct-decrease,
.woocommerce-cart-form .quantity .qty-minus,
.woocommerce-cart-form .quantity .rikiva-qty-minus {

    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 58px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    background: transparent !important;

    font-size: 20px !important;
    line-height: 1 !important;

    cursor: pointer !important;
}


/* ACTUAL NUMBER */

.woocommerce-cart-form .quantity input.qty {

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: static !important;

    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;

    height: 58px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    border-left: 1px solid #eee3d5 !important;
    border-right: 1px solid #eee3d5 !important;

    background: #fff !important;

    color: #0c2854 !important;

    font-size: 18px !important;
    font-weight: 600 !important;

    line-height: 58px !important;
    text-align: center !important;

    appearance: textfield !important;
    -moz-appearance: textfield !important;

    z-index: 2 !important;
}


/* Remove browser arrows */

.woocommerce-cart-form
.quantity
input.qty::-webkit-outer-spin-button,

.woocommerce-cart-form
.quantity
input.qty::-webkit-inner-spin-button {

    -webkit-appearance: none !important;
    margin: 0 !important;
}


/* PLUS */

.woocommerce-cart-form .quantity .plus,
.woocommerce-cart-form .quantity .ct-increase,
.woocommerce-cart-form .quantity .qty-plus,
.woocommerce-cart-form .quantity .rikiva-qty-plus {

    position: static !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 58px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    background: transparent !important;

    font-size: 20px !important;
    line-height: 1 !important;

    cursor: pointer !important;
}


/* Don't allow hover to cover quantity */

.woocommerce-cart-form .quantity button:hover,
.woocommerce-cart-form .quantity .plus:hover,
.woocommerce-cart-form .quantity .minus:hover,
.woocommerce-cart-form .quantity .ct-increase:hover,
.woocommerce-cart-form .quantity .ct-decrease:hover {

    background: #faf7f2 !important;
    transform: none !important;
}