/* Modern fashion-inspired visual refresh for static Bergen Runners site */
:root {
  --mf-bg: #f7f3f0;
  --mf-surface: #ffffff;
  --mf-text: #1f1a17;
  --mf-muted: #726a65;
  --mf-accent: #b35a4d;
  --mf-accent-dark: #8e4339;
  --mf-line: #e8ded8;
  --mf-shadow: 0 12px 34px rgba(30, 19, 14, 0.1);
  --mf-radius: 16px;
}

html, body {
  background: var(--mf-bg) !important;
  color: var(--mf-text) !important;
}

body,
body p,
body li,
body span,
body a,
.description,
.card-description {
  font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif !important;
  color: var(--mf-text);
}

h1, h2, h3, h4, h5, h6,
.hestia-title,
.card-title,
.entry-title {
  font-family: "Karla", "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0.01em;
  color: #1a1512 !important;
}

.main-raised,
.card,
.card-blog,
.card-testimonial,
.widget,
.single-post-wrap,
.page-content-wrap {
  background: var(--mf-surface) !important;
  border: 1px solid var(--mf-line) !important;
  border-radius: var(--mf-radius) !important;
  box-shadow: var(--mf-shadow) !important;
}

.main-raised {
  margin-top: -36px !important;
}

.navbar,
.navbar.navbar-default,
.navbar:not(.navbar-transparent) {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 28px rgba(26, 19, 16, 0.08) !important;
}

.navbar .navbar-brand,
.navbar .navbar-nav > li > a {
  color: #221a16 !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.navbar .navbar-brand {
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  font-size: 1.05rem;
}

.navbar .navbar-nav > li > a {
  font-size: 12px !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.navbar .navbar-nav > li:not(.btn) > a::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  margin-top: 4px;
  background: var(--mf-accent);
  transition: width 0.2s ease;
}

.navbar .navbar-nav > li:not(.btn) > a:hover::after,
.navbar .navbar-nav > li.current-menu-item > a::after,
.navbar .navbar-nav > li.current_page_item > a::after {
  width: 100%;
}

.navbar .navbar-nav > li.current-menu-item > a,
.navbar .navbar-nav > li.current_page_item > a {
  color: var(--mf-accent) !important;
}

.navbar .navbar-nav > li > a:hover,
.navbar .navbar-brand:hover,
a:hover {
  color: var(--mf-accent) !important;
}

.header-filter::before {
  background: linear-gradient(130deg, rgba(17, 11, 8, 0.6), rgba(179, 90, 77, 0.32)) !important;
}

.page-header.header-small .hestia-title,
.carousel .hestia-title {
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.28) !important;
}

.btn,
button,
input[type="submit"],
input[type="button"],
.btn.btn-primary {
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: var(--mf-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(179, 90, 77, 0.28) !important;
  transition: all 0.2s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.btn.btn-primary:hover {
  background: var(--mf-accent-dark) !important;
  transform: translateY(-1px);
}

.entry-content a,
.entry-summary a,
.card-blog .card-title a {
  color: var(--mf-accent) !important;
}

.entry-content a:hover,
.entry-summary a:hover,
.card-blog .card-title a:hover {
  color: var(--mf-accent-dark) !important;
}

.card-blog .card-image img,
.post-thumbnail img,
.wp-post-image,
.card-avatar img {
  border-radius: 14px !important;
  transition: transform 0.28s ease, filter 0.28s ease;
}

.card-blog:hover .card-image img,
.post:hover .wp-post-image {
  transform: scale(1.02);
  filter: saturate(1.08);
}

.section {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

.pagination .nav-links .page-numbers,
.woocommerce-pagination .page-numbers {
  border-radius: 999px !important;
  border-color: var(--mf-line) !important;
  color: var(--mf-text) !important;
}

.pagination .nav-links .page-numbers.current,
.pagination .nav-links .page-numbers:hover {
  background: var(--mf-accent) !important;
  border-color: var(--mf-accent) !important;
  color: #fff !important;
}

footer.footer,
.footer-2,
.copyright-wrapper.footer {
  background: #16110f !important;
  color: #f7f0eb !important;
}

footer.footer .container,
.copyright-wrapper.footer .container {
  max-width: 1240px;
}

footer.footer .footer-big,
footer.footer .footer-block,
.copyright-wrapper.footer .footer-block {
  color: #f6ede8 !important;
}

footer.footer .footer-block {
  padding-top: 12px;
  padding-bottom: 12px;
}

.copyright-wrapper.footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-2 {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
  padding-bottom: 14px;
}

.footer-2 .copyright {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-2 .copyright p {
  color: #f0dfd8 !important;
}

.footer-menu,
.hestia-bottom-footer-content ul.footer-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.footer-menu li a,
.hestia-bottom-footer-content ul.footer-menu li a {
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(240, 197, 186, 0.36);
  color: #f7e5de !important;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-menu li a:hover,
.hestia-bottom-footer-content ul.footer-menu li a:hover {
  border-color: rgba(240, 197, 186, 0.85);
  background: rgba(240, 197, 186, 0.15);
}

footer a,
.footer a,
.copyright a {
  color: #f0c5ba !important;
}

input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select {
  background: #fff !important;
  border: 1px solid var(--mf-line) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
}

/* Homepage hero: stronger editorial composition */
body.home #primary.page-header.header-small {
  min-height: 62vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

body.home #primary.page-header.header-small .container {
  position: relative;
  z-index: 3;
  padding-top: 70px;
  padding-bottom: 70px;
}

body.home #primary.page-header.header-small .hestia-title {
  font-size: clamp(2.2rem, 5.6vw, 4.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase;
  color: #fff9f5 !important;
  text-shadow: 0 10px 40px rgba(8, 5, 4, 0.5) !important;
  margin-bottom: 18px !important;
}

body.home #primary.page-header.header-small .col-md-10.col-md-offset-1.text-center::after {
  content: "Bergen Runners Collective";
  display: inline-block;
  padding: 9px 18px;
  margin-top: 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.home #primary.page-header.header-small .header-filter {
  transform: scale(1.02);
}

body.home #primary.page-header.header-small .header-filter::before {
  background:
    radial-gradient(circle at 20% 22%, rgba(244, 182, 169, 0.22), transparent 36%),
    radial-gradient(circle at 80% 70%, rgba(236, 163, 149, 0.2), transparent 34%),
    linear-gradient(130deg, rgba(14, 10, 8, 0.68), rgba(179, 90, 77, 0.35)) !important;
}

/* Homepage card and CTA micro-polish */
body.home .main-raised {
  margin-top: -54px !important;
  padding-top: 12px;
}

body.home .hestia-blog-featured-posts {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}

body.home .hestia-blog-featured-card .card {
  border: 1px solid var(--mf-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 34px rgba(30, 19, 14, 0.12) !important;
  overflow: hidden;
}

body.home .hestia-blog-featured-card .card-body {
  padding: 28px 28px 26px !important;
}

body.home .hestia-blog-featured-card .category a {
  display: inline-block;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid #d8c7be;
  background: #f9f2ee;
  color: #7f3f35 !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

body.home .hestia-blog-featured-card .card-title {
  margin-top: 14px;
  margin-bottom: 12px;
  line-height: 1.2;
}

body.home .hestia-blog-featured-card .card-description {
  color: #4f4844 !important;
  line-height: 1.68;
}

body.home .hestia-blog-featured-card .btn.colored-button,
body.home .hestia-blog-featured-card a.btn.colored-button {
  margin-top: 14px;
  padding: 12px 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  background: linear-gradient(120deg, #b35a4d, #a24f43) !important;
  box-shadow: 0 12px 24px rgba(179, 90, 77, 0.3) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

body.home .hestia-blog-featured-card .btn.colored-button:hover,
body.home .hestia-blog-featured-card a.btn.colored-button:hover {
  background: linear-gradient(120deg, #96463b, #8a3f35) !important;
  transform: translateY(-1px);
}

body.home .hestia-blogs {
  padding-top: 36px !important;
}

body.home .hestia-blogs .card-blog {
  border-radius: 16px !important;
  overflow: hidden;
}

body.home .hestia-blogs .card-blog .card-image img {
  border-radius: 0 !important;
}

@media (max-width: 768px) {
  .main-raised {
    margin-top: -16px !important;
    border-radius: 14px !important;
  }

  .navbar .navbar-brand,
  .navbar .navbar-nav > li > a {
    letter-spacing: 0.02em;
  }

  .navbar .navbar-nav > li > a {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .navbar .navbar-nav > li:not(.btn) > a::after {
    display: none;
  }

  body.home #primary.page-header.header-small {
    min-height: 48vh;
  }

  body.home #primary.page-header.header-small .container {
    padding-top: 48px;
    padding-bottom: 44px;
  }

  body.home #primary.page-header.header-small .col-md-10.col-md-offset-1.text-center::after {
    font-size: 11px;
    letter-spacing: 0.1em;
    padding: 8px 14px;
  }

  body.home .main-raised {
    margin-top: -28px !important;
    padding-top: 8px;
  }

  body.home .hestia-blog-featured-card .card-body {
    padding: 20px 18px 20px !important;
  }

  .footer-menu,
  .hestia-bottom-footer-content ul.footer-menu {
    justify-content: center;
  }
}
