:root{
  --blue:#002169;
  --text:#111;
  --muted:#666;
  --line:#e6e6e6;
  --bg:#fff;
  --container: 1200px;
  --accent:#b44a6a;
  --soft:#f4f6fb;
}

*{ box-sizing:border-box }
body{
  margin:0;
  font-family: "Work Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
a{ color:inherit; text-decoration:none }
a:hover{ text-decoration:underline }
img{ max-width:100%; display:block }

.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}

/* ===== Topbar ===== */
.topbar{
  border-bottom:1px solid var(--line);
  font-size:14px;
}
.topbar-inner{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:8px 0;
}
.topbar-right{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:20px;
  align-items:center;
  font-weight:900;
  letter-spacing:.3px;
}
.topbar-right a{
  color:var(--blue);
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:8px;
}
.topbar-right i{ font-size:14px }

/* ===== Logo ===== */
.logo-row{ border-bottom:1px solid var(--line) }
.logo-row-inner{
  display:flex;
  align-items:center;
  padding:14px 0;
}
.logo img{ height:78px }

/* ===== Nav ===== */
.nav{ border-bottom:1px solid var(--line); background:#fff }
.nav-inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 0;
}
.burger{
  border:none;
  background:transparent;
  font-size:22px;
  color:var(--blue);
  cursor:pointer;
  line-height:1;
}
.primary-navigation{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:18px;
  white-space:nowrap;
  overflow:hidden;
}
.primary-navigation a{
  display:inline-block;
  padding:4px 0;
  color:var(--blue);
  font-weight:900;
  font-size:18px;
  line-height:1.1;
}

/* Cities row */
.nav-cities{ display:none }
.nav-cities-inner{
  display:flex;
  gap:34px;
  padding:14px 0;
  color:var(--blue);
  font-weight:900;
  font-size:18px;
}

/* ===== Layout ===== */
.page{ padding:18px 0 36px }
.layout{ display:flex; gap:24px; align-items:flex-start }
.post{ width: calc(100% - 324px); min-width:0 }
.sidebar{ flex:0 0 300px; position:sticky; top:16px }

/* ===== Post header ===== */
.post-meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--muted);
  margin-bottom:8px;
}
.post-cat{ color:var(--blue); font-weight:800 }
.dot{ color:#999 }

.post-title{
  font-family:"Vollkorn", serif;
  font-size:38px;
  line-height:1.15;
  margin:0 0 14px;
}

.author{
  display:flex;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:12px 0;
  margin-bottom:16px;
}
.author-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#ddd;
  flex:0 0 auto;
}
.author-info{ flex:1 }
.author-name{ font-weight:800; color:var(--blue) }
.author-sub{ font-size:13px; color:var(--muted) }

.share{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:10px;
}
.share a{
  display:inline-flex;
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:6px;
  align-items:center;
  justify-content:center;
  color:var(--blue);
}

/* ===== Featured ===== */
.featured{ margin:0 0 16px }
.featured img{ width:100%; height:auto }
.caption{ font-size:13px; color:var(--muted); margin-top:6px }

/* ===== Content ===== */
.content{ font-size:18px }
.content p{ margin:0 0 14px }
.content blockquote{
  margin:18px 0;
  padding:14px 16px;
  border-left:4px solid var(--blue);
  background:#f7f7f7;
  font-family:"Vollkorn", serif;
}

/* ===== Tags ===== */
.tags{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.tag{
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 10px;
  font-size:14px;
  color:var(--blue);
  font-weight:700;
}

/* ===== Sidebar: Najnovije ===== */
.najnovije{
  border:1px solid var(--line);
  padding:18px;
  background:#fff;
}
.block-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.block-square{ width:14px; height:14px; background:var(--blue) }
.block-title{
  font-size:22px;
  font-weight:900;
  color:var(--blue);
  text-transform:uppercase;
}
.block-line{ width:2px; height:24px; background:var(--accent) }

.najnovije-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.najnovije-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.najnovije-text{ flex:1; min-width:0 }
.najnovije-meta{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:6px;
  font-size:14px;
  color:var(--muted);
}
.najnovije-cat{ color:var(--blue); font-weight:800 }
.najnovije-time{ color:var(--blue); font-weight:800 }
.najnovije-dot{ color:#666 }

.najnovije-h{
  font-family:"Vollkorn", serif;
  font-size:24px;
  line-height:1.12;
  color:var(--blue);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}

.najnovije-img{
  width:72px;
  height:72px;
  background:#ddd;
  overflow:hidden;
  flex:0 0 auto;
}
.najnovije-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===== Sections common ===== */
.section{ margin-top:26px }
.section-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.section-head .sq{ width:14px; height:14px; background:var(--blue) }
.section-head .vline{ width:2px; height:24px; background:var(--accent) }
.section-title{
  margin:0;
  font-size:26px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--blue);
}

/* ===== MOZDA ===== */
.maybe{
  background:#e8f1f6;
  padding:18px 18px 22px;
}
.maybe-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px 28px;
}
.maybe-card{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap:18px;
  align-items:start;
}
.maybe-img{
  width:220px;
  height:124px;
  overflow:hidden;
  background:#ddd;
}
.maybe-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.maybe-text{
  font-family:"Vollkorn", serif;
  color:var(--blue);
  font-size:28px;
  line-height:1.15;
  font-weight:600;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}

/* ===== PREPORUKE ===== */
.preporuke{ padding-top:6px }
.preporuke-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
  align-items:start;
}
.rec-card{ display:block }
.rec-img{
  width:100%;
  aspect-ratio: 4 / 3;
  background:#ddd;
  overflow:hidden;
}
.rec-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.rec-title{
  margin-top:10px;
  font-family:"Vollkorn", serif;
  font-size:22px;
  line-height:1.15;
  color:#444;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.preporuke-line{
  margin-top:18px;
  height:1px;
  background:var(--blue);
  opacity:.9;
}

/* ===== DRUŠTVO block ===== */
.home-block{ padding:18px 0 0 }
.home-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:22px 0 14px;
}
.home-head .sq{ width:14px; height:14px; background:var(--blue) }
.home-head .vline{ width:2px; height:24px; background:var(--accent) }
.home-title{
  margin:0;
  font-size:26px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--blue);
}
.home-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:26px;
  align-items:start;
}
.home-big{ display:block }
.home-big-img{
  width:100%;
  height:320px;
  background:#ddd;
  overflow:hidden;
}
.home-big-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-big-meta{
  margin-top:10px;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:14px;
}
.home-big-meta .cat{ color:var(--blue); font-weight:900 }
.home-big-meta .time{ color:var(--blue); font-weight:900 }
.home-big-title{
  margin-top:10px;
  font-family:"Vollkorn", serif;
  font-size:34px;
  line-height:1.12;
  color:#444;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.home-big-excerpt{
  margin-top:10px;
  color:#888;
  font-size:18px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}

.home-list{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.home-item{
  display:grid;
  grid-template-columns: 1fr 150px;
  gap:18px;
  align-items:start;
  padding-left:14px;
  border-left:2px solid var(--accent);
}
.home-item-meta{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:14px;
  margin-bottom:6px;
}
.home-item-meta .cat{ color:var(--blue); font-weight:900 }
.home-item-meta .time{ color:var(--blue); font-weight:900 }

.home-item-title{
  font-family:"Vollkorn", serif;
  font-size:22px;
  line-height:1.2;
  color:#444;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.home-item-excerpt{
  margin-top:8px;
  color:#999;
  font-size:16px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.home-item-img{
  width:150px;
  height:150px;
  background:#ddd;
  overflow:hidden;
}
.home-item-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.pogledaj-vise{
  text-align:center;
  padding:18px 0 0;
}
.pogledaj-vise a{
  font-weight:900;
  color:var(--blue);
  font-size:12px;
  letter-spacing:.8px;
  text-transform:uppercase;
}

/* ===== Blue promo ===== */
.blue-promo{
  margin-top:18px;
  background:#052a6b;
  color:#fff;
}
.blue-inner{
  display:grid;
  grid-template-columns: 1fr 1.4fr 1fr;
  gap:28px;
  padding:34px 0;
}
.blue-col{ position:relative }
.blue-col h3{
  margin:0 0 12px;
  font-family:"Vollkorn", serif;
  font-size:30px;
  line-height:1.15;
}
.blue-left, .blue-mid, .blue-right{
  padding:0 18px;
}
.blue-mid{
  border-left:1px solid rgba(255,255,255,.35);
  border-right:1px solid rgba(255,255,255,.35);
}
.blue-cover{
  width:240px;
  max-width:100%;
  margin:0 auto;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}
.blue-cover img{ width:100%; height:auto }
.blue-subtitle{
  text-align:center;
  font-weight:900;
  font-size:22px;
  line-height:1.2;
  margin:12px 0;
}
.blue-mid p{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.55;
  opacity:.95;
}
.blue-btn{
  display:inline-block;
  background:var(--accent);
  color:#fff;
  padding:10px 18px;
  border-radius:8px;
  font-weight:900;
  margin-top:10px;
}
.blue-right{ text-align:center }
.blue-avatar{
  width:190px;
  height:190px;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 12px;
  background:rgba(255,255,255,.1);
}
.blue-avatar img{ width:100%; height:100%; object-fit:cover }
.blue-kol-title{
  font-family:"Vollkorn", serif;
  font-size:30px;
  line-height:1.15;
  font-weight:700;
}
.blue-kol-author{
  margin-top:10px;
  font-size:18px;
  opacity:.9;
}

/* ===== Footer ===== */
.footer{
  background:#f3f3f3;
  border-top:1px solid #ddd;
  padding:26px 0;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}
.footer-cols{
  display:flex;
  gap:48px;
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--blue);
  font-weight:700;
}
.footer-right{ max-width:420px }
.footer-social{
  display:flex;
  gap:12px;
  justify-content:flex-end;
  margin-bottom:10px;
  color:var(--blue);
}
.footer-social a{
  display:inline-flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
}
.footer-copy{
  color:#555;
  font-size:14px;
  line-height:1.4;
  text-align:right;
}

/* ===== Back to top ===== */
.back-to-top{
  position:fixed;
  right:16px;
  bottom:16px;
  width:46px;
  height:46px;
  border-radius:50%;
  border:none;
  background:var(--blue);
  color:#fff;
  cursor:pointer;
  display:none;
}

/* =========================
   Mobile Drawer
   ========================= */
.mobile-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.25);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:999;
}
.mobile-drawer{
  position:fixed;
  top:0;
  left:0;
  height:100vh;
  width:min(340px, 88vw);
  background:#fff;
  border-right:1px solid var(--line);
  transform:translateX(-105%);
  transition:transform .22s ease;
  z-index:1000;
  padding:18px 18px 22px;
  overflow:auto;
}
.mobile-close{
  position:absolute;
  top:10px;
  right:10px;
  border:none;
  background:transparent;
  color:#777;
  font-size:30px;
  cursor:pointer;
}
.mobile-search{
  display:flex;
  margin-top:40px;
  margin-bottom:18px;
}
.mobile-search input{
  flex:1;
  height:44px;
  border:1px solid var(--blue);
  border-right:none;
  padding:0 12px;
  font-size:18px;
  outline:none;
}
.mobile-search button{
  width:54px;
  height:44px;
  border:1px solid var(--blue);
  background:var(--blue);
  color:#fff;
  cursor:pointer;
  font-size:18px;
}
.mobile-group{
  padding:14px 0;
  border-top:1px solid var(--line);
}
.mobile-group:first-of-type{ border-top:none }
.mobile-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 2px;
  font-size:24px;
  font-weight:900;
  color:var(--blue);
}
.mobile-link i{
  width:22px;
  text-align:center;
  font-size:20px;
}

body.menu-open{ overflow:hidden }
body.menu-open .mobile-overlay{
  opacity:1;
  pointer-events:auto;
}
body.menu-open .mobile-drawer{
  transform:translateX(0);
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1024px){
  .layout{ flex-direction:column }
  .post{ width:100% }
  .sidebar{ width:100%; position:static }
  .preporuke-grid{ grid-template-columns: 1fr 1fr }
  .home-grid{ grid-template-columns: 1fr }
  .blue-inner{ grid-template-columns: 1fr; gap:22px }
  .blue-mid{ border-left:none; border-right:none; border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); padding-top:18px; padding-bottom:18px }
  .footer-inner{ flex-direction:column }
  .footer-social{ justify-content:flex-start }
  .footer-copy{ text-align:left }
}

@media (max-width: 860px){
  /* як в оригіналі: верхню смугу ховаємо */
  .topbar{ display:none }

  /* міста показуємо */
  .nav-cities{ display:block; background:#eee }

  /* у рядку залишаємо тільки 6 пунктів (бургер + home + 4-5) */
  .primary-navigation li:nth-child(n+7){
    display:none;
  }

  .maybe-grid{ grid-template-columns: 1fr }
  .maybe-card{ grid-template-columns: 220px 1fr }
}

@media (max-width: 520px){
  .logo img{ height:66px }
  .post-title{ font-size:28px }
  .content{ font-size:16px }

  /* ще компактніше меню */
  .primary-navigation li:nth-child(n+6){
    display:none;
  }

  .nav-cities-inner{
    gap:26px;
    font-size:18px;
  }

  .maybe-card{
    grid-template-columns: 170px 1fr;
  }
  .maybe-img{
    width:170px;
    height:96px;
  }
  .maybe-text{ font-size:24px }
}
