/*
Theme Name: GeneratePress Child - Journey Within
Template: generatepress
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap');

:root {
  --ink:    #0d0d0b;
  --paper:  #f5f0e8;
  --cream:  #ede8dc;
  --warm:   #faf7f2;
  --accent: #c8401a;
  --gold:   #d4a853;
  --mid:    #6b6458;
  --light:  #c4bdb0;
  --rule:   rgba(13,13,11,0.1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
}

/* ── SITE WIDTH ── */
.grid-container {
  max-width: 1280px !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* ── HEADER ── */
.site-header {
  background: rgba(245,240,232,.97) !important;
  border-bottom: 2px solid var(--ink) !important;
  padding: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 500 !important;
  box-shadow: 0 2px 20px rgba(13,13,11,.07) !important;
}
.site-header .grid-container {
  min-height: 64px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.site-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.site-title a { color: var(--ink) !important; text-decoration: none !important; }
.site-title a:hover { color: var(--accent) !important; }
.site-description {
  font-family: 'DM Mono', monospace !important;
  font-size: .55rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--mid) !important;
}
.custom-logo, .site-branding img {
  max-height: 42px !important;
  max-width: 160px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* ── NAV ── */
.main-navigation .main-nav ul li a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: .7rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--mid) !important;
  padding: .5rem .9rem !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a { color: var(--ink) !important; }
.main-navigation .main-nav ul ul {
  background: var(--warm) !important;
  border: 1px solid var(--rule) !important;
  border-top: 2px solid var(--accent) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.1) !important;
}
.main-navigation .main-nav ul ul li a {
  font-size: .72rem !important;
  color: var(--mid) !important;
  border-bottom: 1px solid var(--rule) !important;
}
.main-navigation .main-nav ul ul li a:hover { color: var(--accent) !important; background: var(--cream) !important; }

/* ── POST CARDS ── */
.blog .site-main,
.home .site-main,
.archive .site-main { padding: 2rem 0 !important; }

.blog article.post,
.home article.post,
.archive article.post {
  background: var(--warm) !important;
  border: 1px solid var(--rule) !important;
  border-left: 4px solid transparent !important;
  margin-bottom: 1.5rem !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  overflow: hidden !important;
  transition: border-color .25s, box-shadow .25s !important;
}
.blog article.post:hover,
.home article.post:hover,
.archive article.post:hover {
  border-left-color: var(--accent) !important;
  box-shadow: 0 4px 24px rgba(13,13,11,.09) !important;
}

/* Thumbnail */
.blog article .post-image,
.home article .post-image,
.archive article .post-image {
  flex-shrink: 0 !important;
  width: 260px !important;
  min-height: 190px !important;
  overflow: hidden !important;
  order: -1 !important;
}
.blog article .post-image a,
.home article .post-image a { display: block !important; width: 100% !important; height: 100% !important; }
.blog article .post-image img,
.home article .post-image img,
.archive article .post-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .5s !important;
}
.blog article:hover .post-image img,
.home article:hover .post-image img { transform: scale(1.04) !important; }

/* Content */
.blog article .inside-article,
.home article .inside-article,
.archive article .inside-article {
  padding: 1.6rem 2rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: .5rem !important;
  flex: 1 !important;
  min-width: 0 !important;
}

/* Category badge */
.blog .entry-meta .cat-links a,
.home .entry-meta .cat-links a,
.archive .entry-meta .cat-links a {
  font-family: 'DM Mono', monospace !important;
  font-size: .6rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  text-decoration: none !important;
}

/* Title */
.blog .entry-title,
.home .entry-title,
.archive .entry-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.blog .entry-title a,
.home .entry-title a,
.archive .entry-title a { color: var(--ink) !important; text-decoration: none !important; transition: color .2s !important; }
.blog .entry-title a:hover,
.home .entry-title a:hover { color: var(--accent) !important; }

/* Meta */
.blog .entry-meta,
.home .entry-meta,
.archive .entry-meta {
  font-family: 'DM Mono', monospace !important;
  font-size: .6rem !important;
  letter-spacing: .06em !important;
  color: var(--light) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
  align-items: center !important;
}
.blog .entry-meta a,
.home .entry-meta a { color: var(--light) !important; text-decoration: none !important; }

/* Excerpt */
.blog .entry-summary p,
.home .entry-summary p,
.archive .entry-summary p {
  font-size: .88rem !important;
  color: var(--mid) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Read more */
.blog a.more-link,
.home a.more-link,
.archive a.more-link {
  font-family: 'DM Mono', monospace !important;
  font-size: .62rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  text-decoration: none !important;
  margin-top: .3rem !important;
  display: inline-block !important;
  transition: letter-spacing .2s !important;
}
.blog a.more-link::after,
.home a.more-link::after { content: ' →' !important; }
.blog a.more-link:hover { letter-spacing: .14em !important; }

/* Pagination */
.pagination .page-numbers, .nav-links .page-numbers {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 36px !important; height: 36px !important; padding: 0 .5rem !important;
  border: 1px solid var(--rule) !important; font-family: 'DM Mono', monospace !important;
  font-size: .7rem !important; text-decoration: none !important; color: var(--mid) !important;
  transition: all .2s !important; background: none !important;
}
.pagination .page-numbers:hover { border-color: var(--ink) !important; color: var(--ink) !important; }
.pagination .page-numbers.current { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }

/* ── SINGLE POST ── */
.single .entry-header {
  background: var(--ink) !important;
  color: var(--paper) !important;
  padding: 3rem 2rem 2.5rem !important;
  margin-bottom: 0 !important;
}
.single .entry-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(1.8rem, 4vw, 3rem) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  color: var(--paper) !important;
  margin: .8rem 0 1rem !important;
}
.single .entry-meta {
  font-family: 'DM Mono', monospace !important;
  font-size: .63rem !important;
  color: rgba(245,240,232,.45) !important;
  letter-spacing: .06em !important;
  display: flex !important; flex-wrap: wrap !important; gap: .5rem !important; align-items: center !important;
}
.single .entry-meta a { color: rgba(245,240,232,.6) !important; text-decoration: none !important; }
.single .entry-meta .cat-links a {
  background: var(--accent) !important; color: #fff !important;
  padding: .2rem .7rem !important; font-size: .58rem !important;
  letter-spacing: .1em !important; text-transform: uppercase !important;
}
.single .featured-image img, .single .post-image img {
  width: 100% !important; max-height: 500px !important;
  object-fit: cover !important; display: block !important;
}
.single .entry-content {
  max-width: 740px !important; margin: 0 auto !important; padding: 2.5rem 1.5rem !important;
}
.single .entry-content p { font-size: 1.02rem !important; line-height: 1.88 !important; margin-bottom: 1.4rem !important; color: #1a1a17 !important; }
.single .entry-content h2 { font-family: 'Playfair Display', serif !important; font-size: 1.65rem !important; font-weight: 700 !important; margin: 2.8rem 0 .9rem !important; color: var(--ink) !important; }
.single .entry-content h3 { font-family: 'Playfair Display', serif !important; font-size: 1.2rem !important; font-weight: 700 !important; margin: 2rem 0 .7rem !important; }
.single .entry-content blockquote { border-left: 3px solid var(--accent) !important; padding: .4rem 0 .4rem 1.5rem !important; margin: 2rem 0 !important; font-style: italic !important; color: var(--mid) !important; background: none !important; }
.single .entry-content a { color: var(--accent) !important; text-decoration: underline !important; }
.single .entry-content ul, .single .entry-content ol { margin: .8rem 0 1.5rem 1.5rem !important; }
.single .entry-content li { font-size: .98rem !important; line-height: 1.75 !important; margin-bottom: .4rem !important; }
.single .entry-content strong { color: var(--ink) !important; font-weight: 600 !important; }
.single .entry-footer {
  max-width: 740px !important; margin: 0 auto !important; padding: .8rem 1.5rem 2rem !important;
  font-family: 'DM Mono', monospace !important; font-size: .63rem !important;
  color: var(--light) !important; border-top: 1px solid var(--rule) !important;
  display: flex !important; flex-wrap: wrap !important; gap: .3rem !important;
}
.single .entry-footer a { color: var(--mid) !important; text-decoration: none !important; border: 1px solid var(--rule) !important; padding: .15rem .6rem !important; transition: all .2s !important; display: inline-block !important; }
.single .entry-footer a:hover { border-color: var(--accent) !important; color: var(--accent) !important; }

/* Post nav */
.post-navigation { border-top: 1px solid var(--rule) !important; max-width: 740px !important; margin: 0 auto 3rem !important; display: grid !important; grid-template-columns: 1fr 1fr !important; }
.post-navigation .nav-previous, .post-navigation .nav-next { padding: 1.3rem 1rem !important; }
.post-navigation .nav-next { border-left: 1px solid var(--rule) !important; text-align: right !important; }
.post-navigation a { font-family: 'Playfair Display', serif !important; font-size: .9rem !important; font-weight: 700 !important; color: var(--ink) !important; text-decoration: none !important; transition: color .2s !important; }
.post-navigation a:hover { color: var(--accent) !important; }

/* ── ARCHIVE HEADER ── */
.archive .page-header, .category .page-header, .tag .page-header {
  background: var(--ink) !important; color: var(--paper) !important;
  padding: 3rem 2rem 2.5rem !important; margin-bottom: 2rem !important;
}
.archive .page-title, .category .page-title, .tag .page-title {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  font-weight: 900 !important; color: var(--paper) !important; margin: 0 !important;
}

/* ── FOOTER ── */
.site-footer {
  background: var(--ink) !important; color: rgba(245,240,232,.5) !important;
  border-top: none !important; margin-top: 3rem !important; padding: 2.5rem 0 1.2rem !important;
}
.site-footer .site-info {
  font-family: 'DM Mono', monospace !important; font-size: .6rem !important;
  color: rgba(245,240,232,.25) !important; text-align: center !important;
}
.site-footer .site-info a { color: rgba(245,240,232,.4) !important; text-decoration: none !important; }
.site-footer .site-info a:hover { color: var(--paper) !important; }
.footer-widget-area .widget { background: transparent !important; border: none !important; padding: 0 0 1.5rem !important; }
.footer-widget-area .widget-title {
  font-family: 'DM Mono', monospace !important; font-size: .58rem !important;
  letter-spacing: .15em !important; text-transform: uppercase !important;
  color: var(--accent) !important; border-bottom: 1px solid rgba(255,255,255,.08) !important;
  padding-bottom: .5rem !important; margin-bottom: .8rem !important;
}
.footer-widget-area .widget ul li { border-bottom: 1px solid rgba(255,255,255,.05) !important; padding: .4rem 0 !important; }
.footer-widget-area .widget ul li a { color: rgba(245,240,232,.4) !important; font-size: .82rem !important; text-decoration: none !important; }
.footer-widget-area .widget ul li a:hover { color: var(--paper) !important; }

/* ── MOBILE ── */
@media (max-width: 768px) {
  .blog article.post, .home article.post, .archive article.post { flex-direction: column !important; }
  .blog article .post-image, .home article .post-image, .archive article .post-image { width: 100% !important; height: 200px !important; min-height: unset !important; }
  .blog article .inside-article, .home article .inside-article { padding: 1.2rem 1.3rem !important; }
  .single .entry-header { padding: 2rem 1.2rem 1.8rem !important; }
  .single .entry-content { padding: 2rem 1.2rem !important; max-width: 100% !important; }
  .post-navigation { grid-template-columns: 1fr !important; }
  .post-navigation .nav-next { border-left: none !important; border-top: 1px solid var(--rule) !important; text-align: left !important; }
  .grid-container { padding-left: 1rem !important; padding-right: 1rem !important; }
}
.site-branding { display: flex !important; align-items: center !important; }
.site-title { display: block !important; visibility: visible !important; font-family: 'Playfair Display', serif !important; font-size: 1.25rem !important; font-weight: 900 !important; }
.site-title a { color: var(--ink) !important; text-decoration: none !important; }
.has-custom-logo .site-title { clip: unset !important; position: relative !important; width: auto !important; height: auto !important; overflow: visible !important; }
.slideout-toggle, #mobile-menu { display: none !important; }
.blog article .post-image, .home article .post-image { flex-shrink: 0 !important; width: 240px !important; height: 180px !important; min-height: unset !important; overflow: hidden !important; }
.blog article .post-image img, .home article .post-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
/* Header site name fix */
.site-header .inside-header { display:flex !important; align-items:center !important; justify-content:space-between !important; padding:0 1.5rem !important; min-height:64px !important; }
.site-branding { display:flex !important; flex-direction:column !important; justify-content:center !important; }
.site-title { font-family:'Playfair Display',serif !important; font-size:1.2rem !important; font-weight:900 !important; line-height:1 !important; margin:0 !important; padding:0 !important; clip:unset !important; position:static !important; width:auto !important; height:auto !important; overflow:visible !important; }
.site-title a { color:#0d0d0b !important; text-decoration:none !important; }
.site-description { display:none !important; }

/* Fix card layout - image left, content right */
.blog article, .home article, .archive article { display:flex !important; flex-direction:row !important; align-items:stretch !important; overflow:hidden !important; }
.blog article .inside-article, .home article .inside-article { display:flex !important; flex-direction:column !important; flex:1 !important; padding:1.5rem !important; }
.blog article .inside-article .post-image, .home article .inside-article .post-image { order:-1 !important; margin:-1.5rem -1.5rem 1rem -1.5rem !important; width:calc(100% + 3rem) !important; }
.generate-columns-container .inside-article .post-image { width:220px !important; min-height:160px !important; margin:0 !important; flex-shrink:0 !important; }