.ff-skeleton{pointer-events:none;overflow:hidden;color:transparent!important;user-select:none}
.ff-skeleton-line,.ff-skeleton-box{display:block;background:var(--border,#dfddd8);border-radius:6px;animation:ff-loading-pulse 1.3s ease-in-out infinite alternate}
.ff-skeleton-line{height:16px;margin:10px 0;width:78%}.ff-skeleton-line.short{width:46%}.ff-skeleton-box{height:44px;margin:12px 0}
.ff-skeleton-card{border:1px solid var(--border,#ddd);border-radius:10px;padding:18px;background:var(--white,#fff);min-width:0}
.ff-skeleton-media{height:180px;margin-bottom:18px;background:var(--surface-2,#eeece8);border-radius:8px}
.ff-skeleton-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%}
.ff-skeleton-picker>span{min-width:0}.ff-skeleton-picker .ff-skeleton-line{height:12px;margin:0 0 8px}.ff-skeleton-picker .ff-skeleton-box{margin:0}
.cv-slots>.ff-skeleton-card{min-height:455px}.cv-slots>.ff-skeleton-card .ff-skeleton-box{margin-bottom:25px}
.ff-loading-status{position:fixed;right:16px;bottom:16px;z-index:10000;max-width:calc(100vw - 32px);padding:10px 16px;background:#0f0f0e;color:#fff;border:1px solid #777;border-radius:10px;font:500 14px/1.4 Outfit,sans-serif;box-shadow:0 2px 10px #0002}
.ff-loading-status[hidden]{display:none}.ff-loading-status .ff-skeleton-line{height:4px;background:#ff6624;width:100%;margin:7px 0 0}
.ff-loading-error{border:1px solid var(--border,#ddd);border-radius:8px;padding:20px;color:var(--text-1,#222);background:var(--white,#fff)}
.ff-loading-error button{min-height:44px;border-radius:8px;margin-top:10px;padding:8px 18px;font:inherit;cursor:pointer}
.ff-busy-region{position:relative}.ff-busy-region::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:#ff6624;animation:ff-loading-pulse 1.3s ease-in-out infinite alternate;z-index:2}
@keyframes ff-loading-pulse{from{opacity:.45}to{opacity:1}}
@media(max-width:1100px){.ff-skeleton-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.ff-skeleton-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ff-skeleton-line,.ff-skeleton-box,.ff-busy-region::before{animation:none}}
@media print{.ff-loading-status,.ff-skeleton,.ff-busy-region::before{display:none!important}}

[data-ff-export][aria-busy="true"]::after{content:'';width:24px;height:6px;display:inline-block;background:var(--brand-orange,#FF6624);border-radius:4px;animation:ff-loading-pulse 1.3s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){[data-ff-export][aria-busy="true"]::after{animation:none}}

/* Matches the destination's content while the browser requests the next page. */
.ff-page-skeleton{position:fixed;inset:var(--nav-h,64px) 0 0;z-index:90;overflow:hidden;background:var(--bg,#f5f4f0);pointer-events:none;animation:ff-page-arrive .12s step-end both}
.ff-page-skeleton[hidden]{display:none}
.ff-page-skeleton-inner{max-width:1440px;margin:auto;padding:clamp(36px,7vw,90px) clamp(20px,4vw,56px)}
.ff-page-skeleton-inner>.ff-skeleton{max-width:780px;margin-bottom:44px}
.ff-page-skeleton .ff-skeleton-heading{height:42px;width:88%;margin:22px 0}
.ff-page-skeleton-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ff-page-skeleton .ff-skeleton-card{min-height:280px}
.ff-page-skeleton-article .ff-page-skeleton-inner{max-width:920px}
.ff-page-skeleton-article .ff-page-skeleton-content{display:block}
.ff-page-skeleton-article .ff-skeleton-card{border:0;background:transparent;padding:0;min-height:120px}
.ff-page-skeleton-article .ff-skeleton-media{display:none}
.ff-page-skeleton-article .ff-skeleton-line{margin-bottom:20px}
.ff-loading-slow{grid-column:1/-1;padding:18px;color:var(--text-2,#555);font-size:14px}
.ff-loading-slow button{font:inherit;font-weight:600;margin-top:8px;padding:8px 14px;min-height:44px;cursor:pointer}
.ff-skeleton-picker-home{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin:20px 0}
@keyframes ff-page-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.ff-page-skeleton-content{grid-template-columns:1fr}.ff-page-skeleton .ff-skeleton-card{min-height:200px}.ff-page-skeleton-content>.ff-skeleton-card:nth-child(n+3){display:none}.ff-skeleton-picker-home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ff-page-skeleton{animation:none}}
@media print{.ff-page-skeleton,.ff-loading-slow{display:none!important}}
