/* Uplift Sobriety: blog system (2026-10-26)
   Single Post template "US · Single Post (Resources)", loop items for /resources/ cards and "Keep reading",
   Gutenberg post content styled to match the old hand-built Elementor article pages, plus the in-article CTA banner.
   Type scale: body 16px, accents 14px, nothing below 12px. */

/* Widget wrappers that only carry one dynamic value: let their markup sit directly in the parent layout. */
.us-dyn { display: contents; }

/* ---------- Byline (built from containers + dynamic fields) ---------- */
.us-home .us-byline.e-con {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px 16px;
  width: 100%; max-width: 100%; margin: 0 0 26px; padding: 0 0 22px; border-bottom: 1px solid #e3d6c1;
}
.us-home .us-byline__who.e-con { display: flex; flex-direction: column; gap: 2px; width: auto; flex: 0 0 auto; margin: 0; padding: 0; }
.us-home .us-byline__date { color: inherit; font: inherit; }

/* ---------- Post content (Gutenberg blocks) ---------- */
.us-home .us-post-content { width: 100%; }
.us-home .us-post-content > *, .us-home .us-post-content > .elementor-widget-container > * { margin-top: 0; margin-bottom: 0; }
.us-home .us-post-content p { margin: 0; font-size: 16px; line-height: 30.4px; color: #685548; }
.us-home .us-post-content p + p { margin-top: 18px; }
.us-home .us-post-content h2 + p, .us-home .us-post-content h3 + p { margin-top: 16px; }
.us-home .us-post-content p.us-article-lead { font-size: 19px; line-height: 33px; color: #3d2d24; margin-bottom: 0; }
/* the whole post body is one element, so reveal it on entry instead of waiting for 8% of its height */
html.us-anim .us-home .us-article__body > .us-post-content.us-rv { opacity: 1; transform: none; }
.us-home .us-post-content h2 {
  margin: 0; padding-top: 44px; font: 400 34px/1.2 "Lato", system-ui, sans-serif; letter-spacing: -.6px; color: #392007;
  scroll-margin-top: 120px;
}
.us-home .us-post-content h3 { margin: 0; padding-top: 30px; font: 700 24px/1.25 "Lato", system-ui, sans-serif; color: #392007; scroll-margin-top: 120px; }
.us-home .us-post-content a:not(.wp-block-button__link):not(.elementor-button):not(.us-nextread) { color: #784e24; text-decoration: underline; text-underline-offset: 3px; }
.us-home .us-post-content strong { color: #3d2d24; }
.us-home .us-post-content ul, .us-home .us-post-content ol { margin: 16px 0 0; padding-left: 22px; }
.us-home .us-post-content li { font-size: 16px; line-height: 30.4px; color: #685548; }
.us-home .us-post-content li + li { margin-top: 6px; }
.us-home .us-post-content li::marker { color: #caa674; }
.us-home .us-post-content figure { margin: 44px 0 0; }
.us-home .us-post-content figure img { display: block; width: 100%; height: auto; border-radius: 18px; }
.us-home .us-post-content figure.us-article-fig img { height: 340px; object-fit: cover; }
.us-home .us-post-content figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: #8b725d; }

/* Callouts: quote block and "us-callout" group share the sidebar CTA panel look */
.us-home .us-post-content blockquote, .us-home .us-post-content .us-callout {
  margin: 32px 0 0; padding: 22px 26px; border-radius: 18px; background: #f5ede0; border: 1px solid rgba(197, 157, 80, .25);
  border-left: 4px solid #caa674;
}
.us-home .us-post-content blockquote p, .us-home .us-post-content .us-callout p { color: #3d2d24; }
.us-home .us-post-content blockquote cite { display: block; margin-top: 10px; font: 600 14px/1.4 "DM Sans", system-ui, sans-serif; font-style: normal; color: #8b725d; }

/* Help box (closing section + dark card) */
.us-home .us-post-content .us-helpbox {
  margin-top: 48px; padding: 8px 36px 36px; background: #faf7f2; border-radius: 18px; border: 1px solid rgba(197, 157, 80, .25);
  box-shadow: 0 0 0 6px rgba(202, 166, 116, .08);
}
.us-home .us-post-content .us-helpbox h2 { padding-top: 30px; }
.us-home .us-post-content .us-helpbox__card {
  margin-top: 30px; padding: 28px 30px 30px; border-radius: 16px; background: #3d2d24;
  background-image: radial-gradient(90% 120% at 100% 0%, rgba(202, 166, 116, .28), rgba(202, 166, 116, 0) 60%);
}
.us-home .us-post-content .us-helpbox__card h3 { margin: 0; padding: 0; font: 700 24px/1.25 "Lato", system-ui, sans-serif; color: #fbf7ef; }
.us-home .us-post-content .us-helpbox__card h3 + p, .us-home .us-post-content .us-helpbox__card p { margin: 0; padding: 8px 0 20px; font-size: 16px; line-height: 26px; color: rgba(251, 247, 239, .78); }
.us-home .us-post-content .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 0; }
.us-home .us-post-content .wp-block-button { margin: 0; }
.us-home .us-post-content .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; text-decoration: none;
  font-family: "DM Sans", system-ui, sans-serif; font-size: 14px; transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.us-home .us-post-content .wp-block-button__link:hover { transform: translateY(-1px); }
.us-home .us-post-content .us-btn--gold .wp-block-button__link {
  padding: 17px 25px; font-weight: 700; line-height: 1.4; background: #b48c55; color: #1c120b; box-shadow: 0 14px 30px -16px rgba(120, 78, 36, .6);
}
.us-home .us-post-content .us-btn--gold .wp-block-button__link:hover { background: #a37d48; color: #1c120b; }
.us-home .us-post-content .us-btn--ghost .wp-block-button__link {
  padding: 15px 24px; font-weight: 600; line-height: 1.2; background: transparent; color: #fbf7ef; border: 1px solid rgba(251, 247, 239, .4);
}
.us-home .us-post-content .us-btn--ghost .wp-block-button__link:hover { border-color: #caa674; background: rgba(255, 255, 255, .05); }

/* ---------- In-article CTA banner (moved after the 3rd paragraph by the template script) ---------- */
.us-home .us-ctab-w:empty { display: none; }
.us-home .us-ctab {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 32px;
  margin: 40px 0 8px; padding: 34px 38px; border-radius: 16px; overflow: hidden;
  background: linear-gradient(169.84deg, #392007 14.286%, #93702b 87.602%, #cfa148 177.21%);
}
.us-home .us-ctab + p { margin-top: 32px; }
.us-home .us-ctab .us-ctab__copy { flex: 1 1 320px; min-width: 0; }
.us-home .us-ctab .us-ctab__eyebrow { margin: 0; font: 700 12px/1.2 "Inter", system-ui, sans-serif; letter-spacing: 2.2px; text-transform: uppercase; color: #e8cf9f; }
.us-home .us-ctab .us-ctab__title { margin: 10px 0 0; font: 400 30px/1.2 "Lato", system-ui, sans-serif; letter-spacing: -.4px; color: #fffbf3; }
.us-home .us-ctab .us-ctab__text { margin: 10px 0 0; max-width: 520px; font-size: 16px; line-height: 26px; color: rgba(255, 251, 243, .86); }
.us-home .us-ctab .us-ctab__btns { display: flex; flex-direction: column; gap: 12px; flex: 0 0 auto; }
.us-home .us-ctab .us-btn .elementor-button { width: 100%; padding: 15px 24px; white-space: nowrap; text-decoration: none; }

/* ---------- Resources hub: loop grid cards ---------- */
.us-home .us-blog-loop .e-loop-item { height: 100%; }
.us-home .us-blog-loop .e-loop-item > .us-post { height: 100%; }
.us-home .us-post__meta.e-con { display: block; width: 100%; margin: 0; padding: 0; }
.us-home .us-post__meta .us-rt { font-style: normal; }
.us-home .us-post__excerpt p { margin: 0; }
.us-home .us-post__foot.e-con {
  display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #efe4d2;
}
.us-home .us-post__more-w .elementor-heading-title { font: 600 14px/1.4 "DM Sans", system-ui, sans-serif; }
.us-home .us-post__more-w a {
  font: 600 14px/1.4 "DM Sans", system-ui, sans-serif; color: #3d2d24 !important; border-bottom: 1px solid #3d2d24; padding-bottom: 2px;
}
.us-home .us-post__more-w a span { display: inline-block; transition: transform .3s ease; }
.us-home .us-post__more-w a:hover span { transform: translateX(4px); }

/* ---------- "Keep reading" (loop grid, 1 other post) ---------- */
.us-home .us-nextread-w { width: 100%; margin-top: 44px; }
.us-home .us-nextread.e-con {
  position: relative; display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 0; padding: 24px 70px 24px 26px;
  border-radius: 16px; border: 1px solid rgba(197, 157, 80, .3); background: #fff; transition: box-shadow .3s ease, border-color .3s ease;
}
.us-home .us-nextread.e-con:hover { border-color: #caa674; box-shadow: 0 18px 40px -22px rgba(57, 32, 7, .35); }
.us-home .us-nextread .us-nextread__kicker { font: 700 12px/1 "DM Sans", system-ui, sans-serif; letter-spacing: 2px; text-transform: uppercase; color: #a07a45; }
.us-home .us-nextread__t .elementor-heading-title { margin: 0; padding: 0; font: 700 19px/1.3 "Lato", system-ui, sans-serif; letter-spacing: 0; color: #392007; }
.us-home .us-nextread__t .elementor-heading-title a { color: inherit; }
.us-home .us-nextread__t .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.us-home .us-nextread .us-nextread__arrow { font: 400 16px/normal "DM Sans", system-ui, sans-serif; letter-spacing: normal; text-transform: none; color: #1c120b; }
.us-home .us-nextread.e-con:hover .us-nextread__arrow { transform: translateX(4px); }

@media (max-width: 767px) {
  .us-home .us-post-content h2 { font-size: 27px; padding-top: 34px; }
  .us-home .us-post-content .us-helpbox h2 { padding-top: 30px; }
  .us-home .us-post-content figure.us-article-fig img { height: 220px; }
  .us-home .us-post-content .us-helpbox { padding: 8px 20px 20px; }
  .us-home .us-post-content .us-helpbox__card { padding: 28px 20px 30px; }
  .us-home .us-ctab { padding: 28px 22px; }
  .us-home .us-ctab .us-ctab__title { font-size: 24px; }
  .us-home .us-ctab .us-ctab__btns { width: 100%; }
}

/* v3: post-terms tag wraps each term in its own span; only the outer one is the pill. Keep "· N min read" together. */
.us-home .us-post__meta span span { display: inline; margin: 0; padding: 0; border-radius: 0; background: none; color: inherit; }
.us-home .us-post__meta .us-rt { white-space: nowrap; }
