/* =====================================================================
   HCRJ, The Events Calendar overrides

   
/* ---- Shared ---------------------------------------------------------- */

.hcrj-thisweek .tribe-common,
.hcrj-thisweek .tribe-events,
.hcrj-calendar__panel .tribe-common,
.hcrj-calendar__panel .tribe-events { font-family: var(--font-sans);max-width: 100% !important; }

.hcrj-thisweek .tribe-events-l-container,
.hcrj-calendar__panel .tribe-events-l-container { padding: 0 !important; min-height: 0 !important; }

/* Hide every subscribe / add-to-calendar control in this section */
.hcrj-thisweek .tribe-events-c-subscribe-dropdown__container,
.hcrj-calendar__panel .tribe-events-c-subscribe-dropdown__container { display: none !important; }


/* ---- Left column: list view ------------------------------------------ */

/* The whole TEC chrome goes: "Events" title, the Now/date picker top bar,
   and the Previous / Today / Next pagination. The design has none of it. */
.hcrj-thisweek .tribe-events-header,
.hcrj-thisweek .tribe-events-calendar-list-nav { display: none !important; }

/* Rows become the same hairline list as the static items above */
.hcrj-thisweek .tribe-events-calendar-list { margin: 0; padding: 0; border-top: 0px solid var(--color-border); list-style: none; }
.hcrj-thisweek .tribe-events-calendar-list__event-row { margin: 0 !important; padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border); display: block; }
.hcrj-thisweek .tribe-events-calendar-list__event-row:last-child { border-bottom: none; }
.hcrj-thisweek .tribe-events-calendar-list__event-row--featured { padding-left: 0; }

/* Drop the month separator, the big day-number tag, the venue address and
   the excerpt. The design shows time, then title, and nothing else. */
.hcrj-thisweek .tribe-events-calendar-list__month-separator,
.hcrj-thisweek .tribe-events-calendar-list__event-date-tag,
.hcrj-thisweek .tribe-events-calendar-list__event-venue,
.hcrj-thisweek .tribe-events-calendar-list__event-description,
.hcrj-thisweek .tribe-events-calendar-list__event-featured-image-wrapper,
.hcrj-thisweek .tribe-events-calendar-series-archive__container { display: none; }

.hcrj-thisweek .tribe-events-calendar-list__event-wrapper,
.hcrj-thisweek .tribe-events-calendar-list__event,
.hcrj-thisweek .tribe-events-calendar-list__event-details { margin: 0; padding: 0; width: 100%; max-width: none; flex: 1 1 auto; }

/* Time above title, matching .hcrj-thisweek__when / __title */
.hcrj-thisweek .tribe-events-calendar-list__event-header { display: flex; flex-direction: column; }
.hcrj-thisweek .tribe-events-calendar-list__event-datetime-wrapper { order: -1; margin: 0; }
.hcrj-thisweek .tribe-events-calendar-list__event-datetime {
	font-size: 13px;
	font-weight: var(--fw-bold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-primary) !important;
}
.hcrj-thisweek .tribe-events-calendar-list__event-title { margin: 2px 0 0; font-size: 18px; line-height: 1.3; font-weight: var(--fw-semibold); color: var(--hcrj-blue) !important}
.hcrj-thisweek .tribe-events-calendar-list__event-title-link { color: var(--color-heading) !important; text-decoration: none; }
.hcrj-thisweek .tribe-events-calendar-list__event-title-link:hover { color: var(--color-primary); text-decoration: underline; }


/* ---- Right column: month view ---------------------------------------- */

.hcrj-calendar__panel .tribe-events-header { margin: 0 !important;padding: 0 !important; }
.hcrj-calendar__panel .tribe-events-header__content-title { display: none !important; }

/* Top bar becomes: prev caret, month name, next caret.
   TEC wraps both carets in one <nav><ul>, so display:contents promotes the
   two <li> to flex children of the bar and lets them sit on either side. */
.hcrj-calendar__panel .tribe-events-c-top-bar {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 10px 16px;
	border-bottom: 1px solid var(--color-border);
}
.hcrj-calendar__panel .tribe-events-c-top-bar__nav,
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-list { display: contents !important; visibility: visible; }
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-list-item { list-style: none; margin: 0; }
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-list-item:first-child { order: -1; }
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-link { display: inline-flex; padding: 6px; border-radius: var(--radius); color: var(--color-text-secondary); }
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-link:hover { color: var(--color-primary); background: var(--hcrj-blue-50); }
.hcrj-calendar__panel .tribe-events-c-top-bar__nav-link-icon-svg { width: 9px; height: 14px; fill: currentColor; display: block; }

/* Show "August 2026" rather than "8/2026".
   tribe-common-a11y-hidden sets display:none!important AND visibility:hidden,
   so both have to be reversed. */
.hcrj-calendar__panel .tribe-events-c-top-bar__datepicker-desktop { display: inline !important; visibility: visible; }
.hcrj-calendar__panel .tribe-events-c-top-bar__datepicker-mobile { display: none; }
.hcrj-calendar__panel .tribe-events-c-top-bar__datepicker { margin: 0 auto; }
.hcrj-calendar__panel .tribe-events-c-top-bar__datepicker-button { font-size: 17px; font-weight: var(--fw-bold); color: var(--color-heading); padding: 0; }
.hcrj-calendar__panel .tribe-events-c-top-bar__datepicker-button-icon-svg { display: none; }
.hcrj-calendar__panel .tribe-events-c-top-bar__today-button { display: none !important; }

/* Weekday header row.
   table-layout:fixed is what keeps the seven columns equal. Without it the
   table auto-sizes to content and Sunday balloons. */
.hcrj-calendar__panel .tribe-events-calendar-month { margin: 0; border-collapse: collapse; table-layout: fixed; width: 100%; }
.hcrj-calendar__panel .tribe-events-calendar-month__header { background: var(--color-bg-subtle); }
.hcrj-calendar__panel .tribe-events-calendar-month__header-column { width: auto; padding: 8px 0; border-bottom: 1px solid var(--color-border); }
.hcrj-calendar__panel .tribe-events-calendar-month__header-column-title {
	font-size: 11px;
	font-weight: var(--fw-bold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-text-muted);
	text-align: center;
}

/* THE HEIGHT FIX.
   TEC gives each mobile day cell aspect-ratio:1/1 plus
   padding-top:var(--tec-grid-width-1-of-7) and absolutely positions the
   cell button inside it, so every row is as tall as a seventh of the grid
   width, about 99px here. min-height alone cannot shrink that, the
   aspect-ratio and the padding-top are what set the height. */
.hcrj-calendar__panel .tribe-events-calendar-month__day {
	aspect-ratio: 2 / 1 !important;
	padding-top: 0;
	min-height: 0;
	height: auto;
	overflow: visible;
	box-shadow: inset -1px -1px 0 var(--color-border);
}
.hcrj-calendar__panel .tribe-events-calendar-month__week > td:last-child { box-shadow: inset 0 -1px 0 var(--color-border); }
.hcrj-calendar__panel .tribe-events-calendar-month__body tr:last-child > td { box-shadow: inset -1px 0 0 var(--color-border); }
.hcrj-calendar__panel .tribe-events-calendar-month__body tr:last-child > td:last-child { box-shadow: none; }

.hcrj-calendar__panel .tribe-events-calendar-month__day-cell--mobile {
	position: static;
	min-height: 0;
	padding: 5px 0 7px;
	gap: 3px;
	background: transparent;
	border: 0;
	width: 100%;
}
.hcrj-calendar__panel .tribe-events-calendar-month__day-date {
	margin: 0;
	font-size: 14px;
	font-weight: var(--fw-regular);
	line-height: 24px;
	color: var(--color-text-secondary);
}
.hcrj-calendar__panel .tribe-events-calendar-month__day-date-daynum { display: inline-block; min-width: 24px; }

/* Days outside this month, and past days, recede */
.hcrj-calendar__panel .tribe-events-calendar-month__day--other-month .tribe-events-calendar-month__day-date,
.hcrj-calendar__panel .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date { color: var(--color-text-muted); }

/* Event dot */
.hcrj-calendar__panel .tribe-events-calendar-month__mobile-events-icon--event {
	width: 6px;
	height: 6px;
	background-color: var(--hcrj-blue);
}
.hcrj-calendar__panel .tribe-events-calendar-month__day--past .tribe-events-calendar-month__mobile-events-icon--event { background-color: var(--color-border-strong); }

/* Selected day: pill on the number, not a filled square */
.hcrj-calendar__panel .tribe-events-calendar-month__day-cell--selected { background: transparent !important; }
.hcrj-calendar__panel .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date-daynum {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	min-width: 0;
	background: var(--hcrj-blue) !important;
	color: #ffffff;
	border-radius: var(--radius-pill);
	font-weight: var(--fw-bold);
}
.hcrj-calendar__panel .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date { color: var(--color-text); font-weight: var(--fw-semibold); }
.hcrj-calendar__panel .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__mobile-events-icon--event { background-color: var(--hcrj-blue); }

/* Day detail list under the grid */
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events { padding: 14px 18px 2px; margin: 0; border-top: 1px solid var(--color-border); background: var(--color-bg-subtle); }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__day-marker { margin: 0 0 10px; padding: 0; border: 0; }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__day-marker::after { content: none; }
.hcrj-calendar__panel .tribe-events-c-day-marker__date { font-size: 16px; font-weight: var(--fw-bold); color: var(--color-heading); }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__mobile-event {
	margin: 0 0 6px;
	padding: 9px 12px !important;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
}
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__mobile-event-datetime { margin: 0; font-size: 13px; font-weight: var(--fw-semibold); color: var(--color-primary); }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__mobile-event-title { margin: 2px 0 0; font-size: 16px; font-weight: var(--fw-semibold); line-height: 1.3; }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__mobile-event-title-link { color: var(--color-heading); text-decoration: none; }
.hcrj-calendar__panel .tribe-events-calendar-month-mobile-events__mobile-event-title-link:hover { color: var(--color-primary); text-decoration: underline; }
.hcrj-calendar__panel .tribe-events-calendar-series-archive__container { display: none; }

/* Bottom Jul / This Month / Sep nav is redundant, the carets are in the top bar */
.hcrj-calendar__panel .tribe-events-calendar-month-nav { display: none; }
