.detail-stack{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.detail-stack>*,.detail-stack form,.detail-stack .event-list,.detail-stack .parish-results{max-width:100%}
.reading-measure{max-width:800px}
.directory-status{display:inline-block;background:var(--surface-subtle,#f2f6f7);padding:4px 12px;border-radius:2px;font:500 14px/21px var(--font-ui,'Libre Franklin',sans-serif)}
.directory-search{display:flex;gap:16px;align-items:flex-end;width:100%}
.directory-field{display:flex;flex-direction:column;gap:8px;width:min(720px,100%)}
.directory-field label{font:600 16px/24px var(--font-ui,'Libre Franklin',sans-serif)}
.directory-field input{appearance:none;width:100%;min-height:50px;padding:12px;border:1.5px solid var(--control-border,#74858d);border-radius:2px;background:white;color:var(--text,#1e2428);font:400 16px/24px var(--font-ui,'Libre Franklin',sans-serif);caret-color:var(--brand,#1d4557)}
.directory-field input::placeholder{color:var(--muted,#5a6266);opacity:1}
.directory-search>.button{min-width:144px}
.directory-filters{display:flex;flex-wrap:wrap;gap:12px}
.directory-results-section{padding-top:32px!important}
.directory-count{font:600 16px/24px var(--font-ui,'Libre Franklin',sans-serif)}
.parish-results{width:100%}
.parish-listing{display:flex;justify-content:space-between;gap:32px;align-items:flex-start;border-bottom:1px solid var(--rule,#c9d0d2);padding-bottom:24px;margin-bottom:24px}
.parish-listing .info-row{flex:1;min-width:0}
.parish-listing .info-row,.parish-detail .info-row,.selected-session .info-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0}
.parish-listing>.button{flex:0 0 220px;margin-top:0}
.parish-name,.detail-label{font:600 16px/24px var(--font-ui,'Libre Franklin',sans-serif);color:var(--text,#1e2428);margin:0}
.parish-name a{color:inherit;text-decoration:none}
.parish-name a:hover{text-decoration:underline}
.parish-listing address,.parish-detail address,.selected-session address{font-style:normal;font-size:16px;line-height:25px}
.parish-phone{display:inline-block;width:fit-content}
.directory-note{font:400 14px/21px var(--font-ui,'Libre Franklin',sans-serif);color:var(--muted,#5a6266);max-width:900px}
.directory-empty{padding:32px 0 48px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.directory-empty h2{max-width:760px}
.parish-destinations{display:flex;flex-direction:column;gap:16px;width:100%;max-width:800px}
.parish-detail>.info-row{width:100%}
.event-list{width:100%}
.event-list .event-row{border-bottom:1px solid var(--rule,#c9d0d2);text-decoration:none;color:var(--text,#1e2428)}
.event-list .event-row:hover{background:var(--surface-subtle,#f2f6f7)}
.event-list .event-row:hover .event-title{text-decoration:underline;text-underline-offset:4px}
.event-list .event-title{font-family:var(--font-body,'Literata',serif);font-size:18px;line-height:29px;font-weight:600;color:var(--text,#1e2428);margin:0}
.event-list .event-info p{font-size:15px;line-height:23px;color:var(--muted,#5a6266)}
.event-next-heading{margin-top:40px}
.event-description{font-size:21px;line-height:31px;font-style:italic}
.selected-session{background:var(--surface-subtle,#f2f6f7);padding:24px;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.selected-session-date{font:600 21px/28px var(--font-ui,'Libre Franklin',sans-serif);color:var(--brand,#1d4557);margin:0}
.selected-session>.info-row{width:100%}
.selected-session>.button{max-width:100%}
.event-detail .actions{flex-wrap:wrap}
@media(max-width:700px){
 .directory-search,.directory-filters{flex-direction:column;align-items:stretch;width:100%}
 .directory-search>.button,.directory-filters>.button{width:100%}
 .parish-listing{flex-direction:column;gap:16px;padding-bottom:24px}
 .parish-listing>.button{width:100%;flex:auto}
 .directory-empty{padding-top:16px}
 .event-detail>.button,.parish-detail>.button{width:100%}
 .selected-session>.button{width:100%;padding-left:16px;padding-right:16px}
 .event-detail .actions{width:100%}
 .event-detail .actions>*{width:100%}
}
/* Preserve the full clock time while allowing the longer Spanish time-zone label to wrap. */
.selected-session .selected-session-time{white-space:normal}
.selected-session .event-clock,.selected-session .event-time-zone{white-space:nowrap}
