/*
Theme Name: Life-V
Description: Дружелюбная тема для life-v.ru — советы по Windows, Android и Apple. SVG-иллюстрации, инфографика, анимации.
Version: 2.0
Text Domain: lifev
*/
:root{
  --bg:#f5f7fb;--card:#fff;--ink:#0f172a;--muted:#5b6476;--line:#e6e9f0;
  --accent:#2563eb;--accent2:#7c3aed;--soft:#eef3ff;
  --radius:20px;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
  --shadow-h:0 2px 4px rgba(15,23,42,.06),0 18px 40px rgba(37,99,235,.16);
  --font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
/* тёмная тема: по системе, если посетитель не выбрал сам; либо принудительно через data-theme */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0b1020;--card:#131a2e;--ink:#e8ecf6;--muted:#9aa5bd;--line:#232c45;--soft:#18213b;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--shadow-h:0 18px 40px rgba(0,0,0,.45)}
}
:root[data-theme="dark"]{--bg:#0b1020;--card:#131a2e;--ink:#e8ecf6;--muted:#9aa5bd;--line:#232c45;--soft:#18213b;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--shadow-h:0 18px 40px rgba(0,0,0,.45)}
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 var(--font);overflow-x:hidden}
a{color:var(--accent);text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.ic{flex:none;vertical-align:middle}
h1,h2,h3{letter-spacing:-.02em;line-height:1.2}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--card) 82%,transparent);
  backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.site-header.scrolled{border-color:var(--line);box-shadow:0 6px 24px rgba(15,23,42,.06)}
.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:22px;color:var(--ink)}
.logo em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.logo svg{transition:transform .5s var(--ease)}
.logo:hover svg{transform:rotate(-8deg) scale(1.08)}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;color:var(--muted);font-weight:600;font-size:15px;white-space:nowrap;transition:background .25s,color .25s,transform .25s var(--ease)}
.nav a .ic{color:var(--c)}
.nav a:hover,.nav a.on{background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);transform:translateY(-1px)}
.search-form{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:0 14px;color:var(--muted);transition:border-color .2s,box-shadow .2s}
.search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.search-form input{border:0;background:none;color:var(--ink);font:inherit;font-size:15px;padding:9px 0;width:170px;outline:none}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:3px}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2),#db2777);transition:width .1s linear}

/* ---------- home hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;padding:88px 0 140px;margin-top:-1px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%}
.hero-inner{position:relative;max-width:1200px}
.hero h1{font-size:clamp(34px,5.4vw,60px);margin:14px 0 14px;max-width:640px;text-shadow:0 2px 24px rgba(0,0,0,.15)}
.hero p{font-size:clamp(17px,1.6vw,20px);max-width:560px;opacity:.92;margin:0 0 28px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);font-weight:600;font-size:14px;backdrop-filter:blur(6px)}
.hero-search{display:flex;align-items:center;gap:10px;max-width:560px;background:#fff;border-radius:18px;padding:8px 8px 8px 18px;color:#64748b;box-shadow:0 20px 50px rgba(15,23,42,.25);transition:transform .3s var(--ease),box-shadow .3s}
.hero-search:focus-within{transform:translateY(-2px);box-shadow:0 26px 60px rgba(15,23,42,.32)}
.hero-search input{flex:1;border:0;outline:none;font:inherit;font-size:16px;color:#0f172a;min-width:0;background:none}
.hero-search button{border:0;cursor:pointer;font:inherit;font-weight:700;color:#fff;padding:12px 22px;border-radius:12px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:filter .2s,transform .2s}
.hero-search button:hover{filter:brightness(1.1);transform:scale(1.03)}
@media (max-width:900px){.hero-art{display:none}.hero{padding:56px 0 110px}}

/* плавающие элементы */
.float{animation:float 9s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.f2{animation-duration:11s;animation-delay:-3s}.f3{animation-duration:7s}.f4{animation-duration:8s;animation-delay:-2s}.f5{animation-duration:6s;animation-delay:-1s}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}

/* ---------- stats (инфографика) ---------- */
.stats{position:relative;z-index:2;margin-top:-84px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;transition:transform .35s var(--ease),box-shadow .35s}
.stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.stat-ic{grid-row:span 2;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.stat b{font-size:28px;line-height:1.1}
.stat span:last-child{color:var(--muted);font-size:14px}
@media (max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- sections ---------- */
.section{margin:64px 0}
.section-head{margin-bottom:22px}
.section-head h2{font-size:clamp(24px,3vw,32px);margin:0 0 4px;display:flex;align-items:center;gap:12px}
.section-head p{margin:0;color:var(--muted)}
.section-head--row{display:flex;align-items:end;justify-content:space-between;gap:16px}
.h-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--c)}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:700;white-space:nowrap}
.more .ic{transition:transform .25s var(--ease)}
.more:hover .ic{transform:translateX(4px)}

/* плитки рубрик */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:4px;padding:22px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s}
.tile::before{content:"";position:absolute;inset:auto -30% -60% auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--c2) 35%,transparent),transparent);transition:transform .6s var(--ease)}
.tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-h)}
.tile:hover::before{transform:scale(1.6)}
.tile-ic{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--c),var(--c2));margin-bottom:10px;box-shadow:0 10px 24px color-mix(in srgb,var(--c) 35%,transparent);transition:transform .45s var(--ease)}
.tile:hover .tile-ic{transform:rotate(-8deg) scale(1.08)}
.tile-name{font-weight:800;font-size:20px}
.tile-count{color:var(--muted);font-size:14px}
.bar{height:6px;border-radius:6px;background:var(--soft);margin-top:12px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--c),var(--c2));transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease) .2s}
.tile.in .bar i{transform:scaleX(1)}
.tile-go{position:absolute;top:22px;right:22px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--c);transition:transform .3s var(--ease),background .3s,color .3s}
.tile:hover .tile-go{background:var(--c);color:#fff;transform:rotate(-45deg)}

/* как это работает */
.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps-line{position:absolute;left:0;right:0;top:46px;width:100%;height:20px;color:color-mix(in srgb,var(--accent) 45%,transparent)}
.step{position:relative;background:var(--card);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .35s var(--ease)}
.step:hover{transform:translateY(-4px)}
.step .ic{color:var(--accent);margin-bottom:8px}
.step h3{margin:6px 0;font-size:19px}
.step p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.step-n{position:absolute;top:-14px;right:20px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 6px 16px rgba(37,99,235,.35)}
@media (max-width:800px){.steps{grid-template-columns:1fr}.steps-line{display:none}}

/* ---------- cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.grid--4{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.grid--2{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.grid--featured{grid-template-columns:repeat(3,1fr)}
.grid--featured .card--wide{grid-column:span 2;grid-row:span 2}
.grid--featured .card--wide .thumb{aspect-ratio:auto;flex:1;min-height:240px}
.grid--featured .card--wide .body{flex:none}
.grid--featured .card--wide h3{font-size:clamp(20px,2.2vw,26px)}
@media (max-width:900px){.grid--featured{grid-template-columns:1fr 1fr}.grid--featured .card--wide{grid-column:span 2;grid-row:auto}}
@media (max-width:560px){.grid--featured{grid-template-columns:1fr}.grid--featured .card--wide{grid-column:auto}}
.card{position:relative;background:var(--card);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-h)}
.card .thumb{display:block;aspect-ratio:16/9;background:center/cover no-repeat;overflow:hidden;position:relative}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,23,42,.18));opacity:0;transition:opacity .35s}
.card:hover .thumb img{transform:scale(1.06)}
.card:hover .thumb::after{opacity:1}
.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:17px;line-height:1.35;margin:0}
.card h3 a{color:var(--ink);background:linear-gradient(var(--c),var(--c)) 0 100%/0 2px no-repeat;transition:background-size .35s var(--ease)}
.card:hover h3 a{background-size:100% 2px}
.card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}
.chip{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);transition:background .2s}
.chip:hover{background:color-mix(in srgb,var(--c) 22%,transparent)}
.card-meta{margin-top:auto;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}
.card--mini .body{gap:6px}
.card--mini h3{font-size:15.5px}

/* ---------- archive hero ---------- */
.page-hero{position:relative;overflow:hidden;color:#fff;padding:56px 0 64px;background:linear-gradient(120deg,var(--c),var(--c2))}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(30px,4.4vw,46px);margin:10px 0 6px}
.page-hero p{margin:0;opacity:.9}
.page-hero-ic{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35)}

/* ---------- layout & sidebar ---------- */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;padding:32px 0 64px}
@media (max-width:980px){.layout{grid-template-columns:1fr}.search-form input{width:110px}}
.sidebar .box{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}
.sidebar .sticky{position:sticky;top:90px}
.sidebar h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;color:var(--muted)}
.sidebar ul{list-style:none;margin:0;padding:0}
.side-cats a{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;color:var(--ink);font-weight:600;transition:background .2s,transform .2s var(--ease)}
.side-cats a:hover{background:color-mix(in srgb,var(--c) 10%,transparent);transform:translateX(4px)}
.side-cats em{margin-left:auto;font-style:normal;font-size:13px;color:var(--muted);background:var(--soft);padding:1px 9px;border-radius:999px}
.sc-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}
.side-posts li+li{border-top:1px solid var(--line)}
.side-posts a{display:flex;gap:12px;align-items:center;padding:10px 0;color:var(--ink);font-size:14.5px;line-height:1.4}
.side-posts img{width:56px;height:40px;border-radius:10px;flex:none;object-fit:cover;transition:transform .3s var(--ease)}
.side-posts a:hover img{transform:scale(1.08) rotate(-2deg)}
.side-posts a:hover span{color:var(--accent)}

/* ---------- article ---------- */
.article-hero{position:relative;overflow:hidden;color:#fff;padding:40px 0 92px;background:linear-gradient(120deg,var(--c),var(--c2))}
.article-hero-cover{position:absolute;top:0;bottom:0;right:0;width:55%;background:center/cover;opacity:.5;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);mask-image:linear-gradient(90deg,transparent,#000 60%)}
.article-hero .wrap{position:relative}
.article-hero h1{font-size:clamp(28px,4vw,44px);max-width:900px;margin:10px 0 22px}
.breadcrumbs{font-size:14px;display:flex;gap:8px;align-items:center;opacity:.9}
.breadcrumbs a{color:#fff}
.breadcrumbs a:hover{text-decoration:underline}
.infobar{display:flex;flex-wrap:wrap;gap:10px}
.info{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;backdrop-filter:blur(6px);transition:background .2s,transform .25s var(--ease)}
.info:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}
.info small{opacity:.8}
.article-hero + .wrap .layout{padding-top:0}
.article{background:var(--card);border-radius:var(--radius);padding:32px clamp(18px,4vw,48px);box-shadow:var(--shadow);margin-top:-60px;position:relative}
.toc{background:var(--soft);border-radius:16px;padding:18px 22px;margin-bottom:24px}
.toc-title{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:8px;color:var(--accent)}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:5px 0;color:var(--ink);transition:color .2s,transform .2s var(--ease)}
.toc a::before{content:counter(t);flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;background:var(--accent);margin-top:3px}
.toc a:hover{color:var(--accent);transform:translateX(4px)}
.content{font-size:17.5px}
.content > p:first-child{font-size:19px;color:var(--muted)}
.content h2{font-size:clamp(22px,2.6vw,28px);margin:44px 0 14px;display:flex;align-items:center;gap:12px}
.hnum{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:17px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 8px 18px rgba(37,99,235,.25)}
.content h3{font-size:20px;margin:30px 0 10px}
.content a{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px;transition:text-decoration-color .2s}
.content a:hover{text-decoration-color:var(--accent)}
.content ul{padding-left:0;list-style:none}
.content ul li{position:relative;padding-left:30px;margin:8px 0}
.content ul li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--accent),var(--accent2));transform:rotate(45deg) scale(.7)}
.content ol{padding-left:0;list-style:none;counter-reset:s}
.content ol li{position:relative;padding:10px 14px 10px 54px;margin:10px 0;background:var(--soft);border-radius:14px;counter-increment:s}
.content ol li::before{content:counter(s);position:absolute;left:12px;top:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;color:#fff;background:var(--accent)}
.content img{display:block;margin:22px auto;border-radius:16px;box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s}
.content img:hover{transform:scale(1.015);box-shadow:var(--shadow-h)}
.content blockquote{margin:24px 0;padding:16px 20px 16px 56px;position:relative;background:var(--soft);border-radius:16px}
.content blockquote::before{content:"!";position:absolute;left:16px;top:16px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:#f59e0b}
.content table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;display:block;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.content td,.content th{border-bottom:1px solid var(--line);padding:10px 12px}
.content th{background:var(--soft);text-align:left}
.content code{background:var(--soft);padding:2px 7px;border-radius:7px;font-size:.9em}
.content .note{margin:32px 0 0;padding:18px 20px 18px 60px;position:relative;border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 10%,var(--card)),color-mix(in srgb,var(--accent2) 10%,var(--card)));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}
.content .note::before{content:"";position:absolute;left:18px;top:20px;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent2))}
.helpful{margin-top:34px;padding-top:20px;border-top:1px dashed var(--line);color:var(--muted);font-size:15px}
.helpful span{display:flex;align-items:center;gap:10px}
.helpful .ic{color:#16a34a}
.related{margin-top:40px}

/* ---------- misc ---------- */
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}
.pagination .page-numbers{min-width:44px;text-align:center;padding:9px 14px;border-radius:12px;background:var(--card);box-shadow:var(--shadow);color:var(--ink);font-weight:600;transition:transform .2s var(--ease),background .2s}
.pagination a.page-numbers:hover{transform:translateY(-2px)}
.pagination .current{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.empty{text-align:center;padding:60px 20px;color:var(--muted)}
.site-footer{position:relative;margin-top:40px;background:#0f172a;color:#cbd5e1;padding:40px 0 36px}
.footer-wave{position:absolute;left:0;right:0;top:-59px;width:100%;height:60px;color:#0f172a}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.footer-grid h4{color:#fff;margin:0 0 10px}
.footer-grid ul{list-style:none;margin:0;padding:0;font-size:15px;line-height:2}
.footer-grid a{color:#cbd5e1}
.footer-grid a:hover{color:#fff}
.logo--light{color:#fff}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr}}
.to-top{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 24px rgba(37,99,235,.35);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease);z-index:40}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{transform:translateY(-3px)}

/* появление при прокрутке */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .reveal{opacity:1;transform:none}
}
@media (max-width:640px){.search-form{display:none}.hero-search button{padding:12px 14px}}
.content hr{border:0;height:2px;margin:36px 0;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.content figure{margin:22px 0}
.content figcaption,.content .wp-caption-text{text-align:center;color:var(--muted);font-size:14px;margin-top:-10px}

/* автор */
.avatar{flex:none;border-radius:50%;box-shadow:0 6px 16px rgba(37,99,235,.25)}
.byline{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;padding:6px 16px 6px 6px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(6px);transition:background .2s,transform .25s var(--ease)}
.byline:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}
.byline span{display:flex;flex-direction:column;line-height:1.15}
.byline small{opacity:.8;font-size:12px}
.author-box{display:flex;gap:18px;align-items:flex-start;margin-top:36px;padding:22px;border-radius:18px;background:var(--soft)}
.author-box p{margin:6px 0 10px;color:var(--muted);font-size:15.5px;line-height:1.6}
.author-box-top small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.author-box-top b{font-size:19px;color:var(--ink)}
.author-head{display:flex;gap:28px;align-items:center}
.author-head h1{margin:10px 0 6px}
.author-head p{max-width:720px;margin:0 0 16px}
@media (max-width:640px){.author-head{flex-direction:column;align-items:flex-start}.author-box{flex-direction:column}}
.avatar{object-fit:cover;background:var(--soft)}
/* авторы без аватаров */
.byline{padding:7px 16px}
.author-box{display:block}

/* форма обратной связи */
.contact-form{display:grid;gap:14px;margin-top:10px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:grid;gap:6px;font-weight:600;font-size:15px}
.contact-form input,.contact-form textarea{font:inherit;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 15%,transparent)}
.contact-form button{justify-self:start;border:0;cursor:pointer;font:inherit;font-weight:700;color:#fff;padding:12px 26px;border-radius:12px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:transform .2s,filter .2s}
.contact-form button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.contact-form .hp{position:absolute;left:-9999px}
.form-note{font-size:13px;color:var(--muted);margin:0}
.form-ok,.form-err{display:flex;gap:10px;align-items:center;padding:14px 18px;border-radius:14px;margin:10px 0;font-weight:600}
.form-ok{background:color-mix(in srgb,#16a34a 14%,var(--card));color:#16a34a}
.form-err{background:color-mix(in srgb,#dc2626 12%,var(--card));color:#dc2626}
@media (max-width:640px){.contact-form .row{grid-template-columns:1fr}}

/* баннер согласия */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:860px;margin:0 auto;display:flex;gap:16px;align-items:center;
  padding:16px 18px;border-radius:18px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 50px rgba(15,23,42,.25);
  opacity:0;transform:translateY(24px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.consent.show{opacity:1;transform:none}
.consent-ic{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}
.consent-text b{font-size:15px}
.consent-text p{margin:4px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted)}
.consent-btns{display:flex;gap:8px;flex:none}
.consent button{font:inherit;font-size:14px;font-weight:700;border-radius:12px;padding:10px 18px;cursor:pointer;border:0;transition:transform .2s,filter .2s}
.consent-yes{color:#fff;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.consent-no{color:var(--muted);background:var(--soft)}
.consent button:hover{transform:translateY(-1px);filter:brightness(1.06)}
@media (max-width:640px){.consent{flex-direction:column;align-items:stretch}.consent-ic{display:none}.consent-btns{flex-direction:row}.consent-btns button{flex:1}}
.contact-form .agree{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;color:var(--muted)}
.contact-form .agree input{margin-top:4px;width:18px;height:18px;flex:none}
.to-top{bottom:20px}

/* переключатель темы */
.theme-toggle{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;position:relative;overflow:hidden;transition:border-color .2s,transform .25s var(--ease)}
.theme-toggle:hover{border-color:var(--accent);transform:rotate(-12deg)}
.theme-toggle svg{position:absolute;transition:transform .45s var(--ease),opacity .3s}
.theme-toggle .t-sun{color:#f59e0b}
.theme-toggle .t-moon{color:#a5b4fc}
/* в светлой теме показываем луну (переключить в тёмную), в тёмной — солнце */
.theme-toggle .t-sun{opacity:0;transform:rotate(-90deg) scale(.5)}
.theme-toggle .t-moon{opacity:1;transform:none}
:root[data-theme="dark"] .theme-toggle .t-sun{opacity:1;transform:none}
:root[data-theme="dark"] .theme-toggle .t-moon{opacity:0;transform:rotate(90deg) scale(.5)}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .theme-toggle .t-sun{opacity:1;transform:none}
  :root:not([data-theme="light"]) .theme-toggle .t-moon{opacity:0;transform:rotate(90deg) scale(.5)}
}
.site-header .search-form + .theme-toggle,.site-header .nav + .theme-toggle{margin-left:0}
.site-header .nav + .theme-toggle{margin-left:auto}
body.consent-open{padding-bottom:150px}
@media (max-width:640px){body.consent-open{padding-bottom:260px}}
