/* Shared tracks align the primary ceremony facts; optional family details follow actions. */
.hero-family-grid.ceremony-grid,.events.ceremony-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:stretch}
.ceremony-grid>.ceremony-card{display:grid;grid-template-rows:subgrid;grid-row:span 8;row-gap:16px;min-width:0;height:auto;text-align:center;overflow-wrap:anywhere;padding:28px 24px;background:#fffaf5;border:1px solid #e5d7cc;border-radius:12px}
.ceremony-card [data-schedule-row]{min-width:0;margin:0;align-content:start}
.ceremony-card header h4{font:500 var(--type-event)/1.4 var(--font-heading);margin:8px 0 0;color:#82535b}
.ceremony-card p{margin:6px 0 0;font-size:var(--type-body);line-height:1.7}
.ceremony-card small{font:500 var(--type-secondary)/1.6 var(--font-body);letter-spacing:.12em;color:#786b65}
.ceremony-card h3{font:500 var(--type-date)/1.3 var(--font-heading);margin:6px 0 0;color:#84575d}
.ceremony-card [data-schedule-row=date]>p{font-size:var(--type-secondary);color:#786b65}
.ceremony-card .text-link{margin:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-underline-offset:5px;color:#89535e}
.ceremony-card .family-countdown{display:flex;justify-content:center;gap:16px;margin:0;padding:12px 0;border-block:1px solid #eaded6}
.ceremony-card .family-countdown>div{display:grid;gap:4px;min-width:40px}
.ceremony-card .family-countdown strong{font:500 25px/1.3 var(--font-heading)}
.ceremony-card .family-countdown span{font:400 11px/1.5 var(--font-body)}
.ceremony-details{border-top:1px solid #eaded6;padding-top:16px;text-align:left}
.ceremony-details:has(.ceremony-family:empty):has([data-schedule-row=copy]:empty){display:none}
.ceremony-details p{font-size:13px;color:#6f625d;white-space:pre-line}
.ceremony-details [data-schedule-row=copy]:not(:empty){margin-top:12px}
.ceremony-rsvp{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:min(100%,300px);padding:12px 18px;border:1px solid #d7acb3;border-radius:9px;background:#eed4d9;color:#653b48;font:600 var(--type-button)/1.5 var(--font-body);cursor:pointer;transition:background .2s,box-shadow .2s}
.ceremony-rsvp:hover{background:#e8c2cb;box-shadow:0 3px 10px #8a526018}.ceremony-rsvp:active{background:#dfb3bf}.ceremony-rsvp:disabled{background:#eee7e5;border-color:#ded5d0;color:#766b65;cursor:default;box-shadow:none}
.ceremony-card .ceremony-closed{font-size:12px}
.ceremony-grid:has(> :only-child){grid-template-columns:minmax(0,640px);justify-content:center}
.countdown-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.countdown-event-grid .countdown-wrap{margin:0}
@supports not (grid-template-rows:subgrid){.ceremony-grid>.ceremony-card{grid-template-rows:repeat(8,auto);grid-row:auto}}
@media(max-width:680px){.hero-family-grid.ceremony-grid,.events.ceremony-grid,.countdown-event-grid{grid-template-columns:minmax(0,1fr);gap:20px}.ceremony-grid>.ceremony-card{grid-row:auto;grid-template-rows:none;gap:18px;padding:24px 18px}.ceremony-card [data-schedule-row]:empty{display:none}.ceremony-card .family-countdown{gap:12px}.ceremony-details{padding-top:14px}}
