/* =============================================================
   rahaal.css  —  Global Custom Styles
   Loaded on every frontend page via master.blade.php
   ============================================================= */

/* ── Page Loader ─────────────────────────────────────────────── */
#pageLoader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
}

#pageLoader.pl-active {
    opacity: 1;
    pointer-events: all;
}

#pageLoader.pl-hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s ease .1s;
}

/* Logo */
.pl-logo-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
}

#plLogoImg {
    width: 64px;
    height: 64px;
    object-fit: contain;
    position: relative;
    z-index: 2;
    animation: plPulse 1.4s ease-in-out infinite;
}

@keyframes plPulse {

    0%,
    100% {
        transform: scale(1);
        filter: brightness(1) drop-shadow(0 0 0px rgba(229, 51, 51, 0));
    }

    50% {
        transform: scale(1.08);
        filter: brightness(1.1) drop-shadow(0 0 14px rgba(229, 51, 51, .55));
    }
}

/* Spinning rings */
.pl-rings {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pl-rings span {
    position: absolute;
    border-radius: 50%;
    border: 2.5px solid transparent;
    border-top-color: var(--primary, #e53);
    animation: plSpin linear infinite;
}

.pl-rings span:nth-child(1) {
    width: 84px;
    height: 84px;
    animation-duration: 1.0s;
    opacity: .9;
}

.pl-rings span:nth-child(2) {
    width: 100px;
    height: 100px;
    animation-duration: 1.5s;
    opacity: .55;
    border-top-color: rgba(229, 51, 51, .5);
}

.pl-rings span:nth-child(3) {
    width: 116px;
    height: 116px;
    animation-duration: 2.2s;
    opacity: .25;
    border-top-color: rgba(229, 51, 51, .3);
}

@keyframes plSpin {
    to {
        transform: rotate(360deg);
    }
}

/* ── WhatsApp Floating Button ────────────────────────────────── */
.wa-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 999;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(37, 211, 102, .45), 0 2px 6px rgba(0,0,0,.12);
    transition: transform .2s ease, box-shadow .2s ease;
    text-decoration: none;
    animation: waPulse 2.5s ease-in-out infinite;
}
.wa-float:hover {
    transform: scale(1.12);
    box-shadow: 0 6px 22px rgba(37, 211, 102, .55), 0 4px 10px rgba(0,0,0,.15);
    animation: none;
}
.wa-float:active {
    transform: scale(.95);
}
.wa-float svg {
    display: block;
}
@keyframes waPulse {
    0%, 100% { box-shadow: 0 4px 14px rgba(37,211,102,.45), 0 2px 6px rgba(0,0,0,.12); }
    50%      { box-shadow: 0 4px 22px rgba(37,211,102,.65), 0 2px 8px rgba(0,0,0,.18); }
}
/* RTL */
[dir="rtl"] .wa-float { right: auto; left: 24px; }

/* Mobile: lift above bottom toolbar */
@media (max-width: 1199px) {
    .wa-float { bottom: 90px; }
}