/*
Theme Name: seeeds
Theme URI: https://seeeds.md
Description: Тема сайта и LMS лаборатории seeeds. Дизайн-система v2.0: крем/чёрный, Geist, точка как единственный декоративный приём. WooCommerce как касса, доступ к архиву по дате lab_until.
Author: seeeds
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: seeeds
*/

/* Шрифты — локально (Google Fonts в РФ грузится нестабильно). Кириллица включена. */
@import url("assets/geist.css");

/* ============================================================
   ТОКЕНЫ — из SEEEDS Design System.dc.html, дословно.
   ============================================================ */
:root{
  --cream:#EFEEEC; --black:#0C0C0B; --ink:#1A1A18; --gray:#8A8778; --sub:#6C6A62;
  --dot:#C7C3B8; --line:#DAD6CB; --white:#FFFFFF; --w-off:#F4F4F1; --w-sub:#A6A49C; --orange:#E8622D;
  --sans:'Geist',system-ui,sans-serif; --mono:'Geist Mono',ui-monospace,monospace;
  --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --lh-tight:1.05; --lh-head:1.15; --lh-body:1.35;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--cream); color:var(--ink);
  font-family:var(--sans); -webkit-font-smoothing:antialiased;
  line-height:var(--lh-body);
}
a{color:var(--ink); text-decoration:none}
a:hover{color:var(--sub)}

/* Раскладка */
.wrap{max-width:1240px; margin:0 auto; padding:0 var(--s7)}
@media(max-width:880px){.wrap{padding:0 var(--s5)}}

/* Точка — единственный узор */
.dotted{border:0; border-top:1.5px dotted var(--dot); height:0; margin:0}
.dot-dk{border:0; border-top:1.5px dotted rgba(255,255,255,.22); height:0; margin:0}

/* Типографика */
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono); font-size:13px; color:var(--gray)}
.mlabel{font-family:var(--mono); font-size:13px; letter-spacing:.08em; color:var(--gray)}
.sec-lab{font-family:var(--mono); font-size:13px; letter-spacing:.02em; color:var(--gray); margin:0 0 6px}
.twotone{font-weight:400; letter-spacing:-.025em; line-height:var(--lh-tight); margin:0; color:var(--gray)}
.twotone b{font-weight:400; color:var(--ink)}

/* Навбар — 56px, фиксированная высота, sticky */
.nav{
  position:sticky; top:0; z-index:5;
  display:flex; align-items:center; justify-content:space-between;
  height:56px; padding:0 36px 0 18px;
  background:var(--cream); border-bottom:1px solid var(--line);
}
.nav-l{display:flex; align-items:center; gap:10px}
.brand-logo{height:20px; width:auto; display:block}
.nav-links{display:flex; gap:24px; align-items:center}
.nav-links a{font-size:clamp(12px,1.05vw,15px); color:var(--gray); cursor:pointer}
.nav-links a.strong,.nav-links a.on{color:var(--ink); font-weight:500}

/* Кнопки — пилюли */
.btn{
  font-family:var(--sans); font-size:14px; font-weight:500;
  padding:11px 20px; border-radius:999px; border:1px solid transparent;
  cursor:pointer; transition:.16s; display:inline-flex; align-items:center; gap:8px;
}
.btn-p{background:var(--ink); color:var(--white)} .btn-p:hover{opacity:.88; color:var(--white)}
.btn-s{background:transparent; color:var(--ink); border-color:var(--line)} .btn-s:hover{background:var(--cream)}
.btn-orange{background:var(--orange); color:#fff} .btn-orange:hover{opacity:.88; color:#fff}

/* Секции */
.sec{padding:var(--s9) 0; border-top:2px dotted var(--dot)}
.sec-t{font-size:38px; font-weight:400; letter-spacing:-.025em; margin:0; line-height:var(--lh-tight)}
.sec-d{font-size:17px; color:var(--sub); margin:0; max-width:620px}

/* Уведомления WooCommerce */
.wc-notices{max-width:920px; margin:0 auto var(--s5)}

/* ============================================================
   ГЛАВНАЯ — сигнатурный сплит 0.56fr / 1fr (home.dc.html)
   ============================================================ */
.split{display:grid; grid-template-columns:0.56fr 1fr; align-items:start}
.half-l{position:sticky; top:56px; height:calc(100vh - 56px); display:flex; flex-direction:column;
  overflow-y:auto; overflow-x:hidden; scrollbar-width:none; border-right:1.5px dotted var(--dot)}
.half-l::-webkit-scrollbar{display:none}
.hl-pad{padding-left:18px; padding-right:36px}
.half-r{background:var(--black); color:var(--w-off); display:flex; flex-direction:column}
.hr-pad{padding:0 36px}

.tt{font-weight:500; letter-spacing:-.025em; line-height:1.02; margin:0; color:var(--gray)}
.tt b{font-weight:500; color:var(--ink)}
.hero-h{font-size:clamp(23px,2.75vw,44px); line-height:1.05}
.dotbg{position:relative}
.dotbg::before{content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(120,113,97,.35) .7px,transparent .7px); background-size:10px 10px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,transparent 15%,#000 42%);
  mask-image:linear-gradient(to bottom,transparent 0%,transparent 15%,#000 42%)}

.r-h{font-size:clamp(18px,1.9vw,32px); font-weight:400; letter-spacing:-.02em; color:var(--w-off); margin:0}
.r-h.ink{color:var(--ink)}
.r-s{font-size:clamp(15px,1.4vw,21px); color:var(--w-sub); margin:0; line-height:1.3; max-width:420px}

.imgph{border-radius:12px; position:relative; overflow:visible}
.imgph::after{content:""; position:absolute; inset:-1px; border-radius:13px; border:1px solid #3a3a38; pointer-events:none}
.imgph.fade-b::after{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%)}
.art1{background:linear-gradient(165deg,#3a5a3e 0%,#6d6a3a 40%,#8a5230 70%,#5a3320 100%)}
.meta-ov{position:absolute; left:0; right:0; bottom:0; padding:22px 20px;
  display:flex; gap:22px; font-family:var(--mono); font-size:12px; color:var(--w-sub)}
.meta-ov.col{flex-direction:column; gap:6px; align-items:flex-start}
.next-title{font-size:clamp(15px,1.4vw,20px); font-weight:400; color:var(--w-off); letter-spacing:-.015em; margin:0; line-height:1.22}

.course-row{padding:32px 0; border-top:1.5px dotted rgba(255,255,255,.22); cursor:pointer; display:block}
.course-row:first-child{border-top:0}
.cr-t{font-size:clamp(15px,1.4vw,19px); color:var(--w-off); margin:0 0 6px; font-weight:400}
.cr-s{font-size:13px; color:var(--w-sub); margin:0 0 12px}
.cr-m{font-family:var(--mono); font-size:11px; color:var(--gray); letter-spacing:.03em}
.dot-dk{border:0; border-top:1.5px dotted rgba(255,255,255,.22); height:0; margin:0}

.newscard{border-top:1.5px dotted var(--dot); border-bottom:1.5px dotted var(--dot); background:var(--cream);
  padding:40px 56px 40px 18px; display:flex; flex-direction:column; gap:18px}
.newscard .nt{font-size:clamp(13px,1.1vw,16px); font-weight:400; letter-spacing:-.015em; line-height:1.18; margin:0}
.byline{display:flex; align-items:center; gap:13px}
.bav{width:28px; height:28px; border-radius:50%; background:#1f5a3a; color:#fff; font-family:var(--mono); font-size:10px; display:flex; align-items:center; justify-content:center}
.bn{font-family:var(--mono); font-size:12px; letter-spacing:.05em}
.bd{font-family:var(--mono); font-size:12px; color:var(--gray); margin-top:3px}

@media(max-width:880px){
  .split{grid-template-columns:1fr}
  .half-l{position:static; height:auto; border-right:0; border-bottom:1.5px dotted var(--dot)}
}

/* ============================================================
   ЛИЧНЫЙ КАБИНЕТ (cabinet.dc.html)
   ============================================================ */
.cab{display:grid; grid-template-columns:280px 1fr; align-items:start}
.cab-side{position:sticky; top:56px; height:calc(100vh - 56px); background:var(--black); color:var(--w-off);
  padding:32px 28px; display:flex; flex-direction:column; overflow-y:auto; scrollbar-width:none}
.cab-side::-webkit-scrollbar{display:none}
.cab-user{display:flex; align-items:center; gap:14px; margin-bottom:26px}
.cab-av{width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,#b9b0a0,#7a7466);
  display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:13px; color:#fff; flex-shrink:0}
.cab-name{font-size:15px; color:var(--w-off)}
.cab-stream{font-family:var(--mono); font-size:11px; color:var(--w-sub); margin-top:3px}
.cab-nav{display:flex; flex-direction:column; margin-top:6px}
.cab-nav-item{display:flex; justify-content:space-between; align-items:center; padding:16px 0;
  border-top:1.5px dotted rgba(255,255,255,.22); font-size:15px; color:var(--w-sub)}
.cab-nav-item:first-child{border-top:0}
.cab-nav-item.on{color:var(--w-off)}
.cab-count{font-family:var(--mono); font-size:11px; color:var(--w-sub)}
.cab-nav-item.on .cab-count{color:var(--w-off)}
.cab-back{margin-top:auto; padding-top:28px; font-size:13px; color:var(--w-sub)}
.cab-back:hover{color:var(--w-off)}
.cab-content{padding:44px 48px 110px; min-height:calc(100vh - 56px)}
.cab-title{font-size:clamp(24px,2.2vw,36px); font-weight:400; letter-spacing:-.02em; margin:0 0 40px}

.season-h{font-family:var(--mono); font-size:13px; color:var(--gray); padding:22px 0 4px}
.item{border-top:1.5px dotted var(--dot); display:block}
.item:first-of-type{border-top:0}
.item-row{cursor:pointer; padding:26px 0; display:flex; justify-content:space-between; align-items:flex-start; gap:24px}
.item-main{display:flex; flex-direction:column; gap:7px}
.item-t{font-size:17px; font-weight:400; color:var(--ink); letter-spacing:-.01em; margin:0}
.item-m{font-family:var(--mono); font-size:12px; color:var(--gray); display:flex; gap:14px; flex-wrap:wrap}
.item-tag{font-family:var(--mono); font-size:11px; color:var(--sub); padding:4px 10px; border:1px solid var(--line); border-radius:999px; white-space:nowrap}
.item-status{font-family:var(--mono); font-size:11px; padding:4px 10px; border-radius:999px; white-space:nowrap; flex-shrink:0}
.item-status.done{color:#3a6b4a; background:#e3ebe2}
.item-status.soon{color:var(--sub); background:var(--line)}
.item-right{display:flex; align-items:center; gap:16px; flex-shrink:0}
.item-chev{font-family:var(--mono); font-size:14px; color:var(--gray)}
.item-body{padding:0 0 34px; display:flex; flex-direction:column; gap:18px; max-width:720px}
.item-body p{font-size:15px; line-height:1.45; color:var(--ink); margin:0; font-weight:300}
.rec-link{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:13px; color:var(--orange); width:fit-content}
.dl-link{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:13px; color:var(--ink);
  width:fit-content; border:1px solid var(--line); border-radius:999px; padding:10px 18px}
.dl-link:hover{background:var(--cream); color:var(--ink)}
.mback{display:inline-flex; align-items:center; gap:8px; font-size:14px; color:var(--sub); margin-bottom:28px}
.mback:hover{color:var(--ink)}
.mdetail{display:flex; flex-direction:column; gap:16px; max-width:720px}
.mtitle{font-size:clamp(22px,2.2vw,32px); font-weight:400; letter-spacing:-.02em; margin:0}
.watch-box{height:340px; border-radius:10px; position:relative; overflow:hidden;
  background:linear-gradient(150deg,#3a5a3e 0%,#6d6a3a 45%,#8a5230 100%)}
.wb-lab{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  font-family:var(--mono); font-size:12px; color:rgba(255,255,255,.85); text-align:center}
.gate{border:1.5px dotted var(--orange); padding:32px 34px; max-width:620px}
.gate p{margin:0 0 var(--s4); font-size:16px; line-height:var(--lh-body)}
.linked-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px}
.linked-chip{font-size:13px; color:var(--ink); border:1px solid var(--line); padding:7px 12px; border-radius:999px}

@media(max-width:880px){
  .cab{grid-template-columns:1fr}
  .cab-side{position:static; height:auto}
  .cab-content{padding:32px 20px 80px}
}

/* Аккаунт — в дизайн-системе: секции через пунктир, поля как надпись на точечной линии */
.acc{max-width:520px}
.acc-block{padding:var(--s7) 0; border-top:1.5px dotted var(--dot)}
.acc-block:first-child{padding-top:0; border-top:0}
.acc-eyebrow{font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gray); margin:0 0 var(--s5)}
.acc-form{display:flex; flex-direction:column}
.acc-label{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--gray); margin:var(--s5) 0 8px}
.acc-label:first-of-type{margin-top:0}
/* поле = текст на пунктирной линии, без коробки */
.acc-input{font-family:var(--sans); font-size:17px; color:var(--ink); padding:6px 2px;
  border:0; border-bottom:1.5px dotted var(--dot); background:transparent; border-radius:0}
.acc-input::placeholder{color:var(--dot)}
.acc-input:focus{outline:none; border-bottom-color:var(--orange); border-bottom-style:solid}
/* Расшифровка встречи — спойлер, не сырой дамп */
.transcript{margin-top:8px}
.transcript summary{font-family:var(--mono); font-size:13px; color:var(--orange); cursor:pointer; list-style:none}
.transcript summary::-webkit-details-marker{display:none}
.transcript[open] summary{margin-bottom:16px}
.transcript .tbody{max-height:420px; overflow-y:auto; font-size:14px; line-height:1.5; color:var(--sub);
  border-left:1.5px dotted var(--dot); padding-left:18px}
.transcript .tbody p{margin:0 0 8px}
