/* Calendário da paróquia (campos de data e horário) */
.cal-original{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;border:0!important;padding:0!important;margin:0!important}
.cal-campo{display:flex;align-items:center;gap:.6rem;width:100%;min-height:42px;padding:.45rem .8rem;border:1px solid #dccbbd;border-radius:.8rem;background:#fff;color:#3a2a2a;font:inherit;font-size:.95rem;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}
.cal-campo:hover{border-color:#b8913d;background:#fffdf9}
.cal-campo:focus-visible,.cal-campo[aria-expanded="true"]{outline:0;border-color:#6b1d2a;box-shadow:0 0 0 .2rem rgba(184,145,61,.3)}
.cal-campo:disabled{opacity:.55;cursor:not-allowed}
.cal-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:.55rem;background:#f6ece2;font-size:.95rem;flex:0 0 auto}
.cal-txt{flex:1;font-weight:600}
.cal-txt::first-letter{text-transform:uppercase}
.cal-campo.cal-vazio .cal-txt{color:#9a8a80;font-weight:500}
.cal-seta{color:#6b1d2a;font-size:.8rem}

.cal-pop{position:absolute;z-index:3000;width:308px;background:#fff;border:1px solid #ecdfd3;border-radius:1.1rem;box-shadow:0 18px 50px rgba(60,15,25,.22),0 2px 6px rgba(60,15,25,.08);padding:.85rem;font-family:inherit;color:#3a2a2a;animation:calEntra .16s ease-out}
@keyframes calEntra{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.cal-pop.folha{position:fixed;left:0!important;right:0;bottom:0;top:auto!important;width:auto;border-radius:1.3rem 1.3rem 0 0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));animation:calSobe .2s ease-out}
@keyframes calSobe{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem}
.cal-mes{font-size:1rem;text-transform:capitalize;color:#4a121c}
.cal-nav{width:34px;height:34px;border-radius:50%;border:1px solid #ecdfd3;background:#fff;color:#6b1d2a;font-size:1.25rem;line-height:1;cursor:pointer}
.cal-nav:hover{background:#6b1d2a;color:#fff;border-color:#6b1d2a}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-sem{text-align:center;font-size:.72rem;font-weight:700;color:#a08f84;padding:.2rem 0}
.cal-dia{aspect-ratio:1;border:0;border-radius:50%;background:none;font:inherit;font-size:.9rem;font-weight:600;color:#3a2a2a;cursor:pointer;transition:background .15s,color .15s}
.cal-dia:hover:not(:disabled){background:#f6ece2}
.cal-dia.hoje{box-shadow:inset 0 0 0 2px #b8913d;color:#6b1d2a}
.cal-dia.sel{background:linear-gradient(135deg,#7a2232,#5a1622);color:#fff;box-shadow:0 4px 10px rgba(107,29,42,.3)}
.cal-dia:disabled{color:#d4c7bd;cursor:not-allowed}
.cal-hora{display:flex;align-items:center;gap:.4rem;margin-top:.75rem;padding-top:.7rem;border-top:1px solid #f1e6dc}
.cal-hora-rot{flex:1;font-weight:700;font-size:.85rem;color:#4a121c}
.cal-sel{appearance:none;-webkit-appearance:none;border:1px solid #dccbbd;border-radius:.6rem;background:#fbf6f0;padding:.35rem .6rem;font:inherit;font-weight:700;font-size:1rem;color:#4a121c;text-align:center;cursor:pointer}
.cal-rapidos{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}
.cal-chip{border:1px solid #ecdfd3;background:#fff;border-radius:999px;padding:.2rem .6rem;font:inherit;font-size:.78rem;font-weight:600;color:#6b1d2a;cursor:pointer}
.cal-chip:hover{background:#f6ece2}
.cal-chip.sel{background:#6b1d2a;color:#fff;border-color:#6b1d2a}
.cal-rod{display:flex;gap:.4rem;justify-content:flex-end;margin-top:.8rem}
.cal-btn{border:0;border-radius:999px;padding:.42rem 1rem;font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#7a2232,#5a1622);color:#fff}
.cal-btn.leve{background:#f6ece2;color:#6b1d2a}
.cal-btn.leve:first-child{margin-right:auto}
.cal-pop button:focus-visible{outline:2px solid #b8913d;outline-offset:2px}
.cal-pop>.cal-hora:first-child{margin-top:0;padding-top:0;border-top:0}
