/*
Theme Name: The Renewal Lab
Theme URI: https://the-renewal-lab.com/
Author: The Renewal Lab
Description: A migration theme for The Renewal Lab. Includes the current navy and gold visual system, Learning Library post templates, contact form, and portable local assets.
Version: 1.0.0
Text Domain: renewal-lab
*/

:root {
  --renewal-navy: #011322;
  --renewal-navy-soft: #082138;
  --renewal-gold: #b58945;
  --renewal-cream: #faf8f5;
  --renewal-sand: #efeae2;
  --renewal-ink: #22313f;
  --renewal-muted: #667085;
  --renewal-line: rgba(1, 19, 34, 0.12);
  --renewal-radius: 18px;
  --renewal-container: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--renewal-ink);
  background: var(--renewal-cream);
  font-family: "Source Sans 3", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.7;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--renewal-navy);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.site-header__inner, .site-footer__inner, .renewal-container {
  width: min(var(--renewal-container), calc(100% - 40px));
  margin: 0 auto;
}
.site-header__inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.custom-logo-link { display: flex; align-items: center; }
.site-logo { width: 190px; height: auto; display: block; }
.primary-menu { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.primary-menu ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 22px; align-items: center; }
.primary-menu a { color: rgba(255,255,255,0.9); text-decoration: none; text-transform: uppercase; font-size: 12px; letter-spacing: 0.12em; font-weight: 700; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--renewal-gold); }
.header-cta, .renewal-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; background: var(--renewal-gold); color: white; text-decoration: none;
  text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 700; border: 0; cursor: pointer;
}
.header-cta:hover, .renewal-button:hover { background: #997239; color: white; }
.menu-toggle { display: none; background: transparent; color: white; border: 1px solid rgba(255,255,255,0.4); padding: 7px 10px; }

.renewal-page-content { overflow: hidden; }
.renewal-page-content > section:first-child, .renewal-page-content > div:first-child { margin-top: 0; }
.renewal-page-content h1, .renewal-page-content h2, .renewal-page-content h3,
.entry-title, .archive-title, .single-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--renewal-navy);
  line-height: 1.16;
}
.renewal-page-content h1, .entry-title, .single-title { font-size: clamp(2.4rem, 5vw, 4.1rem); font-weight: 500; }
.renewal-page-content h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.renewal-page-content h3 { font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
.renewal-page-content a:not(.btn-gold):not(.btn-outline):not(.btn-gold-outline) { color: #8d682f; }
.renewal-page-content .btn-gold, .renewal-page-content .btn-outline, .renewal-page-content .btn-gold-outline { text-decoration: none; }
.renewal-page-content .btn-gold { display:inline-flex; align-items:center; padding: 13px 22px; background:var(--renewal-gold); color:#fff; font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:12px; }
.renewal-page-content input, .renewal-page-content textarea, .renewal-page-content select { max-width: 100%; }

.blog-hero { background: var(--renewal-navy); color: white; padding: 100px 0 58px; }
.blog-hero .eyebrow, .single-meta { color: var(--renewal-gold); text-transform: uppercase; letter-spacing: .16em; font-weight: 700; font-size: 12px; }
.blog-hero h1 { color: white; margin: 10px 0 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.8rem, 6vw, 4.8rem); font-weight: 500; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 70px 0 84px; }
.post-card { background: #fff; border: 1px solid var(--renewal-line); border-radius: var(--renewal-radius); overflow: hidden; box-shadow: 0 2px 14px rgba(1,19,34,.06); display: flex; flex-direction: column; }
.post-card__image { display:block; aspect-ratio: 16 / 9; background: var(--renewal-sand); overflow:hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover img { transform: scale(1.04); }
.post-card__body { padding: 24px; display:flex; flex:1; flex-direction:column; }
.post-card__meta { color: var(--renewal-muted); font-size: 13px; margin-bottom: 12px; }
.post-card__category { display:inline-block; color:#fff; background:var(--renewal-gold); border-radius:999px; padding: 3px 9px; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:700; margin-right:8px; }
.post-card h2 { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.7rem; line-height:1.2; margin:0 0 12px; color:var(--renewal-navy); }
.post-card h2 a { text-decoration:none; }
.post-card p { margin: 0 0 18px; color: var(--renewal-muted); font-size: .96rem; line-height:1.55; }
.post-card__read { margin-top:auto; color:#8d682f; font-weight:700; font-size:14px; text-decoration:none; }

.single-post__header { background: var(--renewal-cream); padding: 64px 0 24px; }
.single-post__back { color: #8d682f; text-decoration: none; font-size: 14px; }
.single-title { max-width: 900px; margin: 14px 0 20px; }
.single-meta { margin-bottom: 24px; }
.single-cover { display: block; width: min(900px, 100%); margin: 0 auto 42px; border-radius: var(--renewal-radius); box-shadow: 0 14px 35px rgba(1,19,34,.16); }
.single-entry { width: min(780px, calc(100% - 40px)); margin: 0 auto; padding-bottom: 66px; }
.single-entry p, .single-entry li { font-size: 1.1rem; }
.single-entry h2 { margin-top: 44px; }
.single-entry ul { padding-left: 24px; }
.article-cta { background: var(--renewal-navy); color: white; padding: 42px; border-radius: var(--renewal-radius); text-align:center; margin: 56px auto 0; max-width:780px; }
.article-cta h2 { color:white; margin: 0 0 12px; }
.article-cta p { color:rgba(255,255,255,.78); margin:0 auto 24px; max-width:600px; }
.article-cta .renewal-button { color:#fff; }

.renewal-contact-form { background:#fff; padding:28px; border:1px solid var(--renewal-line); box-shadow:0 8px 30px rgba(1,19,34,.08); max-width:720px; margin:24px auto; }
.renewal-contact-form label { display:block; margin:0 0 7px; color:var(--renewal-navy); font-size:.8rem; letter-spacing:.08em; font-weight:700; text-transform:uppercase; }
.renewal-contact-form input, .renewal-contact-form select, .renewal-contact-form textarea { display:block; width:100%; padding:12px; margin:0 0 18px; border:1px solid #d7d2ca; background:#fff; font:inherit; }
.renewal-contact-form textarea { min-height:140px; resize:vertical; }
.renewal-form-notice { padding:12px 14px; background:#edf5ef; color:#1f5b34; margin-bottom:18px; }
.renewal-form-error { background:#fbecec; color:#8d2525; }

.site-footer { background: var(--renewal-navy); color: rgba(255,255,255,.76); padding: 56px 0 24px; }
.site-footer__grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.footer-logo { width:180px; margin-bottom:14px; }
.site-footer h2 { font-family:"Cormorant Garamond",Georgia,serif; color:#fff; font-size:1.45rem; margin:0 0 12px; }
.site-footer a { color:rgba(255,255,255,.86); text-decoration:none; }
.site-footer a:hover { color:var(--renewal-gold); }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li { margin:5px 0; }
.site-footer__bottom { border-top:1px solid rgba(255,255,255,.16); margin-top:40px; padding-top:18px; font-size:.85rem; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }

@media (max-width: 900px) {
  .site-header__inner { min-height:72px; gap:14px; }
  .site-logo { width:155px; }
  .primary-menu { display:none; position:absolute; left:0; right:0; top:72px; padding:20px; background:var(--renewal-navy); }
  .primary-menu.is-open { display:block; }
  .primary-menu ul { display:block; }
  .primary-menu li { padding:10px 0; }
  .menu-toggle { display:block; margin-left:auto; }
  .header-cta { display:none; }
  .post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px) {
  .site-header__inner, .site-footer__inner, .renewal-container { width:min(var(--renewal-container), calc(100% - 28px)); }
  .post-grid, .site-footer__grid { grid-template-columns:1fr; }
  .blog-hero { padding:76px 0 42px; }
  .single-post__header { padding-top:42px; }
  .article-cta { border-radius:0; width:calc(100% + 40px); margin-left:-20px; }
}
