/* NYPA chrome — одна шапка, підвал і нижнє меню телефона для всіх сторінок New York Photo Academy
   (сайт photoacademy.nyc, блог, «Фотографи», кабінет і лабораторія). Джерело — site/nypa-chrome/ у репо.
   Активний пункт: data-active="learn|lab|ph|blog|in" на .nyc-hd і .nyc-tab. Шрифти: Inter Tight і Jost (Google Fonts).
   Синій NYPA #002D72 (обрала Марина 29.10), помаранчевий #FF9900. */

.nyc-hd,.nyc-ft,.nyc-tab{--nyc-ink:#14161B;--nyc-muted:#5A6272;--nyc-line:#E2E6EE;--nyc-sheet:#FFFFFF;--nyc-navy:#002D72;--nyc-orange:#FF9900;--nyc-w:1000px;
  font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--nyc-ink);-webkit-font-smoothing:antialiased}
.nyc-hd *,.nyc-ft *,.nyc-tab *{box-sizing:border-box}
.nyc-hd a,.nyc-ft a,.nyc-tab a{text-decoration:none}

/* логотип: монограма + «NEW YORK / PHOTO ACADEMY» однієї ширини (Jost 300/500) */
.nyc-logo{display:inline-flex;align-items:center;gap:.458em;white-space:nowrap;font-size:19.63px;line-height:1;color:var(--nyc-ink)}
.nyc-logo .nyc-mono{flex:none;position:relative;overflow:hidden;width:3.209em;height:1.935em}
.nyc-logo .nyc-mono img{position:absolute;left:0;top:0;height:100%;width:auto;max-width:none;display:block}
.nyc-logo .nyc-txt{display:flex;flex-direction:column;justify-content:center;gap:1px;font-family:"Jost",sans-serif}
.nyc-logo .nyc-l1,.nyc-logo .nyc-l2{display:block;line-height:1;align-self:flex-start}
.nyc-logo .nyc-l1{font-weight:300;font-size:.672em;letter-spacing:1.0865em;margin-right:-1.0865em}
.nyc-logo .nyc-l2{font-weight:500;font-size:1em}

/* шапка */
.nyc-hd{position:relative;z-index:60;background:var(--nyc-sheet);border-bottom:1px solid var(--nyc-line)}
.nyc-hd .nyc-in{max-width:var(--nyc-w);margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;gap:26px}
.nyc-hd .nyc-home{display:flex;align-items:center;flex:none;color:inherit}
.nyc-hd nav{display:flex;gap:24px;font-size:15px;font-weight:600}
.nyc-hd nav a{color:var(--nyc-ink);white-space:nowrap}
.nyc-hd nav a:hover{color:var(--nyc-navy)}
.nyc-hd .nyc-sp{flex:1}
.nyc-hd .nyc-cta{order:1;flex:none;display:inline-flex;align-items:center;background:var(--nyc-navy);color:#fff;font-weight:700;font-size:15px;line-height:1.2;padding:11px 20px;border-radius:100px;white-space:nowrap}
.nyc-hd .nyc-cta:hover{filter:brightness(1.18)}
.nyc-hd .nyc-lang{order:2;flex:none;font-size:13px;font-weight:700;color:var(--nyc-muted);margin-left:-6px}
.nyc-hd .nyc-lang:hover{color:var(--nyc-navy)}
.nyc-hd .nyc-login{order:3;flex:none;position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--nyc-line);color:var(--nyc-navy);margin-left:-14px;transition:background .15s,color .15s}
.nyc-hd .nyc-login svg{width:19px;height:19px}
.nyc-hd .nyc-login:hover,.nyc-hd .nyc-login:focus-visible{background:var(--nyc-navy);color:#fff;border-color:var(--nyc-navy)}
.nyc-hd .nyc-login:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;white-space:nowrap;background:var(--nyc-ink);color:#fff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s}
.nyc-hd .nyc-login:hover:after,.nyc-hd .nyc-login:focus-visible:after{opacity:1}
/* активний пункт */
.nyc-hd[data-active=learn] .nyc-in nav [data-k=learn],.nyc-hd[data-active=lab] .nyc-in nav [data-k=lab],.nyc-hd[data-active=ph] .nyc-in nav [data-k=ph],.nyc-hd[data-active=blog] .nyc-in nav [data-k=blog]{color:var(--nyc-navy)}
@media(max-width:1180px) and (min-width:1001px){.nyc-hd .nyc-in{gap:18px}.nyc-hd nav{gap:16px;font-size:14px}.nyc-hd .nyc-cta{padding:10px 16px;font-size:14px}.nyc-hd .nyc-login{margin-left:-8px}}

/* телефон і планшет: меню знизу, як у марафоні; угорі логотип і EN */
@media(max-width:1000px){
 .nyc-hd nav,.nyc-hd .nyc-login{display:none}
 .nyc-hd .nyc-lang{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--nyc-line);border-radius:100px;font-size:14px;color:var(--nyc-navy);margin-left:0}
}
@media(max-width:860px){
 .nyc-hd .nyc-in{height:62px;padding:0 16px}
 .nyc-hd .nyc-cta{display:none}
 .nyc-logo{font-size:16.53px}
}

/* нижнє меню */
.nyc-tab{display:none}
@media(max-width:1000px){
 .nyc-tab{display:block;position:fixed;left:0;right:0;bottom:0;z-index:9991;background:rgba(255,255,255,.96);border-top:1px solid #E6E8EC;-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px);padding-bottom:env(safe-area-inset-bottom)}
 .nyc-tab nav{max-width:520px;margin:0 auto;display:flex;justify-content:space-around;padding:8px 4px 10px}
 .nyc-tab a{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1 1 0;min-width:0;font-size:11px;font-weight:600;line-height:1.2;color:#8A9099;text-align:center}
 .nyc-tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .nyc-tab[data-active=learn] [data-k=learn],.nyc-tab[data-active=lab] [data-k=lab],.nyc-tab[data-active=ph] [data-k=ph],.nyc-tab[data-active=blog] [data-k=blog],.nyc-tab[data-active=in] [data-k=in]{color:var(--nyc-navy)}
 body:has(.nyc-tab){padding-bottom:calc(66px + env(safe-area-inset-bottom))}
}

/* підвал */
.nyc-ft{background:var(--nyc-sheet);border-top:1px solid var(--nyc-line)}
.nyc-ft .nyc-fw{max-width:var(--nyc-w);margin:0 auto;padding:40px 24px 48px}
.nyc-ft .nyc-fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.nyc-ft .nyc-fgrid b{display:block;font-size:14px;font-weight:800;margin-bottom:10px;color:var(--nyc-ink)}
.nyc-ft .nyc-fgrid a{display:block;font-size:14.5px;line-height:1.35;color:var(--nyc-muted);margin:0 0 8px}
.nyc-ft .nyc-fgrid a:hover{color:var(--nyc-ink)}
.nyc-ft .nyc-fbrand p{font-size:14px;line-height:1.5;color:var(--nyc-muted);margin:12px 0 0}
.nyc-ft .nyc-legal{margin:28px 0 0;padding-top:18px;border-top:1px solid var(--nyc-line);font-size:13px;line-height:1.6;color:var(--nyc-muted)}
@media(max-width:900px){.nyc-ft .nyc-fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nyc-ft .nyc-fgrid{gap:22px}.nyc-ft .nyc-fbrand{grid-column:1/-1}.nyc-ft .nyc-fw{padding:32px 16px 40px}}

/* ── режим кабінету й лабораторії (data-mode="lab") ─────────────────────────────────────── */
.nyc-hd [hidden],.nyc-tab [hidden]{display:none!important}
@media(max-width:1000px){html.nyc-has-tab body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}}
/* кружок акаунта з ініціалами — не меню, кабінет сам відкриває свій лист налаштувань */
.nyc-hd .nyc-acct{order:3;flex:none;width:40px;height:40px;border-radius:50%;border:0;background:var(--nyc-navy);color:#fff;font:700 15px/1 "Inter Tight",system-ui,sans-serif;cursor:pointer;display:grid;place-items:center}
.nyc-hd .nyc-acct:hover{filter:brightness(1.18)}
/* бургер — меню сайту на телефоні (у режимі кабінету внизу пункти лабораторії) */
.nyc-hd .nyc-burger{order:4;display:none;flex:none;width:40px;height:40px;position:relative;border:0;background:none;cursor:pointer;padding:0}
.nyc-hd .nyc-burger:before,.nyc-hd .nyc-burger:after,.nyc-hd .nyc-burger i{content:"";position:absolute;left:9px;right:9px;height:2px;background:var(--nyc-ink);border-radius:2px;transition:transform .2s,opacity .2s}
.nyc-hd .nyc-burger:before{top:12px}.nyc-hd .nyc-burger i{top:19px}.nyc-hd .nyc-burger:after{top:26px}
.nyc-hd .nyc-burger[aria-expanded=true] i{opacity:0}
.nyc-hd .nyc-burger[aria-expanded=true]:before{transform:translateY(7px) rotate(45deg)}
.nyc-hd .nyc-burger[aria-expanded=true]:after{transform:translateY(-7px) rotate(-45deg)}
/* повне меню кабінету — аркуш знизу, як налаштування (Марина 29.10: «мені подобається, як він знизу відкривається») */
.nyc-hd .nyc-sheetbg{position:fixed;inset:0;z-index:2147483000;background:rgba(17,17,17,.35);display:flex;align-items:flex-end;justify-content:center}
.nyc-hd .nyc-sheetbg[hidden]{display:none!important}
.nyc-hd .nyc-drop{position:relative;width:100%;max-width:520px;max-height:85vh;overflow:auto;background:var(--nyc-sheet);border-radius:24px 24px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;animation:nycUp .22s ease-out}
@keyframes nycUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.nyc-hd .nyc-grab{width:40px;height:5px;border-radius:5px;background:#D5D9DF;margin:0 auto 12px;flex:none}
.nyc-hd .nyc-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:#F1F2F5;color:#6B6F76;font-size:22px;line-height:36px;cursor:pointer}
.nyc-hd .nyc-drop a{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--nyc-line);font-size:16px;font-weight:600;color:var(--nyc-ink)}
.nyc-hd .nyc-drop a:last-child{border-bottom:0}
.nyc-hd .nyc-drop svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--nyc-navy);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nyc-hd[data-lab-active=today] .nyc-drop [data-k=today],.nyc-hd[data-lab-active=cam] .nyc-drop [data-k=cam],.nyc-hd[data-lab-active=mk] .nyc-drop [data-k=mk],.nyc-hd[data-lab-active=lab] .nyc-drop [data-k=lab]{color:var(--nyc-navy)}
/* кабінет на компʼютері: одне меню — пункти лабораторії · пункти сайту (зустріч 29.10) */
.nyc-hd.nyc-labm .nyc-in{max-width:1208px}
.nyc-hd.nyc-labm .nyc-in nav{gap:20px;align-items:center}
.nyc-hd.nyc-labm .nyc-in nav a{padding:7px 0}
.nyc-hd[data-lab-active=today] .nyc-in nav [data-k=today],.nyc-hd[data-lab-active=cam] .nyc-in nav [data-k=cam],.nyc-hd[data-lab-active=mk] .nyc-in nav [data-k=mk],.nyc-hd[data-lab-active=sun] .nyc-in nav [data-k=sun],.nyc-hd[data-lab-active=lab] .nyc-in nav [data-k=lab]{color:var(--nyc-navy);box-shadow:inset 0 -2px 0 var(--nyc-navy)}
@media(max-width:1180px) and (min-width:1001px){.nyc-hd.nyc-labm .nyc-in nav{gap:14px}}
.nyc-tab.nyc-labm[data-active=today] [data-k=today],.nyc-tab.nyc-labm[data-active=cam] [data-k=cam],.nyc-tab.nyc-labm[data-active=mk] [data-k=mk],.nyc-tab.nyc-labm[data-active=sun] [data-k=sun],.nyc-tab.nyc-labm[data-active=lab] [data-k=lab]{color:var(--nyc-navy)}
@media(max-width:1000px){
 .nyc-hd.nyc-labm .nyc-burger{display:block}
}
@media(min-width:1001px){.nyc-hd .nyc-sheetbg{display:none!important}}
.nyc-hd:has(.nyc-sheetbg:not([hidden])){z-index:2147483000}
