/* Košarica koristi isti shell, header, menu i footer kao ostatak shopa. */
body.cart-page{
    background:
        radial-gradient(circle at top left,rgba(185,133,44,.08),transparent 34%),
        linear-gradient(180deg,#fbf8f4 0%,#f4eee5 100%);
    color:var(--text);
}

.cart-shell{
    width:min(calc(100% - 32px),1180px);
    margin:28px auto;
    background:var(--paper);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    overflow:hidden;
}

.cart-page .breadcrumb{
    margin:0;
    padding:18px 34px;
    background:#fffaf4;
    border:0;
    border-bottom:1px solid var(--line);
}

.cart-page .breadcrumb .container{
    width:100%;
    max-width:none;
    padding:0;
}

.cart-page .breadcrumb-inner ul{
    margin:0;
}

.cart-page .breadcrumb li,
.cart-page .breadcrumb li a{
    color:var(--muted)!important;
    font-size:13px!important;
    text-decoration:none;
}

.cart-page .body-content{
    padding:28px 34px 54px!important;
}

.cart-page .body-content>.container{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
}

.cart-page .body-content>.container>h3{
    margin:0 0 24px!important;
    padding:0!important;
    color:var(--text);
    font-family:Georgia,"Times New Roman",serif;
    font-size:38px!important;
    line-height:1.15;
    font-weight:500;
    text-align:left!important;
}

.cart-page .body-content>.container>h3:after{
    content:"";
    display:block;
    width:46px;
    height:2px;
    margin-top:12px;
    background:var(--gold);
}

.cart-page .shopping-cart,
.cart-page .shopping-cart.dark,
.cart-page .shopping-cart.dark>.container,
.cart-page .shopping-cart .content,
.cart-page .checkout-form{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

.cart-page .shopping-cart .col-md-12{
    width:100%!important;
    padding:0!important;
}

.cart-page .items{
    display:grid;
    gap:14px;
    margin-bottom:20px;
}

.cart-page .items .product{
    margin:0!important;
    padding:16px!important;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 8px 24px rgba(73,48,28,.06);
}

.cart-page .items .product>.row{
    width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:140px minmax(0,1fr) 175px!important;
    gap:20px!important;
    align-items:center!important;
}

.cart-page .items .product .product-image,
.cart-page .items .product .product-name,
.cart-page .items .product .text-right{
    float:none!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
}

.cart-page .items .product .product-image{
    grid-column:1;
}

.cart-page .items .product .product-image a{
    width:140px;
    aspect-ratio:4/3;
    display:block;
    overflow:hidden;
    border-radius:13px;
    background:#f4ede4;
}

.cart-page .items .product .product-image img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    display:block!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#f4ede4;
}

.cart-page .items .product .product-name{
    grid-column:2;
}

.cart-page .items .product .product-name>a{
    display:inline-block;
    color:var(--text)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px!important;
    line-height:1.25!important;
    font-weight:500!important;
    text-decoration:none!important;
    overflow-wrap:anywhere;
}

.cart-page .items .product .product-info{
    margin-top:8px!important;
    color:var(--muted)!important;
    font-size:13px!important;
    line-height:1.5;
}

.cart-page .items .product .text-right{
    grid-column:3;
    display:grid!important;
    grid-template-columns:72px 1fr 32px!important;
    align-items:center!important;
    gap:12px!important;
}

.cart-page .items .product .quantity input{
    width:68px!important;
    height:42px!important;
    padding:5px!important;
    border:1px solid var(--line)!important;
    border-radius:10px!important;
    text-align:center;
    box-shadow:none!important;
}

.cart-page .items .product .price{
    color:var(--text)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px!important;
    font-weight:700!important;
    white-space:nowrap;
}

.cart-page .items .product .ukloni button{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    padding:0!important;
    border:0!important;
    border-radius:50%;
    background:#fff0f0!important;
}

.cart-page .items .product .ukloni i{
    color:#b94343!important;
}

.cart-page .summary-box{
    float:none!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    margin:0 auto 16px!important;
    padding:0!important;
}

.cart-page .summary-box .summary{
    margin:0!important;
    padding:24px!important;
    background:#fff!important;
    border:1px solid var(--line);
    border-radius:20px!important;
    box-shadow:0 12px 34px rgba(73,48,28,.08);
}

.cart-page .summary-box h3,
.cart-page .shopping-cart-napomena h3{
    margin:0 0 18px!important;
    color:var(--text);
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px!important;
    font-weight:500;
}

.cart-page .summary-item{
    min-height:46px;
    padding:11px 0!important;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    border-bottom:1px solid var(--line);
}

.cart-page .summary-item:last-child{
    border-bottom:0;
}

.cart-page .summary-item .text{
    color:var(--muted);
    font-size:15px;
}

.cart-page .summary-item .price{
    color:var(--text);
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:700;
}

.cart-page .checkout-form .form-control,
.cart-page .checkout-form input[type=text],
.cart-page .checkout-form input[type=email],
.cart-page .checkout-form input[type=tel],
.cart-page .checkout-form input[type=number],
.cart-page .checkout-form select,
.cart-page .checkout-form textarea{
    width:100%;
    height:50px;
    padding:0 15px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:var(--text);
    box-shadow:none;
}

.cart-page .checkout-form textarea{
    min-height:105px!important;
    padding:14px 15px;
}

.cart-page .checkout-form input:focus,
.cart-page .checkout-form select:focus,
.cart-page .checkout-form textarea:focus{
    border-color:var(--gold);
    outline:none;
    box-shadow:0 0 0 4px rgba(185,133,44,.12);
}

.cart-page .payment-option{
    margin-bottom:11px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}

.cart-page .payment-option:has(input:checked){
    border-color:var(--gold);
    background:#fffaf2;
}

.cart-page .summary-submit{
    min-height:58px;
    border:0!important;
    border-radius:13px!important;
    background:linear-gradient(180deg,#c49137,#a97424)!important;
    color:#fff!important;
    font-size:17px;
    font-weight:700;
    box-shadow:0 11px 24px rgba(171,117,35,.24);
}

.cart-page .coupon-toggle span{
    color:var(--gold-dark);
}

.cart-page .coupon-container button{
    background:var(--gold)!important;
}

.cart-page .trust-badges{
    width:min(100%,760px);
    margin:16px auto 0;
    padding:20px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fffaf2;
}

.cart-page .prazna_kosarica{
    width:min(100%,760px);
    margin:20px auto;
    padding:55px 24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(73,48,28,.08);
    text-align:center;
}

@media(max-width:767px){
    .cart-shell{
        width:100%;
        max-width:none;
        margin:0;
        border-radius:0;
        box-shadow:none;
    }

    .cart-page .breadcrumb{
        padding:14px;
    }

    .cart-page .body-content{
        padding:20px 12px 42px!important;
    }

    .cart-page .body-content>.container>h3{
        font-size:30px!important;
        margin-bottom:18px!important;
    }

    .cart-page .items .product{
        padding:12px!important;
        border-radius:15px;
    }

    .cart-page .items .product>.row{
        grid-template-columns:108px minmax(0,1fr)!important;
        gap:12px!important;
    }

    .cart-page .items .product .product-image{
        grid-column:1;
        grid-row:1;
        align-self:start;
    }

    .cart-page .items .product .product-image a{
        width:108px;
    }

    .cart-page .items .product .product-name{
        grid-column:2;
        grid-row:1;
        align-self:center;
    }

    .cart-page .items .product .product-name>a{
        font-size:18px!important;
        line-height:1.25!important;
    }

    .cart-page .items .product .text-right{
        grid-column:1/-1!important;
        grid-row:2;
        width:100%!important;
        padding-top:12px!important;
        border-top:1px solid var(--line);
        grid-template-columns:72px 1fr 34px!important;
    }

    .cart-page .items .product .quantity label{
        display:none!important;
    }

    .cart-page .items .product .price{
        justify-self:center;
        font-size:18px!important;
    }

    .cart-page .summary-box .summary{
        padding:18px 14px!important;
        border-radius:16px!important;
    }

    .cart-page .summary-box h3,
    .cart-page .shopping-cart-napomena h3{
        font-size:22px!important;
    }

    .cart-page .coupon-container{
        display:grid;
        grid-template-columns:1fr;
    }

    .cart-page .coupon-container button{
        width:100%;
        min-height:48px;
    }

    .cart-page>div[style*="position: fixed"]{
        right:4px!important;
        bottom:4px!important;
        gap:4px!important;
    }

    .cart-page>div[style*="position: fixed"] a{
        margin:3px!important;
        padding:7px 10px!important;
    }

    .cart-page>div[style*="position: fixed"] a span{
        display:none;
    }
}


/* HITNI POPRAVAK: margine, puni sadržaj i mobilni raspored */
body.cart-page{
    overflow-x:hidden;
}

body.cart-page .cart-shell{
    width:min(calc(100% - 32px),1180px)!important;
    max-width:1180px!important;
    margin:24px auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
}

body.cart-page .body-content{
    width:100%!important;
}

body.cart-page .body-content > .container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}

body.cart-page .body-content .row.inner-bottom-sm{
    width:100%!important;
    margin:0!important;
}

body.cart-page .shopping-cart,
body.cart-page .shopping-cart.dark,
body.cart-page .shopping-cart.dark > .container,
body.cart-page .shopping-cart.dark > .container > .content,
body.cart-page #shopping-cart-form{
    width:100%!important;
    max-width:none!important;
}

body.cart-page .items .product{
    width:100%!important;
}

body.cart-page .summary-box{
    width:min(100%,760px)!important;
    max-width:760px!important;
}

@media(max-width:767px){
    body.cart-page{
        background:#f4eee5!important;
    }

    body.cart-page .cart-shell{
        width:calc(100% - 20px)!important;
        max-width:none!important;
        margin:10px auto!important;
        border-radius:18px!important;
        box-shadow:0 12px 34px rgba(73,48,28,.12)!important;
    }

    body.cart-page .topbar{
        position:relative!important;
        top:auto!important;
    }

    body.cart-page .breadcrumb{
        padding:14px 12px!important;
    }

    body.cart-page .body-content{
        padding:18px 10px 38px!important;
    }

    body.cart-page .body-content>.container>h3{
        padding:0 2px!important;
    }

    body.cart-page .items .product{
        width:100%!important;
        margin:0!important;
        padding:12px!important;
    }

    body.cart-page .items .product>.row{
        width:100%!important;
        grid-template-columns:90px minmax(0,1fr)!important;
        gap:12px!important;
    }

    body.cart-page .items .product .product-image a{
        width:90px!important;
        aspect-ratio:1/1!important;
    }

    body.cart-page .items .product .product-name>a{
        font-size:16px!important;
    }

    body.cart-page .items .product .text-right{
        grid-template-columns:64px minmax(0,1fr) 32px!important;
    }

    body.cart-page .summary-box{
        width:100%!important;
        max-width:none!important;
        margin:0 0 14px!important;
    }

    body.cart-page .summary-box .summary{
        width:100%!important;
        padding:17px 13px!important;
    }

    body.cart-page .summary-item{
        width:100%!important;
    }

    body.cart-page .shopping-cart-napomena textarea{
        width:100%!important;
    }

    body.cart-page .trust-badges{
        width:100%!important;
        margin:14px 0 0!important;
    }
}
