
/* Floating cart button: desktop right center */
.cpf-cart__fab{
    position:fixed !important;
    right:18px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    z-index:10020 !important;
    min-width:92px !important;
    height:50px !important;
    border-radius:999px !important;
    padding:0 13px !important;
    gap:8px !important;
    background:#64247d !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 16px 38px rgba(106,13,173,.28) !important;
}

.cpf-cart__fab-icon{
    width:34px !important;
    height:34px !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.16) !important;
    color:#fff !important;
}

.cpf-cart__fab-copy small,
.cpf-cart__fab-copy strong{
    color:#fff !important;
}

.cpf-cart__badge{
    background:#ffd21f !important;
    color:#3b075d !important;
    border:2px solid #fff !important;
}

/* Drawer size: always fit screen, footer/checkout visible */
.cpf-cart__drawer{
    height:100vh !important;
    height:100dvh !important;
    max-height:100vh !important;
    max-height:100dvh !important;
    width:min(430px,100vw) !important;
    border-radius:18px 0 0 18px !important;
    background:#ffffff !important;
    box-shadow:-16px 0 46px rgba(31,10,48,.22) !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
}

.cpf-cart__header{
    flex:0 0 auto !important;
    background:#64247d !important;
    color:#fff !important;
    padding:16px 18px !important;
}

.cpf-cart__title,
.cpf-cart__title strong,
.cpf-cart__title small,
.cpf-cart__header strong,
.cpf-cart__header small{
    color:#fff !important;
}

.cpf-cart__close{
    width:auto !important;
    min-width:96px !important;
    height:42px !important;
    padding:0 16px !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#261333 !important;
    border:0 !important;
    font-weight:900 !important;
    box-shadow:none !important;
}

/* Cart body scrolls, not whole drawer */
.cpf-cart__body{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    padding:12px 14px !important;
    background:#fff !important;
}

.cpf-cart__item{
    border-radius:16px !important;
    border:1px solid #f0e3f7 !important;
    background:#fff !important;
    box-shadow:0 8px 18px rgba(45,16,77,.05) !important;
    padding:10px !important;
    margin-bottom:10px !important;
}

.cpf-cart__image{
    border-radius:14px !important;
    background:#faf9fb !important;
}

.cpf-cart__item-title,
.cpf-cart__item strong{
    color:#17122b !important;
}

.cpf-cart__price,
.cpf-cart__item-price{
    color:#e91e75 !important;
}

.cpf-cart__qty button{
    background:#fff !important;
    color:#e91e75 !important;
    border:1px solid #f4d7e8 !important;
    box-shadow:0 8px 16px rgba(45,16,77,.06) !important;
}

.cpf-cart__qty span{
    color:#e91e75 !important;
}

/* Coupon + summary + checkout fixed at bottom */
.cpf-cart__coupon,
.cpf-cart__summary,
.cpf-cart__footer,
.cpf-cart__checkout-row{
    flex:0 0 auto !important;
    background:#fff !important;
}

.cpf-cart__coupon{
    padding:12px 14px 8px !important;
    border-top:1px solid #f0e3f7 !important;
}

.cpf-cart__coupon input{
    border:1px solid #eadcf5 !important;
    border-radius:14px !important;
    height:46px !important;
    font-size:14px !important;
}

.cpf-cart__coupon button,
.cpf-cart__apply{
    height:46px !important;
    border-radius:14px !important;
    background:#64247d !important;
    color:#fff !important;
    border:0 !important;
    font-weight:900 !important;
}

.cpf-cart__summary,
.cpf-cart__footer{
    padding:10px 14px !important;
    border-top:1px solid #f0e3f7 !important;
}

.cpf-cart__summary-row,
.cpf-cart__summary div{
    color:#5f5368 !important;
}

.cpf-cart__summary strong,
.cpf-cart__total strong{
    color:#17122b !important;
}

.cpf-cart__checkout-row{
    display:grid !important;
    grid-template-columns:42% 58% !important;
    height:70px !important;
    min-height:70px !important;
    padding:0 !important;
    border-top:1px solid #f0e3f7 !important;
}

.cpf-cart__total{
    background:#fff4cc !important;
    color:#17122b !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:0 18px !important;
}

.cpf-cart__checkout{
    background:#64247d !important;
    color:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    font-weight:950 !important;
    font-size:18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

/* Site add-to-cart buttons: brand color, but not cart drawer controls */
.cp11-add-cart,
.cpcar-cart,
.cp-pdp-card__cart,
button[class*="cart"]:not(.cpf-cart__close):not([data-cpf-remove]):not([data-cpf-minus]):not([data-cpf-plus]){
    background:#64247d !important;
    color:#fff !important;
    border:0 !important;
}

/* Mobile: keep floating button hidden, drawer bottom sheet fits screen */
@media (max-width:767px){
    .cpf-cart__fab{
        display:none !important;
    }

    .cpf-cart__drawer{
        width:100vw !important;
        height:min(92dvh,760px) !important;
        max-height:92dvh !important;
        top:auto !important;
        bottom:0 !important;
        border-radius:22px 22px 0 0 !important;
    }

    .cpf-cart__body{
        padding:10px 12px !important;
    }

    .cpf-cart__checkout-row{
        height:66px !important;
        min-height:66px !important;
        padding-bottom:env(safe-area-inset-bottom) !important;
    }
}
