@media (max-width: 640px) {
    h3:not(#_):not(#_):not(#_) {
        text-align: left !important;
    }
}

.wpforms-form input[type=submit],
.wpforms-form button[type=submit] {
  background-color: #1B2E1F !important;
}

/* --- Inner Room: Mobile Footer Alignment Fix --- */
@media (max-width: 768px) {
  #sp-gv90z6 {
    align-items: flex-start !important;
  }
  #sp-gv90z6 h2,
  #sp-gv90z6 h3,
  #sp-gv90z6 .sp-text-block-style p:first-child,
  #sp-gv90z6 strong {
    margin-top: 0 !important;
    padding-top: 0 !important;
    display: block !important;
  }
}

/* --- ACCESSIBILITY: PERFECT 100 PATCH --- */

/* 1. Darken Footer Links — EXCLUDES social icons */
#sp-gv90z6 a:not([class*="sp-sp-cc-"]),
.footer-links a {
  color: #294833 !important;
  text-decoration: underline !important;
}

/* 2. Skip to Content */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* 3. Button Contrast */
.ir-cta-item a {
  color: #000000 !important;
  font-weight: 700 !important;
}

/* 4. Social Icons — Force White on Dark Footer (all breakpoints) */
#sp-gv90z6 [class*="sp-sp-cc-"],
#sp-gv90z6 [class*="sp-sp-cc-"] i,
#sp-gv90z6 #sp-socialprofiles-block-kfe1x7 a,
#sp-gv90z6 #sp-socialprofiles-block-kfe1x7 i {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* --- Inner Room: Mobile Checkmark & Text Alignment --- */
@media (max-width: 768px) {
  .sp-feature-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 12px !important;
  }
  .sp-feature-wrapper i,
  .sp-feature-wrapper svg {
    margin-top: 5px !important;
    flex-shrink: 0 !important;
    margin-right: 0 !important;
  }
  .sp-feature-wrapper .sp-text-block-style,
  .sp-feature-wrapper p,
  .sp-feature-wrapper div {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}


/* ═══ Inner Room — Blog Single Post Template ═══ */

:root {
  --ir-font: 'Playfair Display', Georgia, serif;
  --ir-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --evergreen: #294833;
  --sprout: #ADC8A3;
  --sunflower: #EDCC6B;
  --cream: #FAFAF7;
  --text-dark: #2C2C2C;
  --text-light: #5A5A5A;
}

body.single-post { background: #FAFAF7 !important; color: var(--text-dark); font-family: var(--ir-sans); }
body.single-post, body.single-post * { box-sizing: border-box; }
.ir-blog-hero, .ir-blog-featured, .ir-blog-body, .ir-blog-nav { background: #FAFAF7 !important; }

/* ── HERO ── */
.ir-blog-hero { padding: 72px 24px 40px; text-align: center; }
.ir-blog-eyebrow { font-family: var(--ir-sans); font-size: 12px; font-weight: 600; letter-spacing: 3.5px; text-transform: uppercase; color: rgba(41,72,51,0.6); margin: 0 0 20px; text-align: center; }
.ir-blog-title { font-family: var(--ir-font); font-size: 46px; line-height: 1.15; font-weight: 700; color: var(--evergreen); text-align: center; text-wrap: balance; margin: 0 auto 24px !important; max-width: 30ch; }
.ir-blog-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 14px; font-size: 14.5px; color: var(--text-light); }
.ir-blog-meta .sep { color: rgba(41,72,51,0.35); }
.ir-blog-meta .cat { color: var(--evergreen); font-weight: 600; background: rgba(173,200,163,0.22); padding: 3px 12px; border-radius: 999px; }

/* ── FEATURED IMAGE ── */
.ir-blog-featured { padding: 8px 24px 0; }
.ir-blog-featured .inner { max-width: 1024px; margin: 0 auto; }
.ir-blog-featured img { width: 100%; height: auto; border-radius: 16px; display: block; box-shadow: 0 8px 30px rgba(41,72,51,0.12); }

/* ── BODY / READING COLUMN ── */
.ir-blog-body { padding: 56px 24px 72px; }
.ir-blog-body .inner { max-width: 720px; margin: 0 auto; }

.ir-blog-content { font-size: 18px; line-height: 1.78; color: var(--text-dark); }
.ir-blog-content p { margin: 0 0 22px; }
.ir-blog-content h2, .ir-blog-content h3, .ir-blog-content h4 { font-family: var(--ir-font); color: var(--evergreen); line-height: 1.2; font-weight: 700; margin: 44px 0 16px; }
.ir-blog-content h2 { font-size: 30px; }
.ir-blog-content h3 { font-size: 24px; }
.ir-blog-content h4 { font-size: 20px; }
.ir-blog-content a { color: var(--evergreen); text-decoration: none; border-bottom: 1.5px solid var(--sunflower); padding-bottom: 1px; transition: color .15s ease, border-color .15s ease; }
.ir-blog-content a:hover { color: #1d3524; border-bottom-color: var(--sprout); }
.ir-blog-content strong { color: var(--evergreen); font-weight: 600; }
.ir-blog-content ul, .ir-blog-content ol { margin: 0 0 22px; padding-left: 26px; }
.ir-blog-content li { margin: 0 0 10px; }
.ir-blog-content ul li::marker { color: var(--sprout); }
.ir-blog-content blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--sunflower); font-style: italic; font-family: var(--ir-font); font-size: 21px; line-height: 1.5; color: var(--evergreen); }
.ir-blog-content blockquote p { margin: 0; }
.ir-blog-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 8px 0; }
.ir-blog-content hr { border: none; height: 1px; background: rgba(173,200,163,0.4); margin: 40px 0; }

/* ── FAQ ── */
.ir-blog-content .faq, .ir-blog-faq { margin: 40px 0 0; }
.ir-blog-faq { background: #fff; border: 1px solid rgba(173,200,163,0.3); border-radius: 16px; padding: 32px 32px 8px; margin: 48px 0 0; }
.ir-blog-faq h3 { margin-top: 0; }
.ir-blog-faq-item { padding-bottom: 22px; }
.ir-blog-faq-item .q { font-family: var(--ir-font); font-weight: 700; color: var(--evergreen); font-size: 19px; margin-bottom: 8px; }
.ir-blog-faq-item .a { font-size: 16.5px; color: var(--text-light); line-height: 1.65; }

/* ── AUTHOR CARD ── */
.ir-blog-author { max-width: 720px; margin: 56px auto 0; padding: 0 24px; }
.ir-blog-author .card { display: flex; gap: 20px; align-items: flex-start; background: #fff; border: 1px solid rgba(173,200,163,0.55); border-radius: 16px; padding: 26px 28px; box-shadow: 0 8px 24px rgba(41,72,51,0.07); }
.ir-blog-author img { width: 72px; height: 72px; min-width: 72px; border-radius: 50%; object-fit: cover; object-position: center 22%; border: 3px solid rgba(173,200,163,0.45); box-shadow: 0 4px 14px rgba(41,72,51,0.14); }
.ir-blog-author .who { flex: 1; }
.ir-blog-author .label { font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: rgba(41,72,51,0.55); margin: 0 0 6px; }
.ir-blog-author .name { font-family: var(--ir-font); font-size: 19px; font-weight: 700; color: var(--evergreen); margin: 0 0 2px; }
.ir-blog-author .creds { font-size: 13px; letter-spacing: 1px; color: rgba(41,72,51,0.6); margin: 0 0 10px; }
.ir-blog-author .bio { font-size: 15px; line-height: 1.6; color: var(--text-light); margin: 0 0 12px; }
.ir-blog-author .link { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--evergreen); text-decoration: none; border-bottom: 1.5px solid var(--sunflower); padding-bottom: 2px; }
@media (max-width: 480px) {
  .ir-blog-author .card { flex-direction: column; align-items: center; text-align: center; }
}

/* ── PREV / NEXT NAV ── */
.ir-blog-nav { display: block !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 24px; }
.ir-blog-nav .sp-postnavigation-wrapper,
.ir-blog-nav .sp-postnavigation-shortcodes { width: 100% !important; max-width: 100% !important; }
.ir-blog-nav .sp-postnavigation-previous-next {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
.ir-blog-nav .sp-postnavigation-previous-next > a {
  display: block; min-width: 0;
  background: #fff; border: 1px solid rgba(173,200,163,0.45); border-radius: 14px;
  padding: 20px 22px; text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ir-blog-nav .sp-postnavigation-previous-next > a:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(41,72,51,0.08); border-color: var(--sprout); }
.ir-blog-nav .sp-postnavigation-previous-label,
.ir-blog-nav .sp-postnavigation-next-label {
  display: block; font-size: 12px; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; color: rgba(41,72,51,0.55); margin-bottom: 10px;
}
.ir-blog-nav .sp-postnavigation-previous-label svg,
.ir-blog-nav .sp-postnavigation-next-label svg { display: inline-block; vertical-align: -2px; margin-right: 6px; width: 16px; height: 16px; }
.ir-blog-nav .sp-postnavigation-previous-title,
.ir-blog-nav .sp-postnavigation-next-title {
  display: block; font-family: var(--ir-font); font-size: 18px; font-weight: 700; color: var(--evergreen); line-height: 1.3;
}
.ir-blog-nav a[rel="next"] { text-align: right; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .ir-blog-hero { padding: 48px 20px 28px; }
  .ir-blog-title { font-size: 34px; }
  .ir-blog-body { padding: 40px 20px 56px; }
  .ir-blog-content { font-size: 17px; }
  .ir-blog-content h2 { font-size: 26px; }
  .ir-blog-content h3 { font-size: 21px; }
  .ir-blog-content blockquote { font-size: 19px; }
  .ir-blog-nav .sp-postnavigation-previous-next { grid-template-columns: 1fr !important; }
  .ir-blog-nav a[rel="next"] { text-align: left; }
  .ir-blog-nav { padding: 0 20px; }
}
@media (max-width: 480px) {
  .ir-blog-title { font-size: 29px; }
  .ir-blog-meta { font-size: 13.5px; }
}

/* Eyebrow stays centered on tablet/mobile (SeedProd forces left at ≤1024px) */
@media (max-width: 1024px) {
  body.single-post #sp-u521nk { text-align: center !important; }
}

@media (prefers-reduced-motion: reduce) {
  a { transition: none; }
}