/* Global dark theme for Noah Stromberg portfolio site */
/* Base colors align with Bootstrap dark palette */

html, body {
  background-color: #212529; /* bg-dark */
  color: #f8f9fa;            /* text-light */
}

/* Links with good contrast on dark */
a { color: #e9ecef; text-decoration-color: rgba(233,236,239,.5); }
a:hover { color: #ffffff; text-decoration-color: rgba(255,255,255,.7); }

/* Subtle borders on dark */
.border-top { border-top-color: rgba(255,255,255,.15) !important; }
hr { border-color: rgba(255,255,255,.15); }

/* Default card styling: dark body with light text */
.card {
  background-color: #2b3035; /* dark gray */
  color: #f8f9fa;            /* light text */
  border-color: rgba(255,255,255,.12);
}
.card .badge { color: inherit; }

/* Utility class for dark sections with gentle rounding/padding */
.section-dark {
  background-color: #212529;
  color: #f8f9fa;
  border-radius: .75rem;
  padding: 1rem 1rem 1.25rem;
}

/* Hero banner uses site-wide office banner image */
.hero {
  background-image: url('/img/Office-Banner.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
}
/* Ensure headshot sits above and centered in hero */
.hero .avatar {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/* Readability panel for hero text */
.hero .hero-caption {
  display: inline-block;
  background-color: rgba(33, 37, 41, 0.6); /* semi-transparent dark gray */
  color: #f8f9fa;
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.3);
}
@supports ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
  .hero .hero-caption {
    -webkit-backdrop-filter: blur(2px) saturate(110%);
    backdrop-filter: blur(2px) saturate(110%);
  }
}
@media (max-width: 576px) {
  .hero .hero-caption { padding: .75rem 1rem; }
}

/* Interactive hover effect for project panels (shared) */
.card.hover-raise {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  will-change: transform;
}
.card.hover-raise:hover,
.card.hover-raise:focus-within {
  box-shadow: 0 1rem 2rem rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08) inset;
  background-color: #32373c;
}
@media (hover: hover) {
  .card.hover-raise:hover,
  .card.hover-raise:focus-within { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
  .card.hover-raise { transition: box-shadow .2s ease; }
  .card.hover-raise:hover,
  .card.hover-raise:focus-within { transform: none; }
}

/* Larger tap targets for small screens */
@media (max-width: 576px) {
  .btn.btn-sm {
    padding: .5rem .85rem;
    font-size: .95rem;
    line-height: 1.25;
  }
}

/* While dragging the homepage projects scroller, prevent text selection */
.projects-scroller.dragging,
.projects-scroller.dragging * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
