.layout{min-height:100vh}.content{padding:var(--space-3);padding-left:calc(72px + var(--space-3));max-width:1560px;margin-inline:auto}.gallery-intro{margin-bottom:var(--space-3)}.gallery-intro--seo{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gallery-intro__title{font-size:var(--font-size-name);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}.gallery-intro__text{color:var(--color-text-muted);line-height:1.6;margin:0;max-width:70ch}.gallery-intro__cities{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:8px}.gallery-intro__cities a{color:var(--color-gold);font-size:var(--font-size-meta);text-transform:uppercase;letter-spacing:.5px}.content__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.filters{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chip{padding:8px 20px;border:1px solid rgba(201,169,110,.3);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-meta);text-transform:uppercase;letter-spacing:.5px;transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .2s ease}.chip:hover{border-color:var(--color-gold);color:var(--color-text);transform:translateY(-1px)}.chip:active{transform:translateY(0) scale(.97)}.chip--active{background:var(--gradient-gold);border-color:transparent;color:#1a1a1a;font-weight:var(--font-weight-medium)}.chip--active:hover{color:#1a1a1a}.content__count{color:var(--color-text-muted);font-size:var(--font-size-meta);white-space:nowrap}.tag-filter{position:relative}.tag-filter__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(560px,80vw);max-height:60vh;overflow-y:auto;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 12px 32px #0006}.tag-filter__clear{align-self:flex-start;background:none;border:none;color:var(--color-gold);font-size:var(--font-size-meta);text-decoration:underline;cursor:pointer;padding:0}.tag-filter__group-label{display:block;color:var(--color-text-muted);font-size:var(--font-size-meta);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tag-filter__chips{display:flex;flex-wrap:wrap;gap:6px}.tag-filter__tag{padding:5px 12px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-text-muted);font-size:var(--font-size-meta);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.tag-filter__tag:hover{border-color:var(--color-gold);color:var(--color-text)}.tag-filter__tag--active{background:var(--gradient-gold);border-color:transparent;color:#1a1a1a;font-weight:var(--font-weight-medium)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);text-align:center}.empty-state__icon{font-size:2.5rem;color:var(--color-gold);opacity:.7}.empty-state__text{color:var(--color-text-muted);font-size:var(--font-size-body);margin:0}.card{position:relative;display:block;aspect-ratio:3 / 4;overflow:hidden;border-radius:12px;background:var(--color-surface);border:1px solid transparent;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card),0 0 0 1px #c9a96e40;border-color:#c9a96e59}.card__media,.card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card__media img{transition:transform .5s cubic-bezier(.22,1,.36,1),filter .5s ease}.card:hover .card__media img{transform:scale(1.06);filter:brightness(1.05)}.card__overlay{transition:background .35s ease}.card__placeholder{display:grid;place-items:center;font-size:4rem;color:var(--color-gold)}.card__overlay{position:absolute;inset-inline:0;bottom:0;padding:var(--space-2) var(--space-2) var(--space-3);background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.6) 50%,transparent);display:flex;flex-direction:column;gap:2px}.card__featured{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-pill);background:#0000008c;color:var(--color-gold);font-size:var(--font-size-meta);font-weight:var(--font-weight-medium);letter-spacing:.5px}.card__sample{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:#4c1d95d9;color:#d8b4fe;font-size:var(--font-size-meta);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.card__name{color:#fff;font-weight:var(--font-weight-bold);font-size:1.25rem;line-height:1.15;text-transform:uppercase;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.card__city{color:var(--color-gold);font-size:var(--font-size-meta);text-transform:uppercase;letter-spacing:1px}@media(max-width:768px){.content{padding:var(--space-2);padding-bottom:calc(72px + var(--space-2));max-width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tag-filter__panel{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:75vh;margin-bottom:0;border-radius:var(--radius-card) var(--radius-card) 0 0;z-index:70}}@media(max-width:600px){.content__bar{flex-direction:column;align-items:center;gap:var(--space-1)}.filters{width:100%;justify-content:center}.chip{padding:6px 14px;font-size:11px}}@media(max-width:480px){.content{padding:var(--space-2);padding-bottom:calc(72px + var(--space-2));max-width:470px;margin-inline:auto}.content__count{display:none}.grid{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.card{width:min(100%,438px);aspect-ratio:3 / 4;border-radius:16px;flex-shrink:0}.card:hover{transform:none}.card__name{font-size:1.4rem;letter-spacing:1px}.card__city{font-size:var(--font-size-body);letter-spacing:1px}.card__overlay{padding:var(--space-2) var(--space-2) var(--space-3)}.filters{justify-content:center;flex-wrap:wrap}.chip,.tag-filter{flex-shrink:0}}@media(min-width:1440px){.grid{grid-template-columns:repeat(4,1fr)}}
