/* ==========================================================================
   ## MAIN GRID LAYOUT ##
   Standard card-based grid display for events
   ========================================================================== */
   
.lwp-rs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; margin: 10px 0; }
.lwp-rs-card { border: 1px solid #dcdcde; border-radius: 10px; background: #fff; padding: 14px; }
.lwp-rs-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 10px; }

/* Typography & Badges */
.lwp-rs-title { font-size: 16px; font-weight: 700; text-decoration: none; display: inline-block; line-height: 1.3; }
.lwp-rs-status { flex-shrink: 0; }
.lwp-rs-badge { display: inline-block; padding: 3px 8px; border-radius: 999px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; font-weight: 700; }
.lwp-rs-badge-running { background: #e7f7ed; color: #0a6b2b; border: 1px solid #bfe7cc; }
.lwp-rs-badge-soon { background: #fff6e6; color: #8a5a00; border: 1px solid #ffe0a6; }

/* Card Content */
.lwp-rs-row { margin-top: 6px; font-size: 14px; }
.lwp-rs-details { margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: #555; }
.lwp-rs-actions { margin-top: 14px; }
.lwp-rs-btn { display: inline-block; padding: 0.5em 1em; text-decoration: none; font-weight: 600; font-size: 14px; }

/* ==========================================================================
   ## CAPSULE LAYOUT ##
   Bubble-style list of sessions (Extracted from render_event_sessions)
   ========================================================================== */

.lwp-rs-schedule-wrapper { margin: 14px 0; display: flex; flex-direction: column; gap: 10px; }

.lwp-rs-capsules { display: flex; flex-wrap: wrap; gap: 8px; }
.lwp-rs-capsule-item, .lwp-rs-capsule { display: inline-flex; align-items: center; padding: 6px 10px; border: 1px solid #dcdcde; border-radius: 999px; font-size: 13px; line-height: 1; }
.lwp-rs-capsule-past { background: #e3e3e3; }
.lwp-rs-capsule-future { background: #d4f1ff; }

/* Exclusions */
.lwp-rs-exclusion-header { font-weight: 700; margin: 0 0 6px 0; }
.lwp-rs-exclusion-list { display: flex; flex-wrap: wrap; gap: 8px; }
.lwp-rs-exclusion-item { display: inline-flex; align-items: center; padding: 6px 10px; border: 1px solid #dcdcde; border-radius: 999px; background: #ffd6d6; color: #8a0000; font-size: 13px; line-height: 1; }

/* ==========================================================================
   ## GRID BOX LAYOUT ##
   Calendar-block style display (Extracted from render_event_sessions)
   ========================================================================== */

.lwp-rs-grid-box { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.lwp-rs-grid-item { border: 1px solid #ddd; border-radius: 6px; padding: 10px; text-align: center; }
.lwp-rs-grid-item-past { background: #f9f9f9; opacity: 0.6; }
.lwp-rs-grid-item-future { background: #fff; opacity: 1; }

/* Grid Item Details */
.lwp-rs-grid-session { font-size: 11px; text-transform: uppercase; color: #777; margin-bottom: 4px; }
.lwp-rs-grid-date { font-weight: 700; font-size: 15px; }
.lwp-rs-grid-day { font-size: 12px; color: #555; }
.lwp-rs-grid-time { font-size: 11px; color: #0073aa; margin-top: 4px; border-top: 1px solid #eee; padding-top: 4px; }

/* ==========================================================================
   ## GROUPED LISTS & EXCLUSIONS ##
   Text-based lists grouped by month, and exclusion warnings
   ========================================================================== */

.lwp-rs-grouped-month { margin-bottom: 12px; }
.lwp-rs-grouped-label { display: block; margin-bottom: 4px; font-weight: bold; }
.lwp-rs-grouped-days { color: #555; }

/* Exclusions Footer */
.lwp-rs-exclusions-footer { margin-top: 15px; padding-top: 10px; border-top: 1px dashed #ddd; }
.lwp-rs-exclusion-label { color: #a00; font-weight: 600; }
.lwp-rs-exclusion-list { color: #a00; }

/* ==========================================================================
   ## MISC CSS ##
   ========================================================================== */

/* Fix Calendar Datepicker Navigation */
.tribe-events-c-top-bar__datepicker-nav-icon-svg {
    pointer-events: none;
}