/*
Theme Name: Astra VKasimov
Template: astra
Version: 2.1
Text Domain: astra-vkasimov
*/

:root{
  --ink:#15171C;
  --text:#1A1C21;
  --text-muted:#6B7280;
  --border:#E5E7EB;
  --bg:#FFFFFF;
  --bg-soft:#F5F6F8;
  --accent:#2B6EF6;
  --accent-dark:#1B4FC4;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'Roboto',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:16px;
}

h1,h2,h3,h4,.site-title,.ast-site-title a{
  font-family:'Manrope',-apple-system,sans-serif !important;
  font-weight:800 !important;
  color:var(--ink);
  letter-spacing:-0.01em;
}

a{ color:var(--ink); text-decoration:none; }
a:hover{ color:var(--accent); }

/* Astra wraps page content in a flex container sized for its own sidebar system;
   our custom templates have a single full-width child, so force block layout. */
#content.site-content, .ast-container{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
}

/* ---------- Header: flat, minimal, white ---------- */
.ast-primary-header-bar, #masthead{
  background:#fff !important;
  border-bottom:1px solid var(--border) !important;
}
.ast-primary-header-bar .site-title a, .ast-primary-header-bar .site-title a:hover{
  color:var(--ink) !important;
  font-weight:800;
}
.main-header-menu .menu-item a, .main-navigation a{
  color:var(--ink) !important;
  font-weight:700;
  font-size:14px;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
}
.main-header-menu .menu-item a:hover{
  color:var(--accent) !important;
  border-bottom-color:var(--accent);
}
.ast-header-break-point .main-navigation{ background:#fff; }

/* ---------- Layout shell: content + sticky sidebar ---------- */
.vk-shell{
  max-width:1280px;
  margin:0 auto;
  padding:36px 5vw 64px;
  display:grid;
  grid-template-columns:1fr 300px;
  gap:40px;
  align-items:start;
}
@media(max-width:900px){ .vk-shell{ grid-template-columns:1fr; } }

.vk-sidebar{
  position:sticky;
  top:24px;
  border-left:1px solid var(--border);
  padding-left:24px;
}
.vk-sidebar-tabs{ display:flex; gap:20px; margin-bottom:18px; }
.vk-sidebar-tabs span{ font-weight:700; font-size:14px; color:var(--text-muted); padding-bottom:8px; }
.vk-sidebar-tabs span.active{ color:var(--ink); border-bottom:2px solid var(--accent); }
.vk-ticker-item{ display:block; padding:14px 0; border-bottom:1px solid var(--border); }
.vk-ticker-item:first-child{ padding-top:0; }
.vk-ticker-time{ display:block; font-size:12px; color:var(--text-muted); font-weight:700; margin-bottom:4px; }
.vk-ticker-title{ font-size:14.5px; line-height:1.4; color:var(--ink); font-weight:500; }
.vk-ticker-item:hover .vk-ticker-title{ color:var(--accent); }

/* ---------- Category label ---------- */
.vk-label{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.vk-label.c-gorod{color:#2B6EF6;}
.vk-label.c-zkh{color:#64748B;}
.vk-label.c-kultura{color:#A855F7;}
.vk-label.c-proisshestviya{color:#DC2626;}
.vk-label.c-biznes{color:#059669;}
.vk-label.c-lyudi{color:#EA580C;}
.vk-label.c-afisha{color:#0891B2;}

/* ---------- Hero ---------- */
.vk-hero-row{ display:grid; grid-template-columns:1.6fr 1fr; gap:0; max-width:1280px; margin:0 auto; padding:28px 5vw 0; }
@media(max-width:900px){ .vk-hero-row{ grid-template-columns:1fr; } }

.vk-hero{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  border-radius:6px;
  overflow:hidden;
}
.vk-hero::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0) 100%);
}
.vk-hero-inner{ position:relative; z-index:2; padding:32px; max-width:640px; }
.vk-hero-inner .vk-label{ color:#fff; opacity:0.85; }
.vk-hero-inner h1{
  color:#fff !important;
  font-size:clamp(24px,3vw,34px);
  line-height:1.15;
  margin:10px 0 10px;
}
.vk-hero-inner p{ color:#E5E7EB; font-size:15px; }

.vk-hero-list{ padding:0 0 0 28px; display:flex; flex-direction:column; }
.vk-hero-list-item{ padding:16px 0; border-bottom:1px solid var(--border); }
.vk-hero-list-item:first-child{ padding-top:0; }
.vk-hero-list-item a{ font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; line-height:1.35; color:var(--ink); }
.vk-hero-list-item a:hover{ color:var(--accent); }

/* ---------- Section header ---------- */
.vk-section{ max-width:1280px; margin:0 auto; padding:0 5vw; }
.vk-section-head{ display:flex; align-items:baseline; justify-content:space-between; border-bottom:2px solid var(--ink); padding-bottom:10px; margin:48px 0 24px; }
.vk-section-head h2{ font-size:22px; margin:0; text-transform:uppercase; letter-spacing:0.01em; }
.vk-more-link{ font-size:13px; font-weight:700; color:var(--accent); }

/* ---------- Card grid: photo + text-on-image overlay ---------- */
.vk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.vk-grid.cols-2{ grid-template-columns:repeat(2,1fr); }
@media(max-width:900px){ .vk-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .vk-grid{ grid-template-columns:1fr; } }

.vk-card{
  position:relative;
  aspect-ratio:4/3;
  border-radius:5px;
  overflow:hidden;
  display:block;
}
.vk-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.vk-card:hover img{ transform:scale(1.04); }
.vk-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.25) 60%, rgba(0,0,0,0) 100%);
}
.vk-card-body{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px; }
.vk-card-body .vk-label{ color:#fff; opacity:0.9; }
.vk-card-body h3{ color:#fff !important; font-size:16px; line-height:1.3; margin:6px 0 0; font-weight:700 !important; }
.vk-card-date{ font-size:11px; color:#D1D5DB; margin-top:8px; text-transform:uppercase; }

/* ---------- Afisha strip ---------- */
.vk-afisha-strip{ background:var(--bg-soft); padding:8px 0 44px; margin-top:8px; }

/* ---------- Useful teaser ---------- */
.vk-useful{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:800px){ .vk-useful{ grid-template-columns:1fr; } }
.vk-useful-card{
  border:1px solid var(--border);
  border-radius:5px;
  padding:24px 22px;
  display:block;
  transition:border-color .2s ease;
}
.vk-useful-card:hover{ border-color:var(--accent); }
.vk-useful-card .emoji{ font-size:26px; }
.vk-useful-card h4{ font-size:17px; margin:12px 0 6px; color:var(--ink); }
.vk-useful-card p{ font-size:13.5px; color:var(--text-muted); margin:0; }

/* ---------- Generic pages ---------- */
.vk-page-hero{ max-width:1280px; margin:0 auto; padding:40px 5vw 0; }
.vk-page-hero .vk-label{ color:var(--accent); }
.vk-page-hero h1{ font-size:clamp(26px,4vw,38px); margin:10px 0 12px; }
.vk-page-hero p{ color:var(--text-muted); max-width:680px; font-size:16px; }

.vk-content-wrap{ max-width:760px; margin:0 auto; padding:32px 5vw 56px; }
.vk-content-wrap h2{ font-size:24px; margin-top:32px; }
.vk-content-wrap h3{ font-size:19px; }
.vk-content-wrap p{ font-size:16px; line-height:1.75; }
.vk-content-wrap ul{ font-size:16px; line-height:1.85; }
.vk-updated-badge{ display:inline-block; font-size:12px; color:var(--text-muted); background:var(--bg-soft); padding:5px 12px; border-radius:20px; margin-bottom:18px; }

.vk-link-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:24px 0; }
@media(max-width:700px){ .vk-link-grid{ grid-template-columns:1fr; } }
.vk-link-card{ display:block; border:1px solid var(--border); border-radius:5px; padding:18px; transition:border-color .2s ease; }
.vk-link-card:hover{ border-color:var(--accent); }
.vk-link-card b{ font-family:'Manrope',sans-serif; font-size:16px; color:var(--ink); display:block; margin-bottom:5px; }
.vk-link-card span{ font-size:13px; color:var(--text-muted); }

/* ---------- Single article ---------- */
.vk-article-head{ max-width:1280px; margin:0 auto; padding:28px 5vw 0; }
.vk-article-meta{ display:flex; gap:14px; align-items:center; margin-bottom:14px; }
.vk-article-date{ font-size:13px; color:var(--text-muted); }
.vk-article-head h1{ font-size:clamp(26px,4.2vw,42px); line-height:1.15; max-width:820px; }
.vk-article-lead{ font-size:19px; color:var(--text-muted); max-width:760px; margin-top:14px; font-weight:400; }
.vk-article-figure{ margin:28px 0; }
.vk-article-figure img{ width:100%; border-radius:5px; }
.vk-article-caption{ font-size:13px; color:var(--text-muted); margin-top:8px; }
.vk-article-body p{ font-size:17px; line-height:1.8; }

/* footer */
#colophon{ border-top:1px solid var(--border); }

.vk-source-note{
  margin-top:24px;
  padding-top:14px;
  border-top:1px solid var(--border);
  font-size:14px;
  color:var(--text-muted);
}
.vk-source-note a{ color:var(--accent); }
