
/* =========================================================
   ONECART.LK — PREMIUM PAGE-WISE EFFECTS
   50 practical UI/animation utilities
   ========================================================= */
:root{
 --pc-blue:#0876e8;--pc-deep:#063c83;--pc-sky:#eaf7ff;--pc-line:#dce9f4;
 --pc-shadow:0 18px 55px rgba(6,60,131,.12)
}
.pc-reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.pc-reveal.pc-visible{opacity:1;transform:none}
.pc-float{animation:pcFloat 4s ease-in-out infinite}
@keyframes pcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.pc-shimmer{position:relative;overflow:hidden}
.pc-shimmer:after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:pcShimmer 3.8s infinite}
@keyframes pcShimmer{55%,100%{transform:translateX(110%)}}
.pc-glow:hover{box-shadow:0 14px 40px rgba(8,118,232,.18)}
.pc-lift{transition:transform .28s ease,box-shadow .28s ease}
.pc-lift:hover{transform:translateY(-6px);box-shadow:var(--pc-shadow)}
.pc-image-zoom img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pc-image-zoom:hover img{transform:scale(1.075)}
.pc-image-pan{overflow:hidden}.pc-image-pan img{transition:transform .8s ease}.pc-image-pan:hover img{transform:scale(1.06) translateX(7px)}
.pc-btn-ripple{position:relative;overflow:hidden}
.pc-btn-ripple:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.6);transform:scale(0);opacity:0}
.pc-btn-ripple:active:after{left:50%;top:50%;animation:pcRipple .5s ease-out}
@keyframes pcRipple{0%{transform:scale(1);opacity:.7}100%{transform:scale(24);opacity:0}}
.pc-btn-arrow span{transition:transform .25s ease}.pc-btn-arrow:hover span{transform:translateX(5px)}
.pc-border-glow{transition:border-color .25s,box-shadow .25s}.pc-border-glow:hover{border-color:#9bcaf5;box-shadow:0 0 0 4px #0876e80b}
.pc-underline{position:relative}.pc-underline:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--pc-blue);transition:width .3s}.pc-underline:hover:after{width:100%}
.pc-card-ribbon{position:relative}.pc-card-ribbon:before{content:attr(data-ribbon);position:absolute;top:14px;right:-30px;transform:rotate(38deg);background:var(--pc-blue);color:#fff;padding:4px 32px;font-size:9px;font-weight:800;z-index:4}
.pc-bounce{animation:pcBounce 2.8s infinite}.pc-bounce:hover{animation-play-state:paused}
@keyframes pcBounce{0%,80%,100%{transform:translateY(0)}87%{transform:translateY(-5px)}}
.pc-pulse{animation:pcPulse 2s infinite}@keyframes pcPulse{0%,100%{box-shadow:0 0 0 0 #0876e833}50%{box-shadow:0 0 0 11px transparent}}
.pc-soft-gradient{background:linear-gradient(120deg,#fff,#f4fbff 55%,#fff)}
.pc-glass{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid rgba(210,229,244,.9)}
.pc-countup{font:800 28px Poppins;color:var(--pc-deep)}
.pc-progress{height:7px;background:#eaf2f8;border-radius:20px;overflow:hidden}.pc-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0876e8,#5eb4ff);border-radius:20px;transition:width 1.2s ease}
.pc-stagger>*{opacity:0;transform:translateY(15px)}.pc-stagger.pc-visible>*{animation:pcStagger .55s forwards}.pc-stagger.pc-visible>*:nth-child(2){animation-delay:.08s}.pc-stagger.pc-visible>*:nth-child(3){animation-delay:.16s}.pc-stagger.pc-visible>*:nth-child(4){animation-delay:.24s}.pc-stagger.pc-visible>*:nth-child(5){animation-delay:.32s}.pc-stagger.pc-visible>*:nth-child(6){animation-delay:.40s}
@keyframes pcStagger{to{opacity:1;transform:none}}
.pc-focus:focus{outline:3px solid #0876e82b;outline-offset:3px}
.pc-tooltip{position:relative}.pc-tooltip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,5px);opacity:0;pointer-events:none;background:#063c83;color:#fff;padding:6px 9px;border-radius:6px;font-size:9px;white-space:nowrap;transition:.2s}.pc-tooltip:hover:after{opacity:1;transform:translate(-50%,0)}
.pc-parallax{transform:translateY(0);will-change:transform}
.pc-divider{height:1px;background:linear-gradient(90deg,transparent,#cfe2f2,transparent);margin:25px 0}
.pc-icon-spin:hover{transform:rotate(8deg) scale(1.05);transition:.25s}
.pc-swipe{overflow:hidden}.pc-swipe img{transition:transform .65s ease}.pc-swipe:hover img{transform:translateX(5px) scale(1.04)}
.pc-number{font-variant-numeric:tabular-nums}
.pc-sticky-note{position:relative}.pc-sticky-note:before{content:"";position:absolute;left:18px;right:18px;top:-5px;height:10px;border-radius:50%;background:#dceaf5;filter:blur(5px)}
.pc-faq{border:1px solid var(--pc-line);border-radius:12px;background:#fff;overflow:hidden}.pc-faq button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px;border:0;background:#fff;color:var(--pc-deep);font-weight:800;text-align:left;cursor:pointer}.pc-faq p{max-height:0;overflow:hidden;margin:0;padding:0 15px;color:#657993;font-size:12px;line-height:1.8;transition:max-height .35s,padding .35s}.pc-faq.open p{max-height:180px;padding:0 15px 15px}
.pc-tabs{display:flex;gap:8px;flex-wrap:wrap}.pc-tab{border:1px solid var(--pc-line);background:#fff;color:var(--pc-deep);padding:9px 14px;border-radius:999px;font-size:11px;font-weight:800;cursor:pointer}.pc-tab.active{background:var(--pc-blue);color:#fff;border-color:var(--pc-blue)}
.pc-tab-panel{display:none}.pc-tab-panel.active{display:block;animation:pcFade .4s ease}@keyframes pcFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pc-form-focus input,.pc-form-focus textarea{transition:border-color .2s,box-shadow .2s}.pc-form-focus input:focus,.pc-form-focus textarea:focus{border-color:#0876e8;box-shadow:0 0 0 4px #0876e812;outline:0}
.pc-field-label{transition:.2s}.pc-field:focus-within .pc-field-label{color:#0876e8;transform:translateX(2px)}
.pc-map-hover iframe{transition:filter .35s,transform .35s}.pc-map-hover:hover iframe{filter:saturate(1.1) contrast(1.03);transform:scale(1.01)}
.pc-social{transition:transform .25s,box-shadow .25s}.pc-social:hover{transform:translateY(-4px);box-shadow:0 10px 24px #063c8318}
.pc-scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#0876e8,#5eb4ff);z-index:999}
.pc-backtop{position:fixed;right:24px;bottom:90px;width:42px;height:42px;border:1px solid #cfe0ee;border-radius:50%;background:#fff;color:#063c83;opacity:0;pointer-events:none;transition:.25s;z-index:75}.pc-backtop.show{opacity:1;pointer-events:auto}
.pc-toast-stack{position:fixed;right:20px;top:90px;z-index:210;display:grid;gap:8px}.pc-mini-toast{background:#063c83;color:#fff;padding:11px 14px;border-radius:9px;font-size:11px;box-shadow:0 12px 30px #063c8330;animation:pcToast .35s ease}.pc-mini-toast.out{opacity:0;transform:translateX(15px);transition:.3s}@keyframes pcToast{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
.pc-cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:150;background:#fff;border:1px solid var(--pc-line);box-shadow:0 15px 45px #063c8320;border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;transform:translateY(140%);transition:.4s}.pc-cookie.show{transform:none}.pc-cookie p{margin:0;color:#657993;font-size:10px;line-height:1.6}.pc-cookie button{border:0;background:#0876e8;color:#fff;border-radius:8px;padding:9px 15px;font-weight:800;cursor:pointer}
@media(max-width:700px){.pc-cookie{align-items:flex-start;flex-direction:column}.pc-backtop{bottom:85px;right:17px}.pc-toast-stack{right:12px;left:12px;top:82px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
