/* Confession Times — inherits fonts from your theme. Change the colors here or override
   these variables in Astra > Customize > Additional CSS, e.g.  .ct-wrap{--ct-accent:#1e4d7b} */
.ct-wrap{--ct-accent:#7A2331;--ct-gold:#A8813C;--ct-line:#E3D9C4;--ct-soft:#5B5041;--ct-panel:#fff;margin:0 0 2em}
.ct-wrap *{box-sizing:border-box}
.ct-filters{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;margin:0 0 8px;padding:18px 20px;background:var(--ct-panel);border:1px solid var(--ct-line);border-radius:6px}
.ct-search{display:flex;flex-direction:column;gap:6px;flex:1 1 240px;font-size:14px;font-weight:600;color:var(--ct-soft);margin:0}
.ct-search input{font-size:16px;padding:10px 12px;border:1px solid #CFC2A6;border-radius:4px;width:100%;margin:0}
.ct-days{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.ct-days legend{font-size:14px;font-weight:600;color:var(--ct-soft);padding:0;margin-bottom:6px;width:100%}
.ct-days label{position:relative;display:inline-block;padding:8px 14px;border:1px solid #CFC2A6;border-radius:999px;font-size:15px;background:#fff;cursor:pointer;margin:0;line-height:1.3}
.ct-days input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ct-days label.is-on{background:var(--ct-accent);border-color:var(--ct-accent);color:#fff}
.ct-days label:focus-within{outline:2px solid #2D5C8A;outline-offset:2px}
.ct-count{font-size:14px;color:var(--ct-soft);margin:14px 0 0}
.ct-list{list-style:none!important;margin:8px 0 0!important;padding:0!important;border-top:2px solid currentColor}
.ct-parish{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:10px 36px;padding:22px 0;margin:0!important;border-bottom:1px solid var(--ct-line)}
.ct-parish[hidden]{display:none}
.ct-parish p{margin:0}
.ct-town{font-size:14px;font-weight:600;color:var(--ct-gold)}
.ct-name{font-size:21px;line-height:1.2;margin:2px 0 8px!important}
.ct-addr,.ct-links{font-size:15px}
.ct-addr a,.ct-links a{color:var(--ct-soft);text-decoration:none}
.ct-addr a:hover,.ct-links a:hover{text-decoration:underline}
.ct-links a+a{margin-left:14px}
.ct-label{font-size:13px;font-weight:700;color:var(--ct-accent);margin-bottom:2px!important}
.ct-times{font-size:20px;line-height:1.35;font-weight:500}
.ct-unknown{font-size:16px;font-style:italic;color:var(--ct-soft)}
.ct-more{margin-top:10px;font-size:15px}
.ct-more summary{cursor:pointer;font-weight:600;width:max-content;max-width:100%}
.ct-more ul{margin:8px 0 6px 18px;padding:0;color:var(--ct-soft)}
.ct-more p{margin:6px 0 0;color:var(--ct-soft)}
.ct-note{font-style:italic}
.ct-meta{margin-top:10px!important;font-size:13px;color:var(--ct-soft)}
.ct-meta span+a{margin-left:12px}
.ct-empty{font-size:17px;padding:20px 0}
.ct-admin-note{padding:10px 14px;border:1px dashed #c00;color:#c00}
@media (max-width:680px){.ct-parish{grid-template-columns:1fr;gap:10px}.ct-filters{padding:16px}}
.ct-report{background:none;border:0;padding:0;font:inherit;font-size:13px;color:inherit;text-decoration:underline;cursor:pointer}
.ct-report:hover{color:var(--ct-accent)}
.ct-dialog{border:1px solid var(--ct-line);border-radius:8px;padding:24px;max-width:460px;width:calc(100% - 32px)}
.ct-dialog::backdrop{background:rgba(0,0,0,.45)}
.ct-dialog h3{margin:0 0 4px;font-size:20px}
.ct-dialog-parish{margin:0 0 14px;color:var(--ct-soft);font-size:15px}
.ct-dialog label{display:block;font-size:14px;font-weight:600;margin:0 0 12px}
.ct-dialog textarea,.ct-dialog input[type=email]{display:block;width:100%;margin-top:4px;padding:9px 10px;font:inherit;font-size:16px;font-weight:400;border:1px solid #CFC2A6;border-radius:4px}
.ct-hp{position:absolute!important;left:-9999px!important}
.ct-dialog-status{min-height:1.4em;margin:0 0 10px;font-size:15px}
.ct-dialog-actions{display:flex;gap:10px}
.ct-dialog-actions button{padding:9px 16px;border-radius:4px;font-size:15px;cursor:pointer;border:1px solid var(--ct-accent)}
.ct-send{background:var(--ct-accent);color:#fff}
.ct-cancel{background:#fff;color:var(--ct-accent)}
