/* Published gallery collections. The existing Hobbies tiles remain visible until
   the first album is published, even if the API is unavailable. */
.photo-galleries[hidden], .gallery-category[hidden] { display:none; }
.gallery-tile-cta{font:600 12px var(--mono-font);color:var(--lilac);display:block;margin-top:10px;}
.gallery-category{scroll-margin-top:95px;}
.photo-galleries {margin-top:72px; display:grid;gap:70px;}
.gallery-category-heading {display:flex;gap:30px;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:18px;margin-bottom:22px;}
.gallery-category-heading h3 {font-family:var(--display-font);font-size:clamp(33px,4.6vw,57px);line-height:1.05;letter-spacing:-.045em;margin:0;}
.gallery-category-heading p {font-family:var(--mono-font);font-size:12px;color:#cfc3e9;margin:0;}
.gallery-albums {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.gallery-album {appearance:none;display:block;cursor:pointer;text-align:left;color:var(--paper);font:inherit;background:#282635;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s;}
.gallery-album:hover {transform:translateY(-4px);border-color:var(--lilac);box-shadow:0 16px 40px rgba(0,0,0,.2);}
.gallery-album:focus-visible {outline:3px solid var(--yellow);outline-offset:3px;}
.gallery-album-image {display:block;width:100%;height:220px;object-fit:cover;background:#333342;}
.gallery-album-body {display:block;padding:19px 20px 21px;}
.gallery-album-body strong {display:block;font:700 24px/1.15 var(--display-font);letter-spacing:-.025em;}
.gallery-album-body small {display:block;margin-top:8px;font-size:13px;line-height:1.45;color:#b9b2ce;}
.photo-viewer {background:#171923;color:var(--paper);padding:0;border:1px solid rgba(255,255,255,.3);border-radius:16px;width:min(94vw,1020px);max-height:94dvh;box-shadow:0 36px 100px rgba(0,0,0,.65);}
.photo-viewer::backdrop {background:rgba(5,7,12,.86);backdrop-filter:blur(8px);}
.viewer-inner {padding:22px;display:flex;flex-direction:column;max-height:92dvh;gap:15px;}
.viewer-header {display:flex;align-items:start;justify-content:space-between;gap:20px;}
.viewer-header h2 {font:700 clamp(25px,3vw,37px)/1.1 var(--display-font);margin:0;letter-spacing:-.025em;}
.viewer-header p {margin:7px 0 0;color:#bfc4d0;font-size:13px;}
.viewer-close,.viewer-controls button {cursor:pointer;border:1px solid rgba(255,255,255,.32);color:var(--paper);background:#292c38;border-radius:8px;font:600 13px var(--mono-font);padding:10px 15px;}
.viewer-close:hover,.viewer-controls button:hover {border-color:var(--lilac);}
.viewer-figure {margin:0;min-height:0;display:flex;flex:1;flex-direction:column;gap:10px;align-items:center;}
.viewer-figure img {display:block;min-height:0;max-width:100%;max-height:min(67dvh,700px);object-fit:contain;border-radius:6px;background:#10121a;}
.viewer-figure figcaption {font-size:14px;line-height:1.35;color:#d5cfdf;text-align:center;}
.viewer-controls {display:flex;gap:15px;justify-content:space-between;align-items:center;}
.viewer-controls button:disabled {opacity:.35;cursor:default;}
.viewer-controls span {font:500 12px var(--mono-font);color:#bfc4d0;}
@media(max-width:810px) { .gallery-albums{grid-template-columns:repeat(2,minmax(0,1fr));}.gallery-album-image{height:195px;} }
@media(max-width:560px) { .photo-galleries{margin-top:48px;gap:48px;}.gallery-category-heading{display:block;}.gallery-category-heading p{margin-top:5px;}.gallery-albums{grid-template-columns:1fr;gap:12px;}.gallery-album-image{height:240px;}.viewer-inner{padding:13px;}.viewer-header h2{font-size:23px;}.viewer-controls{gap:4px;}.viewer-controls button{padding:10px;font-size:11px;} }
@media(prefers-reduced-motion:reduce) { .gallery-album{transition:none;} .gallery-album:hover{transform:none;} }

/* A single baking photo does not need album decoration. */
.gallery-album.gallery-single-photo{background:#171923}
.gallery-single-photo .gallery-album-image{height:280px}
.gallery-single-photo .gallery-album-body{padding:12px 17px 16px}
.gallery-single-photo .gallery-album-body strong{font-size:19px}
.gallery-single-photo .gallery-album-body small{margin-top:4px}
.viewer-controls[hidden]{display:none!important}
@media(max-width:810px){.gallery-single-photo .gallery-album-image{height:235px}}
@media(max-width:560px){.gallery-single-photo .gallery-album-image{height:290px}}
