/* Sotezia — общие блоки внутренних страниц (шапка, подвал, тост, модалка). Стиль из sotezia.css */
section{position:relative}
.page{position:relative;overflow:hidden;min-height:100dvh;display:flex;flex-direction:column}
.page>.container{position:relative;flex:1;display:flex;flex-direction:column}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0}
.logo{display:flex;align-items:center;gap:12px;font:700 22px var(--f-head);letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:28px;font-size:15px;color:var(--mut)}
.nav-links a.l:hover,.nav-links a.l.on{color:var(--fg)}
@media(max-width:820px){.nav-links a.l{display:none}.nav-links{gap:10px}}
.head{padding:40px 0 44px}
.head h1{font-weight:700;font-size:clamp(32px,5.4vw,58px);line-height:1.06;letter-spacing:-.02em;margin-top:20px}
.head p.lead{margin-top:18px;max-width:600px;font-size:18px;color:var(--mut)}
.sec{padding:0 0 80px}
.sec h2{font-weight:700;font-size:clamp(24px,3.6vw,38px);letter-spacing:-.01em}
.sec .sub{margin:10px 0 32px;max-width:600px;color:var(--mut);font-size:17px}
.grid{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}
.grid>*{flex:1 1 300px;min-width:0}
footer{display:flex;flex-wrap:wrap;gap:14px 32px;justify-content:space-between;padding:28px 0 max(44px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--dim);font-size:14px;margin-top:auto}
footer a:hover{color:var(--fg)}
.toast{position:fixed;left:50%;top:max(18px,env(safe-area-inset-top,0px));transform:translateX(-50%) translateY(-20px);opacity:0;z-index:80;padding:14px 20px;border-radius:16px;background:#1b1c27;border:1px solid var(--line2);font-size:14px;transition:.3s;max-width:calc(100% - 32px);text-align:center;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.toast a{color:var(--accent);font-weight:600;margin-left:6px}
.modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:16px}
.modal.open{display:flex}
.modal-bg{position:absolute;inset:0;background:rgba(0,0,0,.65);animation:pop .2s both}
.modal-box{position:relative;width:min(440px,100%);padding:28px;border-radius:26px;background:#12131c;border:1px solid var(--line2);box-shadow:0 30px 80px -20px #000;animation:pop .25s both}
.modal-box h3{font-size:20px;margin-bottom:10px}
.modal-box p{color:var(--mut)}
.modal-acts{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.modal-acts .btn{flex:1 1 140px}
.btn-danger{background:rgba(255,80,80,.14);color:#ff8f8f;border:1px solid rgba(255,80,80,.35)}
.skel{border-radius:18px;background-image:linear-gradient(110deg,#14151e 20%,#1f2130 45%,#14151e 70%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}
.empty-box{padding:48px 28px;text-align:center}
.empty-box h3{font-size:22px;margin-bottom:10px}
.empty-box p{color:var(--mut);max-width:420px;margin:0 auto 26px}
