/* ============================================================
   Mii Boba Products — Premium Stylesheet v5.1
   !important added throughout to beat Elementor global styles
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@300;400;500;600;700;800;900&family=Lato:wght@300;400;700&display=swap');

/* ── CSS Custom Properties ─────────────────────────────────── */
.mii-boba-menu {
	--mii-brown:        #603510;
	--mii-brown-dark:   #4a2709;
	--mii-light-brown:  #c0934f;
	--mii-black:        #000000;
	--mii-off-black:    #1a1a1a;
	--mii-tab-active:   #3d3d3d;
	--mii-white:        #ffffff;
	--mii-bg:           #ffffff;
	--mii-text-dark:    #000000;
	--mii-text-muted:   #888888;

	font-family: 'Lato', sans-serif !important;
	color: var(--mii-text-dark) !important;
	background: var(--mii-bg) !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.mii-boba-menu *,
.mii-boba-menu *::before,
.mii-boba-menu *::after {
	box-sizing: border-box !important;
}

/* ══════════════════════════════════════════════════════════════
   TAB NAVIGATION — centered individual blocks on white bg
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 20px 16px !important;
	background: var(--mii-white) !important;
	margin: 0 !important;
	border: none !important;
	list-style: none !important;
}

.mii-boba-menu .mii-boba-tab {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 14px 26px !important;
	border: none !important;
	border-radius: 0 !important;
	background: var(--mii-black) !important;
	color: var(--mii-white) !important;
	font-family: 'League Spartan', 'Spartan', sans-serif !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
	outline: none !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.mii-boba-menu .mii-boba-tab:hover {
	background: var(--mii-tab-active) !important;
	color: var(--mii-white) !important;
}

.mii-boba-menu .mii-boba-tab.is-active {
	background: var(--mii-tab-active) !important;
	color: var(--mii-white) !important;
}

/* ══════════════════════════════════════════════════════════════
   ACCORDION — permanently hidden
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-accordion-toggle {
	display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   PANELS CONTAINER
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-panels {
	background: var(--mii-bg) !important;
	padding: 0 !important;
	border: none !important;
}

/* ══════════════════════════════════════════════════════════════
   PANEL
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-panel {
	display: none !important;
}

.mii-boba-menu .mii-boba-panel.is-active {
	display: block !important;
	animation: miiBobaPanelIn 0.3s ease forwards !important;
}

@keyframes miiBobaPanelIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ── Category heading ──────────────────────────────────────── */
.mii-boba-menu .mii-boba-panel::before {
	content: attr(data-title) !important;
	display: block !important;
	text-align: center !important;

	font-size: 2.25rem !important;
	font-family: "League Spartan", "Spartan", sans-serif !important;
	color: #000 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;

	padding: 48px 20px 40px !important;
	line-height: 1.1 !important;
	letter-spacing: 0.04em !important;
	margin: 0 !important;
	word-spacing: normal !important;
	font-style: normal !important;
}

/* ══════════════════════════════════════════════════════════════
   PRODUCT GRID — 2 columns
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 0 !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 0 32px 70px !important;
}

/* ══════════════════════════════════════════════════════════════
   PRODUCT CARD
   ══════════════════════════════════════════════════════════════ */
.mii-boba-menu .mii-boba-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	padding: 16px 32px 48px !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	cursor: default !important;
}

/* When the card is an <a> link (Toast Tab URL) */
.mii-boba-menu a.mii-boba-card {
	text-decoration: none !important;
	color: inherit !important;
	cursor: pointer !important;
}

.mii-boba-menu a.mii-boba-card:hover .mii-boba-card__name {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

/* ── Card Image ─────────────────────────────────────────────── */
.mii-boba-menu .mii-boba-card__image-wrap {
	width: 80% !important;
	max-width: 360px !important;
	margin: 0 auto 24px !important;
	filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.12)) !important;
	transition: filter 0.35s ease, transform 0.35s ease !important;
	aspect-ratio: 1 / 1 !important;
	padding: 0 !important;
	border: none !important;
}

.mii-boba-menu .mii-boba-card:hover .mii-boba-card__image-wrap {
	filter: drop-shadow(0 24px 36px rgba(0, 0, 0, 0.20)) !important;
	transform: translateY(-8px) !important;
}

.mii-boba-menu .mii-boba-card__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* ── Card Body ─────────────────────────────────────────────── */
.mii-boba-menu .mii-boba-card__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 0 !important;
}

/* ── Product Name ──────────────────────────────────────────── */
.mii-boba-menu .mii-boba-card__name {
	font-size: 1.25rem !important;
	font-family: "League Spartan", "Spartan", sans-serif !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;

	color: #000 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.04em !important;
	font-style: normal !important;
	word-spacing: normal !important;
	text-decoration: none !important;
}

/* ── Contains / Description ────────────────────────────────── */
.mii-boba-menu .mii-boba-card__contains {
	font-family: 'Lato', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	color: #888888 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 300px !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-style: normal !important;
}

/* ── Price ─────────────────────────────────────────────────── */
.mii-boba-menu .mii-boba-card__price {
	margin-top: 4px !important;
	padding: 0 !important;
}

.mii-boba-menu .mii-boba-price-tag {
	font-family: "League Spartan", "Spartan", sans-serif !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #603510 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline !important;
	box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (≤ 768px)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

	.mii-boba-menu .mii-boba-tab {
		font-size: 0.68rem !important;
		padding: 12px 16px !important;
		letter-spacing: 0.09em !important;
	}

	.mii-boba-menu .mii-boba-panel::before {
		font-size: 1.9rem !important;
		padding: 36px 16px 30px !important;
	}

	.mii-boba-menu .mii-boba-grid {
		padding: 0 16px 50px !important;
	}

	.mii-boba-menu .mii-boba-card {
		padding: 14px 20px 40px !important;
	}

	.mii-boba-menu .mii-boba-card__name {
		font-size: 1.1rem !important;
	}

	.mii-boba-menu .mii-boba-card__contains {
		font-size: 0.84rem !important;
	}
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤ 480px)
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {

	.mii-boba-menu .mii-boba-tabs {
		gap: 4px !important;
		padding: 14px 10px !important;
	}

	.mii-boba-menu .mii-boba-tab {
		font-size: 0.6rem !important;
		padding: 11px 10px !important;
		letter-spacing: 0.06em !important;
	}

	.mii-boba-menu .mii-boba-panel::before {
		font-size: 1.55rem !important;
		padding: 28px 14px 22px !important;
	}

	.mii-boba-menu .mii-boba-grid {
		grid-template-columns: 1fr !important;
		padding: 0 16px 40px !important;
	}

	.mii-boba-menu .mii-boba-card__image-wrap {
		max-width: 280px !important;
	}

	.mii-boba-menu .mii-boba-card__name {
		font-size: 1.1rem !important;
	}
}
