/* Business Daily — light refresh of the classic site (2026-10).
   Loaded last, after the theme's own stylesheets (frontend/views/layouts/main.php), so every rule here only adds to or
   overrides the theme; removing that one <link> restores the site exactly as it was.
   1. type and small polish   2. big screens (27"–47")   3. phones and tablets */

@font-face { font-family: Onest; font-weight: 100 900; font-display: swap; src: url(/fonts/onest-cyrillic.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: Onest; font-weight: 100 900; font-display: swap; src: url(/fonts/onest-cyrillic-ext.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: Onest; font-weight: 100 900; font-display: swap; src: url(/fonts/onest-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Onest; font-weight: 100 900; font-display: swap; src: url(/fonts/onest-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+20A0-20AB, U+20AD-20C0, U+2C60-2C7F, U+A720-A7FF; }

:root { --bd-ink: #14161b; --bd-ink-2: #3b404a; --bd-muted: #6b7180; --bd-brand: #0e2560; --bd-brand-2: #1e3c96; --bd-rule: #e7e6e1; --bd-r: 8px; }

/* ---------- 1. type and small polish ---------- */
body, .tooltip, .popover, .dropdown-menu, .btn, .form-control, input, button, select, textarea {
  font-family: Onest, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
body { color: var(--bd-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { letter-spacing: -.01em; }
.news-card-title, .news-card-big-title, .side-news-title { font-weight: 650; letter-spacing: -.008em; }
.news-card a:hover .news-card-title, .news-card-title a:hover, a.news-card-title:hover { color: var(--bd-brand-2) !important; }
.news-card__date, .post-meta, .post--info-list { font-variant-numeric: tabular-nums; }

/* category labels: a little air and rounder corners */
.news-badge { border-radius: 4px; padding: .28em .55em; font-weight: 600; letter-spacing: .02em; }

/* photos: soft corners, a gentle zoom on hover */
.news-card img.img-fluid, .h-news-item img.img-fluid, .post-image img, .cover-image img { border-radius: var(--bd-r); }
.news-card a { overflow: hidden; }
.news-card a img.img-fluid { transition: transform .6s cubic-bezier(.2, .7, .2, 1), filter .3s; }
.news-card a:hover img.img-fluid { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .news-card a img.img-fluid { transition: none; } .news-card a:hover img.img-fluid { transform: none; } }

/* top menu: firmer weight, brand colour on hover */
.navbar-nav .nav-link, .nav .nav-link { font-weight: 600; transition: color .2s; }
.navbar-nav .nav-link:hover, .nav .nav-link:hover { color: var(--bd-brand-2) !important; }

/* article text: comfortable reading */
.post-view-content { font-size: 1.08rem; line-height: 1.72; color: var(--bd-ink); }
.post-view-content p { margin-bottom: 1.05em; }
.post-view-content a { color: var(--bd-brand-2); text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.post-view-content img { max-width: 100%; height: auto; border-radius: var(--bd-r); }
.post-view-content table { display: block; max-width: 100%; overflow-x: auto; }
.post-view-content iframe { max-width: 100%; }
.post-image figcaption { color: var(--bd-muted); font-size: .9rem; line-height: 1.45; }

/* ---------- 2. big screens: the page grows with the screen instead of sitting in a 1230px strip ---------- */
@media (min-width: 1600px) { .container { max-width: 1480px; } }
@media (min-width: 1920px) { .container { max-width: 1640px; } }
/* 27"–32" (2560 wide) and larger: scale the whole page, so type and photos stay readable from a normal distance */
@media (min-width: 2300px) { html { zoom: 1.25; } }
@media (min-width: 3000px) { html { zoom: 1.5; } }
@media (min-width: 3600px) { html { zoom: 1.75; } }
/* the old sticky-sidebar script positions the sidebar with fixed coordinates, which land off-column once the page is zoomed;
   on these screens the browser's own sticky positioning does the same job */
@media (min-width: 2300px) {
  .sticky-sidebar > .theiaStickySidebar { position: sticky !important; top: 72px !important; left: auto !important; width: auto !important; transform: none !important; }
}

/* ---------- 3. phones and tablets ---------- */
@media (max-width: 767.98px) {
  /* image captions: full width under the photo (the desktop layout pushes them into the right half) */
  .post-image figcaption { padding-left: 0; text-align: left; margin-top: .6rem; font-size: .85rem; }
  .post-view-content { font-size: 1.06rem; line-height: 1.7; }
  .news-card-title { height: auto; min-height: 0; }
  .post-actions .btn { width: 40px; height: 40px; line-height: 36px; }
  .breadcrumb, .breadcrumbs { font-size: .9rem; }
}
/* tablets (768–1199px): the top menu fits on centred rows instead of breaking items in two and running off the edge */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #megamenubd .navbar-nav { flex-wrap: wrap; justify-content: center; }
  #megamenubd .navbar-nav > .nav-item > .nav-link { white-space: nowrap; padding-left: .5rem; padding-right: .5rem; font-size: .92rem; }
}
/* the ad slot above the page keeps its reserved height only where a desktop banner fills it */
@media (max-width: 991.98px) { .banner.banner-before_main { min-height: 0; } }
