.image-wrapper{position:relative;overflow:hidden;border-radius:.5rem;min-height:220px;background-color:#fff3cd;transition:background-color .4s ease;display:flex;align-items:center;justify-content:center}.image-wrapper.loaded{background-color:transparent}.image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;filter:blur(8px);transform:scale(1.04);transition:opacity .45s ease,filter .45s ease,transform .45s ease}.image-wrapper.loaded img{opacity:1;filter:blur(0);transform:scale(1)}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.loader{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .9rem;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.6));border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 20px rgba(16,24,40,.12);transform:translateY(-6px)}.spinner{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px rgba(250,204,21,.35);background:linear-gradient(180deg,#ffd54a,#ffca28);position:relative;animation:spinPulse 1.1s linear infinite}@keyframes spinPulse{0%{transform:rotate(0deg) scale(1);opacity:1}50%{transform:rotate(180deg) scale(.95);opacity:.8}to{transform:rotate(1turn) scale(1);opacity:1}}.loading-text{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-size:.9rem;font-weight:600;color:#6b4f00;letter-spacing:.02em}.dots{width:2.4ch;text-align:left;overflow:hidden}.dots,.dots:after{display:inline-block}.dots:after{content:" . . .";animation:dotsAnim 1s steps(3) infinite;transform:translateX(0);opacity:.95}@keyframes dotsAnim{0%{width:0;opacity:0}20%{width:1ch;opacity:1}40%{width:2ch}60%{width:2.4ch}to{width:0;opacity:0}}.btn-load-more{background-color:#ffc107;color:#222;font-weight:700;font-size:1.2rem;padding:14px 48px;border-radius:50px;border:none;box-shadow:0 4px 10px rgba(0,0,0,.1);transition:all .3s ease;cursor:pointer}.btn-load-more:hover{background-color:#ffb300;transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.2)}.btn-load-more:active{transform:scale(.98)}.btn-load-more:disabled{opacity:.7;cursor:not-allowed}