/* ========================================================
   TOP RIBBON & HEADER
   ======================================================== */
.master-header {
  background: var(--surface);
  border-bottom: 2px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--shadow-sm);
}

.header-top-ribbon {
  background: #1e293b;
  color: #f1f5f9;
  font-size: 0.8rem;
  padding: 0.35rem 0;
}
.ribbon-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ribbon-left {
  display: flex;
  align-items: center;
  gap: 8px;
}
.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #22c55e;
  display: inline-block;
  animation: pulse 1.5s infinite;
}
@keyframes pulse {
  0% { transform: scale(0.9); opacity: 0.8; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.9); opacity: 0.8; }
}
.badge-trending {
  background: var(--primary-red);
  color: #fff;
  font-size: 0.65rem;
  padding: 1px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: 700;
}
.ribbon-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.top-tool-link {
  color: #fed7aa;
  font-weight: 600;
}
.top-tool-link:hover {
  color: #fff;
}
.pipe { color: #64748b; }

/* Main Brand & Search Bar Header */
.header-main-bar {
  padding: 0.75rem 0;
  background: #ffffff;
}
.main-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.brand-logo {
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  display: flex;
  align-items: center;
}
.logo-red { color: var(--primary-red); }
.logo-orange { color: var(--accent-orange); }

/* In-Header Search Box */
.header-search-box {
  flex: 1;
  max-width: 580px;
}
.search-form-flex {
  display: flex;
  align-items: center;
  background: #f1f5f9;
  border: 1.5px solid var(--border-strong);
  border-radius: 999px;
  padding: 4px 6px 4px 14px;
  transition: all 0.2s ease;
}
.search-form-flex:focus-within {
  border-color: var(--primary-red);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
}
.search-svg {
  color: var(--text-muted);
  margin-right: 8px;
}
.search-field-input {
  border: none;
  background: transparent;
  width: 100%;
  font-size: 0.92rem;
  color: var(--text-dark);
  outline: none;
}
.search-button-action {
  background: var(--accent-gradient);
  color: #ffffff;
  border: none;
  font-size: 0.85rem;
  font-weight: 700;
  padding: 7px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.search-button-action:hover {
  opacity: 0.9;
}

/* Red/Orange Navigation Strip */
.navigation-strip {
  background: var(--primary-red);
}
.nav-menu-list {
  display: flex;
  align-items: center;
  list-style: none;
  overflow-x: auto;
}
.nav-item a {
  display: block;
  padding: 10px 18px;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
  white-space: nowrap;
  transition: background 0.15s;
}
.nav-item a:hover,
.nav-item.current-menu-item a {
  background: var(--primary-red-hover);
}
.nav-item.highlight-tool a {
  background: #b91c1c;
  color: #fef08a;
}

/* ========================================================
   3-COLUMN HOMEPAGE GRID
   ======================================================== */
.homepage-wrapper {
  padding: 2rem 0;
}
.three-column-grid {
  display: grid;
  grid-template-columns: 240px 1fr 310px;
  gap: 1.75rem;
  align-items: start;
}

/* Column 1: Ads */
.col-advertisements {
  position: relative;
}
.sticky-ad-box {
  position: sticky;
  top: 130px;
}
.ad-tag {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--text-muted);
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}
.ad-placeholder-tall {
  min-height: 550px;
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}
.ad-placeholder-square {
  min-height: 250px;
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ad-hint {
  font-size: 0.85rem;
  color: var(--text-muted);
  font-weight: 600;
}

/* Column 2: Main Editorial Feed */
.content-header-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.main-heading-badge {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--primary-red);
  white-space: nowrap;
}
.heading-line {
  height: 2px;
  background: linear-gradient(to right, var(--primary-red), #fed7aa);
  flex-grow: 1;
}

.news-posts-stack {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.feed-article-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 1.25rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.2s, box-shadow 0.2s;
}
.feed-article-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
  border-color: #fca5a5;
}
.article-thumb-anchor {
  position: relative;
  overflow: hidden;
}
.article-thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.feed-article-card:hover .article-thumb-img {
  transform: scale(1.05);
}
.article-placeholder-thumb {
  width: 100%;
  height: 100%;
  background: #fee2e2;
  color: var(--primary-red);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}
.article-info {
  padding: 1.25rem 1.25rem 1.25rem 0;
  display: flex;
  flex-direction: column;
}
.article-meta-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  margin-bottom: 0.4rem;
}
.badge-cat a {
  background: #fef2f2;
  color: var(--primary-red);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
  text-transform: uppercase;
}
.post-time { color: var(--text-muted); }
.article-title {
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.35;
  margin-bottom: 0.5rem;
}
.article-title a:hover {
  color: var(--primary-red);
}
.article-excerpt {
  color: var(--text-muted);
  font-size: 0.9rem;
}

/* Column 3: Utility Tools Sidebar */
.col-tools-sidebar {
  position: relative;
}
.sticky-tools-wrapper {
  position: sticky;
  top: 130px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.tools-sidebar-header {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid var(--accent-orange);
  padding-bottom: 0.5rem;
}
.tools-sidebar-header h3 {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text-dark);
}

.tool-side-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--primary-red);
  border-radius: var(--radius-sm);
  padding: 1rem;
  box-shadow: var(--shadow-sm);
}
.tool-side-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}
.tool-side-card h4 {
  font-size: 1rem;
  font-weight: 700;
}
.tool-side-card p {
  font-size: 0.825rem;
  color: var(--text-muted);
  margin-bottom: 0.85rem;
}
.tool-badge-urgent {
  background: #fee2e2;
  color: var(--primary-red);
  font-size: 0.65rem;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 700;
}
.tool-badge-normal {
  background: #ffedd5;
  color: var(--accent-orange);
  font-size: 0.65rem;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 700;
}
.btn-tool-launch {
  display: inline-block;
  background: var(--accent-gradient);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  transition: opacity 0.2s;
}
.btn-tool-launch:hover {
  opacity: 0.9;
}
.privacy-guarantee-card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  padding: 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  color: #15803d;
}

/* Responsive Adaptations */
.mobile-menu-trigger { display: none; }

@media (max-width: 1120px) {
  .three-column-grid {
    grid-template-columns: 1fr 300px;
  }
  .col-advertisements {
    display: none; /* Hide left ad banner on smaller tablets to keep content readable */
  }
}

@media (max-width: 768px) {
  .three-column-grid {
    grid-template-columns: 1fr;
  }
  .feed-article-card {
    grid-template-columns: 1fr;
  }
  .article-info {
    padding: 1rem;
  }
  .header-top-ribbon {
    display: none;
  }
  .mobile-menu-trigger {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: transparent;
    border: none;
    cursor: pointer;
  }
  .mobile-menu-trigger span {
    width: 24px;
    height: 3px;
    background: var(--text-dark);
  }
  .navigation-strip {
    display: none;
  }
  .navigation-strip.is-active {
    display: block;
  }
  .nav-menu-list {
    flex-direction: column;
    align-items: flex-start;
  }
  .nav-item { width: 100%; }
  .nav-item a { border-bottom: 1px solid #b91c1c; }
}

/* ========================================================
   HINDDAILY 3.0 — PROFESSIONAL NEWS EXPERIENCE
   ======================================================== */
.section-kicker {
  display: block;
  color: var(--primary-red);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: .25rem;
}
.homepage-wrapper { padding: 2.25rem 0 4rem; }
.content-header-bar { align-items: flex-end; }
.content-header-bar .main-heading-badge { margin: 0; }
.feed-article-card { grid-template-columns: 235px 1fr; }
.article-thumb-anchor { min-height: 190px; }
.read-chip {
  position:absolute; left:12px; bottom:12px; background:rgba(15,23,42,.9); color:#fff;
  padding:5px 9px; border-radius:999px; font-size:.68rem; font-weight:800;
  opacity:0; transform:translateY(4px); transition:.2s;
}
.feed-article-card:hover .read-chip { opacity:1; transform:none; }
.article-info { padding:1.35rem 1.4rem 1.25rem 0; }
.article-read-more { margin-top:auto; padding-top:1rem; color:var(--primary-red); font-size:.78rem; font-weight:800; }
.article-read-more span { transition:transform .2s; display:inline-block; }
.article-read-more:hover span { transform:translateX(4px); }
.empty-state { padding:2rem; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); display:flex; flex-direction:column; gap:.25rem; }
.empty-state span { color:var(--text-muted); }

.hd-ad-slot { width:100%; margin:0 0 1.25rem; }
.hd-ad-label { display:block; text-align:center; font-size:.6rem; letter-spacing:.12em; color:#94a3b8; font-weight:800; margin-bottom:.35rem; }
.hd-ad-inner { min-height:40px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hd-ad-home_left .hd-ad-inner { min-height:600px; }
.hd-ad-article_left .hd-ad-inner { min-height:600px; }
.hd-ad-slot:empty { display:none; }

.external-news-section { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--border); }
.external-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin-bottom:1.25rem; }
.external-section-heading h2 { font-size:1.5rem; line-height:1.2; margin:.1rem 0 .2rem; }
.external-section-heading p { color:var(--text-muted); font-size:.86rem; }
.external-count { background:#fff; border:1px solid var(--border); border-radius:999px; padding:.35rem .7rem; font-size:.7rem; font-weight:800; color:var(--text-muted); white-space:nowrap; }
.external-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.external-news-card { min-width:0; }
.external-news-trigger { display:block; width:100%; padding:0; border:1px solid var(--border); background:#fff; border-radius:14px; overflow:hidden; text-align:left; cursor:pointer; box-shadow:var(--shadow-sm); transition:.22s; }
.external-news-trigger:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); border-color:#fca5a5; }
.external-image { display:block; position:relative; aspect-ratio:16/9; background:linear-gradient(135deg,#fee2e2,#ffedd5); overflow:hidden; }
.external-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.external-news-trigger:hover .external-image img { transform:scale(1.04); }
.external-image > span:first-child { display:flex; align-items:center; justify-content:center; height:100%; color:var(--primary-red); font-size:1.5rem; font-weight:900; }
.external-source { position:absolute; left:10px; bottom:10px; background:rgba(15,23,42,.85); color:#fff; border-radius:999px; padding:4px 8px; font-size:.62rem; font-weight:800; }
.external-card-body { display:flex; flex-direction:column; gap:.75rem; padding:1rem; }
.external-card-body strong { font-size:.98rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.external-card-body span { font-size:.72rem; color:var(--primary-red); font-weight:800; }

.news-reader-modal { position:fixed; inset:0; z-index:1000; display:none; }
.news-reader-modal.is-open { display:block; }
.news-reader-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.72); backdrop-filter:blur(4px); }
.news-reader-dialog { position:absolute; inset:4vh 4vw; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.3); display:flex; flex-direction:column; }
.news-reader-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid var(--border); }
.news-reader-header h2 { font-size:1rem; max-width:65vw; margin:.1rem 0; }
.news-reader-header #newsReaderSource { color:var(--text-muted); font-size:.72rem; }
.news-reader-actions { display:flex; align-items:center; gap:.75rem; }
.news-reader-actions a { color:var(--primary-red); font-size:.78rem; font-weight:800; }
.news-reader-actions button { border:0; background:#f1f5f9; width:36px; height:36px; border-radius:50%; font-size:1.4rem; cursor:pointer; }
.news-reader-frame-wrap { position:relative; flex:1; background:#f8fafc; }
.news-reader-frame-wrap iframe { width:100%; height:100%; border:0; background:#fff; }
.news-reader-loading { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:var(--text-muted); font-size:.85rem; pointer-events:none; }
body.news-reader-open { overflow:hidden; }

.article-page-grid { display:grid; grid-template-columns:190px minmax(0,850px) 260px; gap:1.5rem; align-items:start; padding:2rem 0 4rem; }
.article-left-rail, .article-right-rail { min-width:0; }
.article-left-rail { padding-top:2rem; }
.article-sticky-sidebar { position:sticky; top:130px; }
.rail-heading { font-size:.62rem; color:#94a3b8; letter-spacing:.12em; font-weight:800; text-align:center; margin-bottom:.5rem; }
.rail-ad-empty { min-height:250px; border:1px dashed var(--border-strong); border-radius:12px; display:flex; align-items:center; justify-content:center; color:#94a3b8; font-size:.75rem; background:#f8fafc; }
.rail-ad-fallback { overflow:hidden; display:flex; justify-content:center; min-height:250px; }
.rail-tool-card { margin-top:1rem; background:#fff; border:1px solid var(--border); border-radius:14px; padding:1rem; box-shadow:var(--shadow-sm); }
.rail-tool-card h3 { font-size:1rem; margin:.25rem 0; }
.rail-tool-card p { color:var(--text-muted); font-size:.78rem; margin-bottom:.7rem; }
.rail-tool-card a { color:var(--primary-red); font-size:.75rem; font-weight:800; }
.article-reading-column { min-width:0; }
.article-breadcrumbs { display:flex; gap:.45rem; align-items:center; flex-wrap:wrap; color:#94a3b8; font-size:.72rem; margin-bottom:1.25rem; }
.article-breadcrumbs a:hover { color:var(--primary-red); }
.article-breadcrumbs .current { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:420px; }
.single-header { padding:0 0 1.35rem; }
.post-meta-top { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; color:var(--text-muted); font-size:.74rem; }
.category-pill { color:var(--primary-red); background:#fef2f2; border:1px solid #fecaca; padding:4px 9px; border-radius:999px; font-weight:800; text-transform:uppercase; }
.single-title { font-size:clamp(2rem,4vw,3.45rem); line-height:1.06; letter-spacing:-.035em; margin:.85rem 0 1rem; font-weight:900; }
.single-dek { font-size:1.12rem; line-height:1.6; color:#475569; max-width:780px; }
.single-author-row { display:flex; align-items:center; gap:.7rem; margin-top:1.25rem; }
.author-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--accent-gradient); color:#fff; font-weight:900; }
.single-author-row div:last-child { display:flex; flex-direction:column; font-size:.76rem; }
.single-author-row span { color:var(--text-muted); font-size:.68rem; }
.single-featured-image { margin:0 0 1.5rem; }
.single-featured-image img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:18px; box-shadow:0 12px 35px rgba(15,23,42,.1); }
.single-featured-image figcaption { color:#94a3b8; font-size:.7rem; margin-top:.45rem; text-align:center; }
.article-content-shell { background:#fff; border:1px solid var(--border); border-radius:18px; padding:clamp(1.2rem,4vw,2.6rem); box-shadow:0 5px 20px rgba(15,23,42,.035); }
.prose { font-size:1.05rem; color:#263244; }
.prose p { margin:0 0 1.25rem; }
.prose h2 { font-size:1.65rem; margin:2rem 0 .8rem; line-height:1.25; }
.prose h3 { font-size:1.25rem; margin:1.5rem 0 .6rem; }
.prose ul, .prose ol { padding-left:1.35rem; margin:0 0 1.25rem; }
.prose li { margin:.45rem 0; }
.prose a { color:var(--primary-red); text-decoration:underline; text-decoration-color:#fecaca; text-underline-offset:3px; }
.prose blockquote { margin:1.5rem 0; padding:1rem 1.25rem; border-left:4px solid var(--primary-red); background:#fff7ed; border-radius:0 10px 10px 0; color:#475569; }
.prose img { border-radius:12px; margin:1.5rem auto; }
.inline-tool-banner { margin:1.5rem 0; display:flex; align-items:center; gap:1rem; padding:1rem 1.1rem; background:linear-gradient(135deg,#fff7ed,#fef2f2); border:1px solid #fed7aa; border-radius:14px; }
.tool-banner-icon { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:10px; background:#fff; }
.tool-banner-text { display:flex; flex-direction:column; flex:1; }
.tool-banner-text strong { font-size:.85rem; }
.tool-banner-text span { color:var(--text-muted); font-size:.72rem; }
.tool-banner-btn { background:var(--accent-gradient); color:#fff; border-radius:8px; padding:.55rem .8rem; font-size:.72rem; font-weight:800; white-space:nowrap; }
.single-footer { padding:1.25rem 0; }
.post-tags { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.post-tags a { background:#fff; border:1px solid var(--border); padding:.35rem .6rem; border-radius:999px; font-size:.68rem; color:var(--text-muted); }
.tag-title { color:#64748b; font-size:.7rem; font-weight:800; margin-right:.25rem; }

@media (max-width:1120px) {
  .three-column-grid { grid-template-columns:1fr 300px; }
  .col-advertisements { display:none; }
  .article-page-grid { grid-template-columns:1fr 280px; }
  .article-left-rail { display:none; }
}
@media (max-width:900px) {
  .external-news-grid { grid-template-columns:repeat(2,1fr); }
  .article-page-grid { grid-template-columns:1fr; }
  .article-right-rail { display:none; }
}
@media (max-width:768px) {
  .three-column-grid { grid-template-columns:1fr; }
  .col-tools-sidebar { order:2; }
  .col-main-content { order:1; }
  .feed-article-card { grid-template-columns:125px 1fr; }
  .article-thumb-anchor { min-height:125px; }
  .article-info { padding:1rem; }
  .article-excerpt { display:none; }
  .article-title { font-size:1rem; }
  .article-read-more { padding-top:.5rem; }
  .read-chip { display:none; }
  .external-news-grid { grid-template-columns:1fr; }
  .external-section-heading { align-items:flex-start; }
  .external-count { display:none; }
  .news-reader-dialog { inset:0; border-radius:0; }
  .news-reader-header { padding:.85rem; }
  .news-reader-header h2 { max-width:55vw; }
  .article-page-grid { padding-top:1rem; }
  .single-title { font-size:2rem; }
  .single-dek { font-size:.95rem; }
  .article-content-shell { padding:1.15rem; border-radius:14px; }
  .prose { font-size:1rem; }
  .inline-tool-banner { align-items:flex-start; flex-wrap:wrap; }
  .tool-banner-btn { margin-left:54px; }
  .header-main-bar { padding:.65rem 0; }
  .brand-logo { font-size:1.8rem; }
  .header-search-box { display:none; }
  .container { padding-left:1rem; padding-right:1rem; }
}


/* ========================================================
   v4.2 — AGGREGATOR / LAYOUT POLISH
   ======================================================== */
.three-column-grid {
  grid-template-columns: minmax(300px, 340px) minmax(0, 1fr) minmax(245px, 280px);
  gap: 1.25rem;
}
.col-advertisements { min-width: 0; }
.col-main-content { min-width: 0; }
.col-tools-sidebar { min-width: 0; }
.hd-side-news {
  position: sticky;
  top: 120px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.hd-side-news-head { padding: 1rem 1rem .85rem; border-bottom: 1px solid var(--border); background: linear-gradient(180deg,#fff7ed 0%,#fff 100%); }
.hd-side-news-head > span { display:block; color:var(--primary-red); font-size:.62rem; font-weight:900; letter-spacing:.13em; }
.hd-side-news-head h2 { margin:.18rem 0 .15rem; font-size:1.08rem; line-height:1.2; }
.hd-side-news-head p { color:var(--text-muted); font-size:.7rem; line-height:1.4; }
.hd-side-news-list { padding:.5rem; }
.hd-side-news-item { margin:0; }
.hd-side-news-link { width:100%; display:grid; grid-template-columns:92px minmax(0,1fr); gap:.7rem; padding:.65rem; border:0; border-bottom:1px solid #f1f5f9; background:transparent; text-align:left; color:inherit; cursor:pointer; font:inherit; }
.hd-side-news-item:last-child .hd-side-news-link { border-bottom:0; }
.hd-side-news-link:hover { background:#fff7ed; }
.hd-side-news-thumb { display:block; width:92px; aspect-ratio:16/10; border-radius:8px; overflow:hidden; background:linear-gradient(135deg,#fee2e2,#ffedd5); }
.hd-side-news-thumb img { width:100%; height:100%; object-fit:cover; }
.hd-side-news-thumb > span { width:100%; height:100%; display:grid; place-items:center; color:var(--primary-red); font-weight:900; font-size:1rem; }
.hd-side-news-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; gap:.35rem; }
.hd-side-news-copy strong { font-size:.78rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.hd-side-news-copy small { color:var(--text-muted); font-size:.62rem; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.external-news-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.external-news-section { margin-top:2.5rem; }
.site-footer { margin-top:3rem; background:#0f172a; color:#cbd5e1; border-top:4px solid var(--primary-red); }
.site-footer .container { padding-top:2.8rem; padding-bottom:0; }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:2.2rem; padding-bottom:2.4rem; }
.footer-column { min-width:0; }
.footer-column.brand-col { padding-right:1rem; }
.site-footer .site-branding { display:inline-block; color:#fff; font-size:1.65rem; font-weight:900; letter-spacing:-.03em; margin-bottom:.7rem; }
.site-footer .logo-accent { color:#f97316; }
.footer-desc { max-width:390px; color:#94a3b8; font-size:.8rem; line-height:1.7; }
.privacy-badge { display:inline-flex; align-items:center; gap:.45rem; margin-top:1rem; padding:.5rem .65rem; border:1px solid #334155; border-radius:8px; color:#cbd5e1; font-size:.68rem; }
.footer-heading { color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 .9rem; }
.footer-list { list-style:none; display:grid; gap:.5rem; }
.footer-list a { color:#94a3b8; font-size:.76rem; transition:color .18s,transform .18s; display:inline-block; }
.footer-list a:hover { color:#fff; transform:translateX(2px); }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-top:1px solid #1e293b; padding:1rem 0 1.15rem; color:#64748b; font-size:.68rem; }
.footer-bottom p { margin:0; }
.built-with { text-align:right; }
@media (max-width:1180px) {
  .three-column-grid { grid-template-columns:300px minmax(0,1fr) 260px; }
  .external-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:1020px) {
  .three-column-grid { grid-template-columns:290px minmax(0,1fr); }
  .col-tools-sidebar { display:none; }
  .external-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1.4fr repeat(2,1fr); }
}
@media (max-width:760px) {
  .three-column-grid { grid-template-columns:1fr; }
  .col-advertisements { order:2; }
  .col-main-content { order:1; }
  .hd-side-news { position:static; }
  .external-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .footer-column.brand-col { grid-column:1/-1; padding-right:0; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .built-with { text-align:left; }
}
@media (max-width:520px) {
  .external-news-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-column.brand-col { grid-column:auto; }
}


/* ========================================================
   v4.2 — navigation, search and live aggregator fixes
   ======================================================== */
.nav-menu-list > li { position:relative; list-style:none; }
.nav-menu-list > li > a { position:relative; z-index:2; text-decoration:none; cursor:pointer; pointer-events:auto; }
.nav-menu-list .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:210px; margin:0; padding:.35rem 0; list-style:none; background:#fff; border:1px solid var(--border); border-radius:0 0 10px 10px; box-shadow:0 10px 25px rgba(15,23,42,.14); z-index:1001; }
.nav-menu-list > li:hover > .sub-menu, .nav-menu-list > li:focus-within > .sub-menu { display:block; }
.nav-menu-list .sub-menu a { display:block; padding:.65rem .85rem; color:var(--text-dark); background:#fff; }
.nav-menu-list .sub-menu a:hover { background:#fff7ed; color:var(--primary-red); }
.mobile-nav-open { overflow:hidden; }
.myatt-dynamic-news-root { min-width:0; }
.news-root-loading { min-height:100px; display:grid; place-items:center; color:var(--text-muted); font-size:.78rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); }
.search-results-page { padding:2.25rem 0 4rem; }
.search-results-header { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1.5rem; margin-bottom:1.5rem; box-shadow:var(--shadow-sm); }
.search-results-header h1 { margin:.15rem 0 1rem; font-size:clamp(1.5rem,3vw,2.2rem); }
.search-results-form { display:flex; gap:.6rem; max-width:760px; }
.search-results-form input { flex:1; min-width:0; border:1px solid var(--border-strong); border-radius:10px; padding:.75rem .9rem; font:inherit; }
.search-results-form button { border:0; border-radius:10px; padding:.75rem 1.15rem; color:#fff; background:var(--accent-gradient); font-weight:800; cursor:pointer; }
.search-results-grid { display:grid; gap:1rem; }
.search-empty { text-align:center; padding:4rem 1rem; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); }
.search-pagination ul { display:flex; gap:.4rem; list-style:none; padding:0; flex-wrap:wrap; }
.search-pagination a, .search-pagination span { display:inline-flex; min-width:36px; min-height:36px; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:8px; padding:.25rem .55rem; }
.search-pagination .current { background:var(--primary-red); color:#fff; border-color:var(--primary-red); }
@media (max-width:768px) {
  .navigation-strip { position:absolute; left:0; right:0; top:100%; display:none; box-shadow:0 12px 25px rgba(15,23,42,.18); max-height:calc(100vh - 70px); overflow:auto; }
  .navigation-strip.is-active { display:block; }
  .nav-menu-list { display:block; overflow:visible; }
  .nav-menu-list > li > a { padding:.85rem 1rem; }
  .nav-menu-list .sub-menu { position:static; display:block; border:0; box-shadow:none; padding:0 0 .35rem 1rem; background:#b91c1c; }
  .nav-menu-list .sub-menu a { background:#b91c1c; color:#fff; }
  .search-results-form { flex-direction:column; }
}
