/*
Theme Name: Narva Queue
Description: Главная страница монитора очереди Нарва–Ивангород.
Version: 4.2
*/
:root{--bg:#f2f5f6;--surface:#fff;--text:#0f2128;--muted:#5d6e75;--faint:#8a989e;--line:#e2e8ea;--accent:#0f766e;--focus:#147aaf}
html,body{margin:0;background:var(--bg);color-scheme:light}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.queue-about{box-sizing:border-box;padding:24px 24px 20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.queue-about h2{font-size:19px;line-height:1.3;letter-spacing:-.01em;margin:0 0 8px}
.queue-about p{margin:0 0 12px}
.queue-about>p:first-of-type{color:var(--muted);font-size:15px;margin-bottom:8px}
.queue-about a{color:var(--accent)}
.queue-about a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

.faq-item{border-top:1px solid var(--line)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer;list-style:none;font-weight:600;font-size:16px;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";flex-shrink:0;width:8px;height:8px;margin-right:4px;border-right:2px solid var(--faint);border-bottom:2px solid var(--faint);transform:rotate(45deg) translateY(-3px)}
.faq-item[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq-item summary:hover::after{border-color:var(--accent)}
.faq-item summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.faq-item p{padding:0 24px 14px 0;color:var(--muted);font-size:15px}

@media(max-width:420px){.queue-about{padding:18px 18px 16px;border-radius:20px}}
@media(prefers-reduced-motion:no-preference){.faq-item summary::after{transition:transform .2s}}
.nowrap{white-space:nowrap}

.top{display:block}
.top-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.top .eyebrow{margin:0}
.top .live{margin-top:12px}
.langs{display:flex;flex-shrink:0;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px}
.langs a{font-size:12px;font-weight:600;color:var(--muted);text-decoration:none;padding:4px 9px;border-radius:999px;line-height:1.2}
.langs a:hover{color:var(--text)}
.langs a[aria-current="page"]{background:var(--text);color:var(--surface)}

.hourly{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.hourly h3{font-size:15px;margin:0}
#hourly-period{font-size:13px;color:var(--faint)}
.hourly-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;height:96px;margin:14px 0 8px;align-items:end}
.hour{display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px}
.hour i{display:block;height:var(--h);min-height:3px;border-radius:5px 5px 2px 2px;background:#cbd5d9}
.hour.is-low i{background:#16a34a}
.hour.is-high i{background:#d68a00}
.hour span{font-size:11px;color:var(--faint);text-align:center;height:14px;line-height:14px}

.footer-links{display:flex;gap:16px;flex-wrap:wrap}
.footer-links a{font-weight:600;text-decoration:none;color:var(--accent)}
.footer-links a:hover{text-decoration:underline}

.cookie-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;box-sizing:border-box;width:calc(100% - 32px);max-width:560px;display:flex;gap:14px 18px;align-items:center;flex-wrap:wrap;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 40px #0f212826;font:14px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text)}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;flex:1 1 260px;color:var(--muted)}
.cookie-actions{display:flex;gap:8px;margin-left:auto}
.cookie-actions button{font:inherit;font-weight:600;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
.cookie-actions .primary{background:var(--text);border-color:var(--text);color:var(--surface)}

/* Ночной вид, пока граница закрыта */
.night{position:relative;overflow:hidden;border-radius:24px;padding:22px 24px 24px;background:#131b31;color:#eef1ff;box-shadow:0 1px 2px #0f21280a,0 12px 32px #131b3133}
.night[hidden]{display:none}
.night-sky{position:absolute;top:0;right:0;width:220px;height:140px;fill:#fff;pointer-events:none}
.night-sky circle{opacity:.55}
.night-sky .moon{fill:#f4e7b8;opacity:.95}
.night-chip{position:relative;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:650;color:#c9d0ff;background:#ffffff12;border-radius:999px;padding:6px 12px 6px 10px}
.night-time{position:relative;font-size:clamp(46px,12vw,68px);font-weight:750;letter-spacing:-.035em;line-height:1;margin:26px 0 6px;font-variant-numeric:tabular-nums}
.night-title{position:relative;font-size:17px;font-weight:400;line-height:1.4;color:#a9b2d8;margin:0}
.night-progress{position:relative;height:8px;border-radius:4px;background:#ffffff17;margin-top:22px;overflow:hidden}
.night-progress i{display:block;height:100%;width:2%;border-radius:4px;background:linear-gradient(90deg,#6d7cf0,#f4e7b8)}
.night-scale{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#8790b8}
.night-note{position:relative;margin:18px 0 0;padding:10px 12px;border-radius:10px;background:#ffffff0d;font-size:14px;line-height:1.55;color:#c3c9e6}
.live[data-active="paused"]{color:var(--text)}
.live[data-active="paused"] .live-dot{background:#6d7cf0}
@media(max-width:420px){.night{padding:20px 18px 22px;border-radius:20px}.night-sky{width:170px;height:108px}}
@media(prefers-reduced-motion:no-preference){
  .night-sky circle{animation:twinkle 3.2s ease-in-out infinite}
  .night-sky circle:nth-child(2n){animation-delay:1.1s}
  .night-sky circle:nth-child(3n){animation-delay:2.2s}
  .night-progress i{transition:width .6s ease}
}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:.8}}

/* Полоска дня, пока граница открыта */
.schedule-body{flex:1;min-width:0}
.day-bar{position:relative;height:8px;border-radius:4px;background:#eef2f3;margin-top:12px}
.day-bar i{position:relative;display:block;height:100%;width:2%;border-radius:4px;background:linear-gradient(90deg,#ffd36b,#ff9f43)}
.day-bar i::after{content:"";position:absolute;right:-7px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:#ffb52e;box-shadow:0 0 0 4px #ffb52e33}
.day-scale{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:var(--faint)}
#day-left{color:var(--muted);font-weight:600}
@media(prefers-reduced-motion:no-preference){.day-bar i{transition:width .6s ease}}
