/**
 * SF Beer Week Calendar Styles
 *
 * Calendar-specific styles for the activities calendar page
 * Includes date navigation, time slot organization, and responsive layouts
 */

/* Calendar Container */
#calendar
{
	padding-top: 2rem;
	background-color: #eee;
}

/* Control Options */
.ctrl_options
{
	margin-bottom: 1rem;
}

.ctrl_options .btn-group
{
	flex-wrap: wrap;
	gap: 0;
}

.ctrl_options .btn
{
	margin: 0;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	border-radius: 0;
	border: 1px solid;
}

.ctrl_cal
{
	transition: all 0.3s ease;
}

/* ALL button (default/prime) */
.ctrl_options .ctrl_cal.ctrl_prime
{
	background-color: #6c757d !important;
	border-color: #6c757d !important;
	color: #fff !important;
}

.ctrl_options .ctrl_cal.ctrl_prime.active
{
	background-color: #6c757d !important;
	border-color: #6c757d !important;
	color: #fff !important;
}

.ctrl_options .ctrl_cal.ctrl_prime:hover
{
	background-color: #6c757d !important;
	border-color: #6c757d !important;
	color: #fff !important;
}

/* Region Button Colors - Default State */
.ctrl_options .btn-sf
{
	background-color: #EEA31B !important;
	border-color: #EEA31B !important;
	color: #fff !important;
}

.ctrl_options .btn-nb
{
	background-color: #a3a983 !important;
	border-color: #a3a983 !important;
	color: #fff !important;
}

.ctrl_options .btn-eb
{
	background-color: #af95a6 !important;
	border-color: #af95a6 !important;
	color: #fff !important;
}

.ctrl_options .btn-sv
{
	background-color: #e08433 !important;
	border-color: #e08433 !important;
	color: #fff !important;
}

.ctrl_options .btn-co
{
	background-color: #91b6bb !important;
	border-color: #91b6bb !important;
	color: #fff !important;
}

/* Region Button Colors - Active/Hover State */
.ctrl_options .btn-sf.active, .ctrl_options .btn-sf:hover
{
	background-color: #EEA31B !important;
	border-color: #EEA31B !important;
	color: #fff !important;
}

.ctrl_options .btn-nb.active, .ctrl_options .btn-nb:hover
{
	background-color: #a3a983 !important;
	border-color: #a3a983 !important;
	color: #fff !important;
}

.ctrl_options .btn-eb.active, .ctrl_options .btn-eb:hover
{
	background-color: #af95a6 !important;
	border-color: #af95a6 !important;
	color: #fff !important;
}

.ctrl_options .btn-sv.active, .ctrl_options .btn-sv:hover
{
	background-color: #e08433 !important;
	border-color: #e08433 !important;
	color: #fff !important;
}

.ctrl_options .btn-co.active, .ctrl_options .btn-co:hover
{
	background-color: #91b6bb !important;
	border-color: #91b6bb !important;
	color: #fff !important;
}

/* Calendar Grid */
.calendar
{
	margin: 0;
	padding: 0;
	column-gap: 2px;
}

.cal_day
{
	background-color: #fff;
	border-radius: 0.25rem;
	overflow: hidden;
	margin-bottom: 0.5rem;
}

.cal_today
{
	border: 2px solid #EEA31B;
	box-shadow: 0 0 10px rgba(238, 163, 27, 0.5);
}

/* Day Header */
.cal_day .head
{
	margin: 0;
	padding: 0;
}

.cal_day .head a
{
	display: block;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s ease;
}

.cal_day .head a:hover
{
	opacity: 0.9;
}

/* Day Date Bar */
.cal_day .head .day-date
{
	position: relative;
}

.cal_day .head .day-date a
{
	display: block;
	text-decoration: none;
	color: inherit;
}

.cal-date-bar
{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	background-color: rgb(84, 86, 90);
	color: #fff;
	padding: 6px 8px;
	line-height: 1;
}

.cal-dow
{
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
}

.cal-date-group
{
	font-size: 22px;
	font-weight: 700;
}

.cal-month
{
	font-size: 11px;
	font-weight: 600;
	color: rgb(170, 170, 170);
	text-transform: uppercase;
	vertical-align: 2px;
}

/* Guide Button Section */
.cal_day .head .guide-button a
{
	display: block;
	text-decoration: none;
	color: inherit;
}

.cal_day .head .guide-button .bg-darkgray
{
	background-color: #444649 !important;
	padding: 6px 8px !important;
	text-align: center;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}

/* Day Listings */
.cal_day .listings
{
	padding: 0 !important;
	min-height: 8rem;
}

/* Time Slots */
.time_slots
{
	margin-bottom: 1rem;
}

.time_slots_head
{
	margin: 0 0 16px 0 !important;
	padding: 8px 0 0 !important;
	font-size: 15.75px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: rgb(108, 117, 125) !important;
	text-align: center;
	border-bottom: 0 none !important;
}

/* Activity Cards within Calendar */
.cal_day .card
{
	border: 1px solid #ddd;
	border-radius: 6px !important;
	margin-bottom: 8px !important;
	padding: 5px 0px 0px !important;
	cursor: pointer;
	transition: all 0.2s ease;
	position: relative;
	background-color: #fff;
}

.cal_day .card:hover
{
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

.cal_day .card .card-title
{
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 19.2px !important;
	margin: 0 0 8px 0 !important;
	padding: 0;
	text-align: left !important;
}

.cal_day .card .card-loc
{
	display: flex !important;
	align-items: flex-start !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	color: rgb(33, 37, 41) !important;
	margin: 6px 0 16px 0 !important;
	padding: 0;
	text-align: left !important;
}

.cal_day .card .card-loc i
{
	margin-right: 0.2rem;
	flex-shrink: 0;
	line-height: 1.4;
}

.cal_day .card .card-loc span
{
	line-height: 1.4;
}

.cal_day .card .card-loc-sub
{
	font-size: 12px;
	color: #888;
}

/* Favorite and Featured Badges */
.cal_day .card .fav
{
	position: absolute;
	top: -12px;
	right: 0.3rem;
	font-size: 1.2rem;
	color: var(--sfbw-gold, #EEA31B);
}

.cal_day .card span.ftd
{
	position: absolute;
	right: 0.3rem;
	width: 1.2rem;
	height: 1.2rem;
	background-size: contain;
	background-repeat: no-repeat;
}

.cal_day .card span.ftd
{
	top: auto;
	bottom: 0.3rem;
	right: 0.3rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23E44325' d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/%3E%3C/svg%3E");
}

/* Kickoff Events */
.cal_day .card[style*="height:9rem"]
{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Kickoff Events - Colored Backgrounds */
.cal_day .card.btn-sf[style*="height:9rem"]
{
	background-color: #EEA31B;
	border-color: #EEA31B;
}

.cal_day .card.btn-nb[style*="height:9rem"]
{
	background-color: #a3a983;
	border-color: #a3a983;
}

.cal_day .card.btn-eb[style*="height:9rem"]
{
	background-color: #af95a6;
	border-color: #af95a6;
}

.cal_day .card.btn-sv[style*="height:9rem"]
{
	background-color: #e08433;
	border-color: #e08433;
}

.cal_day .card.btn-co[style*="height:9rem"]
{
	background-color: #91b6bb;
	border-color: #91b6bb;
}

/* Region-based Card Borders */
.cal_day .card.region-sf
{
	border-top: 7px solid #EEA31B !important;
}

.cal_day .card.region-nb
{
	border-top: 7px solid #a3a983 !important;
}

.cal_day .card.region-eb
{
	border-top: 7px solid #af95a6 !important;
}

.cal_day .card.region-sv
{
	border-top: 7px solid #e08433 !important;
}

.cal_day .card.region-co
{
	border-top: 7px solid #91b6bb !important;
}

/* No Results Message */
#calendar_grid_none
{
	padding: 3rem 1rem;
	background-color: #fff;
	border-radius: 0.25rem;
	margin-top: 2rem;
}

#calendar_grid_none p
{
	font-size: 1.1rem;
	color: #666;
}

/* Responsive Styles */
@media screen and (max-width: 992px)
{
	.ctrl_options .btn
	{
		font-size: 0.8rem;
		padding: 0.4rem 0.8rem;
	}

	.cal_day .card .card-title
	{
		font-size: 0.9rem;
	}

	.cal_day .card .card-loc
	{
		font-size: 0.75rem;
	}
}

@media screen and (max-width: 768px)
{
	.ctrl_options
	{
		text-align: center;
	}

	.ctrl_options .btn-group
	{
		justify-content: center;
	}

	.cal_day
	{
		margin-bottom: 1rem;
	}

	.cal-date-bar
	{
		padding: 8px 10px;
	}

	.cal-dow
	{
		font-size: 1rem;
	}

	.cal-date-group
	{
		font-size: 1.3rem;
	}

	.cal_day .listings
	{
		min-height: auto;
	}

	.time_slots_head
	{
		font-size: 0.8rem;
	}
}

/* Animation for filter transitions */
@keyframes fadeIn
{
	from
	{
		opacity: 0;
		transform: translateY(-10px);
	}
	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}

.card.cPop
{
	animation: fadeIn 0.3s ease;
}

/* Hidden elements */
.hidden
{
	display: none !important;
}

/* Copy Link Icon */
.copy-link:hover
{
	color: #EEA31B !important;
}

/* Tooltips (using Bootstrap tooltips) */
.tips
{
	cursor: help;
}

