/*
Theme Name: Sapir Matlaw Photography
Theme URI: https://example.com/
Author: ZIMETEAM
Description: Warm minimalist photography portfolio theme, adapted from the supplied Stitch concept.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sapir-matlaw
*/

:root{--sm-cream:#F5F2EB;--sm-brown:#4A2C1C;--sm-brown-deep:#311709;--sm-hover:#6B4632;--sm-muted:#7A6A5D;--sm-sand:#D6C7B1;--sm-beige:#E8E1D5;--sm-white:#fff;--sm-max:1280px;--sm-side:80px;--sm-gap:160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sm-cream);color:var(--sm-brown);font-family:"Miriam Libre",Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-shell{max-width:var(--sm-max);margin:auto;padding-left:var(--sm-side);padding-right:var(--sm-side)}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;background:rgba(245,242,235,.96);border-bottom:1px solid rgba(74,44,28,.1);backdrop-filter:blur(10px)}.header-inner{min-height:150px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px}.site-branding{justify-self:start;text-align:start}.custom-logo{max-height:118px;width:auto;margin:auto;image-rendering:-webkit-optimize-contrast}.brand-name{display:block;font-family:"Miriam Libre",Georgia,serif;font-size:23px;letter-spacing:.14em;text-transform:uppercase;line-height:1.2}.brand-tagline{display:block;margin-top:6px;color:var(--sm-muted);font:12px/1.2 "Miriam Libre",monospace;letter-spacing:.16em;text-transform:uppercase}.primary-nav{justify-self:center;display:flex;justify-content:center}.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 22px}.primary-nav a{font:12px "Miriam Libre",monospace;letter-spacing:.05em;white-space:nowrap;position:relative}.primary-nav a:after{content:"";position:absolute;bottom:-5px;right:0;width:0;border-bottom:1px solid currentColor;transition:.3s}.primary-nav a:hover:after,.primary-nav .current-menu-item>a:after{width:100%}.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}.icon-btn{width:38px;height:38px;border:1px solid rgba(74,44,28,.25);border-radius:50%;display:grid;place-items:center;color:var(--sm-brown);transition:.25s}.icon-btn:hover{background:var(--sm-brown-deep);border-color:var(--sm-brown-deep);color:#fff}.icon-btn svg{display:block}.menu-toggle{display:none;border:0;background:none;color:var(--sm-brown);font:22px "Miriam Libre",monospace;cursor:pointer}.header-spacer{height:150px}
.hero{position:relative;height:min(80vh,820px);min-height:560px;background:var(--sm-beige);overflow:hidden;display:grid;place-items:center}.hero-media{position:absolute;inset:0;background:linear-gradient(135deg,#b9aa9b,#675344)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.hero-slide.is-active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(49,23,9,.08),rgba(49,23,9,.42))}.hero-copy{position:relative;z-index:2;color:#fff;text-align:center;max-width:850px;padding:30px}.eyebrow{font:13px/1.3 "Miriam Libre",monospace;letter-spacing:.12em}.hero h1,.page-hero h1{font-family:"Miriam Libre",Georgia,serif;font-weight:500;line-height:1.15;letter-spacing:-.015em}.hero h1{font-size:clamp(42px,5.5vw,78px);margin:20px 0}.hero p{font-family:"Miriam Libre",Georgia,serif;font-size:clamp(18px,2vw,24px);margin:0 auto 35px;max-width:690px}.button-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:15px 28px;background:var(--sm-brown-deep);color:#fff;border:1px solid var(--sm-brown-deep);font:13px/1.2 "Miriam Libre",monospace;letter-spacing:.08em;cursor:pointer;transition:.3s}.button:hover{background:var(--sm-hover);border-color:var(--sm-hover);transform:translateY(-2px)}.button.ghost{background:transparent;border-color:rgba(255,255,255,.6)}.button.ghost:hover{background:rgba(255,255,255,.12)}
.section{padding-top:var(--sm-gap);padding-bottom:var(--sm-gap)}.section-title{font:500 clamp(34px,3.6vw,52px)/1.15 "Miriam Libre",Georgia,serif;margin:0 0 25px;letter-spacing:-.015em}.section-copy{color:var(--sm-muted);max-width:600px}.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10%;align-items:center}.about-image{aspect-ratio:4/5;background:#ded4ce;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.about-image:hover img{transform:scale(1.035)}.about-copy .eyebrow{color:var(--sm-muted);margin-bottom:18px}.about-copy .button{margin-top:24px}
.portfolio-section{padding:0 var(--sm-side) var(--sm-gap)}.portfolio-heading{text-align:center;margin:0 0 55px}.portfolio-grid{max-width:var(--sm-max);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portfolio-card{position:relative;overflow:hidden;background:#ddd1ca;aspect-ratio:1/1}.portfolio-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s}.portfolio-card:hover img{transform:scale(1.05)}.portfolio-placeholder{position:absolute;inset:0;background:linear-gradient(145deg,#d8cdc3,#8d7767)}.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(25,14,8,.65),transparent 58%)}.portfolio-card-copy{position:absolute;z-index:2;right:28px;left:28px;bottom:24px;color:#fff;text-align:start}.portfolio-card h3{font:500 clamp(22px,2vw,30px)/1.15 "Miriam Libre",Georgia,serif;margin:0}.portfolio-card .eyebrow{opacity:.85;font-size:11px;display:block;margin-bottom:6px}
.story-cta{text-align:center;padding:125px 24px;background:var(--sm-beige)}.story-cta h2{font:500 clamp(32px,3.6vw,50px)/1.2 "Miriam Libre",Georgia,serif;margin:0 0 20px}.story-cta p{max-width:620px;margin:0 auto 32px;color:var(--sm-muted)}
.page-hero{text-align:center;padding:110px 24px 85px;max-width:900px;margin:auto}.page-hero .eyebrow{color:var(--sm-muted)}.page-hero h1{font-size:clamp(42px,5vw,70px);margin:16px 0 28px}.page-hero p{font-family:"Miriam Libre",Georgia,serif;color:var(--sm-muted);font-size:20px;line-height:1.55;margin:auto;max-width:760px}.gallery-wrap{max-width:var(--sm-max);padding:0 var(--sm-side) 130px;margin:auto}.wp-block-gallery,.portfolio-gallery{columns:3;column-gap:24px;display:block!important}.wp-block-gallery figure,.portfolio-gallery figure{display:inline-block!important;width:100%!important;margin:0 0 24px!important;break-inside:avoid;overflow:hidden;background:#e6ded3}.portfolio-gallery figure.is-hidden{display:none!important}.wp-block-gallery img,.portfolio-gallery img{width:100%!important;height:auto!important;transition:transform .7s,filter .7s}.wp-block-gallery figure:hover img,.portfolio-gallery figure:hover img{transform:scale(1.025)}.gallery-more{text-align:center;margin-top:18px}.gallery-empty{padding:80px 30px;text-align:center;border:1px solid rgba(74,44,28,.18);color:var(--sm-muted)}.entry-content{max-width:900px;margin:0 auto;padding:70px 24px 120px}.entry-content h1,.entry-content h2,.entry-content h3{font-family:"Miriam Libre",Georgia,serif;font-weight:500}.entry-title{font:500 clamp(42px,5vw,64px)/1.1 "Miriam Libre",Georgia,serif;text-align:center;margin:0 0 40px}.single-featured{max-width:1180px;margin:0 auto 50px;padding:0 24px}
.site-footer{padding:90px 24px;border-top:1px solid rgba(74,44,28,.14);text-align:center}.footer-brand{font:500 26px "Miriam Libre",Georgia,serif;letter-spacing:.08em;text-transform:uppercase}.footer-social{display:flex;justify-content:center;gap:16px;margin:28px 0 20px}.social-btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(74,44,28,.22);color:var(--sm-brown);transition:.25s}.social-btn:hover{background:var(--sm-brown-deep);border-color:var(--sm-brown-deep);color:#fff;transform:translateY(-2px)}.social-btn svg{display:block}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:26px;margin:0 0 18px;color:var(--sm-muted);font:12px "Miriam Libre",monospace;letter-spacing:.06em}.copyright{color:var(--sm-muted);font-size:12px}.whatsapp-float{position:fixed;inset-inline-end:24px;bottom:24px;z-index:90;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 6px 24px rgba(49,23,9,.18);transition:.25s}.whatsapp-float:hover{transform:translateY(-3px)}.whatsapp-float svg{width:28px;height:28px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1400px){.header-inner{min-height:130px;gap:14px}.primary-nav ul{gap:8px 14px}.primary-nav a{font-size:11px;letter-spacing:0}}
@media(max-width:1150px){.header-inner{min-height:118px}.primary-nav ul{gap:6px 11px}.primary-nav a{font-size:10.5px}}
@media(max-width:900px){:root{--sm-side:24px;--sm-gap:105px}.header-inner{min-height:92px;display:flex;justify-content:space-between}.site-branding{text-align:start}.brand-name{font-size:18px}.brand-tagline{display:none}.custom-logo{max-height:72px}.primary-nav{position:absolute;display:none;top:91px;left:0;width:100%;margin:0;background:var(--sm-cream);border-bottom:1px solid rgba(74,44,28,.12);padding:25px}.primary-nav.is-open{display:block}.primary-nav ul{flex-direction:column;gap:20px}.primary-nav a{font-size:14px}.header-actions{gap:8px}.icon-btn{width:34px;height:34px}.menu-toggle{display:block}.header-spacer{height:92px}.hero{height:70vh;min-height:520px}.about-grid{grid-template-columns:1fr;gap:55px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portfolio-card-copy{right:18px;left:18px;bottom:16px}.gallery-wrap{padding-left:24px;padding-right:24px}.wp-block-gallery,.portfolio-gallery{columns:2}.page-hero{padding-top:80px}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portfolio-card h3{font-size:17px}.portfolio-card .eyebrow{font-size:10px;margin-bottom:3px}.portfolio-card-copy{right:12px;left:12px;bottom:12px}.wp-block-gallery,.portfolio-gallery{columns:2;column-gap:12px}.wp-block-gallery figure,.portfolio-gallery figure{margin-bottom:12px!important}.hero h1{font-size:40px}.section{padding-top:90px;padding-bottom:90px}.story-cta{padding-top:90px;padding-bottom:90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* ---- Sub galleries: dropdown in the main menu ---- */
.primary-nav li{position:relative}
.primary-nav .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;top:calc(100% + 10px);right:50%;transform:translateX(50%);min-width:200px;background:var(--sm-cream);border:1px solid rgba(74,44,28,.14);box-shadow:0 14px 34px rgba(49,23,9,.12);opacity:0;visibility:hidden;transition:opacity .2s;z-index:30}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible}
.primary-nav .menu-item-has-children:before{content:"";position:absolute;top:100%;right:0;left:0;height:14px}
.primary-nav .sub-menu a{display:block;padding:9px 20px;font-size:12px;white-space:nowrap}
.primary-nav .sub-menu a:hover{background:rgba(74,44,28,.06)}
.primary-nav .sub-menu a:after{display:none}
.submenu-toggle{display:none;border:1px solid rgba(74,44,28,.25);background:none;color:var(--sm-brown);width:26px;height:26px;line-height:1;border-radius:50%;cursor:pointer;font-size:15px;padding:0}
.subgallery-section{max-width:var(--sm-max);margin:0 auto;padding:0 var(--sm-side) 70px}
@media(max-width:900px){
.primary-nav ul{align-items:stretch}
.primary-nav li{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.primary-nav .sub-menu{position:static;transform:none;opacity:1;visibility:visible;display:none;width:100%;border:0;box-shadow:none;background:none;padding:4px 16px 0;min-width:0}
.primary-nav li.is-open>.sub-menu{display:block}
.primary-nav .sub-menu a{padding:8px 0;font-size:13px;color:var(--sm-muted)}
.submenu-toggle{display:inline-flex;align-items:center;justify-content:center}
.subgallery-section{padding:0 24px 50px}
}

.icon-btn svg{display:block;width:17px;height:17px}

/* ---- Gallery lightbox ---- */
.portfolio-gallery figure .sm-zoom{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;line-height:0}
.portfolio-gallery figure .sm-zoom img{width:100%!important;height:auto!important}
body.sm-lb-lock{overflow:hidden}
.sm-lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(22,12,6,.95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:smFade .25s ease}
.sm-lightbox.is-open{display:flex}
@keyframes smFade{from{opacity:0}to{opacity:1}}
.sm-lb-figure{margin:0;max-width:94vw;max-height:86vh;display:flex;align-items:center;justify-content:center}
.sm-lb-figure img{max-width:94vw;max-height:86vh;width:auto;height:auto;object-fit:contain;opacity:0;transition:opacity .35s ease;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.sm-lb-figure img.is-ready{opacity:1}
.sm-lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:.25s}
.sm-lb-btn:hover{background:#fff;color:#1a0f08;border-color:#fff}
.sm-lb-btn[hidden]{display:none}
.sm-lb-prev{top:50%;transform:translateY(-50%);inset-inline-end:28px}
.sm-lb-next{top:50%;transform:translateY(-50%);inset-inline-start:28px}
.sm-lb-close{top:24px;inset-inline-start:24px;width:46px;height:46px}
.sm-lb-count{direction:ltr;position:absolute;bottom:26px;left:0;right:0;text-align:center;color:rgba(255,255,255,.72);font:12px "Miriam Libre",monospace;letter-spacing:.16em;pointer-events:none}
@media(max-width:700px){
.sm-lb-btn{width:42px;height:42px}
.sm-lb-prev{inset-inline-end:10px}
.sm-lb-next{inset-inline-start:10px}
.sm-lb-close{top:14px;inset-inline-start:14px;width:40px;height:40px}
.sm-lb-figure,.sm-lb-figure img{max-width:96vw;max-height:78vh}
}
@media(prefers-reduced-motion:reduce){.sm-lightbox{animation:none}.sm-lb-figure img{transition:none}}
