/* ============================================================
   PASTORAL DO BATISMO — style.css
   ============================================================ */
:root{
  --nv:#1b3a6b;--nvd:#0d2040;--nvm:#2a4f8f;
  --gd:#c8a84b;--gdl:#e2c468;
  --cr:#f8f4eb;--crd:#ede4ce;--brd:#d5c9b0;
  --tx:#241e12;--txl:#5a4e38;--wh:#fff;
  --ok:#1a5c38;--okb:#d8f3dc;--er:#8b1c1c;--erb:#fde8e8;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;background:var(--cr);color:var(--tx);min-height:100vh;line-height:1.6}
a{cursor:pointer}img{max-width:100%}

/* === NAV === */
nav{background:var(--nvd);position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(0,0,0,.4)}
.nwrap{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 1.2rem}
.nbrand{display:flex;align-items:center;gap:.7rem;padding:.75rem 0;color:var(--gd);text-decoration:none}
.nbrand strong{display:block;font-size:.95rem;letter-spacing:.4px;color:var(--gd)}
.nbrand small{display:block;font-size:.65rem;color:var(--cr);opacity:.55;font-style:italic}
.nlinks{list-style:none;display:flex}
.nlinks a{display:block;padding:1.1rem .9rem;color:var(--cr);text-decoration:none;font-size:.82rem;letter-spacing:.4px;border-bottom:3px solid transparent;transition:color .2s,border-color .2s}
.nlinks a:hover,.nlinks a.active{color:var(--gd);border-bottom-color:var(--gd)}
.nmobile{display:none;background:none;border:none;color:var(--gd);padding:.5rem;font-size:1.3rem;cursor:pointer}

/* === HERO === */
.hero{background:linear-gradient(160deg,var(--nvd) 0%,var(--nv) 55%,#1f4080 100%);color:#fff;padding:5rem 1.5rem 5.5rem;text-align:center;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:58px;background:var(--cr);clip-path:ellipse(55% 100% at 50% 100%)}
.hero-cross{margin:0 auto 1.8rem;display:block;position:relative}
.hero h1{font-size:clamp(1.8rem,5vw,3rem);color:var(--gd);font-style:italic;letter-spacing:1px;margin-bottom:.5rem;position:relative}
.hero-tag{font-size:.75rem;text-transform:uppercase;letter-spacing:3px;opacity:.6;margin-bottom:1.6rem;position:relative}
.hero-q{max-width:480px;margin:0 auto 2.5rem;font-style:italic;opacity:.82;font-size:1rem;line-height:1.8;padding-left:1.1rem;border-left:2px solid var(--gd);text-align:left;position:relative}
.hero-q cite{display:block;font-size:.85rem;opacity:.7;margin-top:.5rem;font-style:normal}
.btn-primary{display:inline-block;background:var(--gd);color:var(--nvd);padding:.85rem 2.3rem;border:none;border-radius:2px;font-family:Georgia,serif;font-size:.88rem;font-weight:bold;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s;text-decoration:none}
.btn-primary:hover{background:var(--gdl);transform:translateY(-2px)}
.btn-secondary{display:inline-block;background:transparent;color:var(--nv);padding:.85rem 2rem;border:2px solid var(--nv);border-radius:2px;font-family:Georgia,serif;font-size:.88rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-secondary:hover{background:var(--nv);color:#fff}

/* === SECTIONS === */
.sec{padding:3.5rem 1.5rem;max-width:1100px;margin:auto}
.stitle{text-align:center;margin-bottom:2.5rem}
.stitle h2{font-size:clamp(1.4rem,3vw,1.9rem);color:var(--nv);font-style:italic;margin-bottom:.7rem}
.orn{display:flex;align-items:center;justify-content:center;gap:.9rem;color:var(--gd);font-size:.85rem}
.orn::before,.orn::after{content:'';flex:1;max-width:70px;height:1px;background:var(--gd);opacity:.5}

/* === CARDS === */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.3rem}
.icard{background:var(--wh);border-radius:3px;padding:1.8rem;border-top:4px solid var(--gd);box-shadow:0 2px 12px rgba(0,0,0,.07);transition:transform .2s,box-shadow .2s}
.icard:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,.12)}
.icard-ic{font-size:1.8rem;margin-bottom:.9rem;display:block}
.icard h3{color:var(--nv);margin-bottom:.5rem;font-size:1rem}
.icard p{color:var(--txl);font-size:.88rem;line-height:1.75}

/* === DATES === */
.datesbg{background:var(--nv);padding:3.5rem 1.5rem}
.dwrap{max-width:1100px;margin:auto}
.dwrap .stitle h2,.dwrap .orn{color:var(--gd)}
.dwrap .orn::before,.dwrap .orn::after{background:var(--gdl)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:.8rem;margin-top:2rem}
.ditem{background:rgba(255,255,255,.07);border:1px solid rgba(200,168,75,.25);border-radius:3px;padding:1rem;text-align:center;color:#fff;text-decoration:none;display:block;transition:background .2s}
.ditem:hover{background:rgba(200,168,75,.18)}
.ditem .dm{font-size:.65rem;text-transform:uppercase;letter-spacing:2px;color:var(--gd);margin-bottom:.2rem}
.ditem .dd{font-size:1.9rem;font-weight:bold;line-height:1;margin-bottom:.15rem}
.ditem .dy{font-size:.65rem;opacity:.4;margin-bottom:.4rem}
.ditem .dl{font-size:.65rem;color:var(--gdl);font-style:italic}

/* === FORM === */
.fpage{max-width:820px;margin:2.5rem auto;padding:0 1.2rem 3.5rem}
.fhead{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--brd)}
.fhead h2{color:var(--nv);font-size:1.7rem;font-style:italic}
.fhead p{color:var(--txl);margin-top:.4rem;font-size:.88rem}
.fbox{background:var(--wh);border-radius:4px;box-shadow:0 4px 24px rgba(0,0,0,.1)}
.fbsec{padding:1.4rem 1.8rem;border-bottom:1px solid var(--crd)}
.fbsec:last-child{border-bottom:none}
.fbst{font-size:.95rem;color:var(--nv);font-style:italic;margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--crd)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.fg{margin-bottom:.75rem}
.fg.full{grid-column:1/-1}
.fg label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;color:var(--txl);font-weight:bold;margin-bottom:.28rem}
.fg label .req,.req{color:#a00}
.fg input,.fg select,.fg textarea{width:100%;padding:.6rem .9rem;border:1.5px solid var(--brd);border-radius:3px;font-family:Georgia,serif;font-size:.9rem;color:var(--tx);background:var(--cr);transition:border-color .2s,box-shadow .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--nv);background:var(--wh);box-shadow:0 0 0 3px rgba(27,58,107,.1)}
.fg textarea{min-height:90px;resize:vertical}
.rgrp{display:flex;gap:1.3rem;padding-top:.35rem}
.rgrp label{display:flex;align-items:center;gap:.35rem;font-size:.88rem;text-transform:none;letter-spacing:0;color:var(--tx);cursor:pointer;font-weight:normal}
.rgrp input[type=radio]{width:auto;padding:0;border:none;background:transparent}
.facts{padding:1.3rem 1.8rem;background:var(--crd)}
.bsub{display:block;width:100%;padding:.9rem;background:var(--nv);color:var(--wh);border:none;border-radius:3px;font-family:Georgia,serif;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}
.bsub:hover{background:var(--nvd);transform:translateY(-1px)}

/* === ALERTS === */
.alert{padding:.85rem 1.1rem;border-radius:3px;margin-bottom:1.3rem;font-size:.88rem;display:none}
.alert.show{display:block}
.alert-ok{background:var(--okb);color:var(--ok);border:1px solid #b7e4c7}
.alert-er{background:var(--erb);color:var(--er);border:1px solid #f5b7b1}

/* === SOBRE === */
.spage{max-width:880px;margin:2.5rem auto;padding:0 1.2rem 3.5rem}
.shero{background:var(--nv);border-radius:4px;padding:2.5rem;text-align:center;margin-bottom:2.5rem;color:#fff}
.shero h2{color:var(--gd);font-size:1.8rem;font-style:italic;margin-bottom:.9rem}
.shero p{opacity:.8;line-height:1.85;max-width:580px;margin:auto;font-size:.9rem}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.sblk{background:var(--wh);border-radius:3px;padding:1.8rem;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.sblk h3{color:var(--nv);font-style:italic;margin-bottom:.9rem;border-bottom:1px solid var(--crd);padding-bottom:.7rem;font-size:1rem}
.sblk ul{list-style:none}
.sblk ul li{padding:.45rem 0;border-bottom:1px solid var(--crd);color:var(--txl);font-size:.88rem;display:flex;align-items:flex-start;gap:.55rem;line-height:1.6}
.sblk ul li:last-child{border-bottom:none}
.sblk ul li::before{content:'✦';color:var(--gd);flex-shrink:0;font-size:.65rem;margin-top:4px}
.sblk p{color:var(--txl);font-size:.88rem;line-height:1.85;margin-bottom:.75rem}
.scta{background:var(--crd);border-radius:3px;padding:1.8rem;text-align:center;border-left:4px solid var(--gd)}
.scta h3{color:var(--nv);margin-bottom:.6rem;font-style:italic;font-size:1.1rem}
.scta p{color:var(--txl);font-size:.88rem;margin-bottom:1.3rem;line-height:1.75}

/* === FOOTER === */
footer{background:var(--nvd);color:var(--cr);padding:2.5rem 1.5rem;text-align:center;margin-top:2rem}
footer .fc{font-size:1.7rem;color:var(--gd);margin-bottom:.6rem}
footer h3{color:var(--gd);font-style:italic;margin-bottom:.4rem;font-size:1rem}
footer p{opacity:.5;font-size:.75rem;margin-top:.25rem}
footer .copy{margin-top:.8rem;font-size:.7rem;opacity:.4}

/* === RESPONSIVE === */
@media(max-width:768px){
  .nlinks{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--nvd);padding:.5rem 0}
  .nlinks.open{display:flex}
  .nlinks a{padding:.9rem 1.5rem;border-bottom:none;border-left:3px solid transparent}
  .nlinks a.active{border-left-color:var(--gd);border-bottom:none}
  .nmobile{display:block}
  nav{position:relative}
  .nwrap{position:relative}
  .frow,.sgrid{grid-template-columns:1fr}
  .hero{padding:3.5rem 1.2rem 4rem}
  .fbsec{padding:1.2rem 1.2rem}
  .facts{padding:1.1rem 1.2rem}
}
@media(max-width:480px){
  .dgrid{grid-template-columns:repeat(4,1fr)}
}
