/*
Theme Name: Next Session Photography
Author: Next Session Photography
Description: Custom photography portfolio theme with editable galleries, services and contact details.
Version: 4.3.0
Text Domain: next-session
*/
:root{--cream:#f4efe6;--ink:#171713;--gold:#a58b5b;--paper:#fbf8f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,92vw);margin:auto}.site-header{position:absolute;z-index:20;left:0;right:0;padding:24px 0;color:#fff}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:Georgia,serif;letter-spacing:.14em;font-size:19px}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.42em;margin-top:5px}.navlinks{display:flex;gap:28px;align-items:center;font-size:12px;letter-spacing:.12em}.drop{position:relative;padding:10px 0}.submenu{display:none;position:absolute;top:34px;left:-16px;min-width:210px;background:rgba(20,20,17,.96);padding:10px}.drop:hover .submenu{display:block}.submenu a{display:block;padding:10px 12px}.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:25px}.hero{min-height:92vh;background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.05)),url('assets/images/child-5.jpg') center/cover;display:grid;place-items:center;color:#fff;text-align:center}.hero-logo{width:150px;margin:30px auto 24px;border-radius:50%;mix-blend-mode:screen}.hero h1{font:italic 58px/1.04 Georgia,serif;margin:0;text-shadow:0 2px 18px #0005}.eyebrow{font-size:10px;letter-spacing:.32em;color:var(--gold)}section{padding:95px 0}.intro{text-align:center;background:var(--cream)}h2{font:46px/1.08 Georgia,serif;margin:12px 0 20px}.lead{max-width:680px;margin:0 auto 48px;line-height:1.8;color:#5e5b54}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;gap:18px}.gallery-card{min-height:520px;background-position:center;background-size:cover;position:relative;overflow:hidden}.gallery-card.short{min-height:250px}.stack{display:grid;gap:18px}.gallery-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,#0009)}.gallery-card span{position:absolute;z-index:2;bottom:25px;left:25px;color:#fff;font:22px Georgia,serif;letter-spacing:.08em}.services{text-align:center}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:50px 0}.service{border-top:1px solid #d8cfbf;padding:30px 12px}.service h3{font:17px Georgia,serif}.btn{display:inline-block;background:var(--ink);color:#fff;padding:15px 25px;font-size:11px;letter-spacing:.14em;border:0}.quote{min-height:440px;background:linear-gradient(#0005,#0005),url('assets/images/child-3.jpg') center/cover;color:#fff;display:grid;place-items:center;text-align:center}.quote blockquote{font:italic 36px/1.35 Georgia,serif}.page-hero{padding:180px 0 90px;background:var(--ink);color:#fff;text-align:center}.content{padding:75px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff}.card img{aspect-ratio:4/5;object-fit:cover}.card-body{padding:22px}.card h3{font:25px Georgia,serif;margin:0 0 8px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px;margin:0 0 12px;border:1px solid #d7d0c4;background:#fff}.contact-form textarea{min-height:140px}footer{background:#11110f;color:#aaa;padding:35px 0;font-size:11px;letter-spacing:.1em}.prose{max-width:780px;margin:auto;line-height:1.85}.wp-block-gallery{gap:12px!important}
@media(max-width:800px){.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:70px;left:4vw;right:4vw;background:#171713;padding:20px;flex-direction:column;align-items:flex-start}.navlinks.open{display:flex}.submenu{position:static;display:block;background:transparent;padding-left:10px}.hero h1{font-size:42px}.gallery-grid,.cards,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.gallery-card{min-height:430px}.stack .gallery-card{min-height:300px}h2{font-size:38px}}
.ns-photo-grid{columns:3 280px;column-gap:18px;margin-bottom:70px}.ns-photo-grid a{display:block;margin:0 0 18px;break-inside:avoid}.ns-photo-grid img{width:100%;height:auto;display:block}.ns-contact-form{display:grid;gap:14px}.ns-contact-form label{display:grid;gap:6px;font-size:.9rem}.ns-contact-form input,.ns-contact-form select,.ns-contact-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid rgba(0,0,0,.2);background:#fff;font:inherit}.ns-contact-form textarea{resize:vertical}.ns-contact-form .button{border:0;cursor:pointer}.ns-hp{position:absolute!important;left:-9999px!important}.ns-success{padding:12px 14px;border:1px solid #738b6b}.ns-error{padding:12px 14px;border:1px solid #9b6d66}@media(max-width:700px){.ns-photo-grid{columns:2 140px}.contact-grid{grid-template-columns:1fr!important}}
/* v4 lightbox + menu polish */
.ns-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(10,10,9,.94);display:none;align-items:center;justify-content:center;padding:40px}.ns-lightbox.open{display:flex}.ns-lightbox img{max-width:min(94vw,1500px);max-height:88vh;object-fit:contain}.ns-lightbox button{position:absolute;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer;padding:15px}.ns-lb-close{right:22px;top:12px}.ns-lb-prev{left:20px;top:50%;transform:translateY(-50%)}.ns-lb-next{right:20px;top:50%;transform:translateY(-50%)}.ns-lightbox-count{position:absolute;bottom:18px;color:#fff;font-size:11px;letter-spacing:.16em}.ns-photo-grid a{cursor:zoom-in}.submenu a:hover{color:#d9c49c}@media(max-width:800px){.drop>.submenu{display:none}.drop.open>.submenu{display:block}.drop>a{display:flex;min-width:220px;justify-content:space-between}.ns-lightbox{padding:20px}.ns-lb-prev{left:2px}.ns-lb-next{right:2px}}

@media(max-width:800px){.menu-toggle{position:relative;z-index:1001;cursor:pointer;min-width:48px;min-height:48px}.navlinks{z-index:1000}.navlinks a{display:block;width:100%;padding:12px 0}.submenu a{padding:12px 8px}.service{cursor:pointer}}
