/* Church Registry, Contact page */
.contact{position:relative;padding-block:var(--section-pad);overflow:hidden}
.contact__glow{
  position:absolute;left:50%;top:-30px;width:min(1100px,120vw);height:420px;
  transform:translateX(-50%);z-index:-1;pointer-events:none;filter:blur(12px);opacity:.85;
  background:
    radial-gradient(40% 60% at 22% 30%, rgba(255,221,128,.42), transparent 70%),
    radial-gradient(45% 60% at 80% 30%, rgba(176,214,255,.50), transparent 70%),
    radial-gradient(40% 55% at 50% 85%, rgba(199,243,223,.45), transparent 70%);
}
.contact__grid{display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(22px,3vw,40px);align-items:start;max-width:1080px;margin-inline:auto}
.contact__panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:clamp(24px,3.2vw,40px)}

.cform{display:grid;gap:18px}
.cform__intro{color:var(--muted);font-size:1rem;margin:-2px 0 2px}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--navy)}
.field__opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{
  width:100%;font:inherit;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line-2);border-radius:var(--r-sm);padding:12px 14px;
  transition:border-color .18s,box-shadow .18s,background .18s}
.field textarea{resize:vertical;min-height:122px;line-height:1.55}
.field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 4.5L11 1' fill='none' stroke='%235d6781' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:12px;padding-right:38px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(37,104,255,.14)}
.field--error input,.field--error select,.field--error textarea{border-color:#e0566a;box-shadow:0 0 0 4px rgba(224,86,106,.12)}
.field__err{font-size:.84rem;color:#cf3b50;font-weight:600}
.cform__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.cform__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:4px}
.cform__note{font-family:var(--font-display);font-weight:500;font-size:.88rem;color:var(--muted)}

.cform__done{text-align:center;padding:clamp(12px,3vw,30px) 6px}
.cform__check{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:50%;
  background:linear-gradient(135deg,#37d39b,#10b981);box-shadow:0 12px 26px -12px rgba(16,185,129,.7);margin-bottom:18px}
.cform__check svg{width:30px;height:30px}
.cform__done h2{font-size:clamp(1.4rem,1.1rem + 1vw,1.85rem);letter-spacing:-.02em;margin-bottom:10px}
.cform__done p{color:var(--ink);max-width:44ch;margin:0 auto 22px;line-height:1.6}
.cform__done-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

.contact__aside{display:grid;gap:16px}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  padding:24px 24px 22px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.info-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;margin-bottom:14px}
.info-card__icon svg{width:23px;height:23px;fill:none;stroke:var(--navy);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.info-card__icon--mint{background:var(--mint)}
.info-card__icon--violet{background:var(--lavender)}
.info-card__icon--gold{background:var(--gold)}
.info-card h2{font-size:1.18rem;letter-spacing:-.02em;margin-bottom:7px}
.info-card p{color:var(--ink);font-size:.98rem;line-height:1.55;margin-bottom:14px}
.info-card__link{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--blue)}
.info-card__link span{transition:transform .25s var(--ease)}
.info-card__link:hover span{transform:translateX(4px)}

@media (max-width:860px){
  .contact__grid{grid-template-columns:1fr;max-width:620px}
}
@media (max-width:520px){
  .cform__row{grid-template-columns:1fr}
}

/* Submission error banner (shown above the form when ?error=1) */
.cform__alert{display:flex;align-items:flex-start;gap:11px;margin:0 0 20px;padding:14px 16px;border-radius:var(--r-md);font-size:.96rem;line-height:1.5}
.cform__alert strong{font-family:var(--font-display)}
.cform__alert--error{background:#fdecee;border:1px solid #f3c0c6;color:#7c2230}
.cform__alert-icon{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e0566a;color:#fff;font-weight:800;font-size:.9rem;line-height:1}
