/* Theme overrides to keep the blog fast and self-contained (no Bootstrap required) */
:root{
  /* Fallbacks in case custom.css variables change */
  --bbr-container: 1200px;
}

/* Basic container + grid (replacement for Bootstrap grid used by the original HTML template) */
.container{
  width: min(var(--bbr-container), calc(100% - 40px));
  margin-inline: auto;
}
.row{ display:flex; flex-wrap:wrap; margin-inline:-15px; }
.row > *{ padding-inline:15px; }
.col-lg-12{ width:100%; }

.bbr-grid{
  display:grid;
  gap: 30px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 992px){
  .bbr-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .bbr-grid{ grid-template-columns: 1fr; }
}

/* Page header background (avoid missing image requests from template CSS) */
.page-header{
  background-image:
    radial-gradient(1200px 600px at 50% 0%, rgba(180,255,45,0.12), rgba(0,0,0,0) 60%),
    radial-gradient(900px 500px at 20% 20%, rgba(180,255,45,0.06), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, #0b0f0c 0%, #000 80%);
}

/* Header: simple mobile nav */
.bbr-nav-toggle{
  display:none;
  border: 1px solid var(--dark-divider-color);
  background: rgba(0,0,0,0.25);
  color: var(--primary-color);
  border-radius: 10px;
  padding: 10px 12px;
  line-height: 1;
}
@media (max-width: 992px){
  .main-menu{ display:none; width:100%; }
  .main-header.is-open .main-menu{ display:block; margin-top:14px; }
  .main-menu .nav-menu-wrapper{ margin-left: 0; }
  .main-menu .nav-menu-wrapper > ul{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
  .bbr-nav-toggle{ display:inline-flex; align-items:center; gap:8px; }
}

/* Make links readable & remove cursor:none for normal UX */
.post-featured-image a,
.page-header-box h1{ cursor: auto; }
a{ cursor: pointer; }

/* Blog: keep long titles neat */
.post-item-content h2{ text-wrap: balance; }
.post-entry h1{ font-size: clamp(40px, 6vw, 80px); }
.post-entry h2{ font-size: clamp(28px, 4.5vw, 50px); }
.post-entry h3{ font-size: clamp(22px, 3.8vw, 40px); }

/* WP block defaults (light touch) */
.post-entry .wp-block-image img{ border-radius: 18px; }
.post-entry .wp-block-table table{ width:100%; }
.post-entry .wp-block-separator{ border-color: var(--dark-divider-color); opacity: .7; }


/* --- Header layout fixes (no Bootstrap dependency) --- */
.navbar{
  display:flex;
  gap: 18px;
  justify-content: space-between;
}
.navbar .container{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
}
.navbar-brand{ display:flex; align-items:center; gap: 12px; }
.main-menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 18px;
  flex: 1;
}
.main-menu .nav-menu-wrapper{ display:flex; align-items:center; }
.main-menu .nav-menu-wrapper > ul{
  list-style:none;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
}
.main-menu ul li{ list-style:none; }
.main-menu ul li a{
  display:block;
  font-size: 16px;
  font-weight: 600;
  line-height: normal;
  padding: 15px;
  color: var(--primary-color);
  text-transform: capitalize;
  transition: all 0.3s ease-in-out;
}
.main-menu ul li a:hover,
.main-menu ul li a:focus{
  color: var(--accent-color);
}

/* Social links alignment */
.header-social-box{ display:flex; align-items:center; }
.header-social-links ul{
  list-style:none;
  padding:0;
  margin:0;
  display:inline-flex;
  gap: 10px;
}
.header-social-links ul li{ list-style:none; }

/* Make logo image behave like the landing */
.custom-logo{ height: 40px; width: auto; display:block; }
