/* HTMX / showLoader overlay + FEDS SVG spinner (markup: _FedsPageSpinner.cshtml, _ModalLoadingContent.cshtml) */

/* Clip a region to the viewport while loading (#content, #Current_View, etc.) */
.content-loading-shell {
    overflow: hidden;
    max-height: calc(100vh - 5.5rem);
    min-height: 0;
}

.content-loader-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.app-main .content-loader-overlay {
    min-height: 12rem;
}

body.dark-skin .content-loader-overlay {
    background: rgba(33, 37, 41, 0.72);
}

.content-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
    gap: 1rem;
    opacity: 0;
    animation: content-loader-fade-in .15s ease-out forwards;
}

@keyframes content-loader-fade-in {
    to { opacity: 1; }
}

@keyframes feds-spinner-cw {
    to { transform: rotate(360deg); }
}

@keyframes feds-spinner-pulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(0.2); opacity: 0; }
}

.content-loader .feds-page-spinner-wrap,
.modal-loading-feds .feds-page-spinner-wrap {
    width: 7.98rem;
    height: 7.98rem;
    flex-shrink: 0;
    position: relative;
}

.modal-loading-feds .feds-page-spinner-wrap {
    width: 5.88rem;
    height: 5.88rem;
    margin-left: auto;
    margin-right: auto;
}

.content-loader .feds-spinner-gear,
.modal-loading-feds .feds-spinner-gear {
    transform-origin: 200px 200px;
    animation: feds-spinner-cw 9s linear infinite;
}

.content-loader .feds-spinner-pulse-ring,
.modal-loading-feds .feds-spinner-pulse-ring {
    transform-origin: 200px 200px;
    animation: feds-spinner-pulse 3s linear 0s infinite;
}

.content-loader .feds-spinner-pulse-ring--d1,
.modal-loading-feds .feds-spinner-pulse-ring--d1 {
    animation-delay: 0.3s;
}

.content-loader .feds-spinner-pulse-ring--d2,
.modal-loading-feds .feds-spinner-pulse-ring--d2 {
    animation-delay: 0.6s;
}

/* Night mode: white gear + document body; line/fold accents use light-mode icon grey-blue */
body.dark-skin .feds-spinner-gear path {
    fill: var(--color-feds-logo-white);
}

body.dark-skin .feds-spinner-gear-inner-ring {
    stroke: var(--color-feds-logo-white);
}

body.dark-skin .feds-spinner-doc-body {
    fill: var(--color-feds-logo-white);
}

body.dark-skin .feds-spinner-doc-fold,
body.dark-skin .feds-spinner-doc-line {
    stroke: var(--color-feds-logo-greyblue);
}
