/* Meža Photoworks shared shell: locked navigation, footer, and design tokens. */
:root {
  --carbon:#191b1d;
  --dark-silver:#4b4f54;
  --brushed:#aeb4ba;
  --mist:#bdc2c7;
  --pearl:#f4f4f4;
  --alloy:#e3e5e7;
  --impact:#3e5c6b;
  --white:#fff;
  --max:1180px;
}

header { position:relative; z-index:20; background:#fff; border-bottom:1px solid #d7dbdd }
.topbar { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px }
.logo { font-size:16px; font-weight:500; letter-spacing:.02em; text-transform:uppercase; white-space:nowrap }
.navlinks { display:flex; align-items:center; gap:28px; color:#52595e }
.navlinks a { font-size:12px; font-weight:500 }
.navlinks .active { color:#c77743; border-bottom:1px solid #c77743; padding-bottom:6px }
.navlinks .cta-nav { min-height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 18px; border-radius:999px; background:var(--carbon); color:#fff; font-weight:700 }
.navlinks .cta-nav.active { border:0; padding-bottom:0 }
.menu-toggle { display:none; width:42px; height:42px; border:0; background:transparent; font-size:25px; cursor:pointer }

footer { padding:42px 0 28px; background:#111315; color:#979ea3 }
.footergrid { display:grid; grid-template-columns:1.15fr .95fr 1.2fr 1.25fr; gap:34px; align-items:start }
.footer-col h4 { margin:0 0 18px; color:#fff; font-size:18px; font-weight:700 }
.footer-col p,.footer-col a,.footer-col li { margin:0; color:#c6cacf; font-size:12px; line-height:1.6 }
.footer-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px }
.footer-group { margin-top:16px }
.footer-group:first-of-type { margin-top:0 }
.news-input,
.news-input:focus { width:100%; height:40px; margin:10px 0 18px; border:1px solid #585f64; border-radius:2px; background:#fff!important; padding:0 12px; color:#191b1d!important; -webkit-text-fill-color:#191b1d!important; caret-color:#191b1d; font-size:12px }
.news-input::placeholder { color:#747b80!important; -webkit-text-fill-color:#747b80!important; opacity:1 }
.news-btn { min-height:38px; padding:0 18px; border:1px solid #fff; border-radius:999px; background:transparent; color:#fff; font-size:12px; font-weight:800; cursor:pointer }
.socials { display:flex; gap:14px; margin-top:18px }
.socials a { width:28px; height:28px; display:grid; place-items:center; border:1px solid #8f969b; border-radius:50%; color:#fff; font-weight:700 }
.footer-bottom { margin-top:36px; text-align:center; color:#8d9499 }
.footer-bottom .brand { display:block; margin-bottom:8px; font-size:18px; font-weight:700 }
.footer-bottom p { margin:0; font-size:11px }

@media (max-width:900px) {
  .footergrid { grid-template-columns:1fr }
}

@media (max-width:700px) {
  html { scroll-padding-top:68px }
  .topbar { min-height:68px }
  .menu-toggle { display:block }
  .navlinks { position:absolute; top:68px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px 15px 18px; border-bottom:1px solid #d7dbdd; background:#fff; box-shadow:0 12px 24px rgba(0,0,0,.08) }
  .navlinks.open { display:flex }
  .navlinks a { padding:13px 12px }
  .navlinks .active { border:0; padding-bottom:13px }
  .navlinks .cta-nav { justify-content:center; margin-top:6px }
  .navlinks .cta-nav.active { padding-bottom:13px }
  .footergrid { gap:34px }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  * { transition:none!important }
}
