a.gallery-card{text-decoration:none;display:block;text-align:left;color:inherit}a.gallery-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.gallery-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:transform .3s ease,background .3s ease,border-color .3s ease;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transform:translateZ(0)}.gallery-card:hover{transform:translateY(-5px);background:#ffffff1a;border-color:#ffffff4d}.gallery-meta-fields p{margin-bottom:0;font-size:1rem;color:#ffffffbf}.card-image{width:100%;height:250px;background-color:#0000004d;border-radius:12px;margin-bottom:20px;overflow:hidden;position:relative}.card-image img,.gallery-card-image{width:100%;height:100%;object-fit:cover;opacity:.8;transition:opacity .3s}.gallery-card:hover .card-image img,.gallery-card:hover .gallery-card-image{opacity:1}.gallery-card-image.fade-out{opacity:0}.gallery-card-image.fade-in{opacity:.8}.gallery-card-image.loading{opacity:0}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:4px solid #fff3;border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.card-title{font-size:1.2rem;margin:0 0 10px;color:var(--text);font-weight:500;font-family:var(--font-ui)}.card-subtitle{font-size:.9rem;color:#fff9;margin:0}@supports (-webkit-touch-callout:none){.gallery-card{-webkit-overflow-scrolling:touch}}@media (prefers-contrast:high){.gallery-card{border:2px solid #ffffff80}.card-title{color:var(--text)}.card-subtitle{color:#fffc}}@media (prefers-reduced-motion:reduce){.gallery-card,.gallery-card-image{transition:none}}