/* Frontend HikaShop: reuse the native AJAX loading state, never its core assets. */
body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner {
    --cc-loader-size: 3.5rem;
    --cc-loader-halo: 4.5rem;
    --cc-loader-top: 50%;
    background: none !important;
}

body .hikashop_checkout_loading > .hikashop_checkout_loading_elem {
    opacity: .72;
}

body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::before,
body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::after {
    content: "";
    position: absolute;
    top: var(--cc-loader-top);
    left: 50%;
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::before {
    width: var(--cc-loader-size);
    height: var(--cc-loader-size);
    background: url('../images/logo_cc_blue_no_text.svg') center / contain no-repeat;
    box-shadow: 0 .25rem 1rem rgb(105 105 105 / 16%);
    animation: cc-catalogue-logo-breathe 1.6s ease-in-out infinite;
}

body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::after {
    width: var(--cc-loader-halo);
    height: var(--cc-loader-halo);
    border: 1px solid rgb(105 105 105 / 28%);
    animation: cc-catalogue-logo-halo 1.6s ease-out infinite;
}

/* Keep the grid indicator near the first results, not halfway down 24 cards. */
body.itemid-238.layout-listing #hikashop_category_information_menu_238 > .hikashop_checkout_loading_spinner {
    --cc-loader-top: clamp(6rem, 18vh, 12rem);
}

body.itemid-238.layout-listing #hikashop_filter_main_div_module_417 > .hikashop_checkout_loading_spinner {
    --cc-loader-size: 2.5rem;
    --cc-loader-halo: 3.25rem;
}

body.itemid-238.layout-listing #hikashop_filter_main_div_module_452 > .hikashop_checkout_loading_spinner {
    --cc-loader-size: 2rem;
    --cc-loader-halo: 2.5rem;
}

@keyframes cc-catalogue-logo-breathe {
    0%, 100% { transform: translate(-50%, -50%) scale(.94); }
    50% { transform: translate(-50%, -50%) scale(1); }
}

@keyframes cc-catalogue-logo-halo {
    0% { transform: translate(-50%, -50%) scale(.85); opacity: .7; }
    100% { transform: translate(-50%, -50%) scale(1.3); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::before,
    body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::after {
        animation: none;
    }
    body .hikashop_checkout_loading > .hikashop_checkout_loading_spinner::after {
        opacity: .35;
    }
}
