/* =============================================
   Prayer Requests Page
   ============================================= */

/* ── Hero ── */
.prayerHero {
 position: relative;
 padding: clamp(70px, 10vw, 120px) 0;
 color: #fff;
 overflow: hidden;
 background:
  linear-gradient(to bottom, rgba(10, 10, 20, .70) 0%, rgba(10, 10, 20, .55) 100%),
  url("../assets/banners/womenumc.jpg");
 background-size: cover;
 background-position: center top;
 text-align: center;
}

.prayerHero::after {
 content: "";
 position: absolute;
 inset: 0;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='18' y='6' width='4' height='28' fill='white' opacity='0.04'/%3E%3Crect x='6' y='18' width='28' height='4' fill='white' opacity='0.04'/%3E%3C/svg%3E");
 pointer-events: none;
}

.prayerHero__inner {
 position: relative;
 z-index: 1;
 max-width: 640px;
 margin: 0 auto;
}

.prayerHero__kicker {
 font-size: 11px;
 font-weight: 700;
 letter-spacing: .18em;
 text-transform: uppercase;
 opacity: .7;
 margin: 0 0 14px;
}

.prayerHero__title {
 font-family: "Cinzel", serif;
 font-size: clamp(30px, 5vw, 52px);
 font-weight: 700;
 margin: 0 0 16px;
 line-height: 1.1;
}

.prayerHero__sub {
 font-size: clamp(15px, 1.6vw, 18px);
 opacity: .82;
 max-width: 48ch;
 margin: 0 auto;
 line-height: 1.7;
 font-style: italic;
}

/* ── Scripture Strip ── */
.prayer-verse {
 background: #1a1a2e;
 padding: clamp(36px, 5vw, 56px) 0;
 text-align: center;
 color: #fff;
 position: relative;
 overflow: hidden;
}

.prayer-verse::before {
 content: "\201C";
 position: absolute;
 top: -30px;
 left: 50%;
 transform: translateX(-50%);
 font-size: 180px;
 font-family: Georgia, serif;
 color: rgba(255, 255, 255, .04);
 line-height: 1;
 pointer-events: none;
}

.prayer-verse__text {
 font-style: italic;
 font-size: clamp(15px, 1.6vw, 18px);
 line-height: 1.75;
 opacity: .88;
 max-width: 68ch;
 margin: 0 auto 10px;
 position: relative;
}

.prayer-verse__ref {
 font-size: 13px;
 font-weight: 700;
 letter-spacing: .1em;
 text-transform: uppercase;
 color: var(--accent);
 position: relative;
}

/* ── Page Body ── */
.prayer-page {
 padding: clamp(52px, 7vw, 88px) 0;
 background: #f7f5f2;
}

/* ── Centered Form ── */
.prayer-center {
 max-width: 620px;
 margin: 0 auto;
}

.prayer-intro {
 text-align: center;
 margin-bottom: 36px;
}

.prayer-intro h2 {
 font-family: "Cinzel", serif;
 font-size: clamp(22px, 2.5vw, 30px);
 font-weight: 700;
 margin: 0 0 10px;
}

.prayer-intro p {
 color: var(--muted);
 line-height: 1.65;
 font-size: 15px;
 margin: 0;
}

/* ── Form ── */
#prayerForm {
 display: flex;
 flex-direction: column;
 gap: 18px;
}

.form-group {
 display: flex;
 flex-direction: column;
 gap: 7px;
}

.form-group label {
 font-size: 14px;
 font-weight: 600;
 color: #444;
}

.field {
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 12px 16px;
 border-radius: 12px;
 border: 1.5px solid #e0ddd8;
 background: #fff;
 transition: border-color .18s, box-shadow .18s;
}

.field i {
 flex-shrink: 0;
 font-size: .9rem;
 color: #ccc;
 transition: color .18s;
}

.field input,
.field textarea {
 width: 100%;
 border: 0;
 outline: none;
 background: transparent;
 font: inherit;
 font-size: .96rem;
 color: #222;
}

.field input::placeholder,
.field textarea::placeholder {
 color: #c0bdb8;
}

.field--textarea {
 align-items: flex-start;
}

.field--textarea i {
 margin-top: 3px;
}

.field textarea {
 resize: vertical;
 min-height: 160px;
 line-height: 1.65;
}

.field:focus-within {
 border-color: var(--accent);
 box-shadow: 0 0 0 4px rgba(208, 74, 70, .09);
}

.field:focus-within i {
 color: var(--accent);
}

.char-counter {
 text-align: right;
 font-size: 12px;
 color: #bbb;
 margin-top: -10px;
}

.char-counter.near-limit {
 color: #e67e22;
}

.checkbox-group {
 display: flex;
 align-items: center;
 gap: 10px;
 color: #666;
 font-size: .92rem;
}

.checkbox-group input[type="checkbox"] {
 width: 17px;
 height: 17px;
 accent-color: var(--accent);
 cursor: pointer;
 flex-shrink: 0;
}

.prayer-btn {
 width: 100%;
 height: 54px;
 border-radius: 12px;
 font-size: 1rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 8px;
 transition: background .2s, transform .15s;
 margin-top: 4px;
}

.prayer-btn:hover {
 transform: translateY(-1px);
}

.prayer-btn:active {
 transform: scale(.98);
}

/* Success / Error */
.form-success[hidden],
.form-error[hidden] { display: none; }

.form-success {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 padding: 18px 20px;
 background: #f0faf4;
 border-left: 4px solid #27ae60;
 border-radius: 10px;
 color: #1e7a42;
 font-weight: 600;
 font-size: .95rem;
 line-height: 1.5;
}

.form-error {
 display: flex;
 align-items: flex-start;
 gap: 12px;
 padding: 18px 20px;
 background: #fef5f5;
 border-left: 4px solid var(--accent);
 border-radius: 10px;
 color: #922b21;
 font-weight: 600;
 font-size: .95rem;
 line-height: 1.5;
}

/* ── Commitment Row ── */
.prayer-commitment {
 margin-top: 64px;
 padding-top: 48px;
 border-top: 1px solid #e8e4df;
}

.prayer-commitment__title {
 text-align: center;
 font-size: 13px;
 font-weight: 700;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: var(--muted);
 margin: 0 0 32px;
}

.commitment-row {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 24px;
}

.commitment-item {
 text-align: center;
}

.commitment-item i {
 font-size: 22px;
 color: var(--accent);
 opacity: .75;
 margin-bottom: 10px;
 display: block;
}

.commitment-item strong {
 display: block;
 font-size: 14px;
 font-weight: 700;
 margin-bottom: 5px;
 color: #333;
}

.commitment-item span {
 font-size: 13px;
 color: var(--muted);
 line-height: 1.55;
}

@media (max-width: 600px) {
 .commitment-row {
  grid-template-columns: 1fr;
  gap: 28px;
 }
}

/* ── Fade-up animation ── */
@media (prefers-reduced-motion: no-preference) {
 .prayerHero__kicker,
 .prayerHero__title,
 .prayerHero__sub {
  animation: fadeUp .5s ease both;
 }
 .prayerHero__kicker { animation-delay: .05s; }
 .prayerHero__title  { animation-delay: .10s; }
 .prayerHero__sub    { animation-delay: .18s; }

 @keyframes fadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
 }
}
