/* KM Magazine — Sacola, Pedidos, PIX e WhatsApp V4.1 */

.cart-menu-link{
    display:inline-flex!important;
    align-items:center;
    gap:7px;
}

.cart-menu-link span{
    min-width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border-radius:999px;
    color:#fff;
    background:var(--primary);
    font-size:.7rem;
    font-weight:900;
}

.product-cart-form{
    margin-top:13px;
}

.product-add-cart-btn{
    width:100%;
    min-height:45px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:13px;
    color:#fff;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    box-shadow:0 12px 28px rgba(96,67,109,.17);
    text-decoration:none;
    font-weight:900;
    cursor:pointer;
}

.product-add-cart-btn.vip-lock{
    background:#44304a;
}

.cart-hero,
.order-success-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding:65px max(6vw,25px);
    color:#fff;
    background:linear-gradient(135deg,#36223d,#765080);
}

.cart-hero h1,
.order-success-hero h1,
.checkout-heading h1{
    margin:8px 0;
    font:700 clamp(3rem,6vw,5.5rem) Georgia,serif;
}

.cart-hero p,
.order-success-hero p{
    color:rgba(255,255,255,.72);
}

.cart-hero-count{
    width:120px;
    height:120px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.22);
    border-radius:50%;
    background:rgba(255,255,255,.1);
    font-weight:900;
}

.cart-layout,
.checkout-layout,
.order-success-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    gap:28px;
    padding:50px max(6vw,25px);
    background:#faf7fb;
}

.cart-items-panel,
.cart-summary,
.checkout-form-panel,
.checkout-summary,
.order-success-panel,
.pix-card{
    border:1px solid #e8deea;
    border-radius:26px;
    background:#fff;
    box-shadow:0 20px 55px rgba(62,39,68,.08);
}

.cart-items-panel,
.checkout-form-panel,
.order-success-panel{
    padding:26px;
}

.cart-summary,
.checkout-summary,
.pix-card{
    position:sticky;
    top:100px;
    height:max-content;
    padding:26px;
}

.cart-item{
    display:grid;
    grid-template-columns:105px minmax(0,1fr) 110px 140px auto;
    align-items:center;
    gap:18px;
    padding:18px 0;
    border-bottom:1px solid #eee7f0;
}

.cart-item-image{
    width:105px;
    height:130px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:#fff;
    background:#684572;
    font:700 1.4rem Georgia,serif;
}

.cart-item-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.cart-item-copy h2{
    margin:5px 0;
    font:700 1.35rem Georgia,serif;
}

.cart-item-copy small{
    color:#7e6086;
    font-weight:900;
    text-transform:uppercase;
}

.cart-item-quantity input{
    width:82px;
}

.cart-item-total small,
.cart-item-total strong{
    display:block;
}

.cart-remove-button{
    border:0;
    color:#a32e38;
    background:transparent;
    font-weight:900;
    cursor:pointer;
}

.cart-update-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding-top:22px;
}

.cart-summary>div,
.checkout-summary-item,
.order-success-item,
.pix-card>div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:11px 0;
}

.cart-summary-total strong,
.checkout-total strong,
.order-success-total strong{
    font:700 1.7rem Georgia,serif;
}

.cart-empty{
    padding:60px 20px;
    text-align:center;
}

.cart-empty>span{
    font-size:3rem;
}

.checkout-heading{
    padding:55px max(6vw,25px) 20px;
    background:#faf7fb;
}

.checkout-heading h1{
    color:#281f2b;
}

.checkout-form-panel h2{
    margin:28px 0 14px;
    font:700 1.7rem Georgia,serif;
}

.checkout-form-panel h2:first-child{
    margin-top:0;
}

.checkout-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
}

.delivery-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.delivery-options label,
.payment-option{
    display:flex;
    gap:11px;
    padding:16px;
    border:1px solid #e4d8e6;
    border-radius:16px;
    background:#faf7fb;
    cursor:pointer;
}

.delivery-options span,
.delivery-options strong,
.delivery-options small,
.payment-option span,
.payment-option strong,
.payment-option small{
    display:block;
}

.delivery-options small,
.payment-option small{
    margin-top:4px;
    color:#847887;
}

.order-success-hero{
    justify-content:center;
    flex-direction:column;
    text-align:center;
}

.order-success-icon{
    width:75px;
    height:75px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#2e7c55;
    background:#e8f8ef;
    font-size:2rem;
    font-weight:900;
}

.pix-key{
    max-width:250px;
    overflow-wrap:anywhere;
    text-align:right;
}

.whatsapp-confirm-button{
    color:#144e33!important;
    background:#dff8e9!important;
}

.orders-admin-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(370px,.65fr);
    gap:24px;
    align-items:start;
}

.orders-list-panel,
.payment-settings-panel{
    padding:24px;
}

.payment-settings-panel{
    position:sticky;
    top:96px;
}

.orders-list-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:18px;
}

.order-pill{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:#eee7f0;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
}

.payment-confirmed,
.status-delivered,
.status-paid{
    color:#0d714b;
    background:#e4f7ed;
}

.payment-pending,
.status-new{
    color:#8a5d13;
    background:#fff0d3;
}

.status-cancelled,
.payment-refused{
    color:#a12b35;
    background:#fde6e8;
}

.order-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);
    gap:24px;
}

.order-detail-layout>.panel{
    padding:25px;
}

.admin-order-item{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-bottom:1px solid #eee7f0;
}

.admin-order-item small{
    display:block;
    margin-top:4px;
    color:#837787;
}

.admin-order-total{
    display:flex;
    justify-content:space-between;
    padding-top:17px;
    font-size:1.25rem;
}

.back-link{
    display:inline-block;
    margin-bottom:13px;
    color:#684572;
    font-weight:900;
    text-decoration:none;
}

@media(max-width:1050px){
    .cart-layout,
    .checkout-layout,
    .order-success-layout,
    .orders-admin-layout,
    .order-detail-layout{
        grid-template-columns:1fr;
    }

    .cart-summary,
    .checkout-summary,
    .pix-card,
    .payment-settings-panel{
        position:static;
    }

    .cart-item{
        grid-template-columns:90px minmax(0,1fr) 90px;
    }

    .cart-item-total,
    .cart-remove-button{
        grid-column:2/4;
    }
}

@media(max-width:650px){
    .cart-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .cart-hero-count{
        width:auto;
        height:auto;
        padding:10px 15px;
        border-radius:999px;
    }

    .cart-layout,
    .checkout-layout,
    .order-success-layout{
        padding:30px 15px;
    }

    .cart-item{
        grid-template-columns:78px minmax(0,1fr);
    }

    .cart-item-quantity,
    .cart-item-total,
    .cart-remove-button{
        grid-column:2;
    }

    .checkout-grid,
    .delivery-options{
        grid-template-columns:1fr;
    }
}
