/* ==========================================================================
   Page loader — a full-screen overlay shown until the page has fully loaded
   (window 'load'), then faded out by main.js (with a safety timeout). Markup
   sits first in <body> (head.php); a <noscript> rule hides it without JS.
   ========================================================================== */
.page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    transition: opacity .4s ease, visibility .4s ease;
}
.page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
}
.page-loader__spinner {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    border: 4px solid #e6e1d4;          /* track */
    border-top-color: var(--brand-green);          /* brand green */
    border-right-color: #caa45e;        /* gold accent */
    animation: pmg-spin .8s linear infinite;
}
@keyframes pmg-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
    .page-loader__spinner { animation-duration: 1.6s; }
}
