/* SHKODER.INFO – front-end styles */
:root {
  --navy: #0d1b3d;
  --navy-2: #13254f;
  --navy-dark: #0a1530;
  --red: #e3161d;
  --red-dark: #c21016;
  --text: #121826;
  --muted: #6b7280;
  --line: #e5e7eb;
  --bg: #f6f7f9;
  --white: #fff;
  --radius: 6px;
  --container: 1200px;
  --font: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --font-logo: "Roboto Condensed", "Roboto", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); font-size: 15px; line-height: 1.5; color: var(--text); background: var(--bg); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--red); }
button { font: inherit; cursor: pointer; }
h1, h2, h3, h4 { margin: 0; line-height: 1.25; }
[hidden] { display: none !important; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.ic { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; flex: none; }
.ic-xs { width: 10px; height: 10px; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.img-ph { display: block; width: 100%; height: 100%; min-height: 80px; background: linear-gradient(135deg, #dfe3ea, #c9d0db); }

/* ---------- Top bar ---------- */
.topbar { background: var(--navy-dark); color: #fff; font-size: 12px; }
.topbar-in { display: flex; align-items: center; justify-content: space-between; height: 34px; gap: 20px; }
.ticker { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1; height: 100%; }
.ticker-label { background: var(--red); color: #fff; font-weight: 700; font-size: 10.5px; letter-spacing: .3px; padding: 4px 9px; border-radius: 2px; white-space: nowrap; }
.ticker-track { position: relative; flex: 1; height: 20px; overflow: hidden; }
.ticker-item { position: absolute; inset: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 20px; opacity: 0; transform: translateY(100%); transition: opacity .4s, transform .4s; color: #fff; }
.ticker-item.is-active { opacity: 1; transform: none; }
.ticker-item:hover { color: #fff; text-decoration: underline; }
.social { display: flex; align-items: center; gap: 6px; }
.social a { display: inline-flex; align-items: center; justify-content: center; }
.social-top a { width: 24px; height: 24px; color: #fff; font-size: 14px; border-radius: 50%; }
.social-top a:hover { background: rgba(255,255,255,.12); color: #fff; }

/* ---------- Header ---------- */
.site-header { background: #fff; }
.header-in { display: flex; align-items: center; justify-content: space-between; height: 92px; gap: 20px; }
.logo { display: flex; flex-direction: column; gap: 4px; }
.logo-mark { display: inline-flex; align-items: center; font-family: var(--font-logo); font-weight: 800; font-size: 34px; line-height: 1; letter-spacing: -.5px; }
.logo-a { color: var(--navy); }
.logo-b { background: var(--red); color: #fff; padding: 2px 6px 3px; border-radius: 5px; margin-left: 2px; }
.logo-mark.small { font-size: 26px; }
.logo-tag { font-size: 11.5px; color: var(--navy); opacity: .85; }
.header-right { display: flex; align-items: center; gap: 12px; }
.weather { display: flex; align-items: center; gap: 10px; margin-right: 60px; }
.weather-ic { width: 34px; height: 34px; }
.weather-temp { font-size: 22px; font-weight: 700; color: var(--navy); margin-right: 14px; }
.weather-meta { display: flex; flex-direction: column; font-size: 11.5px; color: var(--muted); line-height: 1.45; }
.weather-meta strong { color: var(--navy); font-size: 12px; }
.btn-sq { width: 44px; height: 44px; border: 0; border-radius: 11px; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 20px; }
.btn-navy { background: var(--navy); }
.btn-red { background: var(--red); }
.btn-sq:hover { filter: brightness(1.12); }

/* ---------- Main nav ---------- */
.mainnav { background: var(--navy); position: sticky; top: 0; z-index: 50; }
.mainnav-in { display: flex; align-items: stretch; height: 46px; }
.nav-home { display: inline-flex; align-items: center; justify-content: center; width: 52px; color: #fff; font-size: 19px; background: var(--navy-2); }
.nav-home:hover, .nav-home.is-active { color: #fff; background: #1d3263; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex: 1; justify-content: space-between; padding-left: 14px; }
.nav-list > li { position: relative; display: flex; }
.nav-list > li > a { display: flex; align-items: center; gap: 5px; padding: 0 12px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .2px; white-space: nowrap; border-bottom: 3px solid transparent; border-top: 3px solid transparent; }
.nav-list > li > a:hover, .nav-list > li.is-active > a { color: #fff; border-bottom-color: var(--red); }
.nav-list .sub { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; box-shadow: 0 12px 30px rgba(13,27,61,.18); border-top: 3px solid var(--red); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; z-index: 60; }
.nav-list li:hover > .sub, .nav-list li:focus-within > .sub { opacity: 1; visibility: visible; transform: none; }
.nav-list .sub a { display: block; padding: 8px 18px; font-size: 13.5px; font-weight: 500; color: var(--text); }
.nav-list .sub a:hover { background: var(--bg); color: var(--red); }

/* ---------- Search & off-canvas ---------- */
.search-overlay { position: fixed; inset: 0; background: rgba(10,21,48,.88); z-index: 100; display: flex; align-items: flex-start; justify-content: center; padding-top: 18vh; }
.search-box { display: flex; width: min(720px, 92vw); background: #fff; border-radius: 10px; overflow: hidden; position: relative; }
.search-box input { flex: 1; border: 0; padding: 20px 22px; font-size: 20px; outline: none; }
.btn-red-solid { border: 0; background: var(--red); color: #fff; width: 70px; font-size: 22px; }
.search-close { position: absolute; top: -52px; right: 0; background: none; border: 0; color: #fff; font-size: 30px; }
.offcanvas { position: fixed; inset: 0; z-index: 100; background: rgba(10,21,48,.6); }
.offcanvas-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(380px, 88vw); background: #fff; overflow-y: auto; padding: 22px; animation: slidein .25s ease; }
@keyframes slidein { from { transform: translateX(100%); } }
.offcanvas-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.offcanvas-close { border: 0; background: var(--bg); width: 40px; height: 40px; border-radius: 10px; font-size: 18px; display: inline-flex; align-items: center; justify-content: center; }
.offcanvas-search { display: flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 16px; }
.offcanvas-search input { flex: 1; border: 0; padding: 11px 12px; font-size: 15px; outline: none; }
.offcanvas-search button { border: 0; background: var(--navy); color: #fff; width: 46px; }
.offcanvas-nav, .offcanvas-cats { list-style: none; margin: 0; padding: 0; }
.offcanvas-nav > li > a { display: block; padding: 11px 0; border-bottom: 1px solid var(--line); font-weight: 700; text-transform: uppercase; font-size: 14px; color: var(--navy); }
.offcanvas-nav ul { list-style: none; padding: 4px 0 8px 14px; margin: 0; }
.offcanvas-nav ul a { display: block; padding: 5px 0; font-size: 14px; color: var(--muted); }
.offcanvas-title { margin: 22px 0 8px; font-size: 12px; font-weight: 700; color: var(--red); text-transform: uppercase; letter-spacing: .5px; }
.offcanvas-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 14px; margin-bottom: 18px; }
.offcanvas-cats a { display: block; padding: 5px 0; font-size: 14px; }
.social-dark a { width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: #fff; font-size: 16px; }

/* ---------- Layout ---------- */
.site-main { padding-bottom: 36px; }
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; align-items: start; margin-top: 20px; }
.col-main, .col-side { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.box { background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 18px 20px 20px; }
.container > .box { margin-top: 20px; }
.sec-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.sec-title { font-size: 15.5px; font-weight: 700; color: var(--navy); text-transform: uppercase; letter-spacing: .2px; position: relative; padding-bottom: 11px; }
.sec-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 38px; height: 3px; background: var(--red); border-radius: 2px; }
.sec-more { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; color: var(--navy); margin-top: 2px; }
.badge { display: inline-block; background: var(--red); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .3px; line-height: 1; padding: 5px 7px 4px; border-radius: 2px; text-transform: uppercase; }
a.badge:hover { color: #fff; background: var(--red-dark); }
.badge-lg { font-size: 12.5px; padding: 8px 12px 7px; border-radius: 3px; }
.label { display: inline-block; color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .3px; margin-bottom: 4px; }
.meta { display: flex; align-items: center; gap: 5px; margin: 6px 0 0; font-size: 11.5px; color: var(--muted); }
.meta .ic { width: 12px; height: 12px; }
.meta .sep { width: 14px; }

/* ---------- Hero slider ---------- */
.hero { position: relative; height: 470px; background: var(--navy); overflow: hidden; border-radius: 0 0 4px 4px; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.hero-slide.is-active { opacity: 1; pointer-events: auto; }
.hero-img, .hero-img img, .hero-img .img-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,12,30,.78) 0%, rgba(5,12,30,.35) 45%, rgba(5,12,30,0) 70%), linear-gradient(0deg, rgba(5,12,30,.65) 0%, rgba(5,12,30,0) 45%); pointer-events: none; }
.hero-slide > .badge-lg { position: absolute; top: 24px; left: 18px; z-index: 2; }
.hero-body { position: absolute; left: 84px; bottom: 34px; right: 34%; z-index: 2; color: #fff; }
.hero-body h2 { font-size: 34px; font-weight: 700; line-height: 1.2; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.hero-body h2 a:hover { color: #fff; text-decoration: underline; text-decoration-thickness: 2px; }
.hero-sub { margin: 14px 0 0; font-size: 15px; line-height: 1.55; max-width: 560px; color: rgba(255,255,255,.92); }
.hero-body .meta { color: #fff; font-size: 13px; margin-top: 16px; }
.hero-body .meta .ic { width: 15px; height: 15px; }
.hero-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--navy); display: inline-flex; align-items: center; justify-content: center; font-size: 17px; box-shadow: 0 4px 14px rgba(0,0,0,.25); }
.hero-nav.prev { left: 18px; }
.hero-nav.next { right: 18px; }
.hero-dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 7px; z-index: 3; }
.hero-dots button { width: 8px; height: 8px; border-radius: 4px; border: 0; padding: 0; background: #fff; transition: width .25s; }
.hero-dots button.is-active { width: 22px; background: var(--red); }

/* ---------- Overlay card ---------- */
.overlay-card { position: relative; border-radius: 4px; overflow: hidden; background: var(--navy); color: #fff; min-height: 320px; }
.overlay-link, .overlay-link img, .overlay-link .img-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.overlay-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,12,30,.95) 0%, rgba(5,12,30,.75) 32%, rgba(5,12,30,0) 62%); pointer-events: none; }
.overlay-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 20px 20px; z-index: 2; }
.overlay-body h3 { font-size: 21px; font-weight: 700; margin-top: 10px; line-height: 1.28; }
.overlay-body h3 a:hover { color: #fff; text-decoration: underline; }
.overlay-body .meta { color: #fff; font-size: 12px; margin-top: 10px; }
.overlay-excerpt { margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,.9); }
.overlay-tall { min-height: 100%; }

/* ---------- Top grid / rows ---------- */
.top-grid { display: grid; grid-template-columns: 1.08fr 1fr; gap: 18px; }
.row-list { display: flex; flex-direction: column; }
.row-card { display: grid; grid-template-columns: 78px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.row-card:first-child { padding-top: 0; }
.row-card:last-child { border-bottom: 0; padding-bottom: 0; }
.row-img { position: relative; display: block; width: 78px; height: 68px; border-radius: 3px; overflow: hidden; }
.row-img img, .row-img .img-ph { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.row-title { font-size: 14px; font-weight: 700; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.layout .top-grid .row-card { grid-template-columns: 78px 1fr; }

/* ---------- Grid cards ---------- */
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.card-img { position: relative; display: block; aspect-ratio: 4 / 3.4; overflow: hidden; border-radius: 3px; background: #dfe3ea; }
.grid-wide .card-img { aspect-ratio: 16 / 7.6; }
.card-img img, .card-img .img-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.card:hover .card-img img { transform: scale(1.04); }
.badge-img { position: absolute; left: 6px; bottom: 6px; z-index: 2; font-size: 8.5px; padding: 4px 6px 3px; }
.grid-wide .badge-img { left: 0; bottom: 0; border-radius: 0 2px 0 0; }
.card-title { font-size: 13.5px; font-weight: 700; line-height: 1.38; margin-top: 10px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.grid-wide .card-title { font-size: 14.5px; font-weight: 500; }
.play { position: absolute; z-index: 2; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(13,27,61,.55); border: 2px solid #fff; color: #fff; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.play.sm { width: 30px; height: 30px; font-size: 13px; }
.play.lg { width: 56px; height: 56px; font-size: 22px; top: 40%; }
.play.xl { width: 74px; height: 74px; font-size: 30px; top: 42%; background: rgba(13,27,61,.45); border-width: 3px; }
.play .ic { margin-left: 2px; }

/* ---------- Sidebar ---------- */
.latest-img { display: block; aspect-ratio: 16 / 9.2; border-radius: 3px; overflow: hidden; }
.latest-img img, .latest-img .img-ph { width: 100%; height: 100%; object-fit: cover; }
.ago { display: flex; align-items: center; gap: 5px; margin: 0; font-size: 11px; color: var(--muted); }
.ago .ic { color: var(--red); width: 12px; height: 12px; }
.ago-dot { margin-top: 14px; font-size: 12px; }
.ago .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--red); display: inline-block; margin-right: 4px; }
.latest-title { font-size: 20px; font-weight: 700; line-height: 1.3; margin: 8px 0 6px; color: var(--text); }
.side-list { display: flex; flex-direction: column; }
.side-item { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); align-items: start; }
.side-item:last-child { border-bottom: 0; padding-bottom: 0; }
.side-list .side-item:first-child { padding-top: 0; }
.latest-box .side-list .side-item:first-child { padding-top: 14px; border-top: 1px solid var(--line); margin-top: 8px; }
.side-img { display: block; width: 96px; height: 78px; border-radius: 3px; overflow: hidden; }
.side-list.compact .side-img { width: 96px; height: 62px; }
.side-img img, .side-img .img-ph { width: 100%; height: 100%; object-fit: cover; min-height: 0; }
.side-item h3 { font-size: 13.5px; font-weight: 700; line-height: 1.38; margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.side-list.compact .side-item h3 { font-weight: 500; }
.most-read { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.most-read li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: start; }
.most-read .num { width: 26px; height: 26px; background: var(--red); color: #fff; border-radius: 2px; font-weight: 700; font-size: 12.5px; display: flex; align-items: center; justify-content: center; }
.most-read a { font-size: 13.5px; font-weight: 500; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sticky-side { position: sticky; top: 66px; }

/* ---------- Newsletter / promos ---------- */
.nl-box p { margin: -4px 0 14px; font-size: 13px; color: var(--muted); }
.nl-form { display: flex; flex-wrap: wrap; gap: 8px; position: relative; }
.nl-form input[type=email] { flex: 1; min-width: 0; height: 42px; border: 1px solid #d5d9e0; border-radius: 3px; padding: 0 12px; font-size: 13.5px; outline: none; }
.nl-form input[type=email]:focus { border-color: var(--navy); }
.nl-form button { height: 42px; padding: 0 18px; border: 0; border-radius: 3px; background: var(--red); color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .3px; }
.nl-form button:hover { background: var(--red-dark); }
.nl-msg { flex-basis: 100%; margin: 0 !important; font-size: 12.5px; min-height: 0; }
.nl-msg.ok { color: #0a8f43 !important; }
.nl-msg.err { color: var(--red) !important; }
.follow { display: flex; align-items: center; gap: 16px; margin-top: 18px; font-size: 13px; }
.social-color a { width: 26px; height: 26px; border-radius: 50%; color: #fff; font-size: 13px; }
.sc-facebook { background: #1877f2; } .sc-instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.sc-youtube { background: #ff0000; } .sc-x, .sc-tiktok { background: #111; } .sc-web { background: var(--navy); }
.promo-dark { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 26px 22px 20px; border-radius: 4px; overflow: hidden; color: #fff; min-height: 180px; justify-content: flex-end;
  background: linear-gradient(90deg, rgba(10,21,48,.95), rgba(10,21,48,.55)), url("../img/promo-bg.svg") center / cover, var(--navy); }
.promo-dark:hover { color: #fff; }
.promo-dark .logo-mark { font-size: 30px; }
.promo-dark .logo-a { color: #fff; }
.promo-tag { font-size: 12px; max-width: 220px; line-height: 1.4; opacity: .9; }
.promo-dark em { font-style: normal; font-weight: 700; font-size: 13px; letter-spacing: .4px; margin-top: 10px; padding-bottom: 3px; border-bottom: 2px solid var(--red); align-self: flex-start; }
.promo-red { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--red); color: #fff; border-radius: 4px; padding: 26px 22px; min-height: 112px; overflow: hidden; }
.promo-red:hover { color: #fff; background: var(--red-dark); }
.promo-red strong { display: block; font-size: 15px; font-weight: 500; line-height: 1.55; }
.promo-red em { display: inline-block; font-style: normal; font-weight: 700; font-size: 13px; margin-top: 12px; padding-bottom: 3px; border-bottom: 2px solid #fff; letter-spacing: .3px; }
.promo-ic { width: 84px; height: 84px; transform: rotate(-12deg); opacity: .95; }
.ad img { width: 100%; height: auto; border-radius: 4px; }
.ad-article_inline { margin: 26px 0; }
.wide-ad { margin-top: 10px; margin-bottom: 26px; }

/* ---------- Media section ---------- */
.media-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 18px; }
.overlay-video { min-height: 260px; }
.overlay-video .overlay-body h3 { font-size: 15.5px; }

/* ---------- Article ---------- */
.layout-article { margin-top: 0; padding-top: 18px; }
.single .site-main, .page .site-main { background: #fff; }
.single .layout-article .col-side, .page .layout-article .col-side { padding-top: 10px; }
.article { background: #fff; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; font-size: 11.5px; color: var(--muted); margin-bottom: 26px; }
.crumbs .ic-xs { width: 8px; height: 8px; }
.crumbs span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60ch; }
.article-title { font-size: 33px; font-weight: 700; line-height: 1.24; margin-top: 12px; color: var(--text); letter-spacing: -.2px; }
.article-sub { font-size: 15.5px; font-style: italic; color: var(--muted); line-height: 1.55; margin: 14px 0 0; }
.article-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 22px 0 16px; }
.byline { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12px; color: var(--muted); }
.byline strong { color: var(--text); font-weight: 700; }
.avatar { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: var(--bg); display: inline-flex; align-items: center; justify-content: center; font-size: 18px; color: var(--navy); }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.dot-sep { color: #b5bac3; }
.views { display: inline-flex; align-items: center; gap: 4px; }
.views .ic { color: var(--red); }
.share { display: flex; align-items: center; gap: 7px; }
.share span { font-size: 12px; font-weight: 700; margin-right: 4px; }
.share a, .share button { width: 30px; height: 30px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; }
.sh-fb { background: #1877f2; } .sh-x { background: #111; } .sh-wa { background: #25d366; } .sh-mail { background: #6b7280; } .sh-link { background: #e8eaee; color: #4b5563 !important; }
.share a:hover { color: #fff; opacity: .9; }
.sh-link.copied { background: #0a8f43; color: #fff !important; }
.article-hero { position: relative; margin: 0 0 22px; border-radius: 4px; overflow: hidden; background: #e8ebf0; }
.article-hero img { width: 100%; max-height: 560px; object-fit: cover; }
.article-hero figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 8px; font-size: 11.5px; color: #fff; background: linear-gradient(0deg, rgba(0,0,0,.7), rgba(0,0,0,0)); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.article-body { font-size: 16.5px; line-height: 1.72; color: #1d2433; overflow-wrap: anywhere; }
.article-body p { margin: 0 0 1.05em; }
.article-body h2, .article-body h3, .article-body h4 { margin: 1.4em 0 .6em; color: var(--text); }
.article-body h2 { font-size: 23px; } .article-body h3 { font-size: 20px; } .article-body h4 { font-size: 18px; }
.article-body a { color: var(--red); text-decoration: underline; text-underline-offset: 2px; }
.article-body img { border-radius: 3px; margin: 1.2em auto; height: auto; }
.article-body figure { margin: 1.4em 0; max-width: 100% !important; }
.article-body figure img { margin: 0 auto; }
.article-body figcaption, .article-body .wp-caption-text { font-size: 13px; color: var(--muted); padding-top: 6px; text-align: center; line-height: 1.45; }
.article-body ul, .article-body ol { padding-left: 1.4em; margin: 0 0 1.1em; }
.article-body blockquote { position: relative; margin: 1.6em 0; padding: 4px 0 4px 64px; border-left: 3px solid var(--red); font-size: 16.5px; color: var(--text); }
.article-body blockquote::before { content: "\201C"; position: absolute; left: 16px; top: -6px; font: 900 56px/1 Georgia, serif; color: var(--red); }
.article-body blockquote p { margin: 0 0 .5em; }
.article-body blockquote cite, .article-body blockquote footer { display: block; font-style: normal; font-weight: 500; font-size: 14px; margin-top: 10px; }
.article-body blockquote cite::before, .article-body blockquote footer::before { content: "– "; color: var(--red); font-weight: 700; }
.article-body blockquote.twitter-tweet, .article-body blockquote.instagram-media { padding: 14px; border: 1px solid var(--line); border-radius: 6px; }
.article-body blockquote.twitter-tweet::before, .article-body blockquote.instagram-media::before { display: none; }
.article-body .embed { position: relative; aspect-ratio: 16 / 9; margin: 1.4em 0; background: #000; border-radius: 4px; overflow: hidden; }
.article-body .embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.article-body .embed-fb { aspect-ratio: auto; height: 640px; background: #fff; }
.article-body iframe { max-width: 100%; }
.article-body .video video, .article-body video { width: 100%; max-height: 520px; background: #000; border-radius: 4px; margin: 1.2em 0; }
.article-body audio { width: 100%; }
.article-body .table-wrap { overflow-x: auto; margin: 1.2em 0; }
.article-body table { border-collapse: collapse; width: 100%; font-size: 14.5px; }
.article-body td, .article-body th { border: 1px solid var(--line); padding: 8px 10px; }
.article-body .aligncenter { margin-left: auto; margin-right: auto; }
.article-body .alignleft { float: left; margin: .3em 1.4em 1em 0; max-width: 50%; }
.article-body .alignright { float: right; margin: .3em 0 1em 1.4em; max-width: 50%; }
.article-body::after { content: ""; display: table; clear: both; }
.gallery { display: grid; gap: 10px; margin: 1.6em 0; grid-template-columns: repeat(4, 1fr); }
.gallery.cols-1 { grid-template-columns: 1fr; } .gallery.cols-2 { grid-template-columns: repeat(2, 1fr); } .gallery.cols-3 { grid-template-columns: repeat(3, 1fr); } .gallery.cols-5 { grid-template-columns: repeat(5, 1fr); } .gallery.cols-6 { grid-template-columns: repeat(6, 1fr); }
.gallery figure { margin: 0 !important; }
.gallery a { display: block; aspect-ratio: 4 / 3.2; border-radius: 3px; overflow: hidden; }
.gallery img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; transition: transform .35s; }
.gallery a:hover img { transform: scale(1.05); }
.tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 26px 0; }
.tags span { font-size: 12px; font-weight: 700; margin-right: 6px; }
.tags a { font-size: 12px; padding: 5px 14px; border: 1px solid #d5d9e0; border-radius: 30px; color: var(--text); }
.tags a:hover { border-color: var(--red); color: var(--red); }
.chips { margin: 14px 0 0; }
.author-box { display: grid; grid-template-columns: 96px 1fr; gap: 22px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.author-avatar { width: 92px; height: 92px; border-radius: 50%; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; font-size: 44px; color: var(--navy); }
.author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.author-kicker { margin: 4px 0 6px; font-size: 12px; color: var(--muted); }
.author-box h3 { display: flex; align-items: center; gap: 14px; font-size: 18px; }
.author-social { display: inline-flex; gap: 6px; }
.author-social a { width: 20px; height: 20px; border-radius: 50%; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; }
.author-box p { margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: #374151; }
.related { margin-top: 30px; }
.related .badge-img { left: 0; bottom: 0; border-radius: 0 2px 0 0; }
.related .card-img { aspect-ratio: 4 / 2.8; }

/* ---------- Archives ---------- */
.archive .site-main, .search .site-main { background: var(--bg); }
.archive-head { background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 22px 24px; margin-bottom: 20px; }
.archive-kicker { margin: 0 0 4px; font-size: 12px; font-weight: 700; color: var(--red); text-transform: uppercase; letter-spacing: .5px; }
.archive-head h1 { font-size: 28px; color: var(--navy); }
.archive-desc { margin: 10px 0 0; color: var(--muted); font-size: 14px; }
.archive-lead { margin-bottom: 20px; }
.overlay-wide { min-height: 400px; }
.overlay-wide .overlay-body h3 { font-size: 26px; }
.archive-list { display: flex; flex-direction: column; gap: 14px; }
.list-card { display: grid; grid-template-columns: 260px 1fr; gap: 20px; background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 14px; }
.list-img { position: relative; display: block; aspect-ratio: 16 / 10.5; border-radius: 3px; overflow: hidden; }
.list-img img, .list-img .img-ph { width: 100%; height: 100%; object-fit: cover; }
.list-body h2 { font-size: 19px; font-weight: 700; line-height: 1.3; }
.list-excerpt { margin: 8px 0 0; font-size: 14px; color: #4b5563; line-height: 1.55; }
.pager { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 26px 0 0; }
.pager a, .pager span { min-width: 40px; height: 40px; padding: 0 10px; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; background: #fff; border: 1px solid var(--line); }
.pager .current { background: var(--red); border-color: var(--red); color: #fff; }
.pager .dots { border: 0; background: none; }
.empty { background: #fff; border: 1px solid var(--line); padding: 30px; text-align: center; color: var(--muted); border-radius: 4px; }
.search-inline { display: flex; gap: 8px; margin-top: 14px; max-width: 560px; }
.search-inline input { flex: 1; height: 44px; border: 1px solid #d5d9e0; border-radius: 4px; padding: 0 14px; font-size: 15px; outline: none; }
.search-inline button { height: 44px; border: 0; background: var(--red); color: #fff; border-radius: 4px; padding: 0 18px; font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.notfound { text-align: center; padding: 60px 20px 30px; display: flex; flex-direction: column; align-items: center; }
.nf-code { font: 900 110px/1 var(--font-logo); color: var(--red); margin: 0; }
.notfound h1 { font-size: 30px; color: var(--navy); margin-top: 10px; }
.notfound p { color: var(--muted); }

/* ---------- Newsletter band ---------- */
.nl-band { background: var(--navy-2); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
.nl-band-in { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 26px; padding-bottom: 26px; }
.nl-band-text { display: flex; align-items: center; gap: 26px; }
.nl-band-ic { width: 54px; height: 54px; color: #fff; opacity: .9; }
.nl-band h3 { font-size: 19px; font-weight: 700; }
.nl-band p { margin: 6px 0 0; font-size: 12.5px; opacity: .85; }
.nl-band .nl-form { width: min(460px, 100%); flex-wrap: nowrap; gap: 0; }
.nl-band .nl-form input[type=email] { border: 0; border-radius: 3px 0 0 3px; height: 46px; }
.nl-band .nl-form button { border-radius: 0 3px 3px 0; height: 46px; padding: 0 26px; }
.nl-band .nl-msg { position: absolute; top: 100%; left: 0; margin-top: 6px !important; color: #fff; }

/* ---------- Footer ---------- */
.site-footer { background: var(--navy-dark); color: rgba(255,255,255,.88); font-size: 13px; }
.footer-grid { position: relative; display: grid; grid-template-columns: 1.3fr 1.1fr .9fr 1.4fr; gap: 30px; padding-top: 38px; padding-bottom: 34px; }
.footer-brand .logo-mark { font-size: 30px; }
.footer-brand .logo-a { color: #fff; }
.footer-brand p { margin: 10px 0 18px; font-size: 12.5px; line-height: 1.5; max-width: 220px; }
.social-circle a { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); color: #fff; font-size: 14px; }
.social-circle a:hover { background: var(--red); border-color: var(--red); color: #fff; }
.footer-col h4 { font-size: 13px; font-weight: 700; color: #fff; margin: 4px 0 14px; letter-spacing: .3px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.footer-col ul.cols-2 { display: block; columns: 2; column-gap: 18px; }
.footer-col ul.cols-2 li { margin-bottom: 5px; break-inside: avoid; }
.footer-col a:hover { color: #fff; text-decoration: underline; }
.footer-contact { border-left: 1px solid rgba(255,255,255,.12); padding-left: 30px; position: relative; z-index: 1; }
.footer-contact li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.footer-contact .ic { width: 17px; height: 17px; margin-top: 1px; }
.footer-castle { position: absolute; right: 20px; bottom: 0; width: 330px; opacity: .22; pointer-events: none; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom-in { display: flex; justify-content: space-between; align-items: center; height: 46px; font-size: 12px; color: rgba(255,255,255,.75); gap: 12px; }
.heart { color: var(--red); width: 14px; height: 14px; }

/* ---------- Lightbox ---------- */
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(5,10,25,.94); display: flex; align-items: center; justify-content: center; }
.lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; }
.lightbox button { position: absolute; border: 0; background: rgba(255,255,255,.12); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.lightbox-close { top: 18px; right: 18px; } .lightbox-prev { left: 18px; } .lightbox-next { right: 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .layout { grid-template-columns: minmax(0, 1fr) 320px; }
  .weather { margin-right: 20px; }
  .nav-list > li > a { padding: 0 8px; font-size: 12.5px; }
  .hero-body { right: 22%; }
}
@media (max-width: 900px) {
  .layout { grid-template-columns: 1fr; }
  .sticky-side { position: static; }
  .mainnav-in { overflow-x: auto; scrollbar-width: none; }
  .mainnav-in::-webkit-scrollbar { display: none; }
  .nav-list { justify-content: flex-start; }
  .nav-list .sub { display: none; }
  .weather-meta { display: none; }
  .weather-temp { margin-right: 4px; }
  .hero { height: 420px; }
  .hero-body { left: 22px; right: 22px; bottom: 44px; }
  .hero-body h2 { font-size: 26px; }
  .hero-nav { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-contact { border-left: 0; padding-left: 0; }
  .nl-band-in { flex-direction: column; align-items: stretch; }
}
@media (max-width: 640px) {
  body { font-size: 14.5px; }
  .container { padding: 0 14px; }
  .topbar .social-top { display: none; }
  .header-in { height: 72px; }
  .logo-mark { font-size: 26px; }
  .logo-tag { display: none; }
  .weather { margin-right: 0; }
  .weather-ic { width: 26px; height: 26px; }
  .weather-temp { font-size: 17px; }
  .btn-sq { width: 40px; height: 40px; font-size: 18px; }
  .hero { height: 360px; margin: 0 -14px; border-radius: 0; }
  .hero-body h2 { font-size: 22px; }
  .hero-sub { display: none; }
  .top-grid, .media-grid { grid-template-columns: 1fr; }
  .overlay-tall { min-height: 300px; }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  .grid-wide .card-img { aspect-ratio: 4 / 3; }
  .box { padding: 16px 14px; }
  .article-title { font-size: 25px; }
  .article-meta { flex-direction: column; align-items: flex-start; }
  .article-body { font-size: 16px; }
  .article-body blockquote { padding-left: 50px; }
  .article-body .alignleft, .article-body .alignright { float: none; max-width: 100%; margin: 1em 0; }
  .gallery { grid-template-columns: repeat(2, 1fr) !important; }
  .author-box { grid-template-columns: 64px 1fr; gap: 14px; padding: 16px; }
  .author-avatar { width: 64px; height: 64px; font-size: 30px; }
  .list-card { grid-template-columns: 120px 1fr; gap: 12px; padding: 10px; }
  .list-body h2 { font-size: 15px; }
  .list-excerpt { display: none; }
  .overlay-wide { min-height: 300px; }
  .overlay-wide .overlay-body h3 { font-size: 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-castle { width: 220px; }
  .footer-bottom-in { flex-direction: column; justify-content: center; height: auto; padding: 14px 0; text-align: center; }
  .nl-band-text { gap: 14px; }
  .nl-band-ic { width: 40px; height: 40px; }
}

/* article: keep badge/crumbs at natural width inside the flex column */
.article > .badge, .article > .crumbs { align-self: flex-start; }
.article { gap: 0; }
@media (max-width: 640px) {
  .header-right { gap: 8px; }
  .logo-mark { font-size: 23px; }
  .logo-b { padding: 1px 5px 2px; border-radius: 4px; }
}
@media (max-width: 430px) {
  .weather { display: none; }
}
.crumbs { max-width: 100%; flex-wrap: nowrap; overflow: hidden; }
.crumbs span { min-width: 0; flex: 1; }
