/*
Theme Name: COMRADE LINKS
Theme URI: https://comrade-official.com/
Author: INCONNECTZERO
Description: COMRADE official link hub, responsive three-column gallery with horizontal navigation and cool-toned thumbnail grading.
Version: 1.0.45
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: comrade-links
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap');
:root{--ink:#221d1b;--paper:#fff;--width:930px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;-webkit-font-smoothing:antialiased}
.site-shell{min-height:100svh;background:var(--paper)}
a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
img{display:block;max-width:100%}
.main{width:min(var(--width),100%);margin:0 auto}
.intro{position:relative;padding:62px 16px 0;text-align:center}
.intro__instagram{position:absolute;top:24px;right:32px;display:inline-flex;align-items:center;gap:6px;font-family:'Cormorant Garamond',Georgia,serif;font-size:10.5px;letter-spacing:.045em;line-height:1.45;color:rgba(34,29,27,.92);transition:opacity .3s ease}
.intro__instagram-icon{display:block;flex:none;width:12px;height:12px}
.intro__instagram:hover{opacity:.58}
.intro__logo-link{display:block;width:clamp(92px,10.5vw,112px);margin:0 auto}
.intro__logo{display:block;width:100%;height:auto}
.visually-hidden{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:min(348px,calc(100% - 112px));margin:28px auto 18px;gap:clamp(18px,3vw,30px)}
.links a{display:flex;align-items:center;justify-content:center;justify-self:center;width:100%;max-width:152px;min-height:40px;padding-bottom:4px;border-bottom:1px solid rgba(34,29,27,.58);font-size:13.5px;font-weight:500;letter-spacing:.135em;transition:color .35s,border-color .35s}

.links a:hover{color:#88817b;border-color:#aaa49f}
.gallery{margin:0 auto}
.gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.gallery__item{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#f2f0ee}
.gallery__item::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(118,140,168,.07),rgba(62,78,102,.16));mix-blend-mode:multiply;opacity:.9;transition:opacity .8s ease}
.gallery__item img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.08) brightness(.97) hue-rotate(3deg);transition:transform .95s cubic-bezier(.22,1,.36,1),opacity .5s,filter .5s ease}
/* Editorial hover: a subtle return of natural color, desktop pointer devices only. */
@media(hover:hover) and (pointer:fine){
.gallery__item:hover img{transform:scale(1.035);filter:saturate(1.01) contrast(1.11) brightness(.995) hue-rotate(0deg)}
.gallery__item:hover::after{opacity:.22}
}
.footer{padding:45px 16px 36px;text-align:center}
.footer__copyright{color:#777;font-size:12px;line-height:1.7;letter-spacing:.07em;margin:0}
/* Progressive enhancement: without JS everything remains visible. */
.js-ready .js-reveal{opacity:0;transform:translate3d(0,13px,0);transition:opacity .85s ease,transform .95s cubic-bezier(.22,1,.36,1);transition-delay:var(--stagger,0ms)}
/* Cinematic reveal: cooler and denser before each photo quietly develops into view. */
.js-ready .gallery__item.js-reveal{transform:none;transition:opacity 1.2s ease;transition-delay:var(--stagger,0ms)}
.js-ready .gallery__item.js-reveal img{transform:scale(1.04);filter:saturate(.7) contrast(1.15) brightness(.82) hue-rotate(7deg);transition:transform 1.25s cubic-bezier(.22,1,.36,1),filter 1.25s ease;transition-delay:var(--stagger,0ms)}
.js-ready .gallery__item.js-reveal::after{opacity:1;transition:opacity 1.25s ease;transition-delay:var(--stagger,0ms)}
.js-ready .gallery__item.js-reveal.is-visible img{transform:scale(1);filter:saturate(.94) contrast(1.08) brightness(.97) hue-rotate(3deg)}
.js-ready .gallery__item.js-reveal.is-visible::after{opacity:.9}
.js-ready .js-reveal.is-visible{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
.js-ready .gallery__item.js-reveal.is-visible:hover img{transform:scale(1.035);filter:saturate(1.01) contrast(1.11) brightness(.995) hue-rotate(0deg);transition:transform .9s cubic-bezier(.22,1,.36,1),filter .7s ease;transition-delay:0ms}
.js-ready .gallery__item.js-reveal.is-visible:hover::after{opacity:.22;transition:opacity .7s ease;transition-delay:0ms}
}
.not-found{text-align:center;padding:100px 24px 160px}.not-found h1{font-size:22px}.not-found a{display:inline-block;margin-top:30px;border-bottom:1px solid}
@media(max-width:600px){.intro{padding-top:44px}.intro__instagram{top:14px;right:18px;font-size:11px;gap:5px;min-height:32px;padding:4px 2px;font-weight:400;letter-spacing:.03em;opacity:1}.intro__instagram-icon{width:12px;height:12px;stroke-width:1.6}.intro__logo-link{width:86px}.links{margin:16px auto 20px;width:calc(100% - 64px);gap:16px}.links a{width:100%;max-width:136px;min-height:36px;align-items:flex-end;padding:0 10px 8px;font-size:clamp(12px,2.9vw,13px);font-weight:400;letter-spacing:.075em;white-space:nowrap;border-bottom:1px solid rgba(34,29,27,.50)}.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.footer{padding:32px 12px 26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0ms!important}.js-ready .js-reveal{opacity:1;transform:none}.js-ready .gallery__item.js-reveal img,.js-ready .gallery__item.js-reveal.is-visible img{transform:none;filter:saturate(.94) contrast(1.08) brightness(.97) hue-rotate(3deg)}.js-ready .gallery__item.js-reveal::after{opacity:.9}}

/* Opening event flyer: dismiss on click or automatically after 3 seconds. */
.opening-flyer[hidden]{display:none!important}
.opening-flyer{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(12px,3vw,32px);background:rgba(10,14,20,.66);opacity:0;transition:opacity 1.1s cubic-bezier(.22,1,.36,1)}
.opening-flyer.is-open{opacity:1}
.opening-flyer__dismiss{display:block;max-width:100%;max-height:100%;margin:0;padding:0;border:0;background:none;cursor:pointer;box-shadow:none;outline:none}
.opening-flyer__image{display:block;width:auto;height:auto;max-width:min(90vw,620px);max-height:90dvh;object-fit:contain}
.opening-flyer__dismiss:focus-visible{outline:none}
@media(max-width:600px){.opening-flyer{padding:12px}.opening-flyer__image{max-width:calc(100vw - 24px);max-height:88dvh}}
@media(prefers-reduced-motion:reduce){.opening-flyer{transition:none!important}}

/* Floating contextual editorial links — independent from clickable photographs. */
.collection-float[hidden]{display:none!important}
.collection-float{position:fixed;z-index:60;left:50%;bottom:clamp(18px,3vw,36px);transform:translateX(-50%);pointer-events:none}
.collection-float__link{display:none;align-items:center;justify-content:center;gap:0;min-height:36px;padding:7px 15px 8px;border:1px solid #111;background:rgba(255,255,255,.96);color:#111;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);font-size:14px;font-weight:500;letter-spacing:.035em;white-space:nowrap;box-shadow:0 4px 18px rgba(10,20,30,.10);pointer-events:auto;transition:background .35s ease,opacity .35s ease}
.collection-float__link.is-active{display:inline-flex}
.collection-float__link::before,.collection-float__arrow-space{content:"";display:block;width:14.5px;height:10px;flex:none}
.collection-float__link:hover{background:#fff;color:#111}
.collection-float__link[data-float="gallery"]{background:#111;color:#fff;border-color:#111}
.collection-float__link[data-float="gallery"]:hover{background:#111;color:#fff;border-color:#111}
.collection-float__link[data-float="archive"]{background:#111;color:#fff;border-color:#111}
.collection-float__link[data-float="archive"]:hover{background:#111;color:#fff;border-color:#111}

@media(max-width:600px){.collection-float{bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))}.collection-float__link{font-size:12px;gap:0;min-height:34px;padding:7px 12px}.collection-float__link::before,.collection-float__arrow-space{width:13px}}
@media(prefers-reduced-motion:reduce){.collection-float__link{transition:none!important}}

/* SP only: finish at item 50; PC retains all 51 images. */
@media (max-width:600px){.gallery__grid > .gallery__item:nth-child(n+51){display:none}}
