.gallery-header.svelte-16h6p05{text-align:center;margin-bottom:3rem}.gallery-sub.svelte-16h6p05{color:var(--text-muted);margin-top:.5rem;font-size:1.1rem}.gallery-masonry.svelte-16h6p05{columns:1;column-gap:1.25rem}@media (min-width:640px){.gallery-masonry.svelte-16h6p05{columns:2}}@media (min-width:1024px){.gallery-masonry.svelte-16h6p05{columns:3}}.review-card.svelte-16h6p05{break-inside:avoid;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border);margin-bottom:1.25rem;transition:box-shadow .2s;overflow:hidden}.review-card.svelte-16h6p05:hover{box-shadow:var(--shadow-md)}.review-photo.svelte-16h6p05{aspect-ratio:4/3;width:100%;overflow:hidden}.review-photo.svelte-16h6p05 img:where(.svelte-16h6p05){object-fit:cover;width:100%;height:100%;transition:transform .3s}.review-card.svelte-16h6p05:hover .review-photo:where(.svelte-16h6p05) img:where(.svelte-16h6p05){transform:scale(1.04)}.review-body.svelte-16h6p05{padding:1.25rem}.review-card.has-photo.svelte-16h6p05 .review-body:where(.svelte-16h6p05){padding-top:1rem}.review-stars.svelte-16h6p05{gap:2px;margin-bottom:.75rem;display:flex}.star.svelte-16h6p05{color:var(--border);font-size:1.1rem}.star.filled.svelte-16h6p05{color:#f59e0b}.review-text.svelte-16h6p05{color:var(--text-secondary);-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;margin:0 0 .75rem;font-size:.95rem;line-height:1.6;display:-webkit-box;overflow:hidden}.review-card.has-photo.svelte-16h6p05 .review-text:where(.svelte-16h6p05){-webkit-line-clamp:4;line-clamp:4}.review-author.svelte-16h6p05{color:var(--text-muted);font-size:.85rem;font-weight:600}.load-more-wrap.svelte-16h6p05{text-align:center;margin-top:2.5rem}.gallery-loading.svelte-16h6p05{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.skeleton-card.svelte-16h6p05{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--border) 50%, var(--bg-secondary) 75%);background-size:200% 100%;height:240px;animation:1.4s infinite svelte-16h6p05-shimmer}@keyframes svelte-16h6p05-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-empty.svelte-16h6p05{text-align:center;color:var(--text-muted);padding:4rem}
