/*
Theme Name: Mangulis Film
Theme URI: https://mangulis.lv/
Author: mangulis
Description: A quiet, responsive film photography portfolio with an accessible native gallery. Uses standard posts, featured images and film notes.
Version: 1.0.2
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: mangulis-film
*/
:root{--paper:#f5f3ee;--ink:#242923;--muted:#686b62;--line:#d8d9ce;--accent:#526348;--soft:#e6e8dc;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,select,input,textarea{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}button,select{min-height:44px}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}::selection{background:#d8dfc8;color:var(--ink)}[hidden]{display:none!important}.shell{width:calc(100% - 112px);max-width:1600px;margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:10px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.wordmark{font-size:34px;letter-spacing:-2.2px;font-weight:600;line-height:1}.wordmark span{color:var(--accent)}.site-header nav{display:flex;gap:32px;margin-left:auto;margin-right:75px}.site-header nav a{font-size:13px;padding:12px 0}.format-mark,.eyebrow,.hero-footnote,.about-meta{font:10px/1.5 var(--mono);letter-spacing:1.4px}.format-mark{display:flex;align-items:center;gap:10px}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--accent)}.eyebrow{color:var(--muted)}.tiny-cross{font:22px/1 var(--mono);color:var(--accent)}.hero{display:grid;grid-template-columns:minmax(280px, .82fr) minmax(0,1.65fr);gap:6.2%;padding-block:64px 96px;align-items:center}.hero-copy>.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:31px}.hero h1{font:clamp(44px,4.75vw,83px)/1.03 var(--serif);letter-spacing:-2.7px;margin-left:-3px}.hero h1 em{color:var(--accent)}.intro{color:var(--muted);font-size:13px;line-height:1.9;max-width:285px;margin:27px 0 23px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid currentColor;padding:8px 0;font-size:12px}.text-link span{font-size:21px;line-height:1}.hero-footnote{display:flex;justify-content:space-between;max-width:290px;padding-top:49px;font-size:9px;letter-spacing:.7px;color:var(--muted)}.photo-open{display:block;position:relative;overflow:hidden;background:#e5e4de}.photo-open picture{display:block}.photo-open img{width:100%;transition:opacity .25s}.photo-open:hover img{opacity:.94}.expand-mark{display:grid;place-items:center;position:absolute;bottom:15px;right:15px;width:34px;height:34px;border-radius:50%;background:var(--paper);font-size:20px;color:var(--ink);opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.photo-open:hover .expand-mark,.photo-open:focus-visible .expand-mark{opacity:1;transform:none}.hero-photo figcaption{display:flex;justify-content:space-between;gap:16px;font-size:11px;margin-top:14px;color:var(--muted)}.hero-photo figcaption span:first-child{color:var(--ink)}.hero-photo figcaption span:last-child{font:9px/1.65 var(--mono);letter-spacing:.2px}.archive{scroll-margin-top:25px}.section-heading{border-top:1px solid var(--line);padding-top:37px;display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:32px}.section-heading h2{font:clamp(29px,2.6vw,42px)/1.2 var(--serif);letter-spacing:-1px;margin-top:11px}.count-super{display:inline-block;font:10px/1 var(--mono);letter-spacing:0;vertical-align:top;margin:5px 0 0 12px;color:var(--muted)}.archive-hint{color:var(--muted);font-size:11px;padding-bottom:4px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:28px}.tone-filters{display:flex;gap:7px}.tone-filters a{font-size:12px;padding:9px 17px;border-radius:2px;min-height:40px;display:flex;align-items:center}.tone-filters a[aria-current]{background:var(--ink);color:var(--paper)}.tone-filters a:not([aria-current]):hover{background:var(--soft)}.gallery-tools{display:flex;align-items:center;gap:22px}.film-filter{display:flex;align-items:center;gap:10px}.film-filter select{background:transparent;border:0;max-width:218px;font-size:11px;padding:8px 26px 8px 8px;cursor:pointer}.apply-filter{background:transparent;border:1px solid var(--line);padding-inline:12px}.js .apply-filter{display:none}.view-controls{display:flex;border-left:1px solid var(--line);padding-left:15px;gap:3px}.view-controls button{background:transparent;border:0;width:36px;min-height:38px;color:var(--muted);border-radius:2px}.view-controls button[aria-pressed=true]{background:var(--soft);color:var(--ink)}.grid-icon{font-size:22px}.contact-icon{font-size:29px;letter-spacing:-5px;padding-right:4px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}.photo-card{min-width:0;break-inside:avoid}.photo-card figcaption{padding-top:11px;font-size:12px;line-height:1.5}.photo-card figcaption>div{display:flex;align-items:baseline;gap:10px}.frame-number{font:9px/1.5 var(--mono);color:var(--muted);flex-shrink:0}.film-label{display:block;color:var(--muted);font:9px/1.55 var(--mono);margin-left:23px;margin-top:5px}.photo-grid[data-layout=contact]{grid-template-columns:repeat(5,minmax(0,1fr));gap:25px 18px}.photo-grid[data-layout=contact] .film-label{display:none}.photo-grid[data-layout=contact] .photo-card figcaption{font-size:11px}.photo-grid[data-layout=contact] .photo-card figcaption>div{gap:6px}.gallery-empty{text-align:center;padding:70px 20px;color:var(--muted)}.archive-end{display:flex;justify-content:space-between;align-items:center;padding:48px 0 45px;border-bottom:1px solid var(--line)}.archive-end p{font:10px/1.6 var(--mono);letter-spacing:.5px;color:var(--muted)}.about{padding-top:68px;padding-bottom:30px;scroll-margin-top:30px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:30px 0 48px}.about h2{font:clamp(48px,5.2vw,80px)/1.02 var(--serif);letter-spacing:-2px}.about h2 em{color:var(--accent)}.about-copy>div{max-width:440px;padding-top:3px}.about-copy p{font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:17px}.about-copy .text-link{margin-top:8px}.about-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:19px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.5px;color:var(--muted)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:32px 44px}.site-footer .wordmark{font-size:24px;letter-spacing:-1.6px}.site-footer p,.back-top{font-size:10px;color:var(--muted)}.back-top span{padding-left:20px;font-size:15px}.lightbox{position:fixed;inset:0;margin:auto;width:100vw;max-width:none;height:100dvh;max-height:none;padding:24px 36px;background:#171a16;color:#f5f3ee;border:0;overflow:auto}.lightbox::backdrop{background:#171a16}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.lightbox-counter{font:11px var(--mono);letter-spacing:1px}.lightbox button{background:none;color:inherit;border:1px solid #62675e;padding:9px 14px;min-width:44px;border-radius:2px}.lightbox button:hover{background:#343b30}.lightbox button:focus-visible,.lightbox a:focus-visible{outline-color:#dbe5c9}.lightbox-close{font-size:12px}.lightbox-close span{font-size:20px;margin-left:20px}.lightbox-stage{flex:1;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:20px;padding:20px 0}.lightbox-image{width:100%;height:100%;min-height:0;object-fit:contain;max-height:calc(100dvh - 190px)}.lightbox-image[data-loading=true]{opacity:.35}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-shrink:0;min-height:55px}.lightbox h2{font:23px/1.3 var(--serif)}.lightbox-notes{font:10px/1.6 var(--mono);color:#bdc1b5;margin-top:7px}.lightbox-detail{color:#d8ddcf;font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.lightbox-error{font-size:13px;color:#f5f3ee}.single-photo{padding-top:35px}.single-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin:36px 0 28px}.single-heading h1,.content-page h1{font:clamp(38px,5vw,70px)/1.1 var(--serif);letter-spacing:-1.5px;margin-top:12px}.single-heading>p{font:11px var(--mono);color:var(--muted)}.single-image{background:transparent;display:block}.single-image img{max-height:82vh;width:auto;margin:auto;object-fit:contain}.photo-notes{display:grid;grid-template-columns:1fr 2fr;gap:25px;padding:35px 0;border-bottom:1px solid var(--line)}.entry-content{font-size:15px;line-height:1.85}.entry-content p{margin-bottom:1em}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content .wp-block-image img{height:auto}.photo-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;font-size:12px;padding:30px 0 50px;border-bottom:1px solid var(--line)}.photo-pagination>div:last-child{text-align:right}.content-page{padding-block:60px;min-height:60vh}.content-page h1{margin-bottom:40px}.content-page .entry-content{max-width:800px}.content-page .photo-grid{margin-top:30px}.not-found{padding-block:95px 140px}.not-found h1{font:clamp(55px,7vw,105px)/1 var(--serif);letter-spacing:-2px;margin:25px 0}.not-found h1 em{color:var(--accent)}.not-found p:not(.eyebrow){color:var(--muted);max-width:420px;margin-bottom:25px}.comments{max-width:720px;margin:30px auto}.comments h2{font:30px var(--serif);margin-bottom:20px}.comments input:not([type=checkbox]),.comments textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:10px}.comments textarea{max-width:100%}.comments label{display:block}.comments p{margin-bottom:15px}.comments input[type=submit]{background:var(--ink);color:white;cursor:pointer}.navigation.pagination{margin-top:30px}.page-numbers{padding:8px}.page-numbers.current{background:var(--soft)}
/* Keep the opening composition steady for landscape, square and portrait frames. */
.hero-feature{min-width:0}.hero-photo .photo-open{aspect-ratio:3/2}.hero-photo picture,.hero-photo img{width:100%;height:100%}.hero-photo img{object-fit:contain}.hero-photo time{white-space:nowrap}
@media(min-width:1800px){.hero{gap:100px}.hero h1{font-size:88px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.site-header nav{margin-right:20px}.hero{gap:40px;padding-top:45px}.hero h1{font-size:54px;letter-spacing:-2px}.hero-footnote{padding-top:28px}.format-mark{font-size:8px;letter-spacing:.7px}.intro{font-size:12px}.photo-grid{gap:28px 20px}.archive-hint{display:none}}
@media(max-width:800px){.shell{width:calc(100% - 40px)}.site-header{height:85px;gap:20px}.site-header nav{margin:0;gap:24px}.format-mark{display:none}.wordmark{font-size:30px}.hero{grid-template-columns:1fr;gap:33px;padding-block:43px 58px}.hero-copy{position:relative}.hero-copy>.eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(48px,8vw,65px);line-height:1.03}.intro{font-size:13px;max-width:300px;margin-top:20px}.hero-footnote{position:absolute;right:0;bottom:5px;display:block;text-align:right;font-size:8px}.hero-footnote span{display:block;margin-top:5px}.hero-photo figcaption{font-size:10px}.hero-photo figcaption span:last-child{font-size:8px}.section-heading{padding-top:26px;margin-bottom:23px}.section-heading h2{font-size:32px}.gallery-toolbar{align-items:flex-start;flex-wrap:wrap;gap:11px;padding-bottom:12px;margin-bottom:20px}.gallery-tools{margin-left:auto;gap:10px}.tone-filters a{padding:8px 12px;font-size:11px}.film-filter select{padding-left:0;max-width:195px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.photo-grid[data-layout=contact]{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 13px}.photo-card figcaption{font-size:11px}.film-label{font-size:8px}.about{padding-top:45px}.about-copy{gap:8%;padding-top:26px}.about-copy p{font-size:12px}.about h2{font-size:53px}.about-meta{font-size:8px;letter-spacing:0}.site-footer{flex-wrap:wrap;padding-bottom:28px}.site-footer p{font-size:9px}.single-heading{align-items:start;flex-direction:column;gap:14px}.single-heading h1{font-size:45px}.lightbox{padding:15px}.lightbox-stage{gap:9px;grid-template-columns:36px minmax(0,1fr) 36px}.lightbox-stage button{min-width:36px;padding:9px 5px}.lightbox-bottom{gap:12px}.lightbox h2{font-size:20px}.lightbox-notes{font-size:9px}.lightbox-detail{font-size:10px}}
@media(max-width:480px){.hero h1{font-size:54px}.hero-footnote{position:static;display:flex;text-align:left;max-width:none;padding-top:25px}.hero-footnote span{margin-top:0}.hero{gap:27px;padding-bottom:44px}.hero-photo figcaption{flex-wrap:wrap;gap:3px}.hero-photo figcaption span:last-child{margin-left:auto}.section-heading h2{font-size:29px}.gallery-tools{width:100%;justify-content:space-between}.tone-filters a{min-height:44px}.photo-grid{grid-template-columns:1fr;gap:30px}.photo-card figcaption{font-size:12px}.film-label{font-size:9px}.photo-grid[data-layout=contact]{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.photo-grid[data-layout=contact] figcaption>div{align-items:start}.archive-end{padding-block:32px}.archive-end p{font-size:8px;letter-spacing:0}.about-copy{grid-template-columns:1fr;gap:27px;padding-bottom:30px}.about-copy>div{max-width:none}.about-copy p{font-size:13px}.about-meta{flex-direction:column;gap:7px;font-size:9px}.site-footer .wordmark{font-size:24px}.site-footer p{order:3;width:100%}.site-footer{gap:20px}.photo-notes{grid-template-columns:1fr;gap:12px}.photo-pagination{font-size:10px;gap:12px}.single-heading h1{font-size:37px}.lightbox-stage{grid-template-columns:1fr;position:relative;padding-bottom:54px}.lightbox-image{grid-column:1;grid-row:1;max-height:calc(100dvh - 235px)}.lightbox-prev,.lightbox-next{position:absolute;bottom:5px;width:50px}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-bottom{align-items:flex-start}.lightbox-notes{max-width:240px}.lightbox h2{font-size:19px}.lightbox-detail{margin-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.photo-grid.is-masonry{grid-auto-rows:4px}.photo-grid.is-masonry .photo-card{align-self:start}

.lightbox-image{touch-action:pan-y pinch-zoom}

/* Readable supporting type at every viewport size. */
.format-mark,.eyebrow,.hero-footnote,.about-meta,
.hero-photo figcaption span:last-child,.count-super,.archive-hint,
.frame-number,.film-label,.archive-end p,.site-footer p,.back-top,
.lightbox-counter,.lightbox-notes,.lightbox-detail,.single-heading>p{
  font-size:.875rem;
}
.site-header nav a,.text-link,.hero-photo figcaption,.tone-filters a,
.photo-card figcaption,.photo-grid[data-layout=contact] .photo-card figcaption,
.lightbox-close,.photo-pagination{
  font-size:.9375rem;
}
.intro,.about-copy p,.film-filter select{font-size:1rem}
.hero-footnote{max-width:none;flex-wrap:wrap;gap:8px 16px}
.hero-photo figcaption{flex-wrap:wrap;gap:4px 16px}
.hero-photo figcaption span:last-child{margin-left:auto}
.photo-card figcaption a,.film-label,.lightbox-notes{overflow-wrap:anywhere}
.film-label{margin-left:27px}
.gallery-toolbar,.tone-filters,.about-meta{flex-wrap:wrap}
.gallery-tools{min-width:0;max-width:100%}
.film-filter{min-width:0}
.film-filter select{min-width:0;max-width:280px;width:100%}
.archive-end{gap:16px}
.archive-end p{text-align:center}
.lightbox-bottom>div{min-width:0}
@media(max-width:800px){
  .hero-footnote{position:static;display:flex;text-align:left;padding-top:25px}
  .hero-footnote span{margin-top:0}
  .gallery-tools{width:100%;justify-content:space-between}
  .site-header{gap:12px}
  .site-header nav{gap:16px}
}
@media(max-width:480px){
  .hero-photo figcaption{display:block}
  .hero-photo figcaption span{display:block}
  .hero-photo figcaption span:last-child{margin-top:4px}
  .tone-filters{gap:4px}
  .tone-filters a{padding-inline:10px}
  .lightbox-bottom{flex-wrap:wrap;gap:8px}
  .lightbox-notes{max-width:none}
  .lightbox-detail{margin-top:0}
  .photo-pagination{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);overflow-wrap:anywhere}
}
