:root {
  --red: #d02f26;
  --red-dark: #b01f18;
  --navy: #13273c;
  --navy-2: #0c1b2b;
  --gold: #ffc107;
  --text: #1c1c1c;
  --muted: #5c6570;
  --line: #e4e6ea;
  --bg: #f2f3f5;
  --white: #fff;
  --shadow: 0 8px 24px rgba(19, 39, 60, 0.08);
  --radius: 0;
  --wrap: 1320px;
  --header-h: 72px;
  --nav-h: 44px;
  --font: "Manrope", "Segoe UI", sans-serif;
  --serif: "Source Serif 4", Georgia, serif;
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #fff; min-height: 100%; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background: #fff;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
main {
  flex: 1 0 auto;
  width: 100%;
  padding-bottom: 32px;
  background: #fff;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font-family: inherit; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, p { margin: 0; }
.wrap {
  width: min(100% - 24px, var(--wrap));
  margin-inline: auto;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ========== TOPBAR ========== */
.topbar {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 38px;
}
.markets {
  display: flex;
  gap: 18px;
  overflow: auto;
  scrollbar-width: none;
  white-space: nowrap;
  padding: 8px 0;
  flex: 1;
}
.markets::-webkit-scrollbar { display: none; }
.m-item { color: var(--navy); display: inline-flex; align-items: center; gap: 6px; }
.m-item b { font-weight: 800; letter-spacing: .02em; }
.m-item.up { color: #14804a; }
.m-item.down { color: var(--red); }
.m-item .val { font-weight: 700; }
.topbar-right {
  display: none;
  align-items: center;
  gap: 14px;
  color: var(--muted);
  flex-shrink: 0;
}
.social { display: flex; gap: 6px; }
.social a {
  width: 28px;
  height: 28px;
  border-radius: 99px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--navy);
}
.social a.fb { background: #1877f2; }
.social a.ig { background: #c13584; }
.social a.yt { background: #ff0000; }
.social a.x { background: #111; }

/* ========== HEADER ========== */
.header {
  background: var(--white);
  position: sticky;
  top: 0;
  z-index: 40;
}
.header-inner {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  min-height: var(--header-h);
  gap: 8px;
}
.logo {
  justify-self: center;
  font-weight: 800;
  font-size: 28px;
  letter-spacing: -0.04em;
  color: var(--navy);
  line-height: 1;
}
.logo strong { color: var(--red); }
.logo small {
  display: block;
  font-size: 10px;
  letter-spacing: .28em;
  font-weight: 700;
  color: var(--muted);
  text-align: center;
  margin-top: 4px;
}
.icon-btn {
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--navy);
}
.search-desk { display: none; }
.search-desk input {
  width: 220px;
  border: 1px solid var(--line);
  height: 38px;
  padding: 0 14px;
  outline: none;
}
.search-desk input:focus { border-color: var(--navy); }
.search-desk button {
  height: 38px;
  border: 0;
  background: var(--red);
  color: #fff;
  padding: 0 14px;
  cursor: pointer;
  font-weight: 700;
}

/* ========== CATEGORY NAV ========== */
.catnav {
  background: var(--red);
  color: #fff;
  position: sticky;
  top: var(--header-h);
  z-index: 39;
}
.catnav-inner {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: visible;
  flex-wrap: nowrap;
  scrollbar-width: none;
  min-height: var(--nav-h);
  position: relative;
}
.catnav-inner::-webkit-scrollbar { display: none; }
.catnav a {
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 12px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.catnav a:hover,
.catnav a.active { background: var(--navy); }
.catnav a.flash {
  background: var(--navy);
  color: var(--gold);
}

/* ========== BREAKING ========== */
.breaking {
  background: var(--navy);
  color: #fff;
}
.breaking-inner {
  display: flex;
  align-items: stretch;
  min-height: 42px;
  overflow: hidden;
  position: relative;
}
.breaking-label {
  background: var(--red);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .06em;
  padding: 0 12px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  z-index: 3;
  box-shadow: 8px 0 12px rgba(19, 39, 60, .35);
}
.breaking-viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.breaking-track {
  display: flex;
  width: max-content;
  animation: marquee 42s linear infinite;
  will-change: transform;
}
.breaking-seq {
  display: flex;
  flex-shrink: 0;
  align-items: center;
}
.breaking-seq a {
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 0 22px;
  font-weight: 600;
  font-size: 14px;
  line-height: 42px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.breaking-seq a:hover { color: var(--gold); }
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.breaking-viewport:hover .breaking-track { animation-play-state: paused; }

/* ========== TOP 4 ========== */
.section { margin: 18px 0; }
.top-heads {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.top-card {
  background: var(--white);
  display: block;
  overflow: hidden;
}
.top-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.top-card h3 {
  font-size: 15px;
  line-height: 1.35;
  padding: 10px 10px 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 800;
}
.cat-pill {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 4px 8px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

/* ========== NUMBERED MANSET ========== */
.manset {
  margin-top: 14px;
  background: #fff;
  overflow: hidden;
}
.manset-stage { position: relative; overflow: hidden; }
.manset-slide {
  display: none;
  grid-template-columns: 1fr;
}
.manset-slide.active { display: grid; }
.manset-img { order: -1; }
.manset-text {
  background: #1c1c1c;
  color: #fff;
  padding: 22px 20px 18px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 160px;
}
.manset-text h2 {
  font-size: clamp(22px, 3.6vw, 44px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.03em;
}
.manset-text p {
  margin-top: 10px;
  color: #c9c9c9;
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.manset-img {
  position: relative;
  min-height: 220px;
  overflow: hidden;
  background: #e9ecef;
}
.manset-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 16 / 9;
  display: block;
}
.manset-nums {
  display: flex;
  background: #f4f4f4;
  overflow: auto;
  scrollbar-width: none;
}
.manset-nums::-webkit-scrollbar { display: none; }
.manset-nums button,
.manset-nums a {
  flex: 1 0 auto;
  min-width: 36px;
  height: 40px;
  border: 0;
  border-right: 1px solid #ddd;
  background: #fff;
  color: #888;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  display: grid;
  place-items: center;
  text-decoration: none;
}
.manset-nums button.active {
  background: var(--red);
  color: #fff;
}
.side-authors .author-card { width: 100%; }
.manset-nums .all {
  background: var(--navy);
  color: #fff;
  min-width: 44px;
}
.manset-progress {
  height: 3px;
  background: var(--red);
  width: 0;
  transform-origin: left;
}

/* ========== MARKET TICKER ========== */
.ticker {
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  margin: 14px 0 0;
}
.ticker-track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: ticker 42s linear infinite;
}
.ticker:hover .ticker-track { animation-play-state: paused; }
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.tick {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-right: 1px solid var(--line);
  white-space: nowrap;
  font-size: 13px;
}
.tick .ico {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
  color: #fff;
  background: var(--navy);
}
.tick .ico.gold { background: #c9a227; }
.tick .ico.btc { background: #f7931a; }
.tick .ico.eth { background: #627eea; }
.tick .ico.eu { background: #003399; }
.tick b { display: block; font-size: 11px; letter-spacing: .04em; color: var(--muted); }
.tick .px { font-weight: 800; color: var(--navy); }
.tick .chg { font-weight: 700; font-size: 12px; }
.tick .chg.up { color: #14804a; }
.tick .chg.down { color: var(--red); }

/* ========== ILAN TABS ========== */
.ilan-box { background: #fff; margin-top: 14px; }
.ilan-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ilan-tabs button {
  border: 0;
  color: #fff;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 12px 8px;
  cursor: pointer;
  font-size: 12px;
}
.ilan-tabs .icra { background: #2f6fed; }
.ilan-tabs .ihale { background: #0f9d8e; }
.ilan-tabs .tebligat { background: var(--red); }
.ilan-tabs .personel { background: #e67e22; }
.ilan-tabs button.active { filter: brightness(1.08); box-shadow: inset 0 -3px 0 #fff; }
.ilan-body {
  display: none;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 14px;
  font-size: 14px;
}
.ilan-body.show { display: grid; }
.ilan-body a:hover { color: var(--red); }

/* ========== SIDE WIDGETS ========== */
.widget {
  background: #fff;
  margin-bottom: 14px;
}
.widget-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px 10px;
  border-bottom: 3px solid var(--red);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.widget-h a, .widget-h button {
  border: 0;
  background: none;
  color: var(--red);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
}
.widget-b { padding: 12px 14px 14px; }

.wx {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.wx-temp { font-size: 42px; font-weight: 800; line-height: 1; letter-spacing: -0.04em; }
.wx-city { font-weight: 800; }
.wx-desc { color: var(--muted); font-size: 13px; }
.wx-days {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin-top: 12px;
  text-align: center;
  font-size: 11px;
}
.wx-days div {
  background: #f6f7f9;
  padding: 8px 4px;
}
.wx-days b { display: block; font-size: 13px; margin-top: 2px; }

.eczane { padding: 10px 0; border-bottom: 1px solid var(--line); }
.eczane:last-child { border-bottom: 0; }
.eczane b { display: block; }
.eczane span { color: var(--muted); font-size: 12px; }
.eczane a { color: var(--red); font-weight: 700; font-size: 13px; }

.side-authors .author-card {
  min-height: 78px;
  margin-bottom: 8px;
}
.side-authors .author-card:last-child { margin-bottom: 0; }

.horo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.horo-grid button {
  border: 1px solid var(--line);
  background: #fff;
  padding: 14px 6px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  min-height: 72px;
  line-height: 1.25;
}
.horo-grid button span {
  display: block;
  font-size: 22px;
  margin-bottom: 4px;
}
.horo-grid button.active {
  border-color: var(--red);
  color: var(--red);
  background: #fff5f4;
}
.horo-out {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
  background: #f7f8fa;
  padding: 12px;
}
.horo-out b { display: block; margin-bottom: 6px; font-size: 16px; }

.papers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.papers a {
  text-align: center;
  font-size: 11px;
  font-weight: 700;
}
.papers img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border: 1px solid var(--line);
  margin-bottom: 4px;
}

.firma-search {
  display: flex;
  margin-bottom: 10px;
}
.firma-search input {
  flex: 1;
  height: 36px;
  border: 1px solid var(--line);
  padding: 0 10px;
  outline: none;
}
.firma-search button {
  border: 0;
  background: var(--red);
  color: #fff;
  padding: 0 12px;
  font-weight: 800;
  cursor: pointer;
}
.firma-cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.firma-cats a {
  background: #f3f4f6;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 700;
}
.firma-item {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.firma-item:last-child { border-bottom: 0; }
.btn-add {
  display: block;
  text-align: center;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
  padding: 10px;
  margin-top: 10px;
  font-size: 13px;
}

/* ========== LAYOUT ========== */
.layout {
  display: grid;
  gap: 18px;
  margin: 18px 0 32px;
}
.panel {
  background: var(--white);
  padding: 16px;
}
.sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--red);
  margin-bottom: 14px;
  padding-bottom: 8px;
}
.sec-head h2 {
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sec-head a { color: var(--red); font-weight: 700; font-size: 13px; }
.sec-head.navy { border-bottom-color: var(--navy); }
.sec-head.navy h2 { color: var(--navy); }

.news-3 {
  display: grid;
  gap: 12px;
}
.news-card {
  background: var(--white);
  position: relative;
}
.news-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.news-card h3 {
  padding: 12px;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 800;
}
.news-row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}
.news-row:last-child { border-bottom: 0; }
.news-row img {
  width: 110px;
  height: 74px;
  object-fit: cover;
}
.news-row h3 { font-size: 15px; line-height: 1.35; font-weight: 700; }
.meta { color: var(--muted); font-size: 12px; margin-top: 4px; }

.cat-block { margin-top: 18px; }
.cat-grid {
  display: grid;
  gap: 12px;
}

/* ========== SIDEBAR ========== */
.most-read .item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.most-read .item:last-child { border-bottom: 0; }
.most-read .num {
  font-size: 34px;
  font-style: italic;
  font-weight: 800;
  color: #d7def1;
  line-height: 1;
  min-width: 36px;
}
.most-read a { font-weight: 700; line-height: 1.35; }
.most-read a:hover { color: var(--red); }

.lig table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.lig th, .lig td {
  padding: 6px 3px;
  text-align: center;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.lig th { color: var(--muted); font-weight: 700; font-size: 11px; }
.lig td.team { text-align: left; font-weight: 700; }
.lig tr.ucl td.pos { color: #1d4ed8; font-weight: 800; }
.lig tr.uel td.pos { color: #c2410c; font-weight: 800; }
.lig tr.rel td.pos { color: var(--red); font-weight: 800; }

.ilan {
  border: 2px dashed var(--red);
  padding: 14px;
  text-align: center;
}
.ilan span {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  margin-bottom: 8px;
}
.adbox {
  background: linear-gradient(180deg, #eef0f3, #e4e7ec);
  color: #7b8491;
  min-height: 90px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  margin: 14px 0;
  border: 1px dashed #cfd4dc;
}
.adbox.leader {
  min-height: 72px;
  font-size: 12px;
}
.adbox.square { min-height: 250px; }

.pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  align-items: center;
  margin: 28px 0 8px;
}
.pager a, .pager span {
  min-width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #fff;
  font-weight: 800;
  border: 1px solid var(--line);
  color: var(--navy);
}
.pager a:hover { border-color: var(--red); color: var(--red); }
.pager a.active {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}
.pager .nav {
  padding: 0 14px;
  min-width: auto;
}

.cat-list { display: grid; gap: 12px; }
.cat-item {
  background: #fff;
  display: grid;
  grid-template-columns: 120px 1fr;
  min-height: 96px;
}
.cat-item img {
  width: 120px;
  height: 100%;
  object-fit: cover;
}
.cat-item .txt { padding: 12px 14px; }
.cat-item h3 {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}
.cat-item h3:hover { color: var(--red); }

/* ========== AUTHORS ========== */
.authors {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.author-card {
  background: var(--red);
  color: #fff;
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 92px;
}
.author-card img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #fff;
  flex-shrink: 0;
}
.author-card b { display: block; font-size: 13px; }
.author-card span {
  font-size: 13px;
  opacity: .92;
  margin-top: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ========== GALLERIES ========== */
.gallery {
  display: grid;
  gap: 12px;
}
.gallery-main { position: relative; display: block; overflow: hidden; }
.gallery-main img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.gallery-main .cap,
.vcard .cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 14px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.8));
  font-weight: 800;
}
.gallery-list { display: grid; gap: 10px; }
.gallery-list a {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 10px;
  align-items: center;
}
.gallery-list img { width: 96px; height: 64px; object-fit: cover; }
.gallery-list h4 { font-size: 14px; font-weight: 700; line-height: 1.3; }
.play {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
}

/* ========== TV ========== */
.tv-row {
  display: flex;
  gap: 12px;
  overflow: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
}
.tv-card {
  flex: 0 0 168px;
  scroll-snap-align: start;
  position: relative;
  color: #fff;
}
.tv-card img {
  width: 168px;
  height: 300px;
  object-fit: cover;
}
.tv-card .cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 12px;
  background: linear-gradient(transparent, rgba(0,0,0,.85));
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}
.tv-nav { display: flex; gap: 8px; }
.tv-nav button {
  width: 34px;
  height: 34px;
  border: 0;
  background: var(--navy);
  color: #fff;
  cursor: pointer;
}

/* ========== FOOTER ========== */
.footer {
  background: var(--navy);
  color: #d5dbe3;
  padding: 36px 0 18px;
  margin-top: 0;
  flex-shrink: 0;
  width: 100%;
}
.footer-grid {
  display: grid;
  gap: 22px;
}
.footer .logo { color: #fff; justify-self: start; }
.footer h4 {
  color: #fff;
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.footer a { display: block; padding: 4px 0; font-size: 14px; }
.footer a:hover { color: #fff; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 24px;
  padding-top: 14px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

/* ========== ARTICLE ========== */
.breadcrumb { font-size: 13px; color: var(--muted); margin: 16px 0; }
.breadcrumb a:hover { color: var(--red); }
.article { background: var(--white); padding: 18px; }
.article h1 {
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.2;
  font-weight: 800;
  margin: 8px 0 12px;
}
.article-tools {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
  margin-bottom: 16px;
  font-size: 13px;
  color: var(--muted);
}
.share, .fs-btns { display: flex; gap: 6px; }
.share a, .fs-btns button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  background: var(--navy);
  color: #fff;
  border: 0;
  cursor: pointer;
}
.article-hero {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  margin-bottom: 8px;
}
.caption { font-size: 13px; color: var(--muted); margin-bottom: 18px; }
.article-body {
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.75;
}
.article-body p { margin: 0 0 16px; }
.article-body h2 { font-family: var(--font); font-size: 24px; margin: 22px 0 10px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.tags a {
  border: 1px solid var(--line);
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 700;
}
.related { margin-top: 22px; display: grid; gap: 12px; }

/* ========== LIST / PAGES ========== */
.page-title {
  font-size: 28px;
  font-weight: 800;
  margin: 18px 0;
  text-transform: uppercase;
}
.list-grid {
  display: grid;
  gap: 14px;
}
.list-item {
  background: var(--white);
  display: grid;
  grid-template-columns: 120px 1fr;
}
.list-item img { width: 120px; height: 88px; object-fit: cover; }
.list-item .txt { padding: 10px 12px; }
.list-item h3 { font-size: 16px; font-weight: 800; line-height: 1.3; }

.authors-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.author-full {
  background: var(--white);
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
}
.author-full img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }

/* ========== MOBILE MENU ========== */
.drawer {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 80;
  display: none;
}
.drawer.open { display: block; }
.drawer-panel {
  width: min(86vw, 340px);
  height: 100%;
  background: var(--white);
  padding: 18px;
  overflow: auto;
}
.drawer a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-weight: 800;
}
.search-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(19,39,60,.92);
  z-index: 90;
  place-items: center;
}
.search-modal.open { display: grid; }
.search-modal form {
  width: min(92vw, 560px);
  display: flex;
}
.search-modal input {
  flex: 1;
  height: 52px;
  border: 0;
  padding: 0 16px;
  font-size: 18px;
}
.search-modal button {
  height: 52px;
  border: 0;
  background: var(--red);
  color: #fff;
  padding: 0 18px;
  font-weight: 800;
  cursor: pointer;
}

.live-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  display: inline-block;
  margin-right: 6px;
  animation: pulse 1.4s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}

/* ========== TABLET ========== */
@media (min-width: 768px) {
  .header-inner {
    grid-template-columns: auto 1fr auto;
    gap: 20px;
  }
  .logo { justify-self: start; font-size: 34px; }
  .logo img { max-height: 48px; max-width: 320px; }
  .logo small { text-align: left; }
  .search-desk { display: flex; justify-self: end; }
  .icon-search { display: none; }
  .top-heads { grid-template-columns: repeat(4, 1fr); }
  .top-card h3 { font-size: 16px; min-height: 72px; }
  .manset-slide.active { grid-template-columns: 0.95fr 1.15fr; }
  .manset-img { order: 0; }
  .manset-text { min-height: 340px; padding: 28px 26px; }
  .manset-img { min-height: 340px; }
  .manset-img img { aspect-ratio: auto; height: 100%; width: 100%; position: absolute; inset: 0; object-fit: cover; }
  .ilan-tabs { grid-template-columns: repeat(4, 1fr); }
  .ilan-body.show { grid-template-columns: 1fr 1fr 1fr; }
  .news-3 { grid-template-columns: repeat(3, 1fr); }
  .authors { grid-template-columns: repeat(4, 1fr); }
  .gallery { grid-template-columns: 1.4fr 1fr; }
  .list-item { grid-template-columns: 260px 1fr; }
  .list-item img { width: 260px; height: 160px; }
  .authors-page { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
  .article { padding: 28px 36px; }
  .tv-card { flex-basis: 190px; }
  .tv-card img { width: 190px; height: 340px; }
  .horo-grid { grid-template-columns: repeat(4, 1fr); }
  .cat-item { grid-template-columns: 240px 1fr; min-height: 150px; }
  .cat-item img { width: 240px; height: 150px; }
  .cat-item h3 { font-size: 20px; }
}

/* ========== DESKTOP ========== */
@media (min-width: 992px) {
  .topbar-right { display: flex; }
  .header-inner .hamburger { display: none; }
  .header { position: relative; }
  .catnav { top: 0; }
  .manset-slide.active { grid-template-columns: 0.9fr 1.2fr; }
  .manset-text { min-height: 420px; }
  .manset-img { min-height: 420px; }
  .layout { grid-template-columns: minmax(0, 1fr) 340px; }
  .cat-grid { grid-template-columns: 1.2fr 1fr; }
}

@media (min-width: 1200px) {
  .manset-text { min-height: 460px; padding: 36px 32px; }
  .manset-img { min-height: 460px; }
  .manset-text h2 { font-size: 46px; }
  .top-card h3 { font-size: 17px; }
  .layout { grid-template-columns: minmax(0, 1fr) 360px; }
}

.top-auth { display:flex; gap:10px; align-items:center; font-size:13px; font-weight:700; flex-wrap:wrap; }
.top-auth a { color: var(--navy); }
.top-auth a:hover { color: var(--red); }
.auth-wrap { max-width:460px; margin:40px auto 80px; background:#fff; padding:28px; border:1px solid #e6e6e6; }
.auth-wrap h1 { margin:0 0 8px; font-size:26px; }
.auth-wrap p.lead { color:#666; margin:0 0 18px; }
.auth-wrap label { display:block; font-weight:700; margin:12px 0 6px; }
.auth-wrap input { width:100%; height:44px; border:1px solid #ddd; padding:0 12px; }
.auth-wrap button { margin-top:16px; width:100%; height:46px; border:0; background:#d02f26; color:#fff; font-weight:800; cursor:pointer; }
.auth-wrap .err { background:#f8d7da; padding:10px; margin-bottom:12px; }
.auth-wrap .ok { background:#d4edda; padding:10px; margin-bottom:12px; }
.auth-wrap .links { margin-top:14px; font-size:14px; }
.logo img { max-height: 42px; max-width: min(240px, 62vw); width: auto; display: block; object-fit: contain; }
.footer .logo img { max-height: 40px; max-width: 220px; }

.horo-lead { color:#555; max-width:720px; margin:0 0 18px; line-height:1.55; }
.horo-subnav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.horo-subnav a { background:#fff; border:1px solid #e5e5e5; padding:8px 14px; font-weight:800; font-size:13px; }
.horo-subnav a.on, .horo-subnav a:hover { background:#d02f26; color:#fff; border-color:#d02f26; }
.horo-signbar { display:grid; grid-template-columns:repeat(6,1fr); gap:6px; margin-bottom:18px; }
.horo-signbar a { display:flex; flex-direction:column; align-items:center; gap:4px; background:#fff; border:1px solid #e8e8e8; padding:10px 4px; font-size:12px; font-weight:800; text-align:center; }
.horo-signbar a span { font-size:22px; line-height:1; }
.horo-signbar a.on, .horo-signbar a:hover { background:#d02f26; color:#fff; border-color:#d02f26; }
.horo-hero { background:#fff; color:var(--text); padding:24px; margin-bottom:18px; border:1px solid #ececec; }
.horo-hero h1 { margin:8px 0 6px; font-size:clamp(24px,3vw,34px); line-height:1.15; color:var(--navy); }
.horo-hero p { color:#5c6570; }
.horo-tabs { display:flex; gap:8px; margin:18px 0; flex-wrap:wrap; }
.horo-tabs a { background:#fff; color:var(--navy); border:1px solid #e5e5e5; padding:8px 16px; font-weight:800; font-size:13px; }
.horo-tabs a.on { background:#d02f26; border-color:#d02f26; color:#fff; }
.horo-body { font-size:17px; line-height:1.75; max-width:760px; color:#2a2a2a; }
.horo-body p { margin:0 0 14px; color:#2a2a2a; }
.horo-gridpage { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin:8px 0 22px; }
.horo-card { background:#fff; border:1px solid #ececec; padding:16px; display:flex; flex-direction:column; gap:10px; min-height:auto; }
.horo-card:hover { border-color:#d02f26; }
.horo-card__top { display:flex; gap:10px; align-items:center; }
.horo-card__top span { font-size:32px; }
.horo-card__top b { display:block; font-size:18px; }
.horo-card__top small { color:#777; }
.horo-card p { color:#444; font-size:14px; line-height:1.5; flex:1; }
.horo-card__links { display:flex; gap:10px; font-size:12px; font-weight:800; color:#d02f26; }
.horo-tools { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:8px 0 20px; }
.horo-tool { background:#fff; border:1px solid #ececec; padding:20px; }
.horo-tool:hover { border-color:#d02f26; }
.horo-tool b { display:block; font-size:18px; margin-bottom:6px; }
.horo-tool span { color:#666; font-size:14px; }
.horo-form { background:#fff; border:1px solid #ececec; padding:20px; margin-bottom:20px; }
.horo-form__row { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px; }
.horo-form label { font-weight:800; font-size:13px; display:flex; flex-direction:column; gap:6px; }
.horo-form select { height:42px; border:1px solid #ddd; padding:0 8px; }
.horo-form button { height:46px; padding:0 22px; border:0; background:#d02f26; color:#fff; font-weight:800; cursor:pointer; }
.horo-result { display:flex; gap:20px; background:#fff; color:var(--text); padding:24px; margin-bottom:20px; align-items:flex-start; border:1px solid #ececec; }
.horo-result h2 { color:var(--navy); margin:0 0 8px; }
.horo-result p, .horo-result .meta { color:#5c6570; }
.horo-result a { color:var(--red); text-decoration:none; font-weight:700; }
.horo-result__sign { font-size:64px; line-height:1; }
.horo-compat-signs { display:flex; align-items:center; gap:12px; font-weight:800; }
.horo-compat-signs span { display:block; font-size:36px; text-align:center; }
.horo-bars { display:grid; gap:8px; margin:12px 0; }
.horo-bars div { display:grid; grid-template-columns:70px 1fr 36px; gap:8px; align-items:center; font-size:13px; font-weight:700; }
.horo-bars i { display:block; height:8px; background:#ececec; }
.horo-bars em { display:block; height:8px; background:#d02f26; }
@media (max-width: 767px) {
  .horo-signbar { grid-template-columns:repeat(4,1fr); }
  .horo-tools, .horo-form__row { grid-template-columns:1fr; }
  .horo-result { flex-direction:column; }
}

.galeri-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:18px; margin:12px 0 24px; }
.galeri-card { background:#fff; border:1px solid #ececec; display:flex; flex-direction:column; min-height:100%; overflow:hidden; }
.galeri-card img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; display:block; }
.galeri-card .txt { padding:14px 14px 16px; }
.galeri-card h3 { font-size:17px; line-height:1.35; margin-bottom:8px; }
.galeri-card p { color:#666; font-size:14px; }
.galeri-stage { background:#f2f3f5; color:#111; position:relative; overflow:hidden; aspect-ratio:16/9; }
.galeri-stage img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; background:#e9ecef; border:0; min-height:0; max-height:none; }
.galeri-stage video, .galeri-stage iframe { width:100%; height:100%; min-height:0; max-height:none; object-fit:cover; display:block; background:#111; border:0; }
.galeri-stage iframe { min-height:100%; }
.galeri-stage__nav a {
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; display:grid; place-items:center;
  background:rgba(0,0,0,.55); color:#fff; font-size:28px; font-weight:800;
}
.galeri-stage__nav .prev { left:8px; }
.galeri-stage__nav .next { right:8px; }
.galeri-meta { padding:18px 0 8px; }
.galeri-meta h1 { font-size:clamp(22px,3vw,34px); margin:8px 0 10px; }
.galeri-nav { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:12px 0; flex-wrap:wrap; }
.galeri-nav a, .galeri-nav span { background:#13273c; color:#fff; padding:8px 14px; font-weight:800; font-size:13px; }
.galeri-thumbs { display:flex; gap:8px; overflow-x:auto; padding:8px 0 18px; }
.galeri-thumbs a { flex:0 0 92px; opacity:.55; border:2px solid transparent; }
.galeri-thumbs a.on, .galeri-thumbs a:hover { opacity:1; border-color:#d02f26; }
.galeri-thumbs img { width:92px; height:62px; object-fit:cover; }
.papers a { display:block; text-align:center; }
.papers img { width:100%; height:auto; aspect-ratio:255/365; object-fit:cover; background:#eee; }
.papers--page { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; margin:12px 0 28px; }
.papers--page span { display:block; margin-top:8px; font-size:13px; font-weight:800; }

.catnav-drop { position: relative; flex: 0 0 auto; }
.catnav-drop__btn,
.catnav a.catnav-drop__btn {
  background: transparent; border: 0; color: #fff; font: inherit;
  font-weight: 700; font-size: 13px; padding: 10px 12px; cursor: pointer;
  text-transform: uppercase; letter-spacing: .02em; white-space: nowrap;
}
.catnav-drop__btn:hover, .catnav-drop.open .catnav-drop__btn { background: var(--navy); }
.catnav-drop__menu {
  display: none; position: absolute; top: 100%; left: 0; min-width: 180px;
  background: #fff; color: #13273c; box-shadow: 0 12px 28px rgba(0,0,0,.18); z-index: 50;
}
.catnav-drop.open .catnav-drop__menu, .catnav-drop:hover .catnav-drop__menu { display: block; }
.catnav-drop__menu a {
  display: block; color: #13273c; padding: 10px 14px; text-transform: none; font-size: 13px;
}
.catnav-drop__menu a:hover { background: #f4f4f4; color: var(--red); }

.ecz-page { margin: 0 auto 48px; }
.ecz-page h1 { font-size: clamp(24px, 3vw, 34px); margin: 8px 0 6px; }
.ecz-toplink { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.ecz-toplink a { background: #37474f; color: #fff; padding: 7px 12px; font-size: 13px; font-weight: 800; border-radius: 3px; }
.ecz-toplink a.on, .ecz-toplink a:hover { background: var(--red); }
.ecz-filters {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  background: #fff; padding: 14px; margin: 12px 0 16px; border: 1px solid #eceff1;
}
.ecz-filters label { display: flex; flex-direction: column; gap: 6px; font-weight: 800; font-size: 13px; color: #455a64; }
.ecz-filters select { width: 100%; padding: 10px 12px; border: 1px solid #e0e0e0; background: #fafafa; font-weight: 700; }
.ecz-note { color: #607d8b; font-size: 14px; margin: 0 0 14px; }
.ecz-note a { color: var(--red); font-weight: 800; }
.ecz-citygrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; margin: 8px 0 28px; }
.ecz-citygrid a { background: #fff; border: 1px solid #eceff1; padding: 10px 12px; font-weight: 700; }
.ecz-citygrid a:hover { border-color: var(--red); color: var(--red); }
.ecz-layout { display: grid; grid-template-columns: 1fr 240px; gap: 22px; align-items: start; }
.ecz-mapban {
  display: flex; align-items: center; justify-content: center;
  min-height: 88px; margin-bottom: 12px; border-radius: 6px;
  background: #2e7d32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1'%3E%3Cpath d='M12 21s7-7.2 7-12a7 7 0 10-14 0c0 4.8 7 12 7 12z' opacity='.25'/%3E%3C/svg%3E") center/cover;
  color: #fff; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.ecz-duty { background: #fff8e1; border: 1px solid #ffe082; padding: 10px 12px; font-size: 13px; margin: 0 0 12px; }
.ecz-table { background: #fff; border: 1px solid #eceff1; }
.ecz-thead {
  display: grid; grid-template-columns: 200px 1fr 150px; gap: 8px;
  background: #37474f; color: #fff; font-weight: 800; font-size: 13px; padding: 10px 14px;
}
.ecz-row {
  display: grid; grid-template-columns: 200px 1fr 150px; gap: 8px;
  padding: 14px; border-bottom: 1px solid #eee; background: #f7f7f7; align-items: start;
}
.ecz-row:nth-child(odd) { background: #f3f3f3; }
.ecz-col-name b { display: block; font-size: 15px; }
.ecz-pin { display: inline-block; margin-top: 4px; font-size: 16px; }
.ecz-col-addr p { margin: 0 0 4px; font-size: 14px; color: #37474f; }
.ecz-dir { color: var(--red) !important; font-style: italic; font-size: 13px !important; }
.ecz-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px !important; }
.ecz-tags span {
  background: #26a69a; color: #fff; font-size: 11px; font-weight: 800;
  padding: 3px 10px; border-radius: 999px;
}
.ecz-col-tel { text-align: right; font-weight: 700; }
.ecz-col-tel a { color: #13273c; }
.ecz-aside { background: #fff; border: 1px solid #eceff1; padding: 12px 0 8px; }
.ecz-aside h2 { font-size: 15px; margin: 0 14px 8px; }
.ecz-aside ul { list-style: none; margin: 0; padding: 0; max-height: 70vh; overflow: auto; }
.ecz-aside a { display: block; padding: 7px 14px; color: #1565c0; font-weight: 700; font-size: 13px; }
.ecz-aside a:before { content: "› "; color: #90caf9; }
.ecz-aside a.on, .ecz-aside a:hover { background: #e3f2fd; }
.ecz-empty { background: #fff8e1; border: 1px solid #ffe082; padding: 16px; margin: 8px; }
@media (max-width: 767px) {
  .papers--page { grid-template-columns:repeat(2,1fr); }
  .galeri-stage { aspect-ratio: 4/3; }
  .galeri-grid { grid-template-columns: 1fr; }
  .tv-card { flex-basis: 140px; }
  .tv-card img { width: 140px; height: 210px; }
  .top-card h3 { font-size: 14px; min-height: 0; }
  .manset-text h2 { font-size: 22px; }
  .catnav-inner a { padding: 10px 9px; font-size: 12px; }
  .ecz-filters { grid-template-columns: 1fr; }
  .ecz-layout { grid-template-columns: 1fr; }
  .ecz-thead { display: none; }
  .ecz-row { grid-template-columns: 1fr; background: #f5f5f5; }
  .ecz-col-tel { text-align: left; }
}
@media (max-width: 480px) {
  .top-heads { grid-template-columns: 1fr; }
  .horo-signbar { grid-template-columns: repeat(3, 1fr); }
  .wrap { width: min(100% - 16px, var(--wrap)); }
}
