/* ── Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500&family=Space+Mono:wght@700&display=swap');

/* ── Body ── */
body {
  background-color: #f7f3ee !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  color: #5a4535 !important;
  line-height: 1.75 !important;
  overflow-x: hidden !important;
}
a { color: #c07840 !important; }
a:hover { color: #2a1e14 !important; text-decoration: none !important; }

/* ── Headings ── */
h1, h2, h3, h4, h5, h6,
.entry-title, .site-title, .page-title {
  font-family: 'DM Serif Display', serif !important;
  color: #2a1e14 !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

/* ── Header ── */
.site-header, #masthead {
  background-color: #2a1e14 !important;
  border-bottom: none !important;
}
.site-title a {
  color: #f5ede3 !important;
  font-family: 'DM Serif Display', serif !important;
}
.main-navigation a {
  color: #b09070 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
}
.main-navigation a:hover { color: #f5ede3 !important; }

/* ── Homepage ── */
.home .tr-page {
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  width: 100% !important;
}
.home .entry-content,
.home .page .entry-content {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  box-shadow: none !important;
}
.home #primary,
.home .content-area,
.home .site-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.home .site-content { max-width: 100% !important; padding: 0 !important; }
.home .entry-title { display: none !important; }

/* ── Hide sidebar globally ── */
#secondary, .widget-area { display: none !important; }

/* ── Buttons ── */
.tr-about-btn,
.tr-about-btn:link,
.tr-about-btn:visited {
  background: #c07840 !important;
  color: #ffffff !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.tr-ap-cta-btn,
.tr-ap-cta-btn:link,
.tr-ap-cta-btn:visited { color: #ffffff !important; }
.tr-about-btn:hover,
.tr-ap-cta-btn:hover { background: #a06030 !important; color: #fff !important; }

/* ── Blog page ── */
.blog .site-content,
.archive .site-content {
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 40px 32px !important;
}
.blog #primary,
.archive #primary {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
}
.blog .page-header,
.archive .page-header {
  margin-bottom: 32px !important;
  padding-bottom: 20px !important;
  border-bottom: 1px solid #e0d8ce !important;
}
.blog .entry-hero,
.blog .kadence-title-area,
.blog .site-above-title-wrap,
.archive .entry-hero,
.archive .kadence-title-area { display: none !important; }

/* ── Blog post cards ── */
.blog article.post,
.archive article.post {
  background: #ffffff !important;
  border-radius: 12px !important;
  border: 1px solid #e0d8ce !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 240px 1fr !important;
  align-items: stretch !important;
  min-height: 180px !important;
}
.blog article .post-thumbnail,
.archive article .post-thumbnail {
  margin: 0 !important;
  padding: 0 !important;
  grid-row: 1 / -1 !important;
}
.blog article .post-thumbnail img,
.archive article .post-thumbnail img {
  width: 240px !important;
  height: 100% !important;
  min-height: 180px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}
.blog article .entry-header,
.archive article .entry-header {
  padding: 20px 24px 6px !important;
  background: transparent !important;
  min-height: unset !important;
}
.blog article .entry-title,
.archive article .entry-title {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  margin-bottom: 0 !important;
}
.blog article .entry-title a,
.archive article .entry-title a { color: #1c1309 !important; }
.blog article .entry-title a:hover,
.archive article .entry-title a:hover { color: #c07840 !important; }
.blog article .entry-meta,
.archive article .entry-meta {
  font-size: 11px !important;
  color: #a0836e !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding: 6px 24px !important;
}
.blog article .entry-summary,
.archive article .entry-summary {
  padding: 0 24px 20px !important;
  font-size: 14px !important;
  color: #7a6252 !important;
  line-height: 1.7 !important;
}
.blog .more-link,
.archive .more-link {
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  color: #c07840 !important;
  margin: 0 24px 20px !important;
  display: inline-block !important;
}
.blog .cat-links,
.archive .cat-links {
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
  color: #c07840 !important;
  padding: 16px 24px 0 !important;
  display: block !important;
}

/* ── Footer ── */
.site-footer, footer.site-footer {
  background-color: #2a1e14 !important;
  color: #b09070 !important;
  padding: 10px 32px !important;
  min-height: unset !important;
  height: auto !important;
  border-top: none !important;
}
.footer-bottom-wrap, .site-info-wrap { padding: 0 !important; margin: 0 !important; }
.site-info {
  font-size: 12px !important;
  color: #7a6252 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.site-info a[href*="kadencewp"],
.site-info a[href*="wordpress"],
.site-info .sep { display: none !important; }
.site-footer a { color: #c07840 !important; }

/* ── Remove Kadence page title banner ── */
.entry-hero,
.page-hero-section,
.entry-hero-layout-standard {
  display: none !important;
}

/* ── Home page article cards ── */
.tr-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}

.tr-card {
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid #e0d8ce !important;
  overflow: hidden !important;
  transition: transform 0.2s !important;
}
.tr-card:hover { transform: translateY(-3px) !important; }

.tr-card-img {
  height: 200px !important;
  background: #1c1309 !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: flex-end !important;
  padding: 14px !important;
}
.tr-card-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.tr-card-cat {
  position: relative !important;
  z-index: 1 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  background: rgba(247,243,238,0.15) !important;
  color: #f5ede3 !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(247,243,238,0.2) !important;
}
.tr-card-body { padding: 16px 18px 18px !important; }
.tr-card-date {
  font-size: 11px !important;
  color: #a0836e !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 8px !important;
}
.tr-card-title {
  font-family: 'DM Serif Display', serif !important;
  font-size: 18px !important;
  color: #1c1309 !important;
  line-height: 1.3 !important;
  margin-bottom: 8px !important;
}
.tr-card-title a { color: #1c1309 !important; text-decoration: none !important; }
.tr-card-title a:hover { color: #c07840 !important; }
.tr-card-excerpt {
  font-size: 13px !important;
  color: #7a6252 !important;
  line-height: 1.6 !important;
  margin-bottom: 12px !important;
}
.tr-card-tags { display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
.tr-card-tag {
  font-size: 10px !important;
  background: #f0e8de !important;
  color: #a0836e !important;
  padding: 3px 9px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .tr-cards { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
  .tr-cards { grid-template-columns: 1fr !important; }
}

/* ── Remove white gap before footer ── */
.home .site-content,
.home .site-main,
.home #primary,
.home .content-area,
.home .entry-content {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.home .tr-page {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.home .hentry,
.home .type-page,
.home article {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
/* ── Blog listing page ── */
.tr-blog {
  max-width: 960px !important;
  margin: 0 auto !important;
  padding: 48px 32px !important;
  font-family: 'DM Sans', sans-serif !important;
}

.tr-blog-header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 28px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #e0d8ce !important;
}

.tr-blog-title {
  font-family: 'DM Serif Display', serif !important;
  font-size: 28px !important;
  color: #1c1309 !important;
}

.tr-blog-count {
  font-size: 11px !important;
  color: #a0836e !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.tr-blog .tr-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .tr-blog .tr-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .tr-blog .tr-cards {
    grid-template-columns: 1fr !important;
  }
}