/* ===========================================================
   Choco Pop v2 — Cart (page, mobile summary/footer, header mini-cart)
   Templates: cart/templates/cart/cart_detail.html + partials,
              includes/components/header/partials/cart_dropdown_*_content.html
   The cart page's own scripts (qty, remove, coupon hint, sync) are untouched.
   =========================================================== */

main.cp-cart{
  padding-top:8px !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(237,155,51,.09) 0 2.5px, transparent 3px) 0 0/120px 90px,
    radial-gradient(circle at 72% 64%, rgba(166,25,46,.06) 0 2.5px, transparent 3px) 0 0/150px 110px,
    linear-gradient(180deg,#FFFBF6,var(--cp-milk));
}

/* cart / next-purchase tabs */
.cp-cart-tabs{border:0 !important;background:transparent !important;}
.cp-cart-tabs > div{gap:8px;padding:6px !important;border-radius:999px;background:var(--cp-milk-2);box-shadow:inset 0 2px 4px rgba(79,44,29,.08);width:max-content;max-width:100%;}
.cp-cart-tabs > div > *{flex:none !important;flex-direction:row !important;gap:8px !important;padding:8px 18px !important;border:0 !important;border-radius:999px;font-weight:800;transition:transform .4s var(--cp-ease-jelly), background .25s ease;}
.cp-cart-tabs > div > span{background:linear-gradient(180deg,var(--clay-wine),var(--clay-wine-dark));box-shadow:0 4px 0 var(--clay-wine-deep);}
.cp-cart-tabs > div > span .text-primary,.cp-cart-tabs > div > span span{color:#fff !important;}
.cp-cart-tabs > div > span [data-cart-count]{background:#fff !important;color:var(--clay-wine) !important;border-radius:999px;}
.cp-cart-tabs > div > a{color:var(--clay-cocoa) !important;}
.cp-cart-tabs > div > a:hover{background:#fff;transform:translateY(-2px);}
@media (max-width:1023.98px){.cp-cart-tabs{margin:0 0 14px !important;}.cp-cart-tabs > div{margin-inline:auto;}}

/* coupon goal hint */
.cp-cart-hint{border-radius:26px;background:#fff;border:1px solid var(--cp-line);box-shadow:0 5px 0 rgba(166,25,46,.12), 0 12px 20px rgba(79,44,29,.08);animation:cpRiseIn .5s var(--cp-ease-out) both;}
.cp-cart-hint--won{background:linear-gradient(135deg,#F1FAF3,#E2F4E6);border-color:rgba(47,138,67,.2);box-shadow:0 5px 0 rgba(47,138,67,.18);}
.cp-cart-hint--won:not(.hidden){animation:cpJelly .8s ease both;}
.cp-cart-progress{height:12px !important;background:rgba(166,25,46,.1) !important;box-shadow:inset 0 2px 3px rgba(79,44,29,.12);}
.cp-cart-progress .choco-progress-fill{background:repeating-linear-gradient(-45deg,var(--clay-wine) 0 8px,var(--clay-blush) 8px 16px) !important;background-size:22px 100% !important;animation:cpCandyRun .8s linear infinite !important;transition:width .9s var(--cp-ease-jelly) !important;box-shadow:inset 0 2px 0 rgba(255,255,255,.35);}
.cp-cart-hint .discount-code-chip{border-radius:999px !important;border-style:dashed !important;}

/* items box */
.cp-cart-box{border-radius:32px !important;}
.cp-cart-box__head{background:linear-gradient(180deg,#FFFBF5,#FFF1DE) !important;}
.cp-cart-box__title{display:flex;align-items:center;gap:10px;font-size:1.05rem;font-weight:900;color:var(--clay-cocoa-dark);}
.cp-cart-box__title img{width:30px;height:30px;object-fit:contain;animation:cpTitleIcon 4s ease-in-out infinite;}
.cp-cart-list{background:white;}
.cp-cart-item{transition:background .25s ease;}
.cp-cart-item:hover{background:rgba(255,255,255,.6);}
html.cp-js .cp-cart-box:not(.is-in) .cp-cart-item{opacity:0;}
.cp-cart-box.is-in .cp-cart-item{animation:cpSlideInRow .5s var(--cp-ease-out) both;animation-delay:calc(var(--i, 0) * 60ms + 120ms);}
.cp-cart-thumb{border-radius:20px !important;border:0 !important;background:white;padding:6px;object-fit:contain !important;transition:transform .55s var(--cp-ease-jelly);}
.cp-cart-item:hover .cp-cart-thumb{transform:rotate(-6deg) scale(1.06);}
.cp-cart-item .cart-delete-btn img{transition:transform .4s var(--cp-ease-jelly);}
.cp-cart-item .cart-delete-btn:hover img{transform:rotate(-14deg) scale(1.1);}
.cp-cart-item.is-leaving{animation:cpLeave .5s var(--cp-ease-in) !important;} /* no fill: snaps back if the removal is cancelled */
@keyframes cpLeave{30%{transform:scale(1.02,.96);}100%{opacity:.35;transform:translateX(-30px) scale(.94);}}
.cp-cart-item [data-line-price-big]{color:var(--clay-wine-dark);font-weight:900;}
.cp-cart-item [data-line-savings]{font-weight:800;}

/* qty pill */
.cp-qty{height:42px !important;border:2px solid rgba(246,200,122,.7) !important;background:#fff !important;box-shadow:0 4px 0 rgba(237,155,51,.22), inset 0 2px 4px rgba(79,44,29,.06);}
.cp-qty button{transition:transform .35s var(--cp-ease-jelly);}
.cp-qty button:active{transform:scale(.78);}
.cp-qty input{font-weight:900 !important;color:var(--clay-wine-dark);}

.cp-move-next{color:var(--clay-wine) !important;border-radius:999px !important;font-weight:800 !important;}
.cp-move-next:hover{background:var(--cp-milk-2) !important;}
.cp-move-next img{transition:transform .4s var(--cp-ease-jelly);}
.cp-move-next:hover img{transform:translateX(-4px);}

/* summary */
.cp-cart-summary{position:relative;border-radius:32px !important;}
.cp-cart-summary::before{content:"";position:absolute;top:0;left:0;right:0;height:7px;background:repeating-linear-gradient(-45deg,var(--clay-wine) 0 10px,var(--clay-gold) 10px 20px);background-size:28px 100%;animation:cpCandyRun 1.2s linear infinite;}
.cp-cart-summary h2{font-weight:900 !important;color:var(--clay-cocoa-dark) !important;}
.cp-cart-summary [data-summary-payable]{font-size:1.35rem;font-weight:900;color:var(--clay-wine-dark);}
.cp-cart-summary .text-success{color:#2f8a43 !important;}
.cp-checkout-btn{position:relative;overflow:hidden;}
.cp-checkout-btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(115deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:cpShineSweep 3.6s ease-in-out infinite;}

/* mobile sticky checkout bar: floats above the dock */
.cp-cart-mfoot{
  left:10px !important;right:10px !important;bottom:calc(var(--cp-dock-h, 66px) + 18px + env(safe-area-inset-bottom, 0px)) !important;
  border-radius:26px;background:linear-gradient(180deg,#FFFBF5,#FFF1DE);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 6px 0 rgba(166,25,46,.18), 0 14px 26px rgba(79,44,29,.22), inset 0 2px 0 #fff;
}
.cp-cart-mfoot > div{padding:10px 12px !important;}
.cp-cart-mfoot [data-mobile-payable]{font-size:1rem;font-weight:900;color:var(--clay-wine-dark) !important;}
.cart-page.cp-cart{padding-bottom:180px;}
@media (min-width:768px){.cart-page.cp-cart{padding-bottom:56px;}}

/* empty cart: sweets drop into the cart */
.cp-cart-empty{border-radius:34px !important;padding:40px 20px !important;}
.cp-cart-empty__art{position:relative;width:150px;height:130px;margin-bottom:6px;}
.cp-cart-empty__cart{position:absolute;bottom:0;left:50%;width:96px;height:96px;margin-left:-48px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(79,44,29,.2));animation:cpCartBump 2.4s ease-in-out infinite;}
.cp-cart-empty__sweet{position:absolute;top:0;left:50%;width:36px;height:36px;margin-left:calc(var(--x) - 18px);object-fit:contain;opacity:0;animation:cpSweetDrop 2.4s var(--cp-ease-in) infinite;animation-delay:var(--d);}
@keyframes cpSweetDrop{0%{opacity:0;transform:translateY(-20px) rotate(-30deg);}15%{opacity:1;}55%{opacity:1;transform:translateY(62px) rotate(40deg) scale(.8);}62%,100%{opacity:0;transform:translateY(70px) scale(.4);}}
@keyframes cpCartBump{0%,48%,100%{transform:none;}55%{transform:scale(1.08,.92) rotate(-4deg);}65%{transform:scale(.97,1.03) rotate(3deg);}}

/* ===================== header mini-cart (desktop dropdown + mobile drawer) ===================== */
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-cart-item]{border-radius:20px;transition:background .25s ease;animation:cpRiseIn .45s var(--cp-ease-out) both;}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-cart-item]:hover{background:var(--cp-milk);}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-cart-item] img:first-child{transition:transform .5s var(--cp-ease-jelly);}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-cart-item]:hover img:first-child{transform:rotate(-8deg) scale(1.08);}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .text-gray-800,:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .text-gray-700{color:var(--clay-cocoa-dark) !important;}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .text-gray-600,:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .text-gray-500{color:var(--clay-cocoa-light) !important;}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .divide-gray-100 > * + *{border-color:rgba(237,155,51,.18) !important;border-style:dashed !important;}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) .rounded-2xl.border{border-radius:20px;}
:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-discount-progress]{background:repeating-linear-gradient(-45deg,var(--clay-wine) 0 8px,var(--clay-blush) 8px 16px) !important;transition:width .9s var(--cp-ease-jelly);}

@media (prefers-reduced-motion: reduce){
  .cp-cart-hint,.cp-cart-hint--won,.cp-cart-progress .choco-progress-fill,.cp-cart-box__title img,.cp-cart-box.is-in .cp-cart-item,.cp-cart-item.is-leaving,
  .cp-cart-summary::before,.cp-checkout-btn::after,.cp-cart-empty__cart,.cp-cart-empty__sweet,:is(#dropdownBasketDesktop,#user-basket-drawer-navigation) [data-cart-item]{animation:none !important;}
  html.cp-js .cp-cart-box:not(.is-in) .cp-cart-item,.cp-cart-empty__sweet{opacity:1;}
  .cp-cart-empty__sweet{display:none;}
}

/* ===================== next purchase + wishlist (reuse the cart look) ===================== */
.cp-cart-tabs .cp-tab-count{display:inline-flex;min-width:22px;height:22px;padding:0 7px;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:900;background:rgba(79,44,29,.12);color:var(--clay-cocoa);}
.cp-cart-tabs > div > span .cp-tab-count{background:#fff;color:var(--clay-wine) !important;}
.cp-next-perks{display:flex;flex-wrap:wrap;gap:6px;}
.cp-next-perks span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 12px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--clay-cocoa);background:#fff;border:1px solid var(--cp-line);}
.cp-next-perks img{width:16px;height:16px;object-fit:contain;}
.cp-next-add{padding:10px 18px;font-size:.82rem;}
.cp-next-add img{transition:transform .45s var(--cp-ease-jelly);}
.cp-next-add:hover img{transform:rotate(-12deg) scale(1.12);}
.cp-next-clock{animation:cpClockTick 4s ease-in-out infinite;}
@keyframes cpClockTick{0%,70%,100%{transform:rotate(0);}75%{transform:rotate(-14deg);}80%{transform:rotate(12deg);}85%{transform:rotate(-6deg);}90%{transform:rotate(3deg);}}

.cp-wish-hero{
  position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:22px 24px;border-radius:32px;color:#fff;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.16) 0 3px, transparent 3.5px) 0 0/50px 44px,
    linear-gradient(135deg,var(--clay-blush) 0%,var(--clay-wine) 55%,var(--clay-wine-dark) 100%);
  box-shadow:0 9px 0 rgba(94,13,26,.3), 0 20px 34px rgba(94,13,26,.22), inset 0 3px 0 rgba(255,255,255,.2);
}
.cp-wish-hero__heart{width:64px;height:64px;flex-shrink:0;border-radius:22px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%, #fff, var(--clay-blush-light) 85%);box-shadow:0 5px 0 rgba(0,0,0,.2);}
.cp-wish-hero__heart img,.cp-wish-beat{width:40px;height:40px;object-fit:contain;animation:cpHeartBeat 1.6s ease-in-out infinite;}
.cp-wish-beat{width:96px !important;height:96px !important;}
.cp-wish-hero__title{font-size:1.25rem;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.18);}
.cp-wish-hero__sub{font-size:.82rem;opacity:.88;margin-top:2px;}
.cp-wish-attr{align-self:flex-start;padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--clay-cocoa);background:#fff;border:1px dashed var(--cp-line-strong);}
.cp-wish-item{animation:cpRiseIn .5s var(--cp-ease-out) both;}
.cp-wish-item:nth-child(2){animation-delay:.06s;}
.cp-wish-item:nth-child(3){animation-delay:.12s;}
.cp-wish-item:nth-child(n+4){animation-delay:.18s;}
.cp-wish-del:hover img{transform:rotate(-14deg) scale(1.1);}
.cp-wish-del img{transition:transform .4s var(--cp-ease-jelly);}
@media (prefers-reduced-motion: reduce){
  .cp-next-clock,.cp-wish-hero__heart img,.cp-wish-beat,.cp-wish-item{animation:none !important;}
}
