.fc-daygrid-event-harness.piecal-member-event-tag-no-riding .fc-event { display: none; }
.fc .fc-day-today .fc-daygrid-day-number {position: relative; color: #fff;}
.fc .fc-day-today .fc-daygrid-day-number:before {
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-color: #6a1211;
    z-index: -1;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -56%);
}
.fc .fc-daygrid-day.fc-day-today {background-color: transparent!important;}

/* --- Per-category event colors ------------------------------------------------
Re-declare the plugin's CSS variables on the event element itself.
Because these selectors are closer to the element than .piecal-wrapper,
they win without needing !important.
Add or adjust categories below as needed.

also text color if necessary --fc-event-text-color (white by default)
-------------------------------------------------------------------------------- */
.fc-h-event.piecal-member-event-category-ranch-stay-dates {
    --fc-event-bg-color: #E2C8BB;
    --fc-event-border-color: #96685A;
    --fc-event-text-color: #5C2A1A;
    padding-left: 4px;
}
.fc-daygrid-block-event.piecal-member-event-category-ranch-stay-dates .fc-event-title {
    padding: 2px 1px 0px 1px;
}
.fc-h-event.piecal-member-event-category-ranch-stay-dates.fc-event-start.fc-event-end {
    border-left: 4px solid #96685A !important;
    border-right: 4px solid #96685A !important;
}
.fc-h-event.piecal-member-event-category-ranch-stay-dates.fc-event-start:not(.fc-event-end) {
    border-left: 4px solid #96685A !important;
}
.fc-h-event.piecal-member-event-category-ranch-stay-dates.fc-event-end:not(.fc-event-start) {
    border-right: 4px solid #96685A !important;
}
.fc-h-event.piecal-member-event-category-ranch-stay-dates.fc-event-end:not(.fc-event-start) .fc-event-title:before {
    content: "...";
}

.fc-h-event.piecal-member-event-category-alert {
--fc-event-bg-color: #6a1211;
--fc-event-border-color: #6a1211;
padding-left: 4px;
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay {
    --fc-event-bg-color: #E8E4DE;
    --fc-event-border-color: #9C8E7E;
    --fc-event-text-color: #4A3F35;
    padding-left: 4px;
}
.fc-daygrid-block-event.piecal-member-event-type-group-stay .fc-event-title {
    padding: 2px 1px 0px 1px;
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay.fc-event-start:not(.fc-event-end) {
    border-left: 4px solid #9C8E7E !important;
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay.fc-event-end:not(.fc-event-start) {
    border-right: 4px solid #9C8E7E !important;
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay.fc-event-end.fc-event-start {
    border-right: 4px solid #9C8E7E !important;
    border-left: 4px solid #9C8E7E !important;
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay.fc-event-end:not(.fc-event-start) .fc-event-title:before {
    content: "...";
}
.fc-h-event.piecal-member-event-category-alert.piecal-member-event-type-group-stay .fc-event-title {
    font-style: italic;
}
.piecal-member-event-type-ranch-events.fc-h-event {
    --fc-event-bg-color: #EDE8E0;
    --fc-event-border-color: transparent;
    --fc-event-text-color: #5C4F3A;
    font-weight: 600;
    font-weight: 600;
    border-bottom-width: 0;
    border-top-width: 0;
}
.fc-h-event.piecal-member-event-type-ranch-events.fc-event-start:not(.fc-event-end) {
    border-left: 4px solid #3D6657 !important;
}
.fc-h-event.piecal-member-event-type-ranch-events.fc-event-end:not(.fc-event-start) {
    border-right: 4px solid #3D6657 !important;
}
.fc-h-event.piecal-member-event-type-ranch-events.fc-event-end.fc-event-start {
    border-right: 0 solid transparent!important;
    border-left: 0 solid transparent!important;
}
.fc-h-event.piecal-member-event-type-ranch-events.fc-event-end:not(.fc-event-start) .fc-event-title:before {
    content: "...";
}
.fc-h-event.piecal-member-event-type-ranch-events .fc-event-title {margin-left: 2px;}
.entry-content #calendar a.piecal-member-event-type-ranch-events.fc-daygrid-dot-event {
    color: #5C4F3A;
    background-color: #EDE8E0;
    padding: 3px 6px;
    font-size: .8em;
    line-height: 1.2;
    border-radius: 3px;
}
.piecal-member-event-type-local-events.fc-h-event {
    --fc-event-bg-color: #C8DDD5;
    --fc-event-border-color: #3D6657;
    --fc-event-text-color: #3D6657;
    font-weight: 600;
    border-bottom-width: 0;
    border-top-width: 0;
}
.fc-h-event.piecal-member-event-type-local-events.fc-event-start:not(.fc-event-end) {
    border-left: 4px solid #3D6657 !important;
}
.fc-h-event.piecal-member-event-type-local-events.fc-event-end:not(.fc-event-start) {
    border-right: 4px solid #3D6657 !important;
}
.fc-h-event.piecal-member-event-type-local-events.fc-event-end.fc-event-start {
    border-right: 0 solid transparent!important;
    border-left: 0 solid transparent!important;
}
.fc-h-event.piecal-member-event-type-local-events.fc-event-end:not(.fc-event-start) .fc-event-title:before {
    content: "...";
}
.fc-h-event.piecal-member-event-type-local-events .fc-event-title {margin-left: 2px;}

.entry-content #calendar a.piecal-member-event-type-local-events.fc-daygrid-dot-event {
    color: #3D6657;
    background-color: #C8DDD5;
    padding: 3px 6px;
    font-size: .8em;
    line-height: 1.2;
    border-radius: 3px;
}
.fc-daygrid-dot-event .fc-event-time {
flex-grow: 0;
flex-shrink: 1;
min-width: 0;
overflow: hidden;
font-weight: 600;
/* text-transform: lowercase; */
padding-right: 5px;
}
.fc-daygrid-dot-event .fc-event-title {font-weight: 600!important;}

.entry-content #calendar a.piecal-member-event-type-member-exclusive.fc-daygrid-dot-event {
    color: #fff;
    background-color: #C4832A;
    border-left: 3px solid #8C5800 !important;
    padding: 3px 6px;
    font-size: .8em;
    line-height: 1.2;
    border-radius: 3px;
    font-weight: 700;
}

.fc-daygrid-day-top .no-riding-icon {
    width: 1.2em;
    height: 1.2em;
}

.fc .fc-daygrid-day-top {
    display: grid !important;
    grid-template-columns: 1fr auto auto;
    grid-template-rows: auto;
    align-items: center;
    gap: 0 4px;
}

.fc .fc-daygrid-day-top .fc-daygrid-day-number {
    grid-column: 3;
    grid-row: 1;
}

.fc .fc-daygrid-day-top .day-top-icons {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
}

.fc .fc-daygrid-day-top .notification-label {
    grid-column: 1;
    grid-row: 1;
}
.fc-list-day-cushion {display: flex; justify-content: center;}

.fc-list-day-cushion .day-top-icons {display: inline-flex; align-items: center;}

.fc-list-day-cushion .day-top-icons .no-riding-icon {
    width: 1.2em;
    height: 1.2em;
    vertical-align: middle;
    margin-left: 8px;
}

/* .notification-label — base style for all notifications
.notification-category-holiday — holidays (St. Patrick's Day, etc.)
.notification-category-alert — alerts (Pool Opens, Patio House Lunch Opens, etc.) */
.notification-label {
    font-size: .8em; 
    line-height: 1.2;
    display: inline-block;
    padding: 0 4px;
    color: #6a1211;          /* your brand red */
    font-style: italic;
    font-weight: 500;
}
/* Holidays & Observances (Mother's Day, Memorial Day) */
/* .notification-label.notification-category-holidays-observances {
    color: #6a1211;          
    font-style: italic;
    font-weight: 500;
}

/* Alerts (Team Member Orientation, Pool Opens) */
/* .notification-label.notification-category-alert {
    color: #8a6200;         
    font-weight: 600;
} */

/* Ranch Happenings */
/* .notification-label.notification-category-ranch-happenings {
    color: #3a6b3a;       
} */

/* Pill style */

/* .notification-label {
    font-size: 0.75em;
    line-height: 1;
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    background-color: rgba(106, 18, 17, 0.1);
    color: #6a1211;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;         /* prevents overflow on small cells
} */

/* Today + Prev/Next buttons - ghost/outline style */
.entry-content .fc .fc-button-primary {
background-color: transparent;
border: 1px solid #9C7A5A;
color: #5C3A00;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
border-radius: 3px;
padding: 6px 14px;
transition: background-color 0.15s ease, color 0.15s ease;
}
.entry-content .fc .fc-button-primary:hover {
background-color: #9C7A5A;
border-color: #9C7A5A;
color: #fff;
}
.entry-content .fc .fc-button-primary:not(:disabled).fc-button-active,
.entry-content .fc .fc-button-primary:not(:disabled):active {
background-color: #7A5A3A;
border-color: #7A5A3A;
color: #fff;
}
.entry-content .fc .fc-button-primary:focus {
box-shadow: 0 0 0 .15rem rgba(156, 122, 90, 0.35);
outline: none;
}
/* Prev/next arrow buttons - join visually, no gap between them */
.entry-content .fc .piecal-controls__prev-button {
border-radius: 3px 0 0 3px;
border-right: none;
}
.entry-content .fc .piecal-controls__next-button {
border-radius: 0 3px 3px 0;
}

/* View dropdown - match the ghost button aesthetic */
.piecal-controls__view-chooser {
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.04em;
color: #5C4F3A;
display: inline-flex;
align-items: center;
gap: 8px;
}
.piecal-controls__view-chooser select {
font-size: 0.8rem;
font-weight: 600;
color: #5C3A00;
background-color: transparent;
border: 1px solid #9C7A5A;
border-radius: 3px;
padding: 6px 28px 6px 10px;
appearance: auto;
cursor: pointer;
transition: border-color 0.15s ease;
}
.piecal-controls__view-chooser select:hover,
.piecal-controls__view-chooser select:focus {
border-color: #7A5A3A;
outline: none;
box-shadow: 0 0 0 .15rem rgba(156, 122, 90, 0.25);
}

/* --- Calendar controls -------------------------------------------------------- */

/* Day name header row - lighter weight, smaller, letter-spaced, maroon */
.fc-col-header-cell-cushion {
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #9C7A5A;
}
.fc-col-header-cell-cushion,
.fc-daygrid-day-top {--accent: #6a1211;}

/* special styling for tags */
/* tag "summer" used for start and end of summer program */

.piecal-member-event-tag-summer.fc-h-event {
background-color: #f2c36b!important;
border-color: #f2c36b!important;
}
.piecal-member-event-tag-summer.fc-h-event .fc-event-main .fc-event-title {
color: #fff;
}

/* --- Type filter bar ----------------------------------------------------------- */
.piecal-type-filter-bar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px 14px;
margin-bottom: 12px;
font-size: 0.875em;
}
.piecal-type-filter-label {
font-weight: 600;
color: #5C4F3A;
margin-right: 4px;
}
.piecal-type-filter-option {
display: flex;
align-items: center;
gap: 5px;
cursor: pointer;
}
.piecal-type-filter-option input[type="checkbox"] {
accent-color: #6a1211;
cursor: pointer;
}

/* --- Event type filtering - daygrid (month/week grid) view -------------------- */
.piecal-wrapper[data-hide-type-ranch-events] .fc-daygrid-event-harness:has(.piecal-member-event-type-ranch-events),
.piecal-wrapper[data-hide-type-ranch-stays] .fc-daygrid-event-harness:has(.piecal-member-event-type-ranch-stays),
.piecal-wrapper[data-hide-type-local-events] .fc-daygrid-event-harness:has(.piecal-member-event-type-local-events),
.piecal-wrapper[data-hide-type-member-exclusive] .fc-daygrid-event-harness:has(.piecal-member-event-type-member-exclusive),
.piecal-wrapper[data-hide-type-group-stay] .fc-daygrid-event-harness:has(.piecal-member-event-type-group-stay) {
display: none;
}

/* Filter checkbox accent colors - match event type palette */
.piecal-type-filter-checkbox {
width: 14px;
height: 14px;
cursor: pointer;
flex-shrink: 0;
}
/* Per-type label text colors */
label:has([data-piecal-filter-key="type-ranch-events"]) { color: #5C4F3A; }
label:has([data-piecal-filter-key="type-local-events"]) { color: #3D6657; }
label:has([data-piecal-filter-key="type-member-exclusive"]) { color: #8C5800; }
label:has([data-piecal-filter-key="type-group-stay"]) { color: #4A3F35; }
label:has([data-piecal-filter-key="type-ranch-stays"]) { color: #5C2A1A; }

/* Per-type checkbox accent colors - target the input directly by data attr */
input[data-piecal-filter-key="type-ranch-events"] { accent-color: #5C4F3A; }
input[data-piecal-filter-key="type-local-events"] { accent-color: #3D6657; }
input[data-piecal-filter-key="type-member-exclusive"] { accent-color: #8C5800; }
input[data-piecal-filter-key="type-group-stay"] { accent-color: #9C8E7E; }
input[data-piecal-filter-key="type-ranch-stay-dates"] { accent-color: #96685A; }

/* --- Event type filtering - list view ----------------------------------------- */
.piecal-wrapper[data-hide-type-ranch-events] tr.fc-list-event.piecal-member-event-type-ranch-events,
.piecal-wrapper[data-hide-type-ranch-stays] tr.fc-list-event.piecal-member-event-type-ranch-stays,
.piecal-wrapper[data-hide-type-local-events] tr.fc-list-event.piecal-member-event-type-local-events,
.piecal-wrapper[data-hide-type-member-exclusive] tr.fc-list-event.piecal-member-event-type-member-exclusive,
.piecal-wrapper[data-hide-type-group-stay] tr.fc-list-event.piecal-member-event-type-group-stay {
display: none;
}

.piecal-popover__details {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
}
.piecal-popover__details [class*="gb-element-"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 30px;
}

.archive-calendar-wrapper {
    align-items: flex-start;
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    margin-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 24px;
    width: 100%;
}

/* ============================================================================
   LIST VIEW STYLES
   Mirrors the calendar view color palette for the Month – List view.
   FullCalendar list view uses <tr class="fc-list-event"> rows, so the
   .fc-h-event rules above do NOT apply here. These target the list structure.
   ============================================================================ */

/* --- List view: date header row --------------------------------------------- */
/* --- List view: date header row --------------------------------------------- */

.fc-listMonth-view {margin-bottom: 20px;}
.fc-list-day-cushion.fc-cell-shaded {
  background-color: transparent !important;
  color: #9C7A5A !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 16px 4px;
  border-top: 1px solid #E8E2DA;

}

/* "Today" date header — just a color shift, still lightweight */
.fc-list-day.fc-day-today .fc-list-day-cushion {
  background-color: transparent !important;
  color: #6a1211 !important;
}

.fc-list-day .notification-label {font-size: 1em; padding: 0 0 0 5px;line-height: normal; letter-spacing: normal; }
.fc-list-day .notification-label:before {
    content: "\2022";
    display: inline-block;
    padding-right: 4px;
}

/* --- List view: general event row ------------------------------------------- */
tr.fc-list-event td {
  font-size: 0.875rem;
  border-bottom: 1px solid #EDE8E0;
  padding: 9px 14px;
}

tr.fc-list-event:hover td {
  background-color: #F9F5F0;
  cursor: pointer;
}

/* Time column */
tr.fc-list-event .fc-list-event-time {
  color: #9C7A5A;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  white-space: nowrap;
  min-width: 140px;
}

/* Event title link */
tr.fc-list-event .fc-list-event-title a {
  font-weight: 600;
  color: #5C4F3A;
  text-decoration: none;
}
tr.fc-list-event .fc-list-event-title a:hover {
  text-decoration: underline;
  color: #6a1211;
}

/* --- List view: dot colors per event type — mirrors calendar palette --------- */

/* Ranch Events — warm tan/khaki */
tr.fc-list-event.piecal-member-event-type-ranch-events .fc-list-event-dot {
  border-color: #5C4F3A;
}
tr.fc-list-event.piecal-member-event-type-ranch-events td {
  background-color: #FAFAF7;
}
tr.fc-list-event.piecal-member-event-type-ranch-events .fc-list-event-title a {
  color: #5C4F3A;
}

/* Ranch Stays — dusty rose */
tr.fc-list-event.piecal-member-event-type-ranch-stays .fc-list-event-dot {
  border-color: #96685A;
}
tr.fc-list-event.piecal-member-event-type-ranch-stays td {
  background-color: #FDF6F4;
}
tr.fc-list-event.piecal-member-event-type-ranch-stays .fc-list-event-title a {
  color: #5C2A1A;
}

/* Local Events — sage green */
tr.fc-list-event.piecal-member-event-type-local-events .fc-list-event-dot {
  border-color: #3D6657;
}
tr.fc-list-event.piecal-member-event-type-local-events td {
  background-color: #F4FAF7;
}
tr.fc-list-event.piecal-member-event-type-local-events .fc-list-event-title a {
  color: #3D6657;
}

/* Member Exclusive — amber/gold */
tr.fc-list-event.piecal-member-event-type-member-exclusive .fc-list-event-dot {
  border-color: #C4832A;
}
tr.fc-list-event.piecal-member-event-type-member-exclusive td {
  background-color: #FDF8F0;
}
tr.fc-list-event.piecal-member-event-type-member-exclusive .fc-list-event-title a {
  color: #8C5800;
  font-weight: 700;
}

/* Group Stay/Buyout — warm grey/linen */
tr.fc-list-event.piecal-member-event-type-group-stay .fc-list-event-dot {
  border-color: #9C8E7E;
}
tr.fc-list-event.piecal-member-event-type-group-stay td {
  background-color: #F7F5F2;
}
tr.fc-list-event.piecal-member-event-type-group-stay .fc-list-event-title a {
  color: #4A3F35;
  font-style: italic;
}

/* Notifications (summer tag / alert type) — subtle yellow-gold accent */
tr.fc-list-event.piecal-member-event-type-notification .fc-list-event-dot {
  border-color: #f2c36b;
}
tr.fc-list-event.piecal-member-event-type-notification td {
  background-color: #FFFBF0;
}
tr.fc-list-event.piecal-member-event-type-notification .fc-list-event-title a {
  color: #8C6200;
  font-style: italic;
}

/* --- List view: left-border accent stripe per type (optional but elegant) ---- */
/* Adds a colored left edge to the time cell, mirroring the calendar's border treatment */
tr.fc-list-event.piecal-member-event-type-ranch-events .fc-list-event-time {
  border-left: 3px solid #5C4F3A;
}
tr.fc-list-event.piecal-member-event-type-ranch-stays .fc-list-event-time {
  border-left: 3px solid #96685A;
}
tr.fc-list-event.piecal-member-event-type-local-events .fc-list-event-time {
  border-left: 3px solid #3D6657;
}
tr.fc-list-event.piecal-member-event-type-member-exclusive .fc-list-event-time {
  border-left: 3px solid #C4832A;
}
tr.fc-list-event.piecal-member-event-type-group-stay .fc-list-event-time {
  border-left: 3px solid #9C8E7E;
}
tr.fc-list-event.piecal-member-event-type-notification .fc-list-event-time {
  border-left: 3px solid #f2c36b;
}

/* --- List view: "No events" empty state -------------------------------------- */
.fc-list-empty-cushion {
  color: #9C7A5A;
  font-style: italic;
  font-size: 0.9rem;
}

/* Tweaks for mobile list view */
@media (max-width: 768px) {
    tr.fc-list-event.piecal-member-event-type-group-stay  {
        border-left: 3px solid #9C8E7E;
    }
    tr.fc-list-event.piecal-member-event-type-group-stay .fc-list-event-time {
        border-left: none;
    }
    tr.fc-list-event.piecal-member-event-type-ranch-stays  {
        border-left: 3px solid #96685A;
    }
    tr.fc-list-event.piecal-member-event-type-ranch-stays .fc-list-event-time {
        border-left: none;
    }
    tr.fc-list-event.piecal-member-event-type-ranch-events  {
        border-left: 3px solid #5C4F3A;
    }
    tr.fc-list-event.piecal-member-event-type-ranch-events .fc-list-event-time {
        border-left: none;
    }
     tr.fc-list-event.piecal-member-event-type-local-events  {
        border-left: 3px solid #3D6657;
    }
    tr.fc-list-event.piecal-member-event-type-local-events .fc-list-event-time {
        border-left: none;
    }
    tr.fc-list-event.piecal-member-event-type-member-exclusive  {
        border-left: 3px solid #C4832A;
    }
    tr.fc-list-event.piecal-member-event-type-member-exclusive .fc-list-event-time {
        border-left: none;
    }
    .fc .fc-daygrid-day-top .notification-label {
        display: none;
    }
}
