/* NS-CAL — сторінка «Посівний календар» (CMS posivnyi-kalendar, R3.4-а). Усе під .nscal; компоненти (0,2,0), скиди (0,1,1).
   CSS віддається без charset: у content: лише escape-послідовності. */
.nscal{--ink:#16201a;--ink2:#3a4540;--mute:#66706a;--line:#e1e6e2;--line2:#d3dad5;--bg:#f5f7f5;--tint:#edf6f0;--tint2:#dcefe3;--acc:#0d7a45;--deep:#0a5c36;
  --c-seed:#7b5cc4;--c-plant:#0d7a45;--c-direct:#b7791f;--c-gh:#2b78b8;--c-harv:#d0573a;
  --fd:'Manrope','Golos Text',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--fb:'Golos Text',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --r:18px;--sh:0 1px 2px rgba(16,40,26,.05),0 18px 40px -28px rgba(16,40,26,.28);
  max-width:1180px;margin:0 auto 56px;color:var(--ink2);font-family:var(--fb);font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%}
.nscal *,.nscal *::before,.nscal *::after{box-sizing:border-box}
.nscal [hidden]{display:none !important}
.nscal p,.nscal ul,.nscal ol,.nscal dl,.nscal dd,.nscal h2,.nscal h3,.nscal figure,.nscal table{margin:0;padding:0}
.nscal ul,.nscal ol{list-style:none}
.nscal li,.nscal dt{margin:0;padding:0}
.nscal th,.nscal td,.nscal dt,.nscal dd,.nscal label,.nscal summary{font-family:var(--fb)}
.nscal a{color:var(--acc)}
.nscal button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal;text-shadow:none;min-width:0;margin:0}
.nscal .nscal-vh{position:absolute !important;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nscal :focus-visible{outline:3px solid rgba(13,122,69,.45);outline-offset:2px}
.nscal section[id]{scroll-margin-top:84px;position:relative}

/* ---------- заголовок (H1 теми) ---------- */
body.cms-posivnyi-kalendar .page-main .page-title-wrapper{max-width:1180px;margin:6px auto 0}
body.cms-posivnyi-kalendar .page-main .columns{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}
body.cms-posivnyi-kalendar .page-main .columns .column.main{padding:0 !important}
body.cms-posivnyi-kalendar .page-main .page-title-wrapper .page-title{margin:0 0 10px !important;font-family:'Manrope','Golos Text',sans-serif !important;font-size:clamp(32px,4.4vw,54px) !important;font-weight:800 !important;line-height:1.04 !important;letter-spacing:-.025em !important;color:#16201a !important;text-transform:none !important;text-align:left !important}
body.cms-posivnyi-kalendar .page-main .page-title-wrapper .page-title .base{font:inherit !important;color:inherit !important}

/* ---------- вступ ---------- */
.nscal .nscal-hero{padding:0 0 18px}
.nscal .nscal-lead{max-width:68ch;font-size:clamp(16px,1.7vw,19px);line-height:1.55;color:var(--ink2)}
.nscal .nscal-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;color:var(--mute);font-size:14px}
.nscal .nscal-facts li{display:flex;align-items:center;gap:8px}
.nscal .nscal-facts li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acc)}
.nscal .nscal-facts b{color:var(--ink);font-family:var(--fd);font-weight:800;font-size:15px}

/* ---------- панель керування ---------- */
.nscal .nscal-ctl{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:8px 0 18px;padding:12px 14px;background:rgba(255,255,255,.96);border-radius:16px;box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
.nscal .nscal-grp{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.nscal .nscal-grp-t{font-size:13px;color:var(--mute);margin-right:2px;white-space:nowrap}
.nscal .nscal-seg{display:flex;flex-wrap:wrap;gap:6px}
.nscal .nscal-chip{height:36px;padding:0 14px;border:0;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink);font-size:14px;font-weight:600;line-height:36px;white-space:nowrap}
.nscal .nscal-chip:hover{box-shadow:inset 0 0 0 1px var(--acc)}
.nscal .nscal-chip[aria-pressed="true"]{background:var(--acc);color:#fff;box-shadow:none}

/* ---------- легенда ---------- */
.nscal .nscal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 14px;font-size:14px;color:var(--ink2)}
.nscal .nscal-legend li{display:flex;align-items:center;gap:7px}
.nscal .nscal-sw{width:22px;height:10px;border-radius:5px;flex:none}
.nscal .s-seed{background:var(--c-seed)}.nscal .s-plant{background:var(--c-plant)}.nscal .s-direct{background:var(--c-direct)}.nscal .s-gh{background:var(--c-gh)}.nscal .s-harv{background:var(--c-harv)}

/* ---------- загальні блоки ---------- */
.nscal .nscal-sec{margin:34px 0 0}
.nscal .nscal-sec>h2{margin:0 0 12px;font-family:var(--fd);font-size:clamp(23px,2.6vw,30px);font-weight:800;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}
.nscal .nscal-sub{margin:0 0 14px;max-width:72ch;color:var(--ink2)}
.nscal .nscal-card{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line),var(--sh);padding:18px}

/* ---------- місяці ---------- */
.nscal .nscal-months{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 8px;margin:0 -2px 6px;-webkit-overflow-scrolling:touch}
.nscal .nscal-months::-webkit-scrollbar{display:none}
.nscal .nscal-months .nscal-chip{flex:none;height:34px;line-height:34px;padding:0 12px;font-size:13.5px}
.nscal .nscal-month{scroll-margin-top:150px}
.nscal .nscal-month+.nscal-month{margin-top:14px}
.nscal .nscal-month h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;font-family:var(--fd);font-size:22px;font-weight:800;color:var(--ink)}
.nscal .nscal-now{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fff;background:var(--acc);border-radius:999px;padding:3px 9px}
.nscal .nscal-mgrid{display:grid;align-items:start;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}
.nscal .nscal-stage{border-radius:14px;background:var(--bg);padding:12px 14px;min-width:0}
.nscal .nscal-stage dt{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ink)}
.nscal .nscal-stage dd{margin:0}
.nscal .nscal-stage ul{display:flex;flex-direction:column;gap:5px}
.nscal .nscal-stage li{font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.nscal .nscal-stage li a{font-weight:600;text-decoration:none}
.nscal .nscal-stage li a:hover{text-decoration:underline}
.nscal .nscal-stage li span{color:var(--mute)}
.nscal .nscal-empty{font-size:14px;color:var(--mute)}
.nscal .nscal-mnav{display:flex;justify-content:space-between;gap:10px;margin:12px 0 0}
.nscal .nscal-mnav button{height:38px;padding:0 14px;border:0;border-radius:999px;background:var(--tint);color:var(--deep);font-size:14px;font-weight:700}
.nscal .nscal-mnav button:disabled{opacity:.4;cursor:default}

/* ---------- річна таблиця ---------- */
.nscal .nscal-tw{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
.nscal .nscal-t{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px}
.nscal .nscal-t caption{caption-side:top;text-align:left;padding:14px 16px 4px;font-size:13.5px;color:var(--mute)}
.nscal .nscal-t thead th{position:sticky;top:0;background:#fff;padding:8px 0;border-bottom:1px solid var(--line2);font-size:12.5px;font-weight:700;color:var(--mute);text-align:center;text-transform:uppercase;letter-spacing:.03em}
.nscal .nscal-t thead th:first-child{width:200px;text-align:left;padding-left:16px}
.nscal .nscal-t thead th.is-now{color:var(--acc)}
.nscal .nscal-t tbody th{position:sticky;left:0;z-index:1;background:#fff;text-transform:none;letter-spacing:normal;padding:7px 10px 7px 16px;border-bottom:1px solid var(--line);text-align:left;font-weight:600;font-size:14px;line-height:1.25;vertical-align:middle}
.nscal .nscal-t tbody th a{color:var(--ink);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--line2);text-underline-offset:3px}
.nscal .nscal-t tbody th a:hover{color:var(--acc);text-decoration:underline}
.nscal .nscal-t tbody td{padding:0;border-bottom:1px solid var(--line);vertical-align:middle}
.nscal .nscal-t tr.nscal-g th{background:var(--tint);color:var(--deep);font-family:var(--fd);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:6px 16px}
.nscal .nscal-lanes{position:relative;display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:40px;padding:6px 0;
  background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/12 - 1px),var(--line) calc(100%/12 - 1px),var(--line) calc(100%/12))}
.nscal .nscal-lane{position:relative;height:9px}
.nscal .nscal-bar{position:absolute;top:0;height:9px;border-radius:5px;min-width:6px}
.nscal .nscal-nowline{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(13,122,69,.55);pointer-events:none}
.nscal .nscal-t tr.is-off{display:none}
.nscal .nscal-swipe{display:none;margin:0 0 8px;font-size:13.5px;color:var(--mute)}
.nscal .nscal-tnote{margin:10px 2px 0;font-size:13.5px;color:var(--mute)}

/* ---------- зони ---------- */
.nscal .nscal-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.nscal .nscal-zones h3{margin:0 0 6px;font-family:var(--fd);font-size:18px;font-weight:800;color:var(--ink)}
.nscal .nscal-zones p{font-size:14.5px}
.nscal .nscal-zones p+p{margin-top:6px}

/* ---------- текст, FAQ, джерела ---------- */
.nscal .nscal-prose p{max-width:76ch}
.nscal .nscal-prose p+p{margin-top:10px}
.nscal .nscal-faq details{border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.nscal .nscal-faq details+details{margin-top:8px}
.nscal .nscal-faq summary{list-style:none;padding:14px 44px 14px 16px;position:relative;font-weight:700;color:var(--ink);cursor:pointer}
.nscal .nscal-faq summary::-webkit-details-marker{display:none}
.nscal .nscal-faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--acc)}
.nscal .nscal-faq details[open] summary::after{content:"\2212"}
.nscal .nscal-faq details>div{padding:0 16px 14px}
.nscal .nscal-faq details>div p+p{margin-top:8px}
.nscal .nscal-src ol{list-style:decimal;padding-left:22px}
.nscal .nscal-src li{font-size:14.5px;line-height:1.45;overflow-wrap:anywhere}
.nscal .nscal-src li+li{margin-top:6px}
.nscal .nscal-src li span{color:var(--mute)}
.nscal .nscal-links{display:flex;flex-wrap:wrap;gap:8px}
.nscal .nscal-links a{display:inline-flex;align-items:center;min-height:38px;padding:6px 14px;border-radius:999px;background:var(--tint);color:var(--deep);font-size:14px;font-weight:600;text-decoration:none}
.nscal .nscal-links a:hover{background:var(--tint2)}
.nscal .nscal-cite{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.nscal .nscal-cite textarea{flex:1 1 320px;min-width:0;min-height:64px;padding:10px 12px;border:1px solid var(--line2);border-radius:12px;font:13px/1.4 ui-monospace,Consolas,monospace;color:var(--ink);resize:vertical}
.nscal .nscal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:0;border-radius:999px;background:var(--acc);color:#fff !important;font-size:14.5px;font-weight:700;text-decoration:none}
.nscal .nscal-btn.is-ghost{background:var(--tint);color:var(--deep) !important}
.nscal .nscal-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.nscal .nscal-upd{margin:22px 0 0;font-size:13.5px;color:var(--mute)}

@media (max-width:767px){
  .nscal .nscal-swipe{display:block}
  .nscal .nscal-ctl{position:static;padding:10px 12px;gap:8px}
  .nscal .nscal-grp{width:100%}
  .nscal .nscal-grp-t{width:100%}
  .nscal .nscal-chip{height:34px;line-height:34px;padding:0 12px;font-size:13.5px}
  .nscal .nscal-card{padding:14px}
  .nscal .nscal-t thead th:first-child{width:132px}
  .nscal .nscal-t tbody th{padding-left:10px;font-size:13px}
}
@media print{
  body.cms-posivnyi-kalendar .page-header,body.cms-posivnyi-kalendar .page-footer,body.cms-posivnyi-kalendar .breadcrumbs,body.cms-posivnyi-kalendar #ns-footer{display:none !important}
  .nscal .nscal-ctl,.nscal .nscal-months,.nscal .nscal-mnav,.nscal .nscal-cite,.nscal .nscal-actions,.nscal .nscal-faq,.nscal .nscal-links{display:none !important}
  .nscal .nscal-month[hidden]{display:block !important}
  .nscal .nscal-t{min-width:0}
  .nscal .nscal-tw{overflow:visible;box-shadow:none}
  .nscal .nscal-bar,.nscal .nscal-sw{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
