/*
Custom Css
This file is meant for your overrides.
It should be loaded AFTER bootstrap.min.css and templatemo.css.
*/

/* =========================================================
   Brand color override: template green -> blue
   ========================================================= */
:root{
  --bs-success: #0d6efd;
  --bs-success-rgb: 13,110,253;
  --bs-link-color: #0d6efd;
  --bs-link-hover-color: #0b5ed7;
}

/* Buttons */
.btn-success,
.btn-success:focus,
.btn-success:hover,
.btn-success:active,
.btn-outline-success:hover,
.btn-check:checked + .btn-outline-success{
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}
.btn-outline-success{
  color: #0d6efd !important;
  border-color: #0d6efd !important;
}

/* Text / borders / backgrounds */
.text-success{ color: #0d6efd !important; }
.bg-success{ background-color: #0d6efd !important; }
.border-success{ border-color: #0d6efd !important; }

/* Theme accents */
#templatemo_main_nav a:hover,
#templatemo_main_nav a.active,
#templatemo_main_nav .navbar-nav .nav-link:hover,
#templatemo_main_nav .navbar-nav .nav-link.active,
#templatemo_nav_top a:hover,
#templatemo_nav_top i:hover,
.pagination .page-link:hover,
.pagination .page-item.active .page-link,
.product-wap .h3 a:hover,
.card.product-wap a:hover{
  color: #0d6efd !important;
}
.pagination .page-item.active .page-link,
.pagination .page-link:hover{
  background-color: #0d6efd !important;
  border-color: #0d6efd !important;
}

/* ================================
   Header / Navbar sizing (clean)
   ================================ */
.navbar{
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}

/* Brand text (BuiLD) – fix selector */
.navbar-brand.logo{
  font-size: 2.2rem;
  line-height: 1;
}

/* Navbar logos */
.navbar-logo{
  height: 80px;
  width: auto;
  max-height: none;
}

/* Optional: slightly de-emphasize funder logo in navbar */
.navbar-logo--funder{
  opacity: 0.92;
}

.navbar-logo-large{
  height: 120px;
  width: auto;
  max-height: none;
}

/* Nav link spacing */
.navbar-nav .nav-link{
  padding-top: .5rem;
  padding-bottom: .5rem;
}

/* Dropdown polish */
.dropdown-menu{
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

/* Mobile */
@media (max-width: 991.98px){
  .navbar-logo{ height: 55px; }
  .navbar-logo-large{ height: 80px; }
  .navbar-brand.logo{ font-size: 1.8rem; }
}

/* ================================
   HERO (Project banner)
   ================================ */

.build-hero{
  position: relative;
  padding: 5rem 0;
  background:
    radial-gradient(1200px circle at 10% 10%, rgba(13,110,253,0.18), transparent 60%),
    radial-gradient(900px circle at 90% 30%, rgba(13,110,253,0.12), transparent 55%),
    linear-gradient(180deg, #e9f0ff 0%, #dbe7ff 100%);
}

.hero-title{
  font-size: 3.4rem;
  line-height: 1.05;
}
.hero-title-accent{ color: #0d6efd; }

.hero-subtitle,
.hero-lead{
  color: rgba(0,0,0,0.75);
}

.build-hero::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(13,110,253,0.15);
}

.hero-link{
  font-weight: 600;
  text-decoration: none;
}

.hero-card{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 25px 70px rgba(0,0,0,.12);
}

.project-logo{
  max-height: 360px;
  width: auto;
}

/* Leverhulme logo overlay (centered across hero) */
.hero-funder-centered{
  position: absolute;
  left: 50%;
  bottom: 2.2rem;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
}

.funder-logo-centered{
  height: 55px;
  width: auto;
  opacity: 0.78;
}

@media (max-width: 991.98px){
  .build-hero{ padding: 3.5rem 0; }
  .hero-title{ font-size: 2.6rem; }
  .project-logo{ max-height: 260px; }
  .hero-funder-centered{ bottom: 1.6rem; }
  .funder-logo-centered{ height: 42px; }
}

/* ================================
   Resources section (homepage cards)
   ================================ */
.resources-section{
  background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
}

.resources-title{
  font-size: 2rem;
  line-height: 1.2;
}

.resources-subtitle{
  color: rgba(0,0,0,.65);
}

.resource-card{
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(13,110,253,0.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.08);
  transition: transform .18s ease, box-shadow .18s ease;
  height: 100%;
}

.resource-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 70px rgba(0,0,0,.12);
}

.resource-card__media{
  position: relative;
  height: 220px;
  background: rgba(13,110,253,0.06);
}

.resource-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.resource-card__body{
  padding: 1.5rem 1.5rem 1.4rem;
}

.resource-card__title{
  font-size: 1.25rem;
  margin: 0 0 .5rem;
}

.resource-card__text{
  margin: 0 0 1rem;
  color: rgba(0,0,0,.70);
}

.resource-card__cta{
  font-weight: 600;
  color: #0d6efd;
}

@media (max-width: 991.98px){
  .resource-card__media{ height: 200px; }
}

/* ================================
   Footer logos
   ================================ */
.footer-logo{
  height: 45px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

.footer-logo--light{
  filter: none;
}

@media (max-width: 767.98px){
  .footer-logo{ height: 36px; }
}

/* ================================
   Team page (long bios friendly)
   ================================ */

/* ================================
   Team directory (circle portraits)
   ================================ */

.team-tile{
  text-align: center;
}

.team-avatar-btn{
  border: 0;
  background: transparent;
  padding: 0;
}

.team-avatar{
  width: 190px;
  height: 190px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  border: 4px solid rgba(13,110,253,0.18);
  box-shadow: 0 16px 40px rgba(0,0,0,.10);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  cursor: pointer;
}

.team-avatar-btn:hover .team-avatar{
  transform: translateY(-2px);
  box-shadow: 0 20px 55px rgba(0,0,0,.14);
  border-color: rgba(13,110,253,0.35);
}

.team-name{
  margin-top: 1rem;
  margin-bottom: .25rem;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.2rem;
}

.team-title2{
  color: rgba(0,0,0,.60);
  font-weight: 600;
  font-size: .95rem;
}

/* Smaller circles on mobile */
@media (max-width: 767.98px){
  .team-avatar{
    width: 150px;
    height: 150px;
  }
}