/*
Theme Name:  Ilora Journal
Theme URI:   https://ilora-retreats.com/journal
Author:      Ilora Retreats
Author URI:  https://ilora-retreats.com
Description: Custom journal theme for Ilora Retreats. Built to match the Ilora brand system exactly — Raleway only, brand colour palette, no page builder, no bloat.
Version:     1.9
License:     Private
Text Domain: ilora-journal
*/


*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --ivory:    #F5F2ED;
  --charcoal: #2B2A28;
  --taupe:    #B6A99A;
  --sand:     #D8CBB9;
  --gold:     #C9B37E;
  --white:    #FFFFFF;
  --smoke:    #7A706A;
  --rule:     rgba(182,169,154,0.25);
  --text:     #3A3230;
}
html { scroll-behavior: smooth; overflow-x: hidden; }
body { background: var(--ivory); color: var(--charcoal); font-family: 'Raleway', sans-serif; font-weight: 200; overflow-x: hidden; }

/* ─── NAV (image logo, matches static header) ─── */
:root {
  --ivory:    #F5F2ED;
  --charcoal: #2B2A28;
  --taupe:    #B6A99A;
  --sand:     #D8CBB9;
  --gold:     #C9B37E;
  --smoke:    #7A706A;
  --rule:     rgba(182,169,154,0.25);
}

nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: rgba(43,42,40,0.85);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 64px;
  transition: background 0.5s, padding 0.4s, border-color 0.5s;
  border-bottom: 1px solid transparent;
}
nav.scrolled {
  background: rgba(43,42,40,0.97);
  padding: 14px 64px;
  border-bottom: 1px solid var(--rule);
  backdrop-filter: blur(16px);
}

/* Logo image */
.nav-logo { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.nav-logo img {
  height: 42px;
  width: auto;
  /* logo is grey — invert to white on dark hero */
  filter: brightness(0) invert(1);
  opacity: 0.88;
  transition: filter 0.4s, opacity 0.4s;
}
nav.scrolled .nav-logo img {
  filter: brightness(0) invert(1);
  opacity: 1;
}

/* Nav links */
.nav-links {
  display: flex;
  gap: 32px;
  list-style: none;
  align-items: center;
}
.nav-links > li > a {
  font-family: "Raleway", sans-serif;
  font-weight: 200;
  font-size: 9.5px;
  letter-spacing: 0.3em;
  color: rgba(245,242,237,0.75);
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s;
  padding: 6px 0;
  display: block;
}
nav.scrolled .nav-links > li > a { color: rgba(245,242,237,0.75); }
.nav-links > li > a:hover,
nav.scrolled .nav-links > li > a:hover { color: var(--ivory); }

/* CTA button */
.nav-cta {
  font-family: "Raleway", sans-serif;
  font-weight: 200;
  font-size: 9.5px;
  letter-spacing: 0.3em;
  color: #EDE9E2;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid rgba(245,242,237,0.4);
  padding: 11px 26px;
  transition: all 0.25s;
  flex-shrink: 0;
}
nav.scrolled .nav-cta { color: #EDE9E2; border-color: rgba(245,242,237,0.4); }
.nav-cta:hover, nav.scrolled .nav-cta:hover {
  background: var(--gold); color: var(--charcoal); border-color: var(--gold);
}

/* Hamburger */
.mobile-menu-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.mobile-menu-btn span {
  display: block;
  width: 22px;
  height: 1px;
  background: rgba(245,242,237,0.85);
  transition: background 0.3s;
}
nav.scrolled .mobile-menu-btn span { background: rgba(245,242,237,0.85); }

/* Mobile drawer */
.mobile-nav {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--charcoal);
  z-index: 200;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 36px;
  text-align: center;
}
.mobile-nav.open { display: flex; }

.mobile-nav-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 28px;
  border-bottom: 1px solid rgba(182,169,154,0.12);
}
.mobile-nav-header img {
  height: 28px;
  width: auto;
  opacity: 0.7;
}
.mobile-nav-close {
  background: none;
  border: none;
  cursor: pointer;
  font-family: "Raleway", sans-serif;
  font-weight: 100;
  font-size: 8px;
  letter-spacing: 0.42em;
  color: var(--smoke);
  text-transform: uppercase;
}
.mobile-nav a {
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  font-size: 28px;
  color: #EDE9E2;
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: color 0.2s;
}
.mobile-nav a:hover { color: var(--sand); }
.mobile-nav-enquire {
  font-size: 9px !important;
  font-weight: 200 !important;
  letter-spacing: 0.42em !important;
  border: 1px solid rgba(201,179,126,0.4) !important;
  padding: 13px 40px;
  margin-top: 8px;
  color: var(--sand) !important;
}

/* ─── HERO ─── */
.hero { position: relative; height: 100vh; min-height: 700px; overflow: hidden; display: flex; align-items: flex-end; padding: 0 120px 80px; }
.hero-bg { position: absolute; inset: 0; background-image: url('img/journal-cover.jpg'); background-size: cover; background-position: center 35%; transform: scale(1.05); transition: transform 10s cubic-bezier(0.25,0.46,0.45,0.94); }
.hero-bg.loaded { transform: scale(1); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(43,42,40,0.05) 0%, rgba(43,42,40,0.3) 40%, rgba(43,42,40,0.82) 100%); }
.hero-content { position: relative; z-index: 2; max-width: 680px; }
.hero-eyebrow { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 8px; letter-spacing: 0.55em; color: var(--sand); text-transform: uppercase; margin-bottom: 20px; display: flex; align-items: center; gap: 18px; }
.hero-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--gold); flex-shrink: 0; }
.hero-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 80px; line-height: 1.0; color: var(--ivory); letter-spacing: 0.05em; margin-bottom: 16px; }
.hero-title em { font-style: italic; color: var(--sand); }
.hero-sub { font-family: 'Raleway', sans-serif; font-weight: 200; font-style: italic; font-size: 18px; line-height: 1.7; color: rgba(216,203,185,0.75); max-width: 480px; margin-bottom: 48px; }
.hero-scroll { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.44em; color: rgba(182,169,154,0.5); text-transform: uppercase; }

/* ─── FILTER BAR ─── */
.filter-bar { background: var(--ivory); padding: 56px 120px; display: flex; flex-direction: column; align-items: flex-start; gap: 0; border-bottom: 1px solid var(--rule); border-top: 1px solid var(--rule); }
.filter-bar::-webkit-scrollbar { display: none; }
.filter-bar-label { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.52em; color: var(--smoke); text-transform: uppercase; margin-bottom: 24px; display: flex; align-items: center; gap: 14px; }
.filter-bar-label::before { content: ''; width: 24px; height: 1px; background: var(--taupe); }
.filter-bar-heading { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 36px; color: var(--charcoal); letter-spacing: 0.05em; margin-bottom: 32px; line-height: 1.1; }
.filter-bar-heading em { font-style: italic; color: var(--smoke); }
.filter-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.filter-item { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 11px; letter-spacing: 0.2em; color: var(--smoke); text-decoration: none; padding: 12px 24px; transition: all 0.2s; white-space: nowrap; cursor: pointer; background: none; border: 1px solid var(--rule); }
.filter-item:hover { color: var(--charcoal); border-color: var(--taupe); background: var(--white); }
.filter-item.active { color: var(--ivory); background: var(--charcoal); border-color: var(--charcoal); font-weight: 300; }

/* ─── FEATURED POST ─── */
.featured { display: grid; grid-template-columns: 60fr 40fr; min-height: 600px; text-decoration: none; }
.featured-img { overflow: hidden; position: relative; }
.featured-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.78) brightness(0.88); transition: transform 1.2s ease, filter 0.6s ease; }
.featured:hover .featured-img img { transform: scale(1.04); filter: saturate(0.85) brightness(0.8); }
.featured-img-label { position: absolute; top: 24px; left: 24px; font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 7px; letter-spacing: 0.44em; color: var(--ivory); text-transform: uppercase; background: var(--gold); padding: 5px 12px; }
.featured-content { background: var(--charcoal); padding: 72px 72px; display: flex; flex-direction: column; justify-content: center; }
.featured-eyebrow { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.52em; color: var(--gold); text-transform: uppercase; margin-bottom: 16px; display: flex; align-items: center; gap: 12px; }
.featured-eyebrow::before { content: ''; width: 18px; height: 1px; background: var(--gold); }
.featured-cat { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 9px; letter-spacing: 0.32em; color: var(--taupe); text-transform: uppercase; margin-bottom: 20px; }
.featured-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 36px; line-height: 1.15; color: var(--ivory); letter-spacing: 0.04em; margin-bottom: 20px; }
.featured-title em { font-style: italic; color: var(--sand); }
.featured-excerpt { font-family: 'Raleway', sans-serif; font-weight: 300; font-size: 14px; line-height: 1.85; color: var(--taupe); margin-bottom: 40px; flex: 1; }
.featured-meta { display: flex; align-items: center; justify-content: space-between; padding-top: 24px; border-top: 1px solid rgba(182,169,154,0.15); }
.featured-date { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 7.5px; letter-spacing: 0.36em; color: var(--taupe); text-transform: uppercase; }
.featured-read-link { display: inline-flex; align-items: center; gap: 10px; font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 8px; letter-spacing: 0.38em; color: var(--sand); text-transform: uppercase; transition: gap 0.25s; }
.featured-read-link::after { content: '→'; font-size: 13px; }
.featured:hover .featured-read-link { gap: 16px; }

/* ─── SECTION HEADER ─── */
.section-header { padding: 72px 120px 40px; display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--rule); background: var(--ivory); }
.section-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 40px; color: var(--charcoal); letter-spacing: 0.04em; }
.section-title em { font-style: italic; }
.section-count { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 7px; letter-spacing: 0.44em; color: var(--taupe); text-transform: uppercase; }

/* ─── POST GRID ─── */
.posts-grid-wrap { background: var(--ivory); padding: 56px 120px 100px; }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }

/* Card */
.post-card { display: flex; flex-direction: column; text-decoration: none; color: var(--charcoal); background: var(--white); position: relative; overflow: hidden; }
.post-card-img { overflow: hidden; aspect-ratio: 3/2; position: relative; }
.post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.75) brightness(0.9); transition: transform 0.9s ease, filter 0.5s ease; }
.post-card:hover .post-card-img img { transform: scale(1.06); filter: saturate(0.82) brightness(0.82); }
.post-card-cat-badge { position: absolute; bottom: 0; left: 0; font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 6.5px; letter-spacing: 0.44em; color: var(--charcoal); text-transform: uppercase; background: var(--gold); padding: 5px 12px; }
.post-card-body { padding: 28px 28px 24px; flex: 1; display: flex; flex-direction: column; border-top: 2px solid transparent; transition: border-color 0.3s; }
.post-card:hover .post-card-body { border-top-color: var(--gold); }
.post-card-title { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 18px; line-height: 1.35; color: var(--charcoal); letter-spacing: 0.03em; margin-bottom: 12px; flex: 1; }
.post-card-excerpt { font-family: 'Raleway', sans-serif; font-weight: 300; font-size: 13px; line-height: 1.8; color: var(--smoke); margin-bottom: 20px; }
.post-card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--rule); }
.post-card-date { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.36em; color: var(--taupe); text-transform: uppercase; }
.post-card-read { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.36em; color: var(--taupe); text-transform: uppercase; }
.post-card-arrow { font-size: 14px; color: var(--taupe); transition: color 0.2s, transform 0.2s; display: inline-block; }
.post-card:hover .post-card-arrow { color: var(--gold); transform: translateX(4px); }

/* ─── LOAD MORE ─── */
.load-more { text-align: center; margin-top: 56px; padding-top: 48px; border-top: 1px solid var(--rule); }
.load-more-btn { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 8px; letter-spacing: 0.44em; color: var(--charcoal); background: none; border: 1px solid var(--taupe); padding: 16px 48px; text-transform: uppercase; cursor: pointer; transition: all 0.25s; }
.load-more-btn:hover { background: var(--charcoal); color: var(--ivory); border-color: var(--charcoal); }

/* ─── NEWSLETTER + FOOTER (matches static footer) ─── */
:root {
  --ivory:    #F5F2ED;
  --charcoal: #2B2A28;
  --taupe:    #B6A99A;
  --sand:     #D8CBB9;
  --gold:     #C9B37E;
  --smoke:    #7A706A;
  --rule:     rgba(182,169,154,0.25);
}

/* ─── Newsletter band ─── */
.newsletter-band {
  background: var(--sand);
  padding: 80px 120px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  border-top: 1px solid var(--rule);
}
.newsletter-heading {
  font-family: "Raleway", sans-serif;
  font-weight: 100; font-style: italic;
  font-size: 26px; color: var(--charcoal);
  letter-spacing: 0.04em; margin-bottom: 10px;
}
.newsletter-sub {
  font-family: "Raleway", sans-serif;
  font-weight: 100; font-size: 7px;
  letter-spacing: 0.44em; color: var(--smoke);
  text-transform: uppercase;
}
.newsletter-form { display: flex; flex-shrink: 0; }
.newsletter-input {
  font-family: "Raleway", sans-serif;
  font-weight: 200; font-size: 8px;
  letter-spacing: 0.3em; color: var(--charcoal);
  background: #fff; border: none;
  padding: 14px 24px; width: 260px; outline: none;
}
.newsletter-input::placeholder { color: var(--smoke); letter-spacing: 0.3em; }
.newsletter-btn {
  font-family: "Raleway", sans-serif;
  font-weight: 200; font-size: 7px;
  letter-spacing: 0.42em; color: var(--ivory);
  background: var(--charcoal); border: none;
  padding: 18px 28px; text-transform: uppercase;
  cursor: pointer; transition: opacity 0.2s;
}
.newsletter-btn:hover { opacity: 0.8; }

/* ─── Footer shell ─── */
footer {
  background: #1A1917;
  border-top: 1px solid rgba(182,169,154,0.2);
  padding: 72px 96px 0;
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
  gap: 48px;
  align-items: start;
  text-align: center;
}

/* Col 1 — logo + tagline */
.footer-brand-col { display: flex; flex-direction: column; align-items: center; }
.footer-logo {
  width: 160px; height: auto;
  margin-bottom: 24px;
  /* grey logo on dark — lighten to sand */
  filter: brightness(1.4) saturate(0.4);
  opacity: 0.7;
}
.footer-tagline {
  font-family: "Raleway", sans-serif;
  font-weight: 200; font-style: italic;
  font-size: 13px; color: var(--taupe);
  line-height: 1.95; opacity: 0.85;
  max-width: 230px; margin: 0 auto;
}

/* Cols 2 & 3 — nav */
.footer-col-title {
  font-family: "Raleway", sans-serif;
  font-weight: 200; font-size: 7px;
  letter-spacing: 0.48em; color: var(--gold);
  text-transform: uppercase; margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(182,169,154,0.2);
}
.footer-links {
  list-style: none; padding: 0;
  display: flex; flex-direction: column; gap: 15px;
}
.footer-links a {
  font-family: "Raleway", sans-serif;
  font-weight: 200; font-size: 13.5px;
  color: rgba(182,169,154,0.6); text-decoration: none;
  transition: color 0.2s; letter-spacing: 0.01em;
}
.footer-links a:hover { color: var(--sand); }

/* Col 4 — connect */
.footer-connect-col { display: flex; flex-direction: column; align-items: center; }
.footer-contact-block { margin-bottom: 24px; }
.footer-contact-line {
  font-family: "Raleway", sans-serif;
  font-weight: 300; font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(216,203,185,0.78);
  line-height: 2.2;
}
.footer-contact-line a {
  color: rgba(216,203,185,0.78); text-decoration: none;
  transition: color 0.2s;
}
.footer-contact-line a:hover { color: var(--sand); }

/* Social icons */
.footer-social { display: flex; gap: 12px; align-items: center; justify-content: center; }
.social-icon {
  width: 42px; height: 42px;
  border: 1px solid rgba(182,169,154,0.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s;
}
.social-icon:hover {
  border-color: var(--gold);
  background: rgba(201,179,126,0.1);
}
.social-icon svg {
  width: 18px; height: 18px;
  fill: rgba(182,169,154,0.55);
  transition: fill 0.2s;
}
.social-icon:hover svg { fill: var(--gold); }

/* Footer bottom bar */
.footer-bottom {
  border-top: 1px solid rgba(182,169,154,0.15);
  margin: 60px -96px 0;
  padding: 22px 96px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-copy {
  font-family: "Raleway", sans-serif;
  font-weight: 300; font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(216,203,185,0.55);
}
.footer-legal { display: flex; gap: 28px; flex-wrap: wrap; }
.footer-legal a {
  font-family: "Raleway", sans-serif;
  font-weight: 300; font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(216,203,185,0.62);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-legal a:hover { color: var(--sand); }

/* ─── RESPONSIVE ─── */
@media (max-width: 1100px) {
  .hero { padding: 0 56px 72px; } .hero-title { font-size: 60px; }
  .filter-bar { padding: 48px 56px; }
  .filter-bar-heading { font-size: 28px; }
  .featured { grid-template-columns: 1fr; }
  .featured-img { min-height: 380px; }
  .featured-content { padding: 56px 56px; }
  .featured-title { font-size: 30px; }
  .section-header { padding: 56px 56px 32px; }
  .section-title { font-size: 32px; }
  .posts-grid-wrap { padding: 44px 56px 80px; }
  .posts-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .hero { padding: 0 28px 64px; min-height: 100svh; } .hero-title { font-size: 44px; } .hero-sub { font-size: 15px; }
  .filter-bar { padding: 40px 28px; }
  .filter-bar-heading { font-size: 24px; margin-bottom: 24px; }
  .filter-bar-label { margin-bottom: 16px; }
  .filter-item { font-size: 10.5px; padding: 10px 16px; }
  .featured-img { min-height: 260px; }
  .featured-content { padding: 44px 28px; }
  .featured-title { font-size: 24px; }
  .featured-excerpt { font-size: 14px; }
  .section-header { padding: 44px 28px 24px; flex-direction: column; gap: 8px; }
  .section-title { font-size: 26px; }
  .posts-grid-wrap { padding: 36px 28px 72px; }
  .posts-grid { grid-template-columns: 1fr; gap: 3px; }
}


/* ─── HEADER / FOOTER RESPONSIVE (matches static chrome) ─── */
@media (max-width: 1100px) {
  nav { padding: 20px 40px; }
  nav.scrolled { padding: 14px 40px; }
  .nav-links { gap: 22px; }
  .newsletter-band { padding: 64px 56px; flex-direction: column; align-items: flex-start; gap: 28px; }
  .newsletter-input { width: 220px; }
  footer { padding: 64px 56px 0; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 44px; }
  .footer-bottom { margin: 52px -56px 0; padding: 20px 56px; }
}
@media (max-width: 940px) {
  nav { padding: 16px 24px; }
  nav.scrolled { padding: 12px 24px; }
  .nav-links, .nav-cta { display: none; }
  .mobile-menu-btn { display: flex; }
  .nav-logo img { height: 32px; }
}
@media (max-width: 640px) {
  .newsletter-band { padding: 48px 24px; }
  .newsletter-heading { font-size: 23px; }
  .newsletter-form { width: 100%; flex-direction: column; gap: 12px; }
  .newsletter-input { flex: none; width: 100%; min-width: 0; }
  .newsletter-btn { width: 100%; }
  footer { padding: 56px 24px 0; }
  .footer-inner { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .footer-brand-col, .footer-connect-col { align-items: center; }
  .footer-logo { width: 130px; }
  .footer-bottom { margin: 44px -24px 0; padding: 22px 24px; flex-direction: column; gap: 14px; text-align: center; }
  .footer-legal { justify-content: center; gap: 14px 24px; }
}

/* ═══════════════════════════════════════════════════════
   ARCHIVE — category / tag pages
   ═══════════════════════════════════════════════════════ */

.archive-hero { position: relative; min-height: 380px; background: var(--charcoal); display: flex; align-items: flex-end; padding: 120px 120px 64px; overflow: hidden; }
.archive-hero-overlay { position: absolute; inset: 0; background: linear-gradient(160deg, rgba(43,42,40,0.2) 0%, rgba(43,42,40,0.85) 100%); }
.archive-hero-content { position: relative; z-index: 2; max-width: 640px; }
.archive-eyebrow { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7.5px; letter-spacing: 0.52em; text-transform: uppercase; color: var(--gold); margin-bottom: 12px; display: flex; align-items: center; gap: 14px; }
.archive-eyebrow::before { content: ''; width: 22px; height: 1px; background: var(--gold); }
.archive-hero-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: clamp(32px, 5vw, 64px); line-height: 1.08; color: var(--ivory); letter-spacing: 0.02em; margin-bottom: 12px; }
.archive-hero-desc { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 14px; line-height: 1.85; color: rgba(216,203,185,0.65); max-width: 480px; margin-bottom: 16px; }
.archive-hero-meta { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 8px; letter-spacing: 0.36em; text-transform: uppercase; color: var(--taupe); }

/* Filter pills as links (archive page) */
.filter-item[href] { text-decoration: none; display: inline-flex; }

/* Archive pagination */
.archive-pagination { display: flex; justify-content: center; gap: 8px; padding: 52px 0 16px; }
.archive-pagination .page-numbers { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 12px; color: var(--smoke); padding: 10px 16px; border: 1px solid var(--rule); text-decoration: none; transition: all 0.2s; }
.archive-pagination .page-numbers.current { background: var(--charcoal); color: var(--ivory); border-color: var(--charcoal); }
.archive-pagination .page-numbers:hover:not(.current) { border-color: var(--gold); color: var(--charcoal); }
.archive-pagination .page-numbers.dots { border: none; padding: 10px 4px; }

/* Posts empty state */
.posts-empty { grid-column: 1 / -1; text-align: center; padding: 80px 0; }
.posts-empty p { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 15px; color: var(--smoke); margin-bottom: 20px; }
.posts-empty-link { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(201,179,126,0.3); padding-bottom: 3px; }

/* Posts header all-link */
.posts-header-all { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--smoke); text-decoration: none; transition: color 0.2s; align-self: flex-end; }
.posts-header-all:hover { color: var(--gold); }


/* ═══════════════════════════════════════════════════════
   SEARCH
   ═══════════════════════════════════════════════════════ */

.search-bar-wrap { background: var(--charcoal); padding: 28px 120px; border-top: 1px solid rgba(201,179,126,0.15); }
.search-form { display: flex; align-items: center; gap: 0; max-width: 640px; }
.search-field { flex: 1; font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 14px; color: var(--ivory); background: transparent; border: none; border-bottom: 1px solid rgba(201,179,126,0.3); padding: 10px 0; outline: none; transition: border-color 0.2s; }
.search-field::placeholder { color: var(--smoke); }
.search-field:focus { border-bottom-color: var(--gold); }
.search-submit { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); background: none; border: none; padding: 10px 0 10px 24px; cursor: pointer; flex-shrink: 0; transition: opacity 0.2s; }
.search-submit:hover { opacity: 0.7; }

/* Search no results */
.search-no-results { text-align: center; padding: 120px 0; }
.search-no-results-icon { font-size: 48px; color: var(--rule); margin-bottom: 28px; }
.search-no-results-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: clamp(24px, 3.5vw, 44px); color: var(--charcoal); letter-spacing: 0.02em; margin-bottom: 14px; line-height: 1.2; }
.search-no-results-title em { font-style: italic; }
.search-no-results-sub { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 14px; color: var(--smoke); line-height: 1.85; margin-bottom: 36px; max-width: 420px; margin-left: auto; margin-right: auto; }
.search-no-results-link { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 9px; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(201,179,126,0.3); padding-bottom: 3px; transition: border-color 0.2s; }
.search-no-results-link:hover { border-bottom-color: var(--gold); }


/* ═══════════════════════════════════════════════════════
   404
   ═══════════════════════════════════════════════════════ */

.error-404-page { position: relative; min-height: calc(100vh - 64px); background: var(--charcoal); display: flex; align-items: center; justify-content: center; padding: 120px 64px 80px; overflow: hidden; }
.error-404-bg { position: fixed; inset: 0; z-index: 0; }
.error-404-bg-img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.35) brightness(0.25); }
.error-404-bg-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(43,42,40,0.25) 0%, rgba(43,42,40,0.75) 100%); }
.error-404-content { position: relative; z-index: 1; text-align: center; max-width: 520px; }
.error-404-number { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: clamp(96px, 20vw, 200px); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(201,179,126,0.22); letter-spacing: -0.04em; margin-bottom: -16px; user-select: none; }
.error-404-rule { width: 32px; height: 1px; background: var(--gold); margin: 0 auto 24px; }
.error-404-eyebrow { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 8px; letter-spacing: 0.5em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; }
.error-404-title { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: clamp(26px, 4vw, 44px); line-height: 1.1; color: var(--ivory); letter-spacing: 0.02em; margin-bottom: 16px; }
.error-404-title em { font-style: italic; }
.error-404-sub { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 14px; line-height: 1.9; color: rgba(216,203,185,0.6); max-width: 380px; margin: 0 auto 48px; }
.error-404-nav { display: flex; flex-direction: column; gap: 0; border-top: 1px solid rgba(182,169,154,0.18); max-width: 400px; margin: 0 auto; }
.error-404-link { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid rgba(182,169,154,0.18); text-decoration: none; transition: all 0.2s; }
.error-404-link:hover .error-404-link-name { color: var(--gold); }
.error-404-link:hover .error-404-link-arrow { transform: translateX(6px); color: var(--gold); }
.error-404-link-left { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.error-404-link-label { font-family: 'Raleway', sans-serif; font-weight: 100; font-size: 7px; letter-spacing: 0.38em; text-transform: uppercase; color: var(--taupe); }
.error-404-link-name { font-family: 'Raleway', sans-serif; font-weight: 200; font-size: 14px; color: var(--ivory); transition: color 0.2s; }
.error-404-link-arrow { font-size: 16px; color: rgba(182,169,154,0.35); transition: all 0.2s; flex-shrink: 0; }


/* ═══════════════════════════════════════════════════════
   RESPONSIVE — archive, search, 404
   ═══════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
  .archive-hero { padding: 100px 56px 52px; min-height: 320px; }
  .search-bar-wrap { padding: 24px 56px; }
}
@media (max-width: 768px) {
  .archive-hero { padding: 90px 28px 44px; min-height: 280px; }
  .archive-hero-title { font-size: clamp(26px, 8vw, 44px); }
  .search-bar-wrap { padding: 20px 28px; }
  .search-form { flex-direction: column; align-items: flex-start; gap: 12px; }
  .search-submit { padding: 0; }
  .error-404-page { padding: 100px 28px 60px; }
  .error-404-nav { max-width: 100%; }
}
