/**
 * Tilsitt Gallery — neutral default styles.
 * Loaded only when the active theme does NOT declare add_theme_support('tilsitt-gallery').
 * Intentionally minimal: enough to be usable with any theme, not a design.
 */
.tg-main{max-width:1200px;margin:0 auto;padding:2rem 1rem}
.tg-page-title{margin:0 0 2rem}
.tg-section-title{margin:3rem 0 1rem;font-size:1.25rem}
.tg-empty{opacity:.7}

.tg-grid{display:grid;gap:2rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tg-card__link{display:block;color:inherit;text-decoration:none}
.tg-card__media{aspect-ratio:4/5;overflow:hidden;background:#f0f0f0;margin-bottom:.75rem}
.tg-card__media--artwork{aspect-ratio:1}
.tg-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tg-card__image--contain{object-fit:contain}
.tg-card__image--empty{height:100%}
.tg-card__link:hover .tg-card__image{transform:scale(1.03)}
.tg-card__title{margin:0;font-size:1rem;font-weight:600}
.tg-card__artist,.tg-card__meta,.tg-card__count{margin:.15rem 0 0;font-size:.85rem;opacity:.7}
.tg-card__year{font-weight:400}

.tg-artist__header{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);margin-bottom:3rem}
@media(min-width:800px){.tg-artist__header{grid-template-columns:320px minmax(0,1fr)}}
.tg-artist__portrait img{display:block;width:100%;height:auto}
.tg-artist__name{margin:0 0 .5rem}
.tg-artist__meta{opacity:.7;margin:0 0 1rem}
.tg-artist__tagline{font-style:italic;margin:0 0 1rem}

.tg-artwork-page{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.tg-artwork-page{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
.tg-artwork-figure{margin:0 0 1rem;background:#f0f0f0}
.tg-artwork-figure--empty{aspect-ratio:1}
.tg-artwork-image{display:block;width:100%;height:auto;cursor:zoom-in}
.tg-artwork-page__artist{margin:0;opacity:.7}
.tg-artwork-page__title{margin:.25rem 0 1.5rem}
.tg-specs{margin:0 0 1.5rem;padding:0}
.tg-specs__row{display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e5e5e5}
.tg-specs dt{width:7rem;flex:none;opacity:.6}
.tg-specs dd{margin:0}
.tg-inquiry__hint{opacity:.7}

.tg-form__row{display:grid;gap:0 1rem;grid-template-columns:1fr 1fr}
.tg-form__field{margin:0 0 1rem}
.tg-form__field label{display:block;margin-bottom:.25rem;font-size:.9rem}
.tg-form__field input:not([type=checkbox]),.tg-form__field textarea{width:100%;padding:.6rem;border:1px solid #ccc;font:inherit}
.tg-form__field--consent label{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem}
.tg-form__hp{position:absolute;left:-9999px}
.tg-form__actions{display:flex;gap:1rem;align-items:center}
.tg-form__status{font-size:.9rem}
.tg-form__notice{padding:1rem;border-left:3px solid #999;background:#f6f6f6;margin-bottom:1rem}
.tg-form__notice--success{border-color:#2a7a3b}
.tg-form__notice--error{border-color:#b33}
.tg-button{padding:.7rem 1.5rem;border:1px solid currentColor;background:#111;color:#fff;font:inherit;cursor:pointer}
.tg-button:disabled{opacity:.5;cursor:default}

.tg-event{display:grid;gap:1rem 2rem;grid-template-columns:minmax(0,1fr);padding:2rem 0;border-bottom:1px solid #e5e5e5}
@media(min-width:700px){.tg-event{grid-template-columns:9rem minmax(0,1fr)}}
.tg-event__when{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}
.tg-event__title{margin:0 0 .25rem;font-size:1.25rem}
.tg-event__place{margin:0 0 1rem;font-size:.85rem;opacity:.7}
.tg-breadcrumb{font-size:.85rem;opacity:.7}

.tg-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);cursor:zoom-out}
.tg-lightbox.is-open{display:flex}
.tg-lightbox__nav{display:none;position:absolute;top:50%;width:3rem;height:4rem;margin-top:-2rem;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}
.tg-lightbox.has-series .tg-lightbox__nav{display:block}
.tg-lightbox__nav--prev{left:.5rem}.tg-lightbox__nav--prev::before{content:"\2039"}
.tg-lightbox__nav--next{right:.5rem}.tg-lightbox__nav--next::before{content:"\203A"}
.tg-lightbox__count{position:absolute;bottom:1rem;left:0;right:0;margin:0;text-align:center;color:#fff;font-size:.875rem}
.tg-lightbox img{max-width:86vw;max-height:86vh;object-fit:contain;opacity:0;transition:opacity .2s}
.tg-lightbox img.is-loaded{opacity:1}
.tg-lightbox__close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}
body.tg-lightbox-open{overflow:hidden}
