#page-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 80px; /* Make loader bigger */
    height: 80px;
    transform: translate(-50%, -50%);
    z-index: 9999;
    display: none;
    opacity: 1; /* Ensure opacity starts at 1 */
    transition: opacity 0.4s ease-out; /* Smooth fade-out effect */
}

.circular-loader {
    animation: rotate 1s linear infinite;
    width: 100%;
    height: 100%;
}

.loader-path {
    stroke: var(--brand-color-2nd); /* Uses color from root */
    stroke-linecap: round;
    stroke-dasharray: 90, 150;
    stroke-dashoffset: 0;
    animation: dash 1.5s ease-in-out infinite;
}

@keyframes rotate {
    100% { transform: rotate(360deg); }
}

@keyframes dash {
    0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; }
    50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; }
    100% { stroke-dasharray: 90, 150; stroke-dashoffset: -125; }
}