.drtc-events-list{display:grid;gap:22px}.drtc-event-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:22px;background:#fff;border:1px solid #dfe4ea;border-radius:14px;padding:22px;box-shadow:0 8px 24px rgba(10,31,55,.06)}.drtc-event-card.is-compact{padding:18px}.drtc-event-datebox{background:#0b2948;border-radius:10px;color:#fff;text-align:center;overflow:hidden;align-self:start}.drtc-event-month{display:block;background:#b22234;padding:6px 4px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.drtc-event-day{display:block;font-size:2rem;line-height:1;padding:14px 4px 16px;font-weight:800}.drtc-event-time{margin:0 0 5px;color:#b22234;font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}.drtc-event-card h3{margin:0 0 9px;font-size:1.35rem;line-height:1.25}.drtc-event-card h3 a{text-decoration:none;color:#0b2948}.drtc-event-card h3 a:hover{text-decoration:underline}.drtc-event-location,.drtc-event-summary{margin:7px 0;color:#3e4c59}.drtc-event-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:16px}.drtc-event-button{display:inline-block;background:#b22234;color:#fff!important;text-decoration:none!important;font-weight:800;border-radius:7px;padding:11px 17px}.drtc-event-button:hover{background:#8d1928}.drtc-event-details-link,.drtc-event-view-all{font-weight:700;color:#0b2948}.drtc-events-empty{padding:28px;border:1px dashed #aab4bf;border-radius:12px;background:#f8fafc;text-align:center}.drtc-events-empty h3{margin-top:0}.drtc-events-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.drtc-events-eyebrow{margin:0 0 5px;color:#b22234;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem}.drtc-calendar-wrap{margin:25px 0 42px;border:1px solid #dfe4ea;border-radius:14px;overflow:hidden;background:#fff}.drtc-calendar-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 20px;background:#0b2948;color:#fff}.drtc-calendar-header h2{margin:0;color:#fff;font-size:1.45rem}.drtc-calendar-nav{color:#fff!important;font-weight:700;text-decoration:none}.drtc-calendar-nav:last-child{text-align:right}.drtc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.drtc-calendar-weekdays{background:#eef2f6;border-bottom:1px solid #dfe4ea}.drtc-calendar-weekdays div{text-align:center;padding:10px 4px;font-weight:800;color:#354250;font-size:.82rem}.drtc-calendar-cell{min-height:120px;padding:9px;border-right:1px solid #e6eaf0;border-bottom:1px solid #e6eaf0;background:#fff}.drtc-calendar-cell:nth-child(7n){border-right:0}.drtc-calendar-cell.is-empty{background:#f8fafc}.drtc-calendar-cell.is-today{box-shadow:inset 0 0 0 2px #b22234}.drtc-calendar-date{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;font-weight:800;color:#0b2948}.drtc-calendar-cell.is-today .drtc-calendar-date{background:#b22234;color:#fff}.drtc-calendar-events{display:grid;gap:6px;margin-top:6px}.drtc-calendar-events a{display:block;padding:7px;border-left:3px solid #b22234;background:#f4f6f8;text-decoration:none;color:#0b2948;font-size:.78rem;line-height:1.25}.drtc-calendar-events a span{display:block;font-weight:800}.drtc-calendar-events a small{display:block;color:#5c6976;margin-top:3px}.drtc-upcoming-section>h2{margin-bottom:22px}.drtc-single-event-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dfe4ea;border:1px solid #dfe4ea;border-radius:12px;overflow:hidden;margin:0 0 26px}.drtc-single-event-box>div{background:#f8fafc;padding:18px}.drtc-single-event-box strong,.drtc-single-event-box span{display:block}.drtc-single-event-box strong{color:#0b2948;margin-bottom:5px}.drtc-single-event-box span{color:#3e4c59}
@media(max-width:760px){.drtc-event-card{grid-template-columns:72px minmax(0,1fr);gap:15px;padding:16px}.drtc-event-day{font-size:1.6rem}.drtc-events-section-heading{align-items:flex-start;flex-direction:column}.drtc-calendar-wrap{overflow-x:auto}.drtc-calendar-header,.drtc-calendar-grid{min-width:720px}.drtc-calendar-cell{min-height:100px}.drtc-single-event-box{grid-template-columns:1fr}}

/* Calendar month navigation visibility and labels. */
.drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-current-month{
    margin:0;
    color:#fff!important;
    font-size:1.45rem;
    line-height:1.2;
    text-align:center;
    opacity:1;
    visibility:visible;
}
.drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-nav{
    color:#fff!important;
    opacity:1;
    visibility:visible;
    white-space:nowrap;
}
.drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-nav:hover,
.drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-nav:focus{
    color:#ffd34e!important;
    text-decoration:underline;
}
.drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-nav-next{text-align:right;}
@media(max-width:760px){
    .drtc-calendar-wrap .drtc-calendar-header .drtc-calendar-current-month{font-size:1.25rem;}
}

/* Events page month-first layout. */
.drtc-month-events-section{margin-bottom:42px}
.drtc-month-events-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid #b22234}
.drtc-month-events-heading p{margin:0;color:#5c6976;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.drtc-month-events-heading h2{margin:0;color:#0b2948;font-size:clamp(1.8rem,4vw,2.55rem)}
.drtc-month-events-list .drtc-event-card{grid-template-columns:78px minmax(0,1fr);padding:18px}
.drtc-month-events-list .drtc-event-summary{display:none}

/* Compact live calendar displayed in the Events hero. */
.drtc-events-hero-calendar{width:min(390px,100%);margin-left:auto;padding:20px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 18px 45px rgba(0,0,0,.24);color:#0b2948;backdrop-filter:blur(5px)}
.drtc-events-hero-calendar-title{display:flex;align-items:center;justify-content:center;gap:9px;padding-bottom:12px;border-bottom:2px solid #b22234;font-size:1.12rem}
.drtc-events-hero-calendar-title .dashicons{color:#b22234}
.drtc-events-hero-weekdays,.drtc-events-hero-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.drtc-events-hero-weekdays{margin-top:12px;color:#5c6976;font-size:.7rem;font-weight:800;text-align:center}
.drtc-events-hero-days{margin-top:5px}
.drtc-events-hero-days span{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:6px;font-size:.78rem;font-weight:700}
.drtc-events-hero-days span.is-empty{visibility:hidden}
.drtc-events-hero-days span.has-event{background:#f4d8dc;color:#8d1928}
.drtc-events-hero-days span.has-event:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#b22234}
.drtc-events-hero-days span.is-today{box-shadow:inset 0 0 0 2px #0b2948}
.drtc-events-hero-calendar>a{display:block;margin-top:13px;text-align:center;color:#0b2948;font-weight:800;text-decoration:none}
.drtc-events-hero-calendar>a:hover{text-decoration:underline}

@media(max-width:900px){
 .drtc-events-hero-calendar{margin:24px 0 0}
}
@media(max-width:640px){
 .drtc-month-events-heading{align-items:flex-start;flex-direction:column;gap:3px}
 .drtc-month-events-list .drtc-event-card{grid-template-columns:68px minmax(0,1fr)}
 .drtc-events-hero-calendar{padding:15px}
}

/* Canonical Events page order: selected-month events, calendar, then all upcoming events. */
.drtc-all-upcoming-section{margin-top:46px}
.drtc-all-upcoming-section>h2{margin:0 0 22px;color:#0b2948}
.drtc-calendar-section{margin-bottom:0}
