/*
 * Afya4Men static rebuild theme.
 * Purpose: keep the legacy red/black/white visual identity while using Bootstrap 5 layout utilities.
 * TODO: Confirm final colour values against the approved brand guide before production launch.
 */
:root {
  --a4m-red: #ed1c24;
  --a4m-red-dark: #b90f17;
  --a4m-black: #111111;
  --a4m-charcoal: #242424;
  --a4m-muted: #666666;
  --a4m-cream: #f7f4f2;
  --a4m-white: #ffffff;
  --a4m-border: #e5e5e5;
  --a4m-focus: #ffcc00;
  --a4m-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--a4m-charcoal);
  background: var(--a4m-white);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0.5rem;
  z-index: 1100;
  padding: 0.75rem 1rem;
  color: var(--a4m-black);
  background: var(--a4m-focus);
  border-radius: 0.5rem;
}

.skip-link:focus {
  left: 0.5rem;
}

.site-header {
  background: var(--a4m-white);
  border-bottom: 4px solid var(--a4m-red);
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.04);
}

.site-brand img {
  width: 190px;
  max-width: 55vw;
  height: auto;
}

.navbar .nav-link {
  color: var(--a4m-black);
  font-weight: 650;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
  color: var(--a4m-red-dark);
}

.btn-a4m {
  --bs-btn-color: var(--a4m-white);
  --bs-btn-bg: var(--a4m-red);
  --bs-btn-border-color: var(--a4m-red);
  --bs-btn-hover-color: var(--a4m-white);
  --bs-btn-hover-bg: var(--a4m-red-dark);
  --bs-btn-hover-border-color: var(--a4m-red-dark);
  --bs-btn-focus-shadow-rgb: 237, 28, 36;
}

.language-switcher .btn {
  border-color: var(--a4m-border);
  font-weight: 650;
}

.language-switcher .btn.active {
  color: var(--a4m-white);
  background: var(--a4m-black);
  border-color: var(--a4m-black);
}

.hero {
  color: var(--a4m-white);
  background: linear-gradient(135deg, var(--a4m-black), #2d0507 72%, var(--a4m-red-dark));
}

.hero .lead {
  color: rgba(255, 255, 255, 0.9);
}

.category-banner {
  min-height: 250px;
  background-color: var(--a4m-black);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1rem;
  box-shadow: var(--a4m-shadow);
}

.category-banner-overlay {
  min-height: 250px;
  display: flex;
  align-items: end;
  padding: 2rem;
  color: var(--a4m-white);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.72));
  border-radius: 1rem;
}

.breadcrumb-wrap {
  background: var(--a4m-cream);
  border-bottom: 1px solid var(--a4m-border);
}

.breadcrumb {
  margin-bottom: 0;
}

.card-a4m {
  height: 100%;
  border: 1px solid var(--a4m-border);
  border-radius: 1rem;
  box-shadow: none;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.card-a4m:hover,
.card-a4m:focus-within {
  transform: translateY(-2px);
  border-color: rgba(237, 28, 36, 0.35);
  box-shadow: var(--a4m-shadow);
}

.card-a4m .card-title a {
  color: var(--a4m-black);
  text-decoration: none;
}

.card-a4m .card-title a:hover,
.card-a4m .card-title a:focus {
  color: var(--a4m-red-dark);
  text-decoration: underline;
}

.card-icon {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.article-shell {
  max-width: 880px;
}

.article-body h2,
.article-body h3 {
  margin-top: 2rem;
  color: var(--a4m-black);
  font-weight: 750;
}

.article-body h2 {
  padding-bottom: 0.35rem;
  border-bottom: 2px solid rgba(237, 28, 36, 0.18);
}

.article-body a {
  color: var(--a4m-red-dark);
  font-weight: 650;
}

.article-body img.content-icon {
  float: right;
  width: 128px;
  max-width: 35%;
  height: auto;
  margin: 0 0 1rem 1.5rem;
}

.editorial-note {
  border-left: 4px solid var(--a4m-red);
  background: #fff7f7;
}

.site-footer {
  color: rgba(255, 255, 255, 0.86);
  background: var(--a4m-black);
}

.site-footer a {
  color: var(--a4m-white);
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus {
  color: #ffd6d8;
  text-decoration: underline;
}

.footer-sitemap h2,
.footer-sitemap h3 {
  color: var(--a4m-white);
}

.footer-sitemap ul {
  padding-left: 1rem;
}

.footer-sitemap li {
  margin-bottom: 0.35rem;
}

.offcanvas .accordion-button:not(.collapsed) {
  color: var(--a4m-red-dark);
  background: #fff2f2;
}

.offcanvas .accordion-button:focus,
.btn:focus,
a:focus {
  box-shadow: 0 0 0 0.25rem rgba(255, 204, 0, 0.55);
}

@media (max-width: 767.98px) {
  .category-banner,
  .category-banner-overlay {
    min-height: 210px;
  }

  .category-banner-overlay {
    padding: 1.25rem;
  }

  .article-body img.content-icon {
    float: none;
    display: block;
    max-width: 140px;
    margin: 0 0 1rem;
  }
}
