/*
Theme Name: SAC26
Description: Child theme for Flatsome with Timber 2.0
Author: Alpine Internet
Template: flatsome
Version: 1.0.0
Text Domain: sac26
*/

/* ============================================
   Today's Events - Premium Card Design
   ============================================ */

.sac-events-card {
	--sac-events-accent: #2563eb;
	--sac-events-accent-hover: #1d4ed8;
	--sac-events-bg: #ffffff;
	--sac-events-border: rgba(0, 0, 0, 0.06);
	--sac-events-text: #1e293b;
	--sac-events-muted: #64748b;
	--sac-events-radius: 12px;
	--sac-events-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
	--sac-events-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);

	background: var(--sac-events-bg);
	border-radius: var(--sac-events-radius);
	box-shadow: var(--sac-events-shadow);
	border: 1px solid var(--sac-events-border);
	overflow: hidden;
}

.sac-events-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	border-bottom: 1px solid var(--sac-events-border);
}

.sac-events-badge {
	display: inline-block;
	padding: 0.35em 0.75em;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #fff;
	background: var(--sac-events-accent);
	border-radius: 6px;
}

.sac-events-date {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--sac-events-muted);
}

.sac-todays-events {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sac-event-item {
	display: grid;
	grid-template-columns: 5rem 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--sac-events-border);
	transition: background 0.2s ease;
}

.sac-event-item:last-child {
	border-bottom: none;
}

.sac-event-item:hover {
	background: rgba(37, 99, 235, 0.03);
}

.sac-event-time {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--sac-events-accent);
	letter-spacing: 0.02em;
}

.sac-event-title {
	font-weight: 600;
	font-size: 1rem;
	color: var(--sac-events-text);
	text-decoration: none;
	transition: color 0.2s ease;
}

.sac-event-title:hover {
	color: var(--sac-events-accent-hover);
}

.sac-event-venue {
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--sac-events-muted);
	background: #f1f5f9;
	padding: 0.35em 0.65em;
	border-radius: 6px;
	white-space: nowrap;
}

.sac-events-card .sac-event-venue--filled,
.sac-events-card a.sac-event-venue--filled {
	color: #fff !important;
	background: unset;
}

.sac-events-empty {
	margin: 0;
	padding: 2rem 1.25rem;
	color: var(--sac-events-muted);
	font-style: italic;
	text-align: center;
}

/* Responsive: stack on small screens */
@media (max-width: 480px) {
	.sac-event-item {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: 0.35rem;
		padding: 0.9rem 1rem;
	}

	.sac-event-time {
		font-size: 0.85rem;
	}

	.sac-event-venue {
		align-self: start;
	}
}

/* ============================================
   Event Single - Hero, Sidebar, Calendar
   ============================================ */

.sac-event-single-wrapper {
	padding-bottom: 2rem;
}

.sac-event-hero {
	background-size: cover !important;
	background-position: center !important;
}

.sac-event-body.row,
.sac-category-body.row,
.sac-venue-body.row {
	padding-left: 1rem;
	padding-right: 1rem;
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.sac-event-detail-badge:hover {
	opacity: 0.9;
}

/* Registration CTA button */
.sac-register-cta:hover {
	opacity: 0.92;
}
.sac-event-hero .sac-register-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}

.sac-event-cal-day.is-today {
	background: rgba(37, 99, 235, 0.08) !important;
	box-shadow: inset 0 0 0 2px var(--fs-color-primary, #2563eb);
}

.sac-event-cal-day.has-event {
	background: #f8fafc !important;
}

@media (max-width: 768px) {
	.sac-event-body .large-9,
	.sac-event-body .large-3,
	.sac-category-body .large-9,
	.sac-category-body .large-3,
	.sac-venue-body .large-9,
	.sac-venue-body .large-3 {
		width: 100%;
	}
	.sac-event-sidebar {
		order: -1;
	}
	.sac-event-details {
		position: static !important;
	}
	.sac-event-calendar-header {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 0.75rem;
	}
}

/* Category archive: hero, calendar, sidebar (matches event single) */
.sac-category-archive-wrapper {
	padding-bottom: 2rem;
}
.sac-category-description.entry-content {
	line-height: 1.6;
	font-size: 1rem;
}
.sac-category-description.entry-content p:last-child {
	margin-bottom: 0;
}
.sac-category-archive .sac-event-content,
.sac-venue-archive .sac-event-content {
	padding-left: 1rem;
	padding-right: 1rem;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.sac-venue-archive-wrapper {
	padding-bottom: 2rem;
}
.sac-venue-description.entry-content {
	line-height: 1.6;
	font-size: 1rem;
}
.sac-venue-description.entry-content p:last-child {
	margin-bottom: 0;
}
.sac-venue-cal-event {
	display: flex;
	align-items: center;
	gap: 0.35rem;
}
.sac-venue-cal-event:hover {
	text-decoration: underline;
}
.sac-venue-archive .sac-event-cal-day.is-today {
	background: rgba(37, 99, 235, 0.08) !important;
	box-shadow: inset 0 0 0 2px var(--fs-color-primary, #2563eb);
}
.sac-venue-archive .sac-event-cal-day.has-event {
	background: #f8fafc !important;
}

/* Category archive calendar */
.sac-category-calendar .sac-event-cal-day {
	min-height: 5rem;
}
.sac-category-cal-event:hover {
	text-decoration: underline;
}
.sac-category-archive .sac-event-cal-day.is-today {
	background: rgba(37, 99, 235, 0.08) !important;
	box-shadow: inset 0 0 0 2px var(--fs-color-primary, #2563eb);
}
.sac-category-archive .sac-event-cal-day.has-event {
	background: #f8fafc !important;
}
@media (max-width: 640px) {
	.sac-category-calendar .sac-event-cal-day {
		min-height: 4rem;
	}
	.sac-category-cal-event {
		font-size: 0.65rem !important;
	}
}

/* Room single – breadcrumb eyebrow */
.sac-room-breadcrumb-wrap {
	padding-top: 0.75rem;
}

.sac-room-breadcrumb {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.sac-room-breadcrumb a {
	color: var(--fs-color-primary, #b0ad82);
	text-decoration: none;
}

.sac-room-breadcrumb a:hover {
	color: var(--fs-experimental-link-color-hover, #8f8c65);
	text-decoration: underline;
}

/* Facilities Tour archive – room cards */
.sac-facilities-tour-grid .sac-facilities-tour-card.banner {
	border-radius: 9px;
	overflow: hidden;
}

.sac-facilities-tour-grid .sac-facilities-tour-card .banner-inner,
.sac-facilities-tour-grid .sac-facilities-tour-card .banner-bg,
.sac-facilities-tour-grid .sac-facilities-tour-card .banner-bg img,
.sac-facilities-tour-grid .sac-facilities-tour-card .overlay {
	border-radius: 9px;
}
