/* ============================================================
   PAVAN COMPUTERS — GLOBAL EFFECTS CSS v5
   ============================================================ */

/* ===== SCROLL REVEAL — HIDDEN ===== */
.fx-up    { opacity:0; transform:translateY(55px);  transition:opacity 0.65s ease, transform 0.65s ease; }
.fx-left  { opacity:0; transform:translateX(-70px); transition:opacity 0.65s ease, transform 0.65s ease; }
.fx-right { opacity:0; transform:translateX(70px);  transition:opacity 0.65s ease, transform 0.65s ease; }
.fx-scale { opacity:0; transform:scale(0.85);       transition:opacity 0.6s ease,  transform 0.6s ease; }
.fx-fade  { opacity:0;                              transition:opacity 0.7s ease; }

/* ===== VISIBLE ===== */
.fx-up.fx-show,
.fx-left.fx-show,
.fx-right.fx-show,
.fx-scale.fx-show,
.fx-fade.fx-show  { opacity:1; transform:none; }

/* ===== STAGGER DELAYS ===== */
.fx-d1 { transition-delay:0.08s !important; }
.fx-d2 { transition-delay:0.18s !important; }
.fx-d3 { transition-delay:0.28s !important; }
.fx-d4 { transition-delay:0.38s !important; }
.fx-d5 { transition-delay:0.48s !important; }
.fx-d6 { transition-delay:0.58s !important; }

/* ===== PAGE LOADER — White, Fast ===== */
#pc-loader {
    position:fixed; inset:0; z-index:99999;
    background:#fff;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:16px;
    transition:opacity 0.3s ease, visibility 0.3s ease;
}
#pc-loader.hide { opacity:0; visibility:hidden; pointer-events:none; }
#pc-loader .pcl-logo { display:flex; align-items:center; gap:10px; }
#pc-loader .pcl-logo img { height:48px; width:auto; }
#pc-loader .pcl-logo span {
    font-size:22px; font-weight:700;
    background:linear-gradient(135deg,#667eea,#764ba2);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
#pc-loader .pcl-dots { display:flex; gap:8px; }
#pc-loader .pcl-dot {
    width:10px; height:10px; border-radius:50%;
    background:linear-gradient(135deg,#667eea,#764ba2);
    animation:pclBounce 0.9s ease-in-out infinite;
}
#pc-loader .pcl-dot:nth-child(2) { animation-delay:0.15s; }
#pc-loader .pcl-dot:nth-child(3) { animation-delay:0.30s; }
@keyframes pclBounce {
    0%,80%,100% { transform:scale(0.6); opacity:0.4; }
    40%          { transform:scale(1.1); opacity:1; }
}

/* ===== CUSTOM SCROLLBAR ===== */
::-webkit-scrollbar       { width:5px; }
::-webkit-scrollbar-track { background:#f0f0f0; }
::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#667eea,#764ba2); border-radius:3px; }

/* ===== HERO TEXT ENTRANCE ===== */
.slide.active .slide-text h1 { animation:heroIn 0.65s cubic-bezier(0.22,1,0.36,1) both; }
.slide.active .slide-text p  { animation:heroIn 0.65s cubic-bezier(0.22,1,0.36,1) 0.12s both; }
.slide.active .slide-buttons { animation:heroIn 0.65s cubic-bezier(0.22,1,0.36,1) 0.24s both; }
@keyframes heroIn { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:none} }

/* ===== SERVICE CARD — Clean Hover (NO color, NO blur, NO glow) ===== */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    background: white !important;
}
/* Remove ALL pseudo effects completely */
.service-card::before,
.service-card::after {
    content: none !important;
    display: none !important;
}
.service-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 12px 35px rgba(0,0,0,0.09) !important;
    background: white !important;
}
.service-icon {
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1) !important;
}
.service-card:hover .service-icon {
    transform: scale(1.1) !important;
}

/* ===== SECTION HEADER UNDERLINE ===== */
.section-header h2 { position:relative; display:inline-block; }
.section-header h2::after {
    content:''; position:absolute; bottom:-10px; left:50%;
    transform:translateX(-50%);
    width:50px; height:3px;
    background:linear-gradient(90deg,#667eea,#764ba2);
    border-radius:2px; transition:width 0.5s ease;
}
.section-header:hover h2::after { width:100%; }

/* ===== FEATURE LIST HOVER ===== */
.features-list li {
    transition: transform 0.3s ease, background 0.3s ease;
    border-radius: 10px;
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.features-list li:hover { transform:translateX(8px); background:rgba(102,126,234,0.04); }
.feature-check { transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1), background 0.3s, color 0.3s !important; }
.features-list li:hover .feature-check { transform:scale(1.2) rotate(-12deg); background:#667eea !important; color:white !important; }

/* ===== STAT CARDS ===== */
.stat-card { transition:transform 0.3s ease; cursor:default; }
.stat-card:hover { transform:translateY(-6px) scale(1.04); }

/* ===== CTA BUTTON SHINE ===== */
.cta-btn-primary, .slide-btn-primary { position:relative; overflow:hidden; }
.cta-btn-primary::after, .slide-btn-primary::after {
    content:'' !important; display:block !important;
    position:absolute; top:0; left:-120%;
    width:60%; height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.28),transparent);
    transform:skewX(-20deg); transition:left 0.5s;
}
.cta-btn-primary:hover::after, .slide-btn-primary:hover::after { left:160%; }

/* ===== RIPPLE ===== */
.pc-ripple {
    position:absolute; border-radius:50%;
    background:rgba(255,255,255,0.3);
    transform:scale(0);
    animation:pcRipple 0.55s linear;
    pointer-events:none;
}
@keyframes pcRipple { to { transform:scale(8); opacity:0; } }

/* ===== FEATURE IMAGE ===== */
.features-showcase img { transition:transform 0.4s ease, box-shadow 0.4s !important; }
.features-showcase img:hover { transform:scale(1.03) !important; box-shadow:0 16px 40px rgba(0,0,0,0.10) !important; }

/* ===== WHATSAPP FLOAT ===== */
a[href*="wa.me"] { animation:waBounce 2.5s ease-in-out infinite !important; }
@keyframes waBounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }

/* ===== RESPONSIVE ===== */
@media (max-width:768px) {
    .fx-left  { transform:translateY(35px) !important; }
    .fx-right { transform:translateY(35px) !important; }
}
