/*
Theme Name: Cozy Jenn Photos
Theme URI: https://cozyjennphotos.com
Author: Cozy Jenn Photos
Description: A lightweight, photography-first WordPress theme with a streamlined gallery workflow.
Version: 1.3.1
Text Domain: cozy-jenn-photos
*/

:root{--fresh:#eff4bd;--azeitona:#a2b447;--fig:#556f30;--moss:#23361a;--bark:#362f22;--azul:#516f7a;--cream:#faf8f0;--paper:#fffdf7;--line:rgba(54,47,34,.16);--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--bark);font-family:var(--sans);font-size:16px;line-height:1.6} img{max-width:100%;height:auto;display:block} a{color:inherit;text-decoration:none} .screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}
.site-header{background:var(--moss);color:var(--cream);position:relative;z-index:10}.header-inner{max-width:1380px;margin:auto;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-title{font-family:var(--serif);font-size:1.6rem;letter-spacing:.015em;white-space:nowrap}.site-title span{color:var(--fresh)}.menu{display:flex;gap:1.7rem;list-style:none;margin:0;padding:0;font-size:.87rem;letter-spacing:.09em;text-transform:uppercase}.menu a{opacity:.88}.menu a:hover,.menu .current-menu-item a{color:var(--fresh);opacity:1}.menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;padding:.45rem .65rem;border-radius:3px}
.hero{position:relative;min-height:72vh;display:grid;place-items:end start;background:var(--moss);color:#fff;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,31,15,.68),transparent 68%),linear-gradient(0deg,rgba(20,31,15,.5),transparent 45%)}.hero-copy{position:relative;z-index:1;max-width:720px;padding:clamp(2.5rem,7vw,7rem);margin-bottom:3rem}.eyebrow{color:var(--fresh);font-size:.77rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.hero h1,.page-title,.gallery-header h1{font:clamp(3rem,6vw,6.6rem)/.98 var(--serif);margin:.7rem 0 1.1rem;letter-spacing:-.03em}.hero p{font:clamp(1rem,1.7vw,1.25rem)/1.55 var(--sans);max-width:530px;margin:0}.button{display:inline-block;background:var(--fig);color:#fff;padding:.78rem 1.2rem;border-radius:3px;margin-top:1.5rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.button:hover{background:var(--azeitona);color:var(--moss)}
.content-wrap{max-width:1380px;margin:auto;padding:5.5rem 2rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-heading h2{font:clamp(2.2rem,4vw,4rem)/1 var(--serif);margin:0}.section-heading p{margin:0;max-width:420px;color:#625d52}.text-link{border-bottom:1px solid var(--fig);color:var(--fig);font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;white-space:nowrap}.gallery-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.gallery-card{background:var(--paper);box-shadow:0 2px 12px rgba(35,54,26,.08);transition:transform .25s ease,box-shadow .25s}.gallery-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(35,54,26,.15)}.card-photo{aspect-ratio:4/3;overflow:hidden;background:#d9dacb}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.04)}.card-copy{padding:1.2rem 1.25rem 1.4rem}.card-meta{color:var(--azul);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.card-copy h3{font:1.7rem/1.1 var(--serif);margin:.35rem 0}.intro-band{background:var(--fresh);padding:5rem 2rem;text-align:center}.intro-band div{max-width:750px;margin:auto}.intro-band h2{font:clamp(2.3rem,4vw,4.2rem)/1.05 var(--serif);color:var(--moss);margin:0 0 1rem}.intro-band p{margin:0;color:var(--bark);font-size:1.1rem}
.archive-header,.gallery-header{max-width:1000px;margin:auto;padding:4.8rem 2rem 3rem;text-align:center}.archive-header p,.gallery-header .description{max-width:620px;margin:0 auto;color:#625d52}.gallery-header .details{color:var(--azul);text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700}.gallery-header h1{font-size:clamp(2.8rem,5.5vw,5.7rem);color:var(--moss)}.masonry{columns:3 320px;column-gap:1rem}.masonry-item{display:block;break-inside:avoid;margin:0 0 1rem;position:relative;background:#deddd3;cursor:zoom-in}.masonry-item img{width:100%;height:auto}.masonry-item:after{content:'View photo';position:absolute;inset:0;display:grid;place-items:center;background:rgba(35,54,26,.65);color:#fff;opacity:0;transition:opacity .2s;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}.masonry-item:hover:after{opacity:1}
.collection-nav-wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.8rem;text-align:left}.collection-breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--azul);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.collection-breadcrumbs a{border-bottom:1px solid transparent}.collection-breadcrumbs a:hover{border-bottom-color:var(--azul)}.collection-breadcrumbs span:last-child{color:var(--bark)}.collection-back{color:var(--fig);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;white-space:nowrap}.collection-back:hover{color:var(--azul)}
.site-footer{background:var(--moss);color:rgba(255,255,255,.78);padding:2.5rem 2rem}.footer-inner{max-width:1380px;margin:auto;display:flex;justify-content:space-between;gap:1rem;align-items:center}.footer-brand{font:1.3rem var(--serif);color:var(--fresh)}.site-footer p{margin:0;font-size:.83rem}.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(12,19,10,.94);display:none;align-items:center;justify-content:center;padding:2rem}.lightbox.is-open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;background:transparent;color:#fff;border:0;font-size:2.6rem;cursor:pointer;padding:1rem}.lightbox-close{right:1.5rem;top:1rem}.lightbox-prev{left:1rem;top:50%}.lightbox-next{right:1rem;top:50%}.lightbox-caption{position:absolute;bottom:1.2rem;color:#fff;font-size:.85rem}
.entry-content{max-width:750px;margin:auto;padding:0 2rem 5rem}.entry-content h2,.entry-content h3{font-family:var(--serif);color:var(--moss)}
@media(max-width:760px){.header-inner{padding:1rem 1.25rem}.menu-toggle{display:block}.primary-nav .menu{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem 1.25rem 1.3rem;background:var(--moss);flex-direction:column;gap:1rem}.primary-nav.is-open .menu{display:flex}.hero{min-height:68vh}.hero-copy{padding:2rem 1.3rem;margin-bottom:1.5rem}.content-wrap{padding:3.7rem 1.25rem}.section-heading{align-items:start;flex-direction:column;gap:.8rem}.gallery-cards{grid-template-columns:1fr;gap:1rem}.gallery-card{display:grid;grid-template-columns:42% 1fr}.card-photo{aspect-ratio:auto;height:100%}.masonry{columns:2 150px;column-gap:.65rem}.masonry-item{margin-bottom:.65rem}.archive-header,.gallery-header{padding:3.2rem 1.25rem 2rem}.footer-inner{display:block}.footer-inner p{margin-top:.7rem}.lightbox{padding:.5rem}.lightbox-prev{left:0}.lightbox-next{right:0}}
.collection-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--moss),var(--fig));color:var(--fresh);font-size:3rem}
@media(max-width:760px){.collection-nav-wrap{display:block;margin-bottom:2rem}.collection-back{display:inline-block;margin-top:1rem}.collection-breadcrumbs{line-height:1.5}}
