/* =============================================================
   CART PAGE
   ============================================================= */

.woocommerce-cart .entry-content {
    padding: 0;
}

.woocommerce-cart #content.site-content {
    max-width: none;
}

.roland-cart__layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 12px;
}

.woocommerce-cart .cart_totals {
    float: none !important;
    width: 100% !important;
}

.woocommerce-cart .woocommerce-cart-form .product-thumbnail img {
    width: 100px !important;
    height: 100px !important;
    object-fit: cover;
    border-radius: 4px;
}

.woocommerce-cart .product-name {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 8px;
}

.woocommerce-cart .product-name a:first-child img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

.woocommerce-cart table.cart td {
    vertical-align: bottom !important;
}

.woocommerce-cart .product-remove .remove {
    border: none !important;
}
/* odstranitev rocnega update cart -> js/cart-update.js */
.woocommerce-cart [name="update_cart"] {
    display: none !important;
}

.product-name a{
    color: var(--color-primary);
    font-size: var(--text-h3);
    width: 100%;
}
.product-name a:hover{
    text-decoration: underline;
}

.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
    font-family: var(--font-heading, 'Sora', sans-serif);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-primary);
    padding: 12px 16px;
    background: transparent;
    border-bottom: 1px solid rgba(10, 71, 52, 0.1);

}
.woocommerce-cart .woocommerce-cart-form .shop_table thead tr{
    border-bottom: 1px solid rgba(10, 71, 52, 0.1);
}

.woocommerce-cart .woocommerce-cart-form__cart-item td {
    padding: 20px 16px;
}

.woocommerce-cart .product-name a:first-child img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added {
    display: flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    border: none !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added .minus,
.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added .plus {
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    border: none !important;
    background: transparent !important;
    font-size: var(--text-h2);
    color: var(--color-primary) !important;
    cursor: pointer;
    user-select: none;
    padding: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added .minus:hover,
.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added .plus:hover {
    opacity: 1;
}

.woocommerce-cart .woocommerce-cart-form .quantity.buttons-added .qty {
    width: 32px !important;
    height: 28px !important;
    min-height: 28px !important;
    text-align: center;
    font-size: var(--font-body);
    color: var(--color-primary);
    background: transparent !important;
    padding: 0 !important;
}

.woocommerce-cart .quantity.buttons-added .qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity.buttons-added .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

/* cena */
.woocommerce-cart .product-price {
    font-weight: var(--font-weight-bold);
    font-size: var(--text-h3);
    white-space: nowrap;
}

.woocommerce-cart .product-remove img{
    text-align: center;
    width: 12px !important;
}

.woocommerce-cart .product-remove .remove {
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-cart .product-remove .remove:hover {
    opacity: 1;
}

/* kupon */
.woocommerce-cart .actions {
    padding: 16px 0 0;
    border: none !important;
    background: transparent !important;
}

.woocommerce-cart .coupon {
    display: flex;
    gap: 8px;
    align-items: center;
}

.woocommerce-cart .coupon .input-text {
    height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(10, 71, 52, 0.2);
    border-radius: 6px;
    font-size: 14px;
    font-family: var(--font-body, 'IBM Plex Sans', sans-serif);
    color: var(--color-primary);
    background: #fff;
    width: 180px;
}

.woocommerce-cart .coupon .button {
    border: 1px solid var(--color-primary) !important;
    border-radius: 5px;
    background-color:transparent;
    color: var(--color-primary) !important;
    padding: 5px 10px !important;
}

.woocommerce-cart .coupon .button:hover {
    background: var(--color-primary) !important;
    color: #fff !important;
}

.woocommerce-cart .coupon {
    flex-wrap: wrap;
}

.woocommerce-cart .coupon .coupon-error-notice {
    width: 100%;
    margin: 6px 0 0;
    font-size: 13px;
    color: var(--color-primary);
    opacity: 0.7;
}

/* ── Cart totals panel ── */
.woocommerce-cart .cart_totals h2 {
    font-family: var(--font-heading, 'Sora', sans-serif);
    font-size: 20px;
    font-weight: 600;
    color: var(--color-primary);
    margin: 0 0 16px;
}

.woocommerce-cart .cart_totals .shop_table {
    width: 100%;
    border: none !important;
    border-collapse: collapse;
    border-radius: 0 !important;
    margin: 0 !important;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
    padding: 14px 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(10, 71, 52, 0.1) !important;
    font-size: 15px;
    vertical-align: top;
    background: transparent !important;
}

.woocommerce-cart .cart_totals .shop_table th {
    font-weight: 500;
    color: var(--color-primary);
    width: 45%;
}

.woocommerce-cart .cart_totals .shop_table td {
    color: var(--color-primary);
    text-align: right;
}

/* Order total — emphasized */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    border-bottom: none !important;
    padding-top: 18px !important;
    font-size: var(--font-body);
    font-weight: 700;
}

/* Tax note */
.woocommerce-cart .cart_totals .includes_tax {
    display: block;
    font-size: var(--text-small);
    font-weight: var(--font-weight-regular);
    margin-top: 4px;
}

/* Shipping info */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    font-size: 13px;
    opacity: 0.7;
    margin: 4px 0 0;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods{
    font-weight: var(--font-weight-bold);
}
.woocommerce-cart .cart_totals .shipping-calculator-button {
    font-size: 13px;
    color: var(--color-primary) !important;
    opacity: 0.6;
    text-decoration: underline;
}

/* ── Shipping calculator ── */
.woocommerce-cart .shipping-calculator-button {
    font-size: 13px;
    color: var(--color-primary) !important;
    opacity: 0.6;
    text-decoration: underline !important;
    cursor: pointer;
}

.woocommerce-cart .shipping-calculator-button:hover {
    opacity: 1;
}

.woocommerce-cart .shipping-calculator-form {
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Input fields */
.woocommerce-cart .shipping-calculator-form .form-row {
    margin: 0;
    padding: 0;
}

.woocommerce-cart .shipping-calculator-form label {
    font-size: 12px;
    font-weight: 500;
    color: var(--color-primary);
    opacity: 0.7;
    margin-bottom: 4px;
    display: block;
}

.woocommerce-cart .shipping-calculator-form .input-text,
.woocommerce-cart .shipping-calculator-form .select2-selection {
    width: 100% !important;
    height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(10, 71, 52, 0.2) !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-family: var(--font-body, 'IBM Plex Sans', sans-serif) !important;
    color: var(--color-primary) !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .shipping-calculator-form .select2-selection__rendered {
    line-height: 38px !important;
    padding-left: 10px !important;
    color: var(--color-primary) !important;
    font-size: 14px !important;
}

.woocommerce-cart .shipping-calculator-form .select2-selection__arrow {
    height: 38px !important;
}

/* Submit button */
.woocommerce-cart .shipping-calculator-form .button {
    height: 38px !important;
    padding: 0 16px !important;
    background: var(--color-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    width: 100% !important;
    margin-top: 4px;
}

.woocommerce-cart .shipping-calculator-form .button:hover {
    background: var(--color-secondary) !important;
    color: var(--color-primary) !important;
}

/* ── Checkout button ── */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block;
    width: 100%;
    background: var(--color-soft) !important;
    color: var(--color-primary) !important;
    font-size: var(--text-h4);
    font-weight: var(--font-weight-bold);
    text-align: center;
    border-radius: 5px !important;
    border: none !important;
    text-decoration: none;
    box-sizing: border-box;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--color-secondary) !important;
    color: var(--color-primary) !important;
}

/* ── Cross-sells — aligned with cart layout ── */
.roland-cart__cross-sells {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 40px 48px;
}
.roland-cart__cross-sells .cross-sells h2 {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    text-align: left;
    padding-top: 16px;
    padding-bottom: 16px;
    margin: 0;
}

.roland-cart__cross-sells .cross-sells ul.products::before,
.roland-cart__cross-sells .cross-sells ul.products::after {
    display: none !important;
}

.roland-cart__cross-sells .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    list-style: none;
    margin: 0;
    padding: 0 0 16px;
}

.roland-cart__cross-sells .cross-sells ul.products li.product {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px 4px;
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .wc-product-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .wc-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-body);
    font-size: var(--text-small);
    font-weight: var(--font-weight-medium);
    text-align: center;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    margin: 0;
    color: var(--color-text);
}

.roland-cart__cross-sells .cross-sells ul.products li.product .price {
    font-family: var(--font-body);
    font-size: var(--text-small);
    font-weight: var(--font-weight-bold);
    color: var(--color-accent);
    text-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .price del {
    font-size: var(--text-small) !important;
    color: var(--color-gray);
    text-decoration: line-through;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .price ins {
    font-size: var(--text-small) !important;
    text-decoration: none;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .price .woocommerce-Price-amount {
    font-size: var(--text-h4) !important;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .add_to_cart_button,
.roland-cart__cross-sells .cross-sells ul.products li.product .product_type_simple,
.roland-cart__cross-sells .cross-sells ul.products li.product .product_type_variable {
    display: block;
    background: var(--color-secondary);
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: var(--text-small);
    font-weight: var(--font-weight-medium);
    text-align: center;
    padding: 8px 14px;
    border-radius: 5px;
    text-decoration: none;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

.roland-cart__cross-sells .cross-sells ul.products li.product .add_to_cart_button:hover,
.roland-cart__cross-sells .cross-sells ul.products li.product .product_type_simple:hover,
.roland-cart__cross-sells .cross-sells ul.products li.product .product_type_variable:hover {
    background: var(--color-primary);
    color: #fff;
}
@media (min-width: 1200px) {
    .roland-cart__layout {
        flex-direction: row;
        align-items: flex-start;
        gap: 40px;
        padding: 48px 40px;
        max-width: 1200px;
        margin: 0 auto;
    }

    .roland-cart__layout .woocommerce-cart-form {
        flex: 1;
        min-width: 0;
    }

    .roland-cart__layout .cart-collaterals {
        flex: 0 0 360px;
        position: sticky;
        top: calc(var(--header-height, 80px) + 24px);
    }
    .roland-cart__cross-sells .cross-sells ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}
