:root {
  --o24-red: #ed1b2f;
  --o24-red-dark: #bd1022;
  --o24-navy: #071426;
  --o24-blue: #1859cf;
  --o24-paper: #fff;
  --o24-soft: #f3f5f8;
  --o24-line: #dfe3e8;
  --o24-muted: #657083;
  --shell-wide: min(1480px, calc(100% - 48px));
  --shell-narrow: min(860px, calc(100% - 40px));
}

.shell-wide { width: var(--shell-wide); margin-inline: auto; }
.shell-narrow { width: var(--shell-narrow); margin-inline: auto; }

body.o24-wordpress { background: var(--o24-paper); }
body.o24-wordpress.admin-bar .site-header { top: 32px; }

.o24-header { border-top-color: var(--o24-red); }
.o24-brand { display: block; width: clamp(220px, 22vw, 330px); line-height: 0; }
.o24-brand img { width: 100%; height: auto; }
.o24-brand__dark { display: none; }
body[data-theme="dark"] .o24-brand__light { display: none; }
body[data-theme="dark"] .o24-brand__dark { display: block; }
.masthead { min-height: 108px; }
.main-nav__inner { gap: clamp(18px, 2.2vw, 34px); overflow-x: auto; scrollbar-width: none; }
.main-nav__inner a { white-space: nowrap; }
.main-nav__inner a:hover { color: var(--o24-red); }
.o24-mobile-menu { background: var(--o24-navy); color: #fff; }
.o24-mobile-menu ul { width: var(--shell); margin: 0 auto; padding: 20px 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.o24-mobile-menu a { display: block; padding: 12px; border: 1px solid rgba(255,255,255,.14); }
.o24-search { padding: 22px 0; background: var(--o24-soft); border-top: 1px solid var(--o24-line); }
.o24-search .shell { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; }
.o24-search input { min-width: 0; padding: 12px 16px; border: 1px solid var(--o24-line); border-radius: 4px; background: var(--o24-paper); color: var(--ink); }
.o24-search button { padding: 12px 18px; border: 0; border-radius: 4px; background: var(--o24-red); color: #fff; font-weight: 700; }

.o24-ad { width: min(1120px, calc(100% - 40px)); min-height: 108px; margin: 32px auto; border: 1px dashed #c8ced7; display: grid; place-items: center; color: #8b95a4; background: #fafbfc; }
.o24-ad > span { position: absolute; transform: translateY(-36px); font-size: .67rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.o24-lead { padding-block: 40px 60px; }
.o24-lead-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, .78fr) minmax(280px, .72fr); grid-template-areas: "hero secondary latest"; gap: 24px; align-items: start; }
.o24-hero { grid-area: hero; min-width: 0; border: 1px solid var(--o24-line); background: var(--o24-paper); }
.o24-hero__media { display: block; aspect-ratio: 16/10; overflow: hidden; }
.o24-hero__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.o24-hero:hover .o24-hero__media img { transform: scale(1.015); }
.o24-hero__content { padding: clamp(22px, 3vw, 38px); }
.o24-hero h1 { margin: 12px 0 16px; font-family: var(--font-display); font-size: clamp(2.15rem, 4vw, 4.65rem); line-height: .95; letter-spacing: -.035em; }
.o24-hero h1 a:hover { color: var(--o24-red); }
.o24-hero p { margin: 0; color: var(--o24-muted); font-size: 1.02rem; line-height: 1.55; }

.o24-secondary-grid { grid-area: secondary; display: grid; gap: 20px; }
.o24-card { min-width: 0; border-bottom: 1px solid var(--o24-line); padding-bottom: 22px; }
.o24-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--o24-soft); }
.o24-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.o24-card:hover .o24-card__image img { transform: scale(1.025); }
.o24-card__body { padding-top: 12px; }
.o24-card h3 { margin: 8px 0 0; font-family: var(--font-display); font-size: clamp(1.35rem, 1.8vw, 1.85rem); line-height: 1.08; letter-spacing: -.02em; }
.o24-card h3 a:hover { color: var(--o24-red); }
.o24-card p { margin: 9px 0 0; color: var(--o24-muted); line-height: 1.45; }
.o24-card--compact { display: grid; grid-template-columns: 112px 1fr; gap: 14px; padding-bottom: 18px; }
.o24-card--compact .o24-card__body { padding: 0; }
.o24-card--compact .o24-card__image { aspect-ratio: 4/3; }
.o24-card--compact h3 { font-size: 1.14rem; }
.o24-card--compact .story-meta { font-size: .58rem; }
.o24-card--compact .story-meta span:last-child { display: none; }
.story-meta a { color: var(--o24-blue); font-weight: 700; text-transform: uppercase; }

.o24-latest { grid-area: latest; position: sticky; top: 20px; max-height: 840px; overflow: auto; }

.o24-news-section { padding-block: 60px 72px; }
.o24-news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 24px; }
.o24-news-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.load-more { width: 100%; min-height: 54px; margin-top: 30px; border: 1px solid var(--o24-line); background: transparent; font-weight: 700; cursor: pointer; }
.load-more:hover { border-color: var(--o24-red); color: var(--o24-red); }

.o24-sport { padding: 62px 0; background: #0c478d; color: #fff; }
.o24-sport header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.o24-sport header > div { display: flex; align-items: center; gap: 14px; }
.o24-sport h2 { margin: 0; font-size: 2rem; text-transform: uppercase; }
.o24-sport__mark { display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid currentColor; border-radius: 4px; font-weight: 800; }
.o24-sport__grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(320px, .8fr); gap: 22px; }
.o24-sport .o24-card { border-color: rgba(255,255,255,.2); }
.o24-sport .o24-card--sport-hero { position: relative; padding: 0; }
.o24-sport .o24-card--sport-hero .o24-card__image { aspect-ratio: 16/8.6; }
.o24-sport .o24-card--sport-hero .o24-card__body { position: absolute; inset: auto 0 0; padding: 32px; background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.o24-sport .story-meta a { color: #fff; }
.o24-sport__list { display: grid; gap: 14px; }

.o24-after-news { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, .65fr); gap: 30px; padding-block: 72px; align-items: start; }
.o24-after-news__stories > h2 { margin: 0 0 24px; font-size: 3.3rem; }
.o24-after-news__stories article { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--o24-line); }
.o24-after-news__stories article > span { color: var(--o24-red); font-weight: 800; }
.o24-after-news__stories h3 { margin: 0; font-size: 1.4rem; }
.o24-after-news__stories p { grid-column: 2; margin: 4px 0 0; color: var(--o24-muted); }
.o24-weather { position: relative; overflow: hidden; min-height: 470px; padding: 34px; border-radius: 12px; background: linear-gradient(145deg, #0a2f63, #1667b1); color: #fff; box-shadow: 0 20px 50px rgba(7, 20, 38, .18); }
.o24-weather h2 { margin: 34px 0 4px; font-size: 2rem; }
.o24-weather__temperature { font-size: clamp(4.5rem, 8vw, 7rem); line-height: 1; font-weight: 700; }
.o24-weather dl { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 40px 0 24px; }
.o24-weather dl div { padding: 12px; background: rgba(255,255,255,.1); border-radius: 6px; }
.o24-weather dt { font-size: .7rem; text-transform: uppercase; opacity: .75; }
.o24-weather dd { margin: 4px 0 0; font-weight: 700; }
.o24-weather small { opacity: .68; }
.o24-weather__sky { position: absolute; right: 20px; top: 20px; width: 100px; height: 70px; opacity: .8; }
.o24-weather__sky span { position: absolute; right: 0; top: 0; width: 42px; height: 42px; border-radius: 50%; background: #ffd05a; box-shadow: 0 0 30px rgba(255,208,90,.5); }
.o24-weather.is-rain .o24-weather__sky i,
.o24-weather.is-rain .o24-weather__sky b { position: absolute; width: 2px; height: 18px; background: #d6ebff; transform: rotate(15deg); animation: o24-rain .8s linear infinite; }
.o24-weather.is-rain .o24-weather__sky i { left: 26px; top: 35px; }
.o24-weather.is-rain .o24-weather__sky b { left: 56px; top: 42px; animation-delay: .3s; }
.o24-weather.is-wind .o24-weather__sky { animation: o24-wind 2s ease-in-out infinite; }
@keyframes o24-rain { from { transform: translateY(-8px) rotate(15deg); opacity: 0; } to { transform: translateY(18px) rotate(15deg); opacity: 1; } }
@keyframes o24-wind { 50% { transform: translateX(-16px); } }

.o24-deus { display: grid; grid-template-columns: 220px 1fr auto; gap: 34px; align-items: center; margin-block: 20px 70px; padding: 36px 44px; border-left: 6px solid var(--o24-red); border-radius: 6px; background: radial-gradient(circle at 80% 20%, #4b1321, #090b10 56%); color: #fff; }
.o24-deus__brand { display: flex; align-items: baseline; gap: 8px; font-size: 2.4rem; }
.o24-deus__brand strong { font-weight: 900; }
.o24-deus__brand span { color: var(--o24-red); font-size: 1.15rem; font-weight: 800; }
.o24-deus h2 { margin: 4px 0; font-size: 2rem; }
.o24-deus p { margin: 0; color: #c4c8d0; }
.o24-deus > a { padding: 14px 20px; border: 1px solid rgba(255,255,255,.3); border-radius: 4px; font-weight: 700; }
.o24-horoscope { margin-block: 40px 80px; padding: 26px 0; border-block: 1px solid var(--o24-line); display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; }
.o24-horoscope h2, .o24-horoscope p { margin: 0; }

.o24-archive { padding-block: 60px 90px; }
.o24-archive__header { max-width: 900px; margin-bottom: 42px; }
.o24-archive__header h1 { margin: 4px 0; font-size: clamp(3rem, 7vw, 6.5rem); line-height: .92; }
.nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 44px; }
.nav-links a, .nav-links .current { padding: 10px 14px; border: 1px solid var(--o24-line); }

.o24-article { padding-top: 56px; }
.o24-article__header h1 { margin: 14px 0 20px; font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6.5rem); line-height: .92; letter-spacing: -.035em; }
.o24-article__dek { color: var(--o24-muted); font-size: clamp(1.15rem, 2vw, 1.55rem); line-height: 1.45; }
.o24-article__byline { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; border-top: 1px solid var(--o24-line); }
.o24-article__byline button { border: 1px solid var(--o24-line); padding: 8px 12px; background: transparent; }
.o24-article__hero { margin-top: 38px; }
.o24-article__hero img { width: 100%; max-height: 820px; object-fit: cover; }
.o24-article__hero figcaption { padding-top: 8px; color: var(--o24-muted); font-size: .75rem; }
.o24-article-layout { display: grid; grid-template-columns: minmax(0, 820px) 300px; gap: clamp(40px, 7vw, 110px); justify-content: center; margin-top: 44px; }
.o24-article__body { min-width: 0; font-size: 1.15rem; line-height: 1.78; }
.o24-article__body > p:first-of-type::first-letter { float: left; margin: .12em .12em 0 0; color: var(--o24-red); font-family: var(--font-display); font-size: 4.8rem; line-height: .72; }
.o24-article__body figure { margin: 42px 0; }
.o24-article__body figure img { width: 100%; }
.o24-article__body figcaption { color: var(--o24-muted); font-size: .75rem; line-height: 1.4; }
.o24-key { margin-bottom: 34px; padding: 24px 28px; border-left: 5px solid var(--o24-red); background: var(--o24-soft); }
.o24-key span { color: var(--o24-red); font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.o24-key p { margin: 8px 0 0; font-weight: 700; }
.o24-sources { margin-top: 46px; padding-top: 26px; border-top: 1px solid var(--o24-line); }
.o24-sources h2 { font-size: 1.6rem; }
.o24-sources a { color: var(--o24-blue); text-decoration: underline; text-underline-offset: 3px; }
.o24-share { display: flex; gap: 16px; align-items: center; margin: 34px 0; padding: 18px; background: var(--o24-soft); }
.o24-share a { color: var(--o24-blue); }
.o24-article__rail { position: relative; }
.o24-article__rail .o24-ad { position: sticky; top: 24px; width: 100%; min-height: 300px; margin: 0; }
.o24-related, .o24-continuation { padding-block: 80px; }
.o24-related h2, .o24-continuation h2 { font-size: 2.5rem; }

.o24-comments { margin-top: 54px; padding: 28px; border: 1px solid var(--o24-line); border-radius: 6px; }
.o24-comments h2 { margin-top: 0; font-size: 1.8rem; }
.comment-list { padding: 0; list-style: none; }
.comment-list .comment { padding: 18px 0; border-top: 1px solid var(--o24-line); }
.comment-form textarea { width: 100%; min-height: 150px; padding: 12px; border: 1px solid var(--o24-line); background: var(--o24-paper); color: var(--ink); }
.comment-form input:not([type="checkbox"]) { width: 100%; padding: 10px; border: 1px solid var(--o24-line); }
.comment-form .submit { width: auto; border: 0; padding: 13px 20px; background: var(--o24-red); color: #fff; font-weight: 700; }

.o24-footer { padding: 64px 0; background: var(--o24-navy); color: #fff; }
.o24-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 50px; }
.o24-footer__logo { width: min(320px, 100%); }
.o24-footer ul { margin: 0; padding: 0; list-style: none; }
.o24-footer li + li { margin-top: 8px; }
.o24-error { min-height: 65vh; display: grid; align-content: center; justify-items: start; }
.o24-error > span { color: var(--o24-red); font-size: 6rem; font-weight: 900; }
.o24-error h1 { margin: 0; font-size: 3.5rem; }
.o24-horoscope-page { padding-block: 70px 100px; }
.o24-horoscope-page header { max-width: 780px; margin-bottom: 44px; }
.o24-horoscope-page h1 { margin: 4px 0; font-size: clamp(3rem, 7vw, 6rem); }
.o24-horoscope-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.o24-horoscope-grid article { min-height: 230px; padding: 26px; border: 1px solid var(--o24-line); background: var(--o24-soft); }
.o24-horoscope-grid article > span { color: var(--o24-red); font-size: .72rem; font-weight: 700; }
.o24-horoscope-grid h2 { margin: 8px 0; font-size: 1.7rem; }
.o24-horoscope-grid p { color: var(--o24-muted); }

body[data-theme="dark"] .o24-ad { background: #111a26; }
body[data-theme="dark"] .o24-search { background: #111a26; }
body[data-theme="dark"] .o24-search input { background: #0b111b; }

@media (max-width: 1180px) {
  .o24-lead-grid { grid-template-columns: minmax(0, 1.6fr) minmax(270px, .8fr); grid-template-areas: "hero secondary" "latest latest"; }
  .o24-latest { grid-column: 1 / -1; position: static; max-height: none; }
  .latest-now__list { display: grid; grid-template-columns: repeat(2, 1fr); }
  .o24-news-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  body.o24-wordpress.admin-bar .site-header { top: 46px; }
  .utility { display: none; }
  .masthead { min-height: 78px; }
  .o24-brand { width: 230px; }
  .live-clock-chip { display: none; }
  .main-nav__inner { justify-content: flex-start; }
  .nav-desktop-only { display: none !important; }
  .o24-lead { padding-top: 24px; }
  .o24-lead-grid { grid-template-columns: 1fr; grid-template-areas: "hero" "secondary" "latest"; }
  .o24-secondary-grid { grid-template-columns: repeat(2, 1fr); }
  .o24-latest { grid-column: auto; }
  .o24-news-grid { grid-template-columns: repeat(2, 1fr); }
  .o24-sport__grid, .o24-after-news, .o24-article-layout { grid-template-columns: 1fr; }
  .o24-article__rail { order: -1; }
  .o24-article__rail .o24-ad { position: static; min-height: 120px; }
  .o24-deus { grid-template-columns: 1fr; }
  .o24-horoscope { grid-template-columns: 1fr auto; }
  .o24-horoscope > p { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  :root { --shell-wide: calc(100% - 28px); --shell-narrow: calc(100% - 28px); }
  .shell { width: calc(100% - 28px); }
  .masthead { gap: 12px; }
  .o24-brand { width: 178px; }
  .masthead__actions { gap: 8px; }
  .masthead__actions .icon-button:first-of-type { display: none; }
  .o24-mobile-menu ul { grid-template-columns: 1fr 1fr; }
  .o24-search .shell { grid-template-columns: 1fr auto; }
  .o24-search label { grid-column: 1 / -1; }
  .o24-ad { min-height: 88px; margin-block: 18px; }
  .o24-hero__media { aspect-ratio: 16/10; }
  .o24-hero__content { padding: 20px; }
  .o24-hero h1 { font-size: clamp(2.1rem, 11vw, 3.2rem); }
  .o24-secondary-grid, .latest-now__list, .o24-news-grid, .o24-news-grid--three { grid-template-columns: 1fr; }
  .o24-card--compact { grid-template-columns: 124px 1fr; }
  .topic-chips { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
  .topic-chips button { white-space: nowrap; }
  .o24-sport { padding-block: 38px; }
  .o24-sport header { align-items: flex-start; }
  .o24-sport .o24-card--sport-hero .o24-card__body { padding: 20px; }
  .o24-after-news { padding-block: 44px; }
  .o24-weather { min-height: 420px; }
  .o24-deus { margin-block: 12px 50px; padding: 28px 24px; }
  .o24-horoscope { grid-template-columns: 1fr; }
  .o24-article { padding-top: 30px; }
  .o24-article__header h1 { font-size: clamp(2.7rem, 14vw, 4.2rem); }
  .o24-article__body { font-size: 1.05rem; }
  .o24-related, .o24-continuation { padding-block: 46px; }
  .o24-footer__grid { grid-template-columns: 1fr; }
  .o24-horoscope-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

