/*
Theme Name: Editorial Astra
Template: astra
Version: 2.0.2
Text Domain: editorial-astra
*/
:root { --ed-accent:#7c3aed; --ed-dark:#1b1435; --ed-ink:#17243a; --ed-muted:#637186; --ed-line:#dfe6ec; --ed-paper:#f3f6fa; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ed-paper); color:var(--ed-ink); font-family:Arial,Helvetica,sans-serif; }
body .site-header, body .site-footer { display:none; }
.sb-header,.sb-footer,.p-masthead { display:none!important; }
body.sb-dominant { background:var(--ed-paper); color:var(--ed-ink); font-family:Arial,Helvetica,sans-serif!important; }
body.sb-dominant .ed-head,body.sb-dominant .edx,body.sb-dominant .ed-site-footer,
body.sb-dominant .edx h1,body.sb-dominant .edx h2,body.sb-dominant .edx h3 { font-family:Arial,Helvetica,sans-serif!important; }
body.sb-dominant .ed-head .ed-logo,body.sb-dominant .ed-head .ed-nav a,
body.sb-dominant .edx .edx-hero h2 a,body.sb-dominant .edx .edx-read { color:#fff; }
body.sb-dominant .edx .edx-read:hover { color:var(--ed-dark); }
body .site-content > .ast-container { max-width:1320px; }
body.home .site-content > .ast-container { display:block; max-width:none; padding:0; }
body.home #primary { width:100%; margin:0; padding:0; }
.ed-shell { width:min(1320px, calc(100% - 40px)); margin-inline:auto; }
a:focus-visible { outline:3px solid var(--ed-accent); outline-offset:3px; }

.ed-head { background:var(--ed-dark); color:#fff; }
.ed-head-main { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:96px; padding-block:16px; }
.ed-logo { display:inline-flex; align-items:center; gap:15px; min-width:0; color:#fff; font-size:clamp(19px, 2vw, 29px); font-weight:800; letter-spacing:-.04em; line-height:1.1; text-decoration:none; overflow-wrap:anywhere; }
.ed-logo:hover { color:#fff; opacity:.88; }
.ed-logo img { flex:0 0 48px; width:48px; height:48px; object-fit:contain; }
.ed-head-tagline { max-width:280px; margin:0; color:#bdcadd; font-size:13px; line-height:1.45; text-align:right; }
.ed-nav { background:var(--ed-accent); }
.ed-nav-inner { display:flex; align-items:center; flex-wrap:wrap; gap:4px 24px; min-height:44px; padding-block:8px; }
.ed-nav a { color:#fff; font-size:13px; font-weight:700; text-decoration:none; }
.ed-nav a:hover { color:#fff; text-decoration:underline; }
.ed-site-footer { background:var(--ed-dark); color:#cdd7e4; padding-block:30px; }
.ed-site-footer .ed-shell { display:block; }
.ed-footer-top { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.ed-footer-top strong { color:#fff; font-size:18px; }
.ed-site-footer a { color:#fff; }
.ed-site-footer p { max-width:850px; margin:14px 0 0; color:#b4c2d0; font-size:12px; line-height:1.6; }

.edx { padding-bottom:60px; }
.edx a { text-decoration:none; }
.edx-intro { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:30px; align-items:end; padding-block:35px 24px; }
.edx-kicker { margin:0 0 9px; color:var(--ed-accent); font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.edx-intro h1 { margin:0; color:var(--ed-ink); font-size:clamp(30px,3.2vw,47px); line-height:1.12; letter-spacing:-.045em; overflow-wrap:anywhere; }
.edx-intro > p { margin:0 0 4px; color:var(--ed-muted); font-size:14px; line-height:1.55; }
.edx-hero { display:grid; grid-template-columns:55% 45%; min-height:430px; background:var(--ed-dark); color:#fff; overflow:hidden; }
.edx-hero-art { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:430px; overflow:hidden; background:radial-gradient(circle at 35% 42%,color-mix(in srgb,var(--ed-accent) 70%,#fff),transparent 38%),linear-gradient(135deg,var(--ed-accent),var(--ed-dark) 74%); }
.edx-hero-art::before,.edx-hero-art::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; width:430px; height:430px; transform:rotate(-28deg); }
.edx-hero-art::after { width:620px; height:620px; border-color:rgba(255,255,255,.1); }
.edx-hero-art > img:not(.edx-hero-symbol) { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.edx-hero-symbol { position:relative; z-index:1; width:clamp(115px,16vw,190px); height:clamp(115px,16vw,190px); opacity:.95; filter:drop-shadow(0 12px 20px rgba(0,0,0,.18)); }
.edx-art-caption { position:absolute; z-index:2; bottom:28px; left:30px; right:30px; color:#fff; font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.edx-hero-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(28px,4vw,60px); }
.edx-label { display:inline-block; padding:8px 11px; background:var(--ed-accent); color:#fff; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.edx-hero h2 { margin:24px 0 16px; color:#fff; font-size:clamp(25px,2.6vw,38px); line-height:1.16; letter-spacing:-.035em; overflow-wrap:anywhere; }
.edx-hero h2 a { color:#fff; }
.edx-hero h2 a:hover { text-decoration:underline; }
.edx-hero-copy p { margin:0; color:#d5dce7; font-size:15px; line-height:1.65; }
.edx-date { display:block; margin-top:20px; color:#aabbd0; font-size:12px; }
.edx-read { display:inline-block; margin-top:25px; padding:12px 18px; border:1px solid #fff; color:#fff; font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.edx-read:hover { background:#fff; color:var(--ed-dark); }
.edx-ad { min-height:0; margin:15px 0; }
.edx-ad:empty { display:none; }
.edx-ad--rtb { display:flex; flex-direction:column; align-items:center; gap:8px; padding:10px; background:#fff; border:1px solid var(--ed-line); }
.edx-ad--rtb::before { content:'Реклама'; align-self:flex-start; color:#8a95a3; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.edx-categories { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:24px 0 30px; }
.edx-categories a { display:flex; flex-direction:column; min-height:112px; padding:15px; background:#fff; border:1px solid var(--ed-line); border-top:3px solid var(--ed-accent); color:var(--ed-ink); }
.edx-categories a:hover { border-color:var(--ed-accent); }
.edx-category-num { margin-bottom:9px; color:var(--ed-accent); font-size:11px; font-weight:800; }
.edx-categories strong { font-size:15px; line-height:1.2; overflow-wrap:anywhere; }
.edx-categories small { margin-top:auto; padding-top:10px; color:var(--ed-muted); font-size:11px; }
.edx-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:24px; align-items:start; }
.edx-panel { margin-bottom:24px; padding:22px; background:#fff; border:1px solid var(--ed-line); }
.edx-panel-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; padding-bottom:12px; border-bottom:2px solid #e8edf2; }
.edx-panel-head h2 { margin:0; color:var(--ed-ink); font-size:22px; letter-spacing:-.025em; }
.edx-panel-head span { color:var(--ed-muted); font-size:12px; }
.edx-single-note { color:var(--ed-muted); font-size:14px; line-height:1.55; }
.edx-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.edx-story { min-width:0; }
.edx-story-art { display:grid; place-items:center; aspect-ratio:16/9; background:linear-gradient(145deg,var(--ed-dark),var(--ed-accent)); overflow:hidden; }
.edx-story-art img { width:100%; height:100%; object-fit:cover; }
.edx-story-art img[src$="logo.svg"] { width:56px; height:56px; opacity:.85; }
.edx-story .edx-date { margin:12px 0 5px; color:var(--ed-accent); }
.edx-story h3 { margin:0; font-size:17px; line-height:1.35; }
.edx-story h3 a { color:var(--ed-ink); }
.edx-story h3 a:hover { color:var(--ed-accent); }
.edx-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.edx-guide-grid a { position:relative; display:flex; flex-direction:column; min-height:116px; padding:17px; border:1px solid var(--ed-line); color:var(--ed-ink); }
.edx-guide-grid a:hover { border-color:var(--ed-accent); background:#faf9ff; }
.edx-guide-icon { color:var(--ed-accent); font-size:16px; }
.edx-guide-grid strong { margin-top:8px; font-size:16px; }
.edx-guide-grid small { margin-top:7px; color:var(--ed-muted); font-size:12px; }
.edx-arrow { position:absolute; top:15px; right:16px; color:var(--ed-accent); }
.edx-tags { display:flex; flex-wrap:wrap; gap:8px; }
.edx-tags a { padding:8px 11px; background:#f7f9fc; border:1px solid var(--ed-line); color:var(--ed-ink); font-size:13px; }
.edx-tags a:hover { border-color:var(--ed-accent); }
.edx-aside .edx-panel-head h2 { font-size:20px; }
.edx-aside-link { display:flex; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--ed-line); color:var(--ed-ink); font-size:14px; font-weight:650; }
.edx-aside-link:last-child { border:0; }
.edx-aside-link span { color:var(--ed-accent); }
.edx-aside-link:hover { color:var(--ed-accent); }

body:not(.home) .site-content { min-height:55vh; }
body:not(.home) .ast-container { max-width:1320px; }
body:not(.home) .entry-title { color:var(--ed-ink); }
body:not(.home) .entry-content a { color:var(--ed-accent); }

@media(max-width:1000px) { .edx-categories { grid-template-columns:repeat(3,minmax(0,1fr)); } .edx-layout { grid-template-columns:minmax(0,1fr) 230px; gap:16px; } }
@media(max-width:760px) {
  .ed-shell { width:min(100% - 28px,620px); }
  .ed-head-main { min-height:80px; }
  .ed-head-tagline { display:none; }
  .ed-logo { font-size:21px; }
  .ed-logo img { flex-basis:40px; width:40px; height:40px; }
  .ed-nav-inner { flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; scrollbar-width:thin; }
  .edx-intro { grid-template-columns:1fr; gap:10px; padding-block:28px 20px; }
  .edx-hero { grid-template-columns:1fr; }
  .edx-hero-art { min-height:255px; height:255px; }
  .edx-hero-copy { padding:28px 24px 32px; }
  .edx-categories { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .edx-layout { grid-template-columns:1fr; }
  .edx-aside { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:520px) {
  .edx-story-grid,.edx-guide-grid,.edx-aside { grid-template-columns:1fr; }
  .edx-panel { padding:17px; }
  .edx-panel-head { align-items:start; flex-direction:column; gap:4px; }
  .edx-categories strong { font-size:13px; }
}
