/*
Theme Name: Life With A Friend Astra Child
Theme URI: https://example.com/life-with-a-friend
Description: A warm, responsive Astra child theme for the Life With A Friend ministry website.
Author: Life With A Friend
Template: astra
Version: 1.0.0
Text Domain: life-with-a-friend
*/

:root {
  --lwf-ink: #22231f;
  --lwf-muted: #62655e;
  --lwf-cream: #f7f5ef;
  --lwf-paper: #fffefa;
  --lwf-green: #29483b;
  --lwf-green-dark: #1d352c;
  --lwf-gold: #cba967;
  --lwf-line: #e6e2d8;
  --lwf-radius: 22px;
}

.lwf-home { color: var(--lwf-ink); font-family: inherit; }
.lwf-home * { box-sizing: border-box; }
.lwf-wrap { width: min(1160px, calc(100% - 42px)); margin-inline: auto; }
.lwf-section { padding: 88px 0; }
.lwf-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--lwf-green); font-size: 12px; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.lwf-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--lwf-gold); }
.lwf-home h1, .lwf-home h2, .lwf-home h3 { color: var(--lwf-ink); line-height: 1.12; }
.lwf-home h1 { max-width: 670px; margin: 0 0 22px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 6vw, 74px); font-weight: 500; letter-spacing: -.045em; }
.lwf-home h2 { margin: 0 0 16px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 4vw, 48px); font-weight: 500; letter-spacing: -.03em; }
.lwf-home h3 { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }
.lwf-home p { color: var(--lwf-muted); font-size: 17px; line-height: 1.75; }
.lwf-lead { max-width: 610px; margin: 0 0 30px; font-size: 19px !important; }
.lwf-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.lwf-button, .lwf-home a.lwf-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border: 1px solid var(--lwf-green); border-radius: 999px; background: var(--lwf-green); color: #fff !important; font-size: 14px; font-weight: 750; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.lwf-button:hover { background: var(--lwf-green-dark); transform: translateY(-2px); }
.lwf-button--outline, .lwf-home a.lwf-button--outline { background: transparent; color: var(--lwf-green) !important; }
.lwf-button--outline:hover { background: #edf1ec; }
.lwf-hero { overflow: hidden; padding: 76px 0 84px; background: var(--lwf-cream); }
.lwf-hero__grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); align-items: center; gap: 54px; }
.lwf-hero__art { position: relative; display: grid; place-items: center; min-height: 410px; }
.lwf-hero__art::before { position: absolute; width: min(390px, 88%); aspect-ratio: 1; border-radius: 50%; background: #e9e5da; content: ""; }
.lwf-hero__art img { position: relative; width: min(390px, 90%); height: auto; filter: drop-shadow(0 20px 25px rgb(22 35 27 / 12%)); }
.lwf-verse { padding: 34px 0; background: var(--lwf-green); }
.lwf-verse__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.lwf-verse blockquote { max-width: 850px; margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: clamp(23px, 3vw, 34px); line-height: 1.35; }
.lwf-verse cite { flex: 0 0 auto; color: #e6d2a5; font-size: 13px; font-style: normal; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.lwf-section__intro { max-width: 680px; margin: 0 auto 42px; text-align: center; }
.lwf-section__intro .lwf-eyebrow { justify-content: center; }
.lwf-section__intro p { margin: 0; }
.lwf-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lwf-card { display: flex; flex-direction: column; min-height: 275px; padding: 30px; border: 1px solid var(--lwf-line); border-radius: var(--lwf-radius); background: var(--lwf-paper); }
.lwf-card__number { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 28px; border-radius: 50%; background: #edf1ec; color: var(--lwf-green); font-size: 13px; font-weight: 800; }
.lwf-card p { flex: 1; margin: 0 0 22px; font-size: 15px; }
.lwf-text-link { color: var(--lwf-green); font-size: 14px; font-weight: 800; text-decoration: none; }
.lwf-text-link::after { content: "  →"; }
.lwf-stories { background: #f4f2ec; }
.lwf-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.lwf-post { padding: 26px; border-radius: var(--lwf-radius); background: #fff; }
.lwf-post__date { margin: 0 0 13px; color: var(--lwf-green); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lwf-post h3 a { color: var(--lwf-ink); text-decoration: none; }
.lwf-post p { margin: 0; font-size: 15px; }
.lwf-youtube { background: var(--lwf-paper); }
.lwf-youtube__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: 54px; }
.lwf-youtube__copy p:not(.lwf-eyebrow) { margin: 0 0 26px; }
.lwf-youtube__player { overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--lwf-radius); background: #18231d; box-shadow: 0 18px 40px rgb(23 39 30 / 13%); }
.lwf-youtube__player iframe { display: block; width: 100%; height: 100%; border: 0; }
.lwf-youtube__placeholder { display: flex; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 12px; padding: 28px; color: #fff; text-align: center; }
.lwf-youtube__placeholder p { margin: 0; color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 24px; }
.lwf-youtube__play { display: grid; width: 58px; height: 58px; place-items: center; padding-left: 4px; border-radius: 50%; background: var(--lwf-gold); color: var(--lwf-green-dark); font-size: 19px; }
.lwf-youtube__placeholder .lwf-text-link { color: #f0d69e; }
.lwf-empty { padding: 28px; border: 1px dashed #c9c6bc; border-radius: var(--lwf-radius); background: rgb(255 255 255 / 55%); text-align: center; }
.lwf-empty p { margin: 0; }
.lwf-store { padding: 76px 0; }
.lwf-store__panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 28px; padding: 44px; border-radius: 26px; background: var(--lwf-green-dark); }
.lwf-store__panel h2 { margin-bottom: 12px; color: #fff; font-size: clamp(30px, 4vw, 42px); }
.lwf-store__panel p { max-width: 630px; margin: 0; color: #e0e6e0; }
.lwf-store__panel .lwf-button { border-color: var(--lwf-gold); background: var(--lwf-gold); color: #1d281f !important; }
.lwf-products { margin-top: 34px; }
.lwf-products ul.products { margin-bottom: 0; }
.lwf-contact { padding: 64px 0 88px; text-align: center; }
.lwf-contact p { max-width: 630px; margin: 0 auto 26px; }
.lwf-contact .lwf-actions { justify-content: center; }
.lwf-home a:focus-visible { outline: 3px solid var(--lwf-gold); outline-offset: 4px; }

@media (max-width: 820px) {
  .lwf-section { padding: 66px 0; }
  .lwf-hero { padding: 56px 0 62px; }
  .lwf-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .lwf-hero__art { min-height: 300px; }
  .lwf-hero__art img, .lwf-hero__art::before { width: min(300px, 78vw); }
  .lwf-verse__inner { align-items: flex-start; flex-direction: column; gap: 16px; }
  .lwf-cards, .lwf-posts { grid-template-columns: 1fr; }
  .lwf-youtube__grid { grid-template-columns: 1fr; gap: 28px; }
  .lwf-card { min-height: 0; }
  .lwf-store__panel { grid-template-columns: 1fr; padding: 32px; }
  .lwf-store__panel .lwf-button { justify-self: start; }
}
@media (max-width: 480px) {
  .lwf-wrap { width: min(100% - 30px, 1160px); }
  .lwf-home h1 { font-size: 43px; }
  .lwf-lead { font-size: 17px !important; }
  .lwf-actions { flex-direction: column; align-items: stretch; }
  .lwf-actions .lwf-button { width: 100%; }
  .lwf-store__panel { padding: 27px 23px; }
}
