/* Лунный календарь клубники.
   Раздел живёт на общем каркасе сайта, но со своей ночной темой: тёмное небо
   в шапке и в карточке дня, светлая сетка месяца на бумаге. Цвет оценки дня
   всегда продублирован значком и подписью — календарём пользуются с телефона
   на солнце, где полутона зелёного и жёлтого сливаются. */

.lun{--sky:#131A3D;--sky-2:#1D2757;--sky-ink:#EEF0FB;--sky-mut:#A5AECD;
  --best:#2E7A30;--good:#7FB682;--okc:#B9C0B6;--poor:#D99413;--badc:#C93B52;
  --best-bg:#E6F4E7;--good-bg:#F2F9F2;--ok-bg:#FFF;--poor-bg:#FFF6DC;--bad-bg:#FCEDEF}

/* ---------------- ночное небо ---------------- */
.sky{position:relative;background:var(--sky);color:var(--sky-ink);
  border-radius:var(--r);overflow:hidden;isolation:isolate}
/* звёзды нарисованы точечными градиентами: настоящая картинка тут не нужна,
   а лишнего запроса и веса не появляется */
.sky::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.75;
  background:
    radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),
    radial-gradient(1px 1px at 27% 62%,#dfe6ff,transparent),
    radial-gradient(1.5px 1.5px at 38% 12%,#fff,transparent),
    radial-gradient(1px 1px at 44% 78%,#cdd8ff,transparent),
    radial-gradient(1.5px 1.5px at 56% 34%,#fff,transparent),
    radial-gradient(1px 1px at 63% 8%,#e8ecff,transparent),
    radial-gradient(1.5px 1.5px at 71% 55%,#fff,transparent),
    radial-gradient(1px 1px at 79% 26%,#d5deff,transparent),
    radial-gradient(1.5px 1.5px at 86% 70%,#fff,transparent),
    radial-gradient(1px 1px at 92% 40%,#e0e6ff,transparent),
    radial-gradient(1px 1px at 8% 84%,#fff,transparent),
    radial-gradient(1px 1px at 19% 40%,#c9d4ff,transparent),
    radial-gradient(1.5px 1.5px at 33% 90%,#fff,transparent),
    radial-gradient(1px 1px at 50% 58%,#dbe3ff,transparent),
    radial-gradient(1px 1px at 68% 88%,#fff,transparent),
    radial-gradient(1px 1px at 96% 12%,#d2dcff,transparent),
    radial-gradient(120% 90% at 78% 6%,rgba(93,116,214,.35),transparent 60%),
    linear-gradient(168deg,var(--sky-2),var(--sky) 58%)}
.sky a{color:#fff}

/* ---------------- диск Луны ---------------- */
.moon{display:block;flex:none}
.moon .moon-dark{fill:#2A3054}
.moon .moon-lit{fill:#F4EFD8}
.moon .moon-edge{fill:none;stroke:rgba(255,255,255,.22);stroke-width:2}
/* на светлом фоне освещённую часть красим тёплым, а тень — серым: иначе
   полнолуние выглядит сплошным тёмным пятном и читается как новолуние */
.lun-grid .moon .moon-dark,.lun-tab .moon .moon-dark,.lun-m .moon .moon-dark{fill:#DFE2E8}
.lun-grid .moon .moon-lit,.lun-tab .moon .moon-lit,.lun-m .moon .moon-lit{fill:#EFB92B}
.lun-grid .moon .moon-edge,.lun-tab .moon .moon-edge,.lun-m .moon .moon-edge{stroke:rgba(20,21,21,.18)}
.lun-tab .moon{display:inline-block;vertical-align:-3px;margin-right:6px}

/* ---------------- карточка «сегодня» ---------------- */
.lun-today{display:grid;grid-template-columns:auto 1fr;gap:26px;padding:26px 28px;align-items:center}
.lun-today .lt-moon{display:flex;flex-direction:column;align-items:center;gap:8px}
.lun-today .lt-illum{font-size:.82rem;color:var(--sky-mut);letter-spacing:.02em}
.lun-today h1,.lun-today .lt-h{margin-bottom:6px}
.lun-today .lt-date{font-size:.86rem;color:var(--sky-mut);text-transform:uppercase;
  letter-spacing:.09em;margin-bottom:10px}
.lun-today .lt-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:14px}
.lt-fact{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 13px;font-size:.87rem}
.lt-fact b{font-weight:600}
@media(max-width:640px){
  .lun-today{grid-template-columns:1fr;gap:16px;padding:22px 18px;text-align:center}
  .lun-today .lt-facts{justify-content:center}
}

/* ---------------- переключатель работ ---------------- */
/* лента прокручивается вбок, поэтому у правого края даём растворение —
   иначе не видно, что за «Обработкой» есть ещё работы */
.lun-works{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none;
  scroll-snap-type:x proximity;
  background:linear-gradient(270deg,var(--bg) 30%,rgba(247,248,245,0)) right/38px 100% no-repeat;
  background-attachment:local}
.lun-works::-webkit-scrollbar{display:none}
.lun-work{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;gap:7px;
  min-height:44px;padding:0 15px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);color:var(--ink);font-size:.9rem;font-family:inherit;
  cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}
.lun-work:hover{border-color:var(--green)}
.lun-work[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.lun-work .em{font-size:1.05em;line-height:1}

/* ---------------- сетка месяца ---------------- */
.lun-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}
.lun-head{font-size:.76rem;color:var(--muted);text-align:center;text-transform:uppercase;
  letter-spacing:.07em;padding-bottom:2px}
.lun-head.we{color:var(--berry)}
.lun-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;
  min-height:92px;padding:8px 4px 9px;border:1px solid var(--line);border-radius:var(--rs);
  background:var(--paper);color:var(--ink);text-align:center;cursor:pointer;
  transition:border-color .12s,box-shadow .12s,transform .12s}
.lun-cell:hover{border-color:var(--green);box-shadow:var(--shadow-sm)}
.lun-cell:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.lun-cell[aria-current=date]{border-color:var(--berry);box-shadow:0 0 0 2px var(--berry-lt)}
.lun-cell.on{border-color:var(--green-dk);box-shadow:0 0 0 2px var(--green-lt);transform:translateY(-1px)}
.lc-num{font-weight:700;font-size:1.02rem;line-height:1.1}
.lc-wd{font-size:.68rem;color:var(--muted);line-height:1}
.lc-sign{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:3px;line-height:1.2}
.lc-sign .gl{font-size:.95rem;color:var(--ink)}
.lc-ld{position:absolute;top:5px;right:6px;font-size:.66rem;color:var(--muted)}
.lc-mark{position:absolute;top:5px;left:6px;font-size:.72rem;font-weight:700;line-height:1}
.lun-cell.q-best{background:var(--best-bg);border-color:var(--best)}
.lun-cell.q-good{background:var(--good-bg);border-color:var(--good)}
.lun-cell.q-ok{background:var(--ok-bg)}
.lun-cell.q-poor{background:var(--poor-bg);border-color:var(--poor)}
.lun-cell.q-bad{background:var(--bad-bg);border-color:var(--badc)}
.q-best .lc-mark{color:var(--best)}
.q-good .lc-mark{color:var(--best)}
.q-ok .lc-mark{color:var(--muted)}
.q-poor .lc-mark{color:#9a6a05}
.q-bad .lc-mark{color:var(--badc)}
.lun-cell.pad{border:0;background:transparent;cursor:default;min-height:0}
@media(max-width:700px){
  .lun-grid{gap:4px}
  .lun-cell{min-height:74px;padding:7px 2px;gap:2px}
  .lc-num{font-size:.95rem}
  .lc-wd,.lc-sign span:not(.gl){display:none}
  .lc-ld{top:3px;right:4px;font-size:.6rem}
  .lc-mark{top:3px;left:4px}
}

/* легенда */
.lun-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:.83rem;color:var(--muted)}
.lun-legend i{display:inline-block;width:13px;height:13px;border-radius:4px;margin-right:6px;
  vertical-align:-2px;border:1px solid}
.lun-legend .l-best i{background:var(--best-bg);border-color:var(--best)}
.lun-legend .l-good i{background:var(--good-bg);border-color:var(--good)}
.lun-legend .l-ok i{background:#fff;border-color:var(--line)}
.lun-legend .l-poor i{background:var(--poor-bg);border-color:var(--poor)}
.lun-legend .l-bad i{background:var(--bad-bg);border-color:var(--badc)}

/* ---------------- карточка выбранного дня ---------------- */
.lun-day{margin-top:16px;border:1px solid var(--line);border-radius:var(--r);
  background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}
.ld-top{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--sunk);
  border-bottom:1px solid var(--line);flex-wrap:wrap}
.ld-top .ld-when{font-weight:700;font-size:1.12rem}
.ld-top .ld-sub{font-size:.88rem;color:var(--muted)}
.ld-close{margin-left:auto;border:1px solid var(--line);background:var(--paper);border-radius:999px;
  min-height:38px;padding:0 15px;font-family:inherit;font-size:.87rem;cursor:pointer;color:var(--muted)}
.ld-close:hover{border-color:var(--berry);color:var(--berry)}
.ld-body{padding:18px 20px 20px}
.ld-lock{display:flex;gap:11px;align-items:flex-start;background:var(--berry-lt);
  border:1px solid var(--berry-line);border-radius:var(--rs);padding:12px 14px;margin-bottom:16px;
  font-size:.92rem}
.ld-works{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:10px}
.ld-w{border:1px solid var(--line);border-radius:var(--rs);padding:11px 13px;background:var(--paper)}
.ld-w.q-best{background:var(--best-bg);border-color:var(--best)}
.ld-w.q-good{background:var(--good-bg);border-color:var(--good)}
.ld-w.q-poor{background:var(--poor-bg);border-color:var(--poor)}
.ld-w.q-bad{background:var(--bad-bg);border-color:var(--badc)}
.ld-w .n{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.93rem}
.ld-w .v{margin-top:3px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ld-w.q-best .v,.ld-w.q-good .v{color:var(--best)}
.ld-w.q-ok .v{color:var(--muted)}
.ld-w.q-poor .v{color:#9a6a05}
.ld-w.q-bad .v{color:var(--badc)}
.ld-w .r{margin-top:6px;font-size:.86rem;color:#4A5550;line-height:1.45}

/* ---------------- сводные таблицы ---------------- */
.lun-tab{width:100%;border-collapse:collapse;font-size:.93rem}
.lun-tab th,.lun-tab td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;
  vertical-align:top}
.lun-tab th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);
  font-weight:600;white-space:nowrap}
.lun-tab td.w{font-weight:600;white-space:nowrap}
.lun-tab td.good{color:var(--best);font-weight:600}
.lun-tab td.bad{color:var(--badc)}
.lun-tab tr:last-child td{border-bottom:0}

/* ---------------- месяцы года ---------------- */
.lun-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.lun-m{display:block;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  padding:16px 17px;transition:border-color .15s,box-shadow .15s;overflow:hidden}
.lun-m-img{width:calc(100% + 34px);margin:-16px -17px 14px;height:auto;aspect-ratio:16/9;
  object-fit:cover;background:var(--sunk)}
.lun-m:hover{border-color:var(--green);box-shadow:var(--shadow-md)}
.lun-m h3{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lun-m .mini{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:12px 0 10px}
.lun-m .mini i{height:9px;border-radius:2px;background:var(--line-soft);display:block}
.lun-m .mini i.q-best{background:var(--best)}
.lun-m .mini i.q-good{background:var(--good)}
.lun-m .mini i.q-poor{background:var(--poor)}
.lun-m .mini i.q-bad{background:var(--badc)}
.lun-m p{font-size:.86rem;color:var(--muted);line-height:1.5}

/* ---------------- ближайшие дни ---------------- */
.lun-soon{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:18px}
.ls-card{display:block;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  padding:15px 16px;transition:border-color .15s,box-shadow .15s}
.ls-card:hover{border-color:var(--green);box-shadow:var(--shadow-md)}
.ls-card .t{font-size:.84rem;color:var(--muted);display:flex;align-items:center;gap:7px}
.ls-card .d{font-size:1.22rem;font-weight:700;margin-top:6px;color:var(--green-dk)}
.ls-card .n{font-size:.83rem;color:var(--muted);margin-top:2px}

/* ---------------- выбор даты и навигация ---------------- */
.lun-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 6px}
.lun-nav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 15px;
  border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.9rem}
.lun-nav a:hover{border-color:var(--green);color:var(--green-dk)}
.lun-jump{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}
.lun-jump input{height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px;
  font-family:inherit;font-size:.9rem;color:var(--ink);background:var(--paper)}
.lun-jump button{height:44px;padding:0 18px;border:0;border-radius:999px;background:var(--green-btn);
  color:#fff;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.lun-jump button:hover{background:var(--green-dk)}
@media(max-width:620px){.lun-jump{margin-left:0;width:100%}.lun-jump input{flex:1;min-width:0}}

/* ссылки на соседние годы/месяцы внизу */
.lun-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lun-strip a{display:inline-block;padding:7px 14px;border:1px solid var(--line);border-radius:999px;
  background:var(--paper);font-size:.88rem}
.lun-strip a:hover{border-color:var(--green)}
.lun-strip a.on{background:var(--green);border-color:var(--green);color:#fff}

/* оговорка про ненаучность — видная, но не крикливая */
.lun-note{display:flex;gap:11px;align-items:flex-start;border:1px dashed var(--line);
  border-radius:var(--r);padding:14px 16px;background:var(--sunk);color:#4A5550;
  font-size:.9rem;line-height:1.5;margin-top:22px}
