:root{
  --brand-red: #c8102e; /* FEDECICEXT accent */
  --brand-dark: #0b0b0b; /* near-black for headings */
  --muted: #6c757d;
  --surface: #ffffff;
  --surface-2: #f6f6f6;
  --card-shadow: 0 6px 18px rgba(11,11,11,0.06);
  --radius: 8px;
}

/* Global typography and layout */
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
  color: var(--brand-dark);
  background-color: #fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{ color: var(--brand-red); }
a:hover{ color: darken(var(--brand-red), 10%); text-decoration: none; }

/* Navbar */
.navbar-brand{ color: var(--brand-dark) !important; font-weight:700; letter-spacing:0.2px; }
.navbar .nav-link{ color: rgba(11,11,11,0.9); }
.navbar .nav-link.active, .navbar .nav-link:hover{ color: var(--brand-red); }
.navbar{ padding: 0.8rem 0; }

.navbar-toggler{ border-color: rgba(11,11,11,0.08); }
.navbar-toggler-icon{ background-image: none; }
.navbar-toggler .icon-bar{ display:block; width:22px; height:2px; background:rgba(11,11,11,0.8); margin:4px 0; }

/* Hero / header */
.site-hero{ background-color: var(--surface-2); padding: 3.25rem 0; border-radius: 0; }
.site-hero h1, .site-hero .display-5, .site-hero .display-6{ color: var(--brand-dark); }
.site-hero .lead{ color: var(--muted); }

/* Cards */
.card{ border-radius: var(--radius); box-shadow: var(--card-shadow); border: 0; }
.card .card-title{ color: var(--brand-dark); }
.card .card-text{ color: var(--muted); }

.card-img-top{ border-top-left-radius: var(--radius); border-top-right-radius: var(--radius); object-fit: cover; }

/* Buttons */
.btn-danger, .btn-danger:focus, .btn-danger:hover{ background-color: var(--brand-red); border-color: var(--brand-red); }
.btn-outline-danger{ color: var(--brand-red); border-color: var(--brand-red); }
.btn-outline-danger:hover{ background-color: rgba(200,16,46,0.06); }

.btn-link{ color: var(--brand-red); }
.btn-outline-secondary{ color: #495057; border-color: #dee2e6; }

/* Quick access cards and actions */
.stretched-link{ color: var(--brand-red); }

/* Footer */
.site-footer{ background-color: #0f0f0f; color: rgba(255,255,255,0.85); padding: 2rem 0; }
.site-footer a{ color: rgba(255,255,255,0.9); text-decoration: underline; }
.site-footer small.text-muted{ color: rgba(255,255,255,0.65) !important; }
.site-footer p{ margin-bottom:0.25rem; }

/* Utility tweaks */
.lead{ font-size:1.05rem; }
.h1, .display-5, .display-6{ color: var(--brand-dark); }

/* Responsive adjustments */
@media (min-width: 992px){
  .site-hero{ padding:4rem 0; }
}

/* Minor helpers for visual rhythm */
.section-muted{ background-color: var(--surface-2); padding: 2rem; border-radius: var(--radius); }

/* Ensure images inside content are fluid and elegant */
.content img{ max-width:100%; height:auto; display:block; margin:0.75rem 0; border-radius:6px; }

/* Small print */
.small.text-muted{ color: var(--muted); }
