/* ==========================================================================
   Blueprint V3 additions
   Loaded after styles.min.css. Kept separate because src/sass is out of
   sync with the compiled styles.min.css.
   ========================================================================== */

/* ---------- Button groups (hero CTAs, menu PDFs) ---------- */
.button-group {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 20px;
}

.button-group .button-link {
	margin-top: 0;
}

/* Café menu buttons: the text column is too narrow for two buttons in a
   row, so stack them at a matching width */
.cafe-info .button-group {
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	max-width: 360px;
}

.cafe-info .button-group .button-link {
	font-size: 17px;
}

/* ---------- Café & Bar hours ---------- */
.hours-heading {
	color: #DDC378;
	font-weight: 400;
	line-height: 38px;
	margin-top: 40px;
}

.cafe-info .hours-list {
	font-family: 'Scope One', sans-serif !important;
	font-size: 30px;
	line-height: 38px;
	margin: 10px 0 0 0;
}

.cafe-info .hours-list .hours-closed {
	font-style: italic;
	color: #DDC378;
}

.cafe-info .hours-note {
	font-family: 'Scope One', sans-serif !important;
	font-size: 16px;
	line-height: 22px;
	margin-top: 10px;
}

.cafe-info .hours-note a,
.footer-contact a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Events & Loyalty ---------- */
.highlights {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 100px;
}

.highlight-panel {
	position: relative;
	box-sizing: border-box;
	padding: 60px 40px 50px;
	background-color: #202020;
	text-align: center;
}

.highlight-panel::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background-image: linear-gradient(to right, #CEA547, #FDF6B9, #D4BA6B, #B6882A, #ECDD98, #D2B260);
}

.highlight-panel h1 {
	color: #DDC378;
	font-size: 48px;
	line-height: 1.15;
	margin-bottom: 20px;
}

.highlight-panel p {
	max-width: 620px;
	margin: 0 auto;
}

/* ---------- Footer ---------- */
.footer-contact {
	line-height: 1.8;
}

/* Offset in-page anchors slightly so headings aren't flush to the top */
#about, #cafe, #events, #loyalty, #gallery, #venue-rental, #contact {
	scroll-margin-top: 20px;
}

/* ---------- Navigation: 6 items no longer fit beside the logo below
   ~1100px, so the hamburger menu now takes over at that width ---------- */
@media screen and (max-width: 1100px) {
	.menu {
		position: absolute;
		right: -100%;
		gap: 0;
		flex-direction: column;
		background-color: #181818;
		width: 100%;
		text-align: center;
		transition: 0.3s;
	}

	.menu.active {
		right: 0;
	}

	.menu-item:last-child {
		padding-right: .9rem;
	}

	.hamburger {
		display: block;
		z-index: 1;
	}

	.hamburger.active .bar:nth-child(2) {
		opacity: 0;
	}

	.hamburger.active .bar:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.hamburger.active .bar:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}
}

@media screen and (max-width: 1200px) {
	.highlight-panel h1 {
		font-size: 38px;
	}
}

@media screen and (max-width: 768px) {
	.button-group {
		flex-direction: column;
		gap: 12px;
	}

	.highlight-panel {
		padding: 44px 20px 36px;
	}

	.highlight-panel h1 {
		font-size: 32px;
	}

	.highlight-panel .button-link {
		font-size: 16px;
		letter-spacing: .2rem;
		line-height: 1.4;
		padding: 12px 16px;
		box-sizing: border-box;
	}

	.cafe-info .hours-list {
		font-size: 24px;
		line-height: 32px;
	}
}
