.jasa-site-loader[hidden] { display: none !important; }
.jasa-site-loader { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: #fff; pointer-events: none; opacity: 1; transition: opacity .18s ease; animation: jasa-loader-failsafe 0s 2.5s forwards; }
.jasa-site-loader.is-hiding { opacity: 0; }
.jasa-site-loader__content { display: flex; flex-direction: column; align-items: center; gap: 22px; padding: 24px; }
.jasa-site-loader__content img { display: block; width: 210px; max-width: 65vw; height: auto; object-fit: contain; }
.jasa-site-loader__spinner { display: block; width: 32px; height: 32px; border: 3px solid #e2e7ef; border-top-color: #ee2d3d; border-right-color: #0c3688; border-radius: 50%; box-sizing: border-box; animation: jasa-loader-spin .8s linear infinite; }
.jasa-site-loader__label { color: #0c3688; font: 14px/1.5 Arial, sans-serif; }
@keyframes jasa-loader-spin { to { transform: rotate(360deg); } }
@keyframes jasa-loader-failsafe { to { visibility: hidden; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .jasa-site-loader { transition: none; } .jasa-site-loader__spinner { animation: none; } }
