/* Galerie — subpage (no loader/thread), same olive field */
:root{--olv:#6c652e}
.gpage{padding-top:clamp(7rem,14vh,10rem)}
.ghead{padding:0 var(--pad) clamp(1.8rem,4vh,3rem)}
.gtabs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem clamp(1.8rem,4.5vw,3.6rem);margin-top:1.5rem}
.gtab{background:none;border:none;padding:0;cursor:none;display:inline-flex;align-items:baseline;gap:.75rem;font-family:var(--serif);font-style:italic;font-weight:400;text-transform:lowercase;font-size:clamp(2.1rem,5.2vw,4.3rem);line-height:1.18;letter-spacing:-0.01em;color:rgba(236,231,214,0.3);position:relative;transition:color .55s var(--ease)}
.gtab .num{font-family:var(--mono);font-style:normal;font-size:.6rem;letter-spacing:.2em;color:rgba(236,231,214,0.35);transition:color .55s var(--ease)}
.gtab::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--gold);transition:width .6s var(--ease)}
.gtab:hover{color:rgba(236,231,214,0.7)}
.gtab.is-active{color:var(--cream)}
.gtab.is-active .num{color:var(--gold)}
.gtab.is-active::after{width:100%}
.ghead__meta{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem 2.5rem;margin-top:clamp(1.6rem,3.5vh,2.6rem);padding-top:1.1rem;border-top:1px solid rgba(236,231,214,0.14)}
.ghead__info{display:flex;flex-direction:column;gap:.4rem}
.gcount{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.gview{display:flex;align-items:center;gap:1.1rem}
.gview__cap{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(236,231,214,0.45);margin-right:.2rem}

/* galerie — responsives masonry: natürliche bildformate, spalten verteilen
   sich automatisch, abstände über --ggap konsistent */
.gwrap{--ggap:clamp(.9rem,1.8vw,1.8rem);padding:0 var(--pad) clamp(3rem,7vh,5rem)}
.gflow{columns:3;column-gap:var(--ggap);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.gflow.swap{opacity:0;transform:translateY(8px)}
@media (max-width:1000px){.gflow{columns:2}}
@media (max-width:640px){.gflow{columns:1}}
.gcell{position:relative;overflow:hidden;display:block;margin:0 0 var(--ggap);background:var(--paper-2);break-inside:avoid;-webkit-column-break-inside:avoid;opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.gcell.in{opacity:1;transform:none}
.gcell .gimg{display:block;width:100%;height:auto;transition:transform 1.1s var(--ease)}
.gcell:hover .gimg{transform:scale(1.045)}
.gcell::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(to top,rgba(8,14,5,0.45) 0%,rgba(8,14,5,0.16) 20%,rgba(8,14,5,0.04) 32%,transparent 42%);opacity:0;transition:opacity .5s var(--ease)}
.gcell:hover::after{opacity:1}
.gnum{position:absolute;left:.9rem;bottom:.85rem;z-index:3;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;color:var(--cream);pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gcell:hover .gnum{opacity:.9;transform:none}

/* lightbox — sits under the film grain so photos keep the field's texture */
.lb{position:fixed;inset:0;z-index:2400;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);background:rgba(13,12,6,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s linear .45s}
.lb.open{opacity:1;visibility:visible;transition:opacity .45s var(--ease)}
body.lb-open{overflow:hidden}
.lb__fig{margin:0;display:flex;flex-direction:column;gap:1.1rem;max-width:min(90vw,1240px)}
.lb__img{display:block;max-width:min(90vw,1240px);max-height:76vh;object-fit:contain;box-shadow:0 34px 90px rgba(0,0,0,0.55);transition:opacity .25s var(--ease)}
.lb__img.dim{opacity:0}
.lb__bar{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.lb__cap{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(236,231,214,0.75)}
.lb__nav{display:flex;gap:1.5rem}
.lb__close{position:absolute;top:1.5rem;right:var(--pad)}

/* closing CTA */
.gcta{position:relative;padding:clamp(5rem,12vh,9rem) var(--pad) clamp(4rem,9vh,6.5rem);display:flex;flex-direction:column;align-items:center;gap:2.2rem;text-align:center}
.gcta__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(52% 62% at 50% 55%,rgba(243,200,214,0.12),rgba(243,200,214,0.05) 44%,transparent 74%)}
.gcta__line{position:relative;font-family:var(--serif);font-style:italic;font-weight:400;text-transform:lowercase;font-size:clamp(1.9rem,4.2vw,3.2rem);line-height:1.22;letter-spacing:-0.01em;color:var(--cream);max-width:24ch;text-wrap:balance}
@media (max-width:640px){.ghead__meta{flex-direction:column;align-items:flex-start}.lb__close{right:1.2rem}}

/* ---------- stimmung: papier (warmes galerie-weiß, passepartout) ---------- */
.glight body{background-image:none;background-color:#f1ecdf;transition:background-color .5s var(--ease)}
.glight body::after{opacity:.04}
.glight .nav{color:var(--ink)}
.glight .nav__links a:hover{color:var(--olive)}
.glight .nav__panel-in{background:rgba(243,239,228,0.95);border-color:rgba(27,26,13,0.12)}
.glight .nav__panel-in a{color:var(--ink)}
.glight .nav__panel-in a:hover{color:var(--olive);background:rgba(27,26,13,0.04)}
.glight .nav__panel-in a .num{color:var(--olive)}
.glight .label{color:var(--olv)}
.glight .gtab{color:rgba(27,26,13,0.26)}
.glight .gtab:hover{color:rgba(27,26,13,0.6)}
.glight .gtab.is-active{color:var(--ink)}
.glight .gtab .num{color:rgba(108,101,46,0.55)}
.glight .gtab.is-active .num{color:var(--olv)}
.glight .gtab::after{background:var(--olive)}
.glight .ghead__meta{border-top-color:rgba(27,26,13,0.16)}
.glight .gcount{color:var(--olive)}
.glight .gview__cap{color:rgba(27,26,13,0.48)}
.glight .fx{color:rgba(27,26,13,0.5)}
.glight .fx:hover{color:var(--ink)}
.glight .fx.is-active{color:var(--olive)}
.glight .fx::after{background:var(--olive)}
.glight .lb .fx{color:rgba(240,233,216,0.6)}
.glight .lb .fx:hover{color:var(--cream)}
.glight .lb .fx::after{background:var(--blue)}
.glight .gwrap{--ggap:clamp(1.2rem,2.4vw,2.4rem)}
.glight .gcell{background:#e3ddc8}
.glight .gcta__line{color:var(--ink)}
.glight .gcta{color:var(--ink)}
.glight .gcta__glow{background:radial-gradient(52% 62% at 50% 55%,rgba(201,138,160,0.14),rgba(201,138,160,0.06) 44%,transparent 74%)}
.glight .footer{color:rgba(27,26,13,0.72)}
.glight .footer__brand{color:var(--ink)}
.glight .footer__brand .wordmark{color:var(--ink)}
.glight .footer__brand .mark{color:var(--olive)}
.glight .footer__links a:hover{color:var(--olive)}
.glight .footer__fine{border-top-color:rgba(27,26,13,0.16);color:rgba(27,26,13,0.5)}
.glight .cursor-dot{background:var(--olive)}
.glight .cursor-ring{border-color:var(--olive)}
.glight .cursor-ring.grow{background:rgba(201,138,160,0.12)}
.glight ::selection{background:var(--olive);color:var(--cream)}

/* mobil: kategorie-tabs untereinander — genug Luft für den Unterstrich
   des aktiven Tabs zur nächsten Zeile */
@media (max-width:640px){
  .gtabs{flex-direction:column;align-items:flex-start;gap:.9rem}
}


/* legal-overlay bleibt dunkel — fx/label darin nicht mit glight einfärben */
.glight .legal .label{color:var(--gold)}
.glight .legal .fx{color:rgba(240,233,216,0.6)}
.glight .legal .fx:hover{color:var(--cream)}
.glight .legal .fx.is-active{color:var(--blue)}
.glight .legal .fx::after{background:var(--blue)}
/* fokus-ring im hellen thema oliv statt gold */
.glight :focus-visible{outline-color:var(--olive)}
.glight .legal :focus-visible,.glight .lb :focus-visible{outline-color:var(--gold)}
/* galerie-zellen: tastatur-fokus sichtbar */
.gcell:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.glight .gcell:focus-visible{outline-color:var(--olive)}
