/* COSVIN cart journey — a light, accessible purchase microinteraction. */
.cosvin-add-cart{
    position:relative;
    overflow:hidden;
}

.cosvin-add-cart__pilot{
    display:inline-grid;
    width:25px;
    height:25px;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    font-size:16px;
    line-height:1;
    transform-origin:center;
    transition:transform .25s ease, background .25s ease;
}

.cosvin-add-cart:hover .cosvin-add-cart__pilot{
    background:rgba(255,255,255,.28);
    transform:rotate(-10deg) scale(1.12);
    animation:cosvin-pilot-wave .65s ease-in-out infinite alternate;
}

.cosvin-add-cart.is-boarding .cosvin-add-cart__pilot{
    animation:cosvin-pilot-boarding .72s ease-in-out infinite;
}

.cosvin-cart-flight{
    position:fixed;
    z-index:10050;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    padding:4px;
    border:2px solid rgba(126,255,41,.8);
    border-radius:50%;
    background:radial-gradient(circle,#183f25 0%,#07150d 72%);
    box-shadow:0 0 0 7px rgba(126,255,41,.1),0 12px 24px rgba(0,0,0,.35);
    pointer-events:none;
    transition:left .72s cubic-bezier(.22,.9,.28,1),top .72s cubic-bezier(.22,.9,.28,1),opacity .72s ease,transform .72s ease;
}

.cosvin-cart-flight::before{
    content:'🛸';
    position:absolute;
    left:-10px;
    bottom:-10px;
    font-size:24px;
    transform:rotate(-18deg);
}

.cosvin-cart-flight img{
    width:38px;
    height:38px;
    border-radius:50%;
    background:#fff;
    object-fit:cover;
}

.cosvin-cart-flight:not(.has-product)::after{
    content:'👽';
    font-size:27px;
}

.cosvin-cart-flight.is-flying{
    left:var(--cosvin-flight-left) !important;
    top:var(--cosvin-flight-top) !important;
    opacity:.16;
    transform:scale(.32) rotate(22deg);
}

.cosvin-cart-toggle.cosvin-cart-toggle--arrival{
    color:var(--color-primary) !important;
}

.cosvin-cart-toggle.cosvin-cart-toggle--arrival i{
    animation:cosvin-cart-arrival .7s cubic-bezier(.18,.89,.32,1.35);
}

.cosvin-cart-count.cosvin-cart-count--pulse{
    animation:cosvin-cart-count-pulse .72s cubic-bezier(.18,.89,.32,1.35);
}

.cosvin-cart-mission{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 0 12px;
    padding:9px 10px;
    border:1px solid #cdebd7;
    border-radius:10px;
    background:linear-gradient(90deg,#effcf3,#f8fff9);
    color:#17683b;
    font-size:12px;
    font-weight:750;
    line-height:1.35;
}

.cosvin-toast--success{
    border:1px solid rgba(126,255,41,.32);
    background:linear-gradient(135deg,#153d25,#0d2517);
}

@keyframes cosvin-pilot-wave{
    to{transform:rotate(10deg) scale(1.18);}
}

@keyframes cosvin-pilot-boarding{
    50%{transform:translateY(-3px) rotate(-12deg) scale(1.1);}
}

@keyframes cosvin-cart-arrival{
    35%{transform:translateY(-7px) rotate(-12deg) scale(1.16);}
    65%{transform:translateY(1px) rotate(8deg) scale(.98);}
}

@keyframes cosvin-cart-count-pulse{
    45%{transform:scale(1.52);box-shadow:0 0 0 8px rgba(126,255,41,.18);}
}

@media (prefers-reduced-motion:reduce){
    .cosvin-add-cart:hover .cosvin-add-cart__pilot,
    .cosvin-add-cart.is-boarding .cosvin-add-cart__pilot,
    .cosvin-cart-toggle.cosvin-cart-toggle--arrival i,
    .cosvin-cart-count.cosvin-cart-count--pulse{animation:none;}

    .cosvin-cart-flight{display:none;}
}
