/* ============================================================
   Tim Taking Trips — custom theme overrides for Bootstrap 5
   ============================================================ */

:root {
  --ttt-green:      #243d28;
  --ttt-green-dark: #172819;
  --ttt-amber:      #e07b39;
  --ttt-amber-dark: #c0662c;
  --ttt-bg:         #faf8f5;
  --ttt-text:       #2c2c2c;
}

/* Base */
body {
  background-color: var(--ttt-bg);
  color: var(--ttt-text);
}

/* Navbar */
.ttt-navbar {
  background-color: var(--ttt-green) !important;
}

/* Buttons & badges */
.ttt-btn {
  background-color: var(--ttt-green);
  border-color: var(--ttt-green);
  color: #fff;
}
.ttt-btn:hover,
.ttt-btn:focus {
  background-color: var(--ttt-green-dark);
  border-color: var(--ttt-green-dark);
  color: #fff;
}

.ttt-badge {
  background-color: var(--ttt-green);
  color: #fff;
}

.ttt-tag-badge {
  background-color: var(--ttt-amber);
  color: #fff;
}
.ttt-tag-badge:hover {
  background-color: var(--ttt-amber-dark);
  color: #fff;
}

/* Links */
.ttt-link {
  color: var(--ttt-green);
}
.ttt-link:hover {
  color: var(--ttt-amber);
}

/* Article cards */
.article-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.article-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.12) !important;
}

/* Article body typography */
.article-content {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.05rem;
  line-height: 1.85;
}
.article-content h2,
.article-content h3 {
  font-family: inherit;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: var(--ttt-green);
}
.article-content a {
  color: var(--ttt-green);
}
.article-content a:hover {
  color: var(--ttt-amber);
}


/* Hero banner */
.ttt-hero {
  background-size: cover;
  background-position: center 40%;
  background-repeat: no-repeat;
  min-height: 380px;
  display: flex;
  align-items: flex-end;
}

.ttt-hero-overlay {
  width: 100%;
  padding: 2.5rem 2rem;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 100%);
  color: #fff;
}

.ttt-hero-overlay .lead {
  color: rgba(255,255,255,0.88);
  max-width: 600px;
}

/* Profile image (About page) */
.ttt-profile {
  width: 180px;
  height: 180px;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
  border: 4px solid var(--ttt-green);
}


/* Facebook Page Plugin — clip the broken plugin header */
.fb-page-wrapper {
  overflow: hidden;
}
.fb-page-wrapper .fb-page {
  margin-top: -72px;
}

/* Map page */
.map-page-wrapper {
  display: flex;
  flex-direction: column;
}

.map-col {
  height: 55vw;
  min-height: 320px;
}

#map {
  height: 100%;
  width: 100%;
}

.map-sidebar {
  overflow-y: auto;
  max-height: 60vh;
  border-top: 1px solid #dee2e6;
}

@media (min-width: 992px) {
  .map-page-wrapper {
    flex-direction: row;
    height: calc(100vh - 56px);
  }
  .map-col {
    flex: 0 0 66.666%;
    height: 100%;
    min-height: 0;
  }
  .map-sidebar {
    flex: 0 0 33.333%;
    max-height: none;
    height: 100%;
    border-top: none;
    border-left: 1px solid #dee2e6;
  }
}

.location-list-item {
  cursor: pointer;
  transition: background-color 0.15s;
}
.location-list-item:hover {
  background-color: #f0f4f0;
}
