.cal{--cal-event:#f6e8e3;--cal-event-hover:#f0dad2;--cal-past:#fcfbf8;--cal-event-past:#f9f2ee;--cal-mass-past:#f3f6f9;margin-top:36px}.cal-toolbar{display:none}.js .cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-bottom:24px;display:flex}.cal-controls{flex-direction:column;gap:14px;min-width:0;display:flex}.cal-segment{background:var(--paper);box-shadow:var(--shadow-sm);border:1px solid #1e364a0f;border-radius:14px;flex-wrap:wrap;align-self:flex-start;gap:4px;padding:5px;display:inline-flex}.cal-segment button{color:var(--blue);min-height:40px;font:inherit;font-size:var(--step--1);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 14px;font-weight:500;line-height:1.2;transition:background .2s,color .2s,box-shadow .2s}.cal-segment button:hover{background:var(--cream)}.cal-segment button[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:0 4px 12px #1e364a38}.cal-kinds{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-kinds-label{font-size:var(--step--1);color:var(--muted);margin-right:4px}.cal-toggle{border:1px solid var(--line);background:var(--paper);min-height:40px;color:var(--muted);font:inherit;font-size:var(--step--1);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:6px 16px 6px 12px;font-weight:500;transition:border-color .2s,color .2s;display:inline-flex}.cal-toggle:before{content:"";border:1.5px solid var(--line);background-position:50%;background-repeat:no-repeat;background-size:12px;border-radius:5px;flex:none;width:18px;height:18px}.cal-toggle:hover{border-color:var(--blue);color:var(--blue)}.cal-toggle[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}.cal-toggle[aria-pressed=true]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m2.5 6.2 2.3 2.3 4.7-5' fill='none' stroke='%231e364a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.cal-toggle.event[aria-pressed=true]:before{background-color:var(--cal-event);border-color:var(--red)}.cal-toggle.mass[aria-pressed=true]:before{background-color:var(--pale);border-color:var(--blue)}.cal-toggle.confession[aria-pressed=true]:before{background-color:var(--paper);border-color:var(--blue)}.cal-month-view{display:none}.cal-month{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #1e364a0f;padding:26px 28px 20px}.cal-month-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.cal-month-head h2{margin:0;font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem)}.cal-month-nav{gap:8px;display:flex}.cal-nav{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--blue);cursor:pointer;border-radius:50%;place-items:center;transition:background .2s,border-color .2s;display:inline-grid}.cal-nav:hover:not(:disabled){background:var(--cream);border-color:var(--blue)}.cal-nav:disabled{opacity:.35;cursor:default}.cal-grid{border-collapse:collapse;table-layout:fixed;width:100%}.cal-grid th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:0 10px 10px;font-size:.8125rem;font-weight:600}.cal-grid abbr{text-decoration:none}.cal-cell{vertical-align:top;border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft);height:132px;padding:8px 6px 10px}.cal-cell:first-child{border-left:0}.cal-cell.is-outside,.cal-cell.is-past,.cal-cell.is-after{background:var(--cal-past)}.cal-date{min-width:32px;height:32px;font-family:var(--serif);color:var(--blue);font-variant-numeric:lining-nums;border-radius:999px;place-items:center;margin:0 0 4px 2px;padding-inline:4px;font-size:1.1875rem;line-height:1;display:inline-grid}a.cal-date:hover{background:var(--cream)}.cal-cell.is-past .cal-date,.cal-cell.is-after .cal-date{color:var(--muted)}.cal-cell.is-today .cal-date{background:var(--blue);color:#fff}.cal-cell-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cal-pill a{-webkit-line-clamp:2;line-clamp:2;color:var(--blue);border-radius:6px;-webkit-box-orient:vertical;padding:4px 8px;font-size:.875rem;line-height:1.3;transition:background .2s;display:-webkit-box;overflow:hidden}.cal-pill.event a{background:var(--cal-event)}.cal-pill.event a:hover{background:var(--cal-event-hover)}.cal-pill-time{color:var(--red);font-variant-numeric:tabular-nums;font-weight:600}.cal-pill-kind{font-weight:600}.cal-pill.mass a{background:var(--pale)}.cal-pill.mass a:hover{background:#dce8f5}.cal-pill.confession a{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.cal-pill.confession a:hover{color:var(--blue)}.cal-cell.is-past .cal-pill a,.cal-cell.is-past .cal-pill-time{color:var(--muted)}.cal-cell.is-past .cal-pill.event a{background:var(--cal-event-past)}.cal-cell.is-past .cal-pill.event a:hover{background:var(--cal-event)}.cal-cell.is-past .cal-pill.mass a{background:var(--cal-mass-past)}.cal-cell.is-past .cal-pill.mass a:hover{background:var(--pale)}.cal-cell.is-past .cal-pill.confession a:hover{color:var(--blue)}.cal-earlier{margin:0 0 16px}.cal-earlier-button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--blue);font:inherit;font-size:var(--step--1);border-radius:999px;align-items:center;gap:8px;padding:8px 18px 8px 14px;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.cal-earlier-button:hover{background:var(--cream);border-color:var(--blue)}.cal-earlier-button .icon{width:18px;height:18px}.cal-list-month+.cal-list-month{margin-top:40px}.cal-list-heading{margin:0 0 14px;font-size:clamp(1.75rem,1.4rem + 1vw,2.25rem)}.cal-days{background:var(--line-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #1e364a0f;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.cal-day{background:var(--paper);scroll-margin-top:calc(var(--header-height) + 16px);grid-template-columns:64px minmax(0,1fr);gap:24px;padding:18px 26px;display:grid}.cal-day:focus{outline:none}.cal-day-head{margin:0}.cal-day-tile{background:var(--cream);width:64px;height:64px;color:var(--blue);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1;display:flex}.cal-dow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:.8125rem;font-weight:600}.cal-dnum{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:1.75rem;font-weight:400}.cal-day.is-today .cal-day-tile{background:var(--blue);color:#fff}.cal-day.is-today .cal-dow{color:var(--gold)}.cal-items{flex-direction:column;align-self:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cal-item{grid-template-columns:10.5rem minmax(0,1fr);align-items:baseline;gap:4px 20px;display:grid}.cal-when{font-size:var(--step--1);color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.cal-item.event .cal-when{color:var(--red)}.cal-what{flex-direction:column;gap:2px;min-width:0;display:flex}.cal-title{font-family:var(--serif);font-size:1.375rem;font-weight:400;line-height:1.2}.cal-title a:hover{color:var(--red)}.cal-place{font-size:var(--step--1);color:var(--muted)}.cal-kind{border-radius:999px;padding:3px 12px;font-size:.875rem;font-weight:600;display:inline-block}.cal-item.mass .cal-kind{background:var(--pale);color:var(--blue)}.cal-item.confession .cal-kind{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font-weight:500}.cal-item.mass .cal-what,.cal-item.confession .cal-what{font-size:var(--step--1);flex-flow:wrap;align-items:baseline;gap:4px 16px}.cal-church{color:var(--blue);font-weight:600}.cal-church:hover{color:var(--red)}.cal-times{color:var(--blue);flex-wrap:wrap;gap:2px 14px;display:flex}.cal-time{white-space:nowrap;font-variant-numeric:tabular-nums}.cal-time em{color:var(--red);margin-left:6px;font-style:normal}.cal-time strong{color:var(--red);margin-left:6px;font-weight:600}.cal-time.cancelled time{color:var(--muted);text-decoration:line-through}.cal-day.is-past{background:var(--cal-past)}.cal-day.is-past .cal-day-tile{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);background:0 0}.cal-day.is-past .cal-when,.cal-day.is-past .cal-title,.cal-day.is-past .cal-church,.cal-day.is-past .cal-times,.cal-day.is-past .cal-time em,.cal-day.is-past .cal-time strong{color:var(--muted)}.cal-day.is-past .cal-church:hover{color:var(--red)}.cal-day.is-past .cal-item.mass .cal-kind{background:var(--cal-mass-past);color:var(--muted)}.cal-empty{margin-top:0}.cal-foot{font-size:var(--step--1);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-top:22px;display:flex}.cal-foot .text-link{color:var(--blue);font-size:var(--step--1)}.cal-church{margin-top:18px}.cal-lead{color:var(--muted);margin:0 0 18px}.cal-church .cal-days{margin-bottom:22px}.cal-church .cal-item{grid-template-columns:12.5rem minmax(0,1fr)}@media (width>=761px){.js .cal[data-view=month] .cal-month-view{display:block}.js .cal[data-view=month] .cal-list{display:none}}@media (width<=1000px){.cal-cell{height:112px}.cal-item{grid-template-columns:8.75rem minmax(0,1fr)}}@media (width<=760px){.cal{margin-top:24px}.cal-views{display:none!important}.cal-segment{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.cal-segment::-webkit-scrollbar{display:none}.cal-segment button{white-space:nowrap;flex:none}.cal-day{grid-template-columns:52px minmax(0,1fr);gap:16px;padding:16px 18px}.cal-day-tile{width:52px;height:56px}.cal-dnum{font-size:1.5rem}.cal-item{grid-template-columns:minmax(0,1fr);gap:2px}.cal-items{align-self:start}.cal-title{font-size:1.25rem}}.booking{max-width:760px;margin-bottom:56px}.booking-app{display:none}.js .booking-app{display:block}.booking-step+.booking-step{margin-top:8px}.booking h2{margin:0 0 16px;font-size:1.75rem}.booking h2:focus{outline:none}.booking h2{scroll-margin-top:calc(var(--header-height) + 16px)}.booking-priest-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #1e364a0f;margin-bottom:32px;padding:22px 26px}.booking-priest-card .kicker{margin-bottom:6px}.booking-priest-card p{margin:0}.booking-priest-name{font-family:var(--serif);font-size:var(--step-2);color:var(--blue);font-weight:500;line-height:1.2}.booking-priest-role,.booking-priest-note{color:var(--muted);font-size:var(--step--1)}.booking-priests{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:32px;display:grid}.booking-priest{text-align:left;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--blue);font:inherit;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.booking-priest:hover{border-color:var(--blue)}.booking-priest[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 1.5px var(--blue)}.booking-status:empty{display:none}.booking-status{color:var(--muted)}.booking-days,.booking-times{flex-wrap:wrap;gap:8px;display:flex}.booking-times{border-top:1px solid var(--line-soft);margin-top:22px;padding-top:22px}.booking-day,.booking-time{border:1px solid var(--line);background:var(--paper);color:var(--blue);font:inherit;cursor:pointer;border-radius:12px;transition:background .2s,border-color .2s,color .2s}.booking-day{flex-direction:column;align-items:center;min-width:76px;padding:10px 12px;line-height:1.25;display:flex}.booking-day-name{font-size:var(--step--1);color:var(--muted)}.booking-day-date{font-weight:500}.booking-time{min-width:104px;min-height:44px;padding:8px 16px;font-weight:500}.booking-day:hover,.booking-time:hover{border-color:var(--blue)}.booking-day[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.booking-day[aria-pressed=true] .booking-day-name{color:#ffffffd1}.booking-tz{color:var(--muted);font-size:var(--step--1);margin:18px 0 0}.booking-summary{background:var(--pale);color:var(--blue);border-radius:var(--radius-sm);margin:0 0 24px;padding:10px 16px;font-weight:500;display:inline-block}.booking-field{gap:6px;margin-bottom:20px;display:grid}.booking-field label{color:var(--blue);font-weight:500}.booking-field input,.booking-field textarea{width:100%;font:inherit;color:var(--blue);background:var(--paper);border-radius:var(--radius-sm);border:1px solid #c9bfab;min-height:48px;padding:12px 14px}.booking-field textarea{resize:vertical;min-height:112px}.booking-field input:focus-visible,.booking-field textarea:focus-visible{border-color:var(--blue)}.booking-field [aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.booking-hint{color:var(--muted);font-size:var(--step--1);margin:0}.booking-option{grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin-bottom:20px;display:grid}.booking-option input{width:22px;height:22px;accent-color:var(--blue);margin:0}.booking-option label{color:var(--blue);cursor:pointer;font-weight:500}.booking-option .booking-hint{grid-column:2}.booking-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.booking-check:not(:empty){margin-bottom:12px}.booking-error:empty{display:none}.booking-error{color:var(--red);font-weight:500}.booking-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:8px;display:flex}.booking-actions .button[disabled]{opacity:.7;cursor:progress;transform:none}.booking-link{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 0 2px;font-weight:500}.booking-link:hover{color:var(--red)}.booking-done [data-done-text]{margin-bottom:20px}.booking-done{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid #1e364a0f;padding:26px 28px}.booking-contacts{flex-wrap:wrap;gap:8px 24px;display:flex}.booking-contacts a{color:var(--blue);border-bottom:1px solid;font-weight:500}@media (width<=520px){.booking-days{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;margin-inline:-20px;padding:2px 20px 6px;scroll-padding-inline:20px;overflow-x:auto}.booking-days::-webkit-scrollbar{display:none}.booking-day{scroll-snap-align:start;flex:none}.booking-time{flex:calc(33.3333% - 5.33333px);min-width:0}.booking-actions .button{width:100%}}
