/* Balkan Guide blog index alignment v1
   Purpose: make blog/index.html use the current homepage/hub editorial
   language while preserving its content, filter behavior, and links. */
:root {
  --blog-paper: #eee7db;
  --blog-ink: #273a35;
  --blog-muted: #63716a;
  --blog-rule: #cbbfac;
  --blog-rust: #b85d3f;
  --blog-gold: #d79a62;
  --blog-forest: #2d4d4b;
  --blog-cream: #f4eee3;
}

body {
  background: var(--blog-paper) !important;
  color: var(--blog-ink) !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

.site-header {
  background: #1f2926 !important;
  border-bottom: 3px solid var(--blog-rust) !important;
}

.site-header .site-title {
  color: var(--blog-cream) !important;
  -webkit-text-fill-color: var(--blog-cream) !important;
}

.site-header .site-subtitle,
.breadcrumb,
.breadcrumb a,
.breadcrumb .current {
  color: rgba(244, 238, 227, .68) !important;
}

.main-container {
  max-width: 1240px !important;
  padding: 0 2rem 4rem !important;
}

/* Hero band — mirrors the planning hub / practical hero treatment */
.blog-header {
  margin: 0 auto !important;
  padding: clamp(4rem, 10vw, 7rem) clamp(1.5rem, 7vw, 5rem) !important;
  text-align: left !important;
  border: 0 !important;
  border-top: 3px solid var(--blog-rust) !important;
  border-radius: 0 !important;
  background: var(--blog-forest) !important;
  box-shadow: none !important;
}

.blog-header .hero-title {
  color: #f8f2e8 !important;
  -webkit-text-fill-color: #f8f2e8 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 500 !important;
}

.blog-header p {
  color: rgba(248, 242, 232, .82) !important;
  font-size: 1.05rem !important;
  line-height: 1.75 !important;
  margin: 1rem 0 0 !important;
  max-width: 650px !important;
}

/* Curated intro — paper with the editorial kicker + serif H1 */
.blog-editorial-intro {
  max-width: 1240px !important;
  margin: 0 auto 2.5rem !important;
  padding: 2.5rem 0 2rem !important;
  border-top: 1px solid var(--blog-rule) !important;
  border-bottom: 1px solid var(--blog-rule) !important;
}

.blog-editorial-intro .editorial-kicker {
  color: var(--blog-rust) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.blog-editorial-intro h1 {
  margin: .4rem 0 .8rem !important;
  max-width: 760px !important;
  color: var(--blog-ink) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.3rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
  line-height: 1.05 !important;
}

.blog-editorial-intro p {
  max-width: 680px !important;
  color: var(--blog-muted) !important;
  line-height: 1.75 !important;
}

.blog-start-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem 1.5rem !important;
  margin-top: 1.25rem !important;
}

.blog-start-links a {
  color: var(--blog-rust) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.blog-start-links a:hover,
.blog-start-links a:focus-visible {
  text-decoration: underline !important;
}

/* Filter — flat editorial buttons instead of dark pills */
.blog-filter {
  justify-content: flex-start !important;
  gap: 8px !important;
  max-width: 1240px !important;
  margin: 0 auto 2.5rem !important;
  padding: 0 !important;
}

.blog-filter button {
  border: 1px solid var(--blog-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--blog-ink) !important;
  padding: 9px 16px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

.blog-filter button:hover,
.blog-filter button:focus-visible {
  background: var(--blog-rust) !important;
  border-color: var(--blog-rust) !important;
  color: #fff8ee !important;
}

.blog-filter button.active {
  background: var(--blog-rust) !important;
  border-color: var(--blog-rust) !important;
  color: #fff8ee !important;
}

/* JS-generated shelves */
.blog-shelf {
  max-width: 1240px !important;
  margin: 0 auto 3.5rem !important;
  padding: 0 !important;
}

.blog-shelf[hidden] {
  display: none !important;
}

.blog-shelf-heading {
  align-items: baseline !important;
  border-bottom: 1px solid var(--blog-rule) !important;
  margin-bottom: 1rem !important;
  padding-bottom: .7rem !important;
}

.blog-shelf-heading .editorial-kicker {
  color: var(--blog-rust) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
}

.blog-shelf-heading h2 {
  color: var(--blog-ink) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(1.7rem, 3vw, 2.5rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em !important;
}

.blog-shelf-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.4rem !important;
}

/* Cards — flat editorial tiles, no glass, no gradients */
.blog-card {
  background: #f7f1e7 !important;
  border: 1px solid #cfc5b6 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color .2s ease, transform .2s ease !important;
}

.blog-card:hover,
.blog-card:focus-visible {
  transform: translateY(-3px) !important;
  border-color: var(--blog-rust) !important;
  box-shadow: none !important;
}

.blog-card-featured {
  border-color: var(--blog-rust) !important;
}

.blog-card-body {
  padding: 1.4rem 1.4rem 1.5rem !important;
}

.blog-card-category {
  display: inline-block !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--blog-rust) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  margin-bottom: .7rem !important;
}

.blog-card h3 {
  color: var(--blog-ink) !important;
  background: none !important;
  -webkit-text-fill-color: var(--blog-ink) !important;
  background-clip: border-box !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  margin-bottom: .55rem !important;
}

.blog-card-featured h3 {
  font-size: 1.4rem !important;
}

.blog-card-excerpt {
  color: var(--blog-muted) !important;
  font-size: .9rem !important;
  line-height: 1.65 !important;
  margin-bottom: .9rem !important;
}

.blog-card-meta {
  color: #8b8376 !important;
  font-size: .75rem !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

/* Shared lower-page finish */
.email-signup-section {
  background: var(--blog-forest) !important;
  border-radius: 0 !important;
  border-top: 3px solid var(--blog-rust) !important;
  border-bottom: 0 !important;
}

.email-signup-inner h3 {
  color: var(--blog-cream) !important;
  -webkit-text-fill-color: var(--blog-cream) !important;
}

.email-signup-inner p {
  color: rgba(244, 238, 227, .75) !important;
}

.email-input-group input {
  background: #fff8ee !important;
  border-color: transparent !important;
}

.email-signup-form button,
.email-input-group button {
  background: var(--blog-gold) !important;
  border-color: var(--blog-gold) !important;
  color: #1f2926 !important;
}

.site-footer {
  border-top: 1px solid var(--blog-rule) !important;
  color: #718078 !important;
}

.site-footer a {
  color: var(--blog-rust) !important;
}

@media (max-width: 768px) {
  .main-container {
    padding: 0 1.5rem 4rem !important;
  }

  .blog-header {
    margin: 0 -1.5rem !important;
  }

  .blog-shelf-grid {
    grid-template-columns: 1fr !important;
  }

  .blog-shelf-heading {
    display: flex !important;
  }
}

@media (max-width: 540px) {
  .main-container {
    padding: 0 1.25rem 3.5rem !important;
  }

  .blog-header {
    margin: 0 -1.25rem !important;
  }
}
