/* Canvas-compatible layout (minimal) — use with news.css + Bootstrap */
html, body { overflow-x: hidden; }
#wrapper { position: relative; min-height: 100vh; }
#header { background: #fff; }
.header-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; }
#logo a { text-decoration: none; color: #333; }
.primary-menu .menu-container {
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.25rem 1rem;
}
.menu-item { position: relative; }
.menu-link { display: block; padding: 0.5rem 0.25rem; text-decoration: none; color: #333; }
.section { padding: 2.5rem 0; }
.heading-block { position: relative; margin-bottom: 1rem; }
.heading-block h4 { margin: 0; font-size: 1.1rem; font-weight: 600; }
.gutter-20 { --bs-gutter-x: 20px; --bs-gutter-y: 20px; }
.content-wrap { padding: 1rem 0 2rem; }
.article-body { line-height: 1.8; }
.article-body img { max-width: 100%; height: auto; }
.line-xs { position: relative; }

.border-f5 { border-color: #f5f5f5 !important; }

#header-wrap { position: relative; }

.header-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-right: 8px;
  border-radius: 50%;
  background: #333;
  color: #fff !important;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.2s;
}
.header-social-link:hover { opacity: 0.85; color: #fff !important; }

#primary-menu-trigger {
  display: none;
  cursor: pointer;
  padding: 6px;
}
#primary-menu-trigger .svg-trigger {
  width: 28px;
  height: 28px;
  stroke: #444;
  stroke-width: 3;
  fill: none;
}

.header-misc-icon a {
  color: #333;
  font-size: 1.1rem;
  text-decoration: none;
}
#top-search-trigger .icon-line-cross { display: none; }
#header-wrap.top-search-open #top-search-trigger .icon-line-search { display: none; }
#header-wrap.top-search-open #top-search-trigger .icon-line-cross { display: inline; }

.top-search-form {
  position: absolute;
  right: 15px;
  left: 15px;
  top: 100%;
  margin-top: 8px;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
  max-width: 400px;
  margin-left: auto;
}
#header-wrap.top-search-open .top-search-form {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

nav.primary-menu.with-arrows {
  flex: 1 1 auto;
  min-width: 0;
}

#footer.dark { color: #ccc; }
#footer.dark a { color: rgba(255,255,255,0.75); text-decoration: none; }
#footer.dark a:hover { color: #fff; }
#copyrights { padding: 1.75rem 0; background: rgba(0,0,0,0.2); border-top: 1px solid rgba(255,255,255,0.08); }
.copyright-links a { margin-right: 0.35rem; }

.tagcloud a {
  display: inline-block;
  padding: 2px 8px;
  margin: 0 4px 6px 0;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 3px;
  font-size: 12px;
}

.sticky-sidebar { position: sticky; top: 1rem; }

.article-gallery .carousel-control-prev,
.article-gallery .carousel-control-next {
  filter: invert(0.35);
}

.article-actions-bar .btn-sm {
  white-space: nowrap;
}

@media (min-width: 992px) {
  #primary-menu-trigger { display: none !important; }
  nav.primary-menu .menu-container {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
}

@media (max-width: 991.98px) {
  #primary-menu-trigger { display: block; }
  nav.primary-menu { flex: 1 1 100%; order: 10; }
  nav.primary-menu .menu-container .menu-link {
    padding: 0.65rem 0;
    border-bottom: 1px solid #eee;
  }
}