/* ==========================================================================
   The Bio Edit — Menu Accordion Widget Styles
   Clean, luxury accordion navigation inspired by Rhode / The Bio Edit footer.
   ========================================================================== */

.bio-menu-accordion-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
}

/* Accordion Item */
.bio-menu-accordion-item {
	width: 100% !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	box-sizing: border-box !important;
	transition: border-color 0.2s ease;
}

.bio-menu-accordion-item:last-child {
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

/* Accordion Trigger Button (Full Width, Heading Left, Icon Far Right) */
button.bio-menu-accordion-trigger,
.bio-menu-accordion-trigger {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: 0.95rem 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
	text-align: left !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 0.62rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: #2B2520;
	transition: color 0.2s ease;
	-webkit-tap-highlight-color: transparent;
	outline: none !important;
	box-sizing: border-box !important;
	-webkit-appearance: none;
	appearance: none;
}

.bio-menu-accordion-heading {
	display: inline-block !important;
	color: inherit !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	flex: 1 !important;
	text-align: left !important;
}

/* Desktop Static Heading */
.bio-menu-accordion-desktop-heading {
	display: none;
	font-family: 'DM Sans', sans-serif;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #2B2520;
	margin-bottom: 1.25rem;
}

/* Arrow / Icon (Pushed to Far Right) */
.bio-menu-accordion-arrow {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #8C847B;
	stroke: #8C847B;
	margin-left: auto !important;
	flex-shrink: 0 !important;
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
}

.bio-menu-accordion-arrow svg {
	width: 14px !important;
	height: 14px !important;
	stroke-width: 2 !important;
	stroke: currentColor !important;
	transition: transform 0.25s ease !important;
	pointer-events: none !important;
}

.bio-menu-accordion-item.is-open .bio-menu-accordion-arrow svg.bio-chevron-icon {
	transform: rotate(180deg) !important;
}

.bio-plus-icon {
	font-size: 1.1rem;
	line-height: 1;
	font-weight: 400;
}

.bio-menu-accordion-item.is-open .bio-plus-icon {
	transform: rotate(45deg);
}

/* Custom Icon toggling */
.bio-custom-close-icon {
	display: none;
}

.bio-menu-accordion-item.is-open .bio-custom-open-icon {
	display: none;
}

.bio-menu-accordion-item.is-open .bio-custom-close-icon {
	display: inline-flex;
}

/* Content Area */
.bio-menu-accordion-content {
	width: 100% !important;
	padding: 0 0 0.85rem 0 !important;
	box-sizing: border-box !important;
}

/* Links List */
.bio-menu-accordion-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.55rem !important;
	width: 100% !important;
}

.bio-menu-accordion-link-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
}

.bio-menu-accordion-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 400 !important;
	color: #5C554E !important;
	text-decoration: none !important;
	line-height: 1.5 !important;
	transition: color 0.15s ease, transform 0.15s ease !important;
}

.bio-menu-accordion-link:hover {
	color: #15110D !important;
	text-decoration: none !important;
}

.bio-menu-accordion-item-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.9em !important;
	color: inherit !important;
	flex-shrink: 0 !important;
}

.bio-menu-accordion-item-icon img {
	width: 16px !important;
	height: 16px !important;
	object-fit: contain !important;
}

.bio-menu-accordion-link-sub {
	font-size: 0.72rem !important;
	color: #8C847B !important;
	margin-left: 4px !important;
}

.bio-menu-accordion-badge {
	font-size: 0.65rem !important;
	font-weight: 600 !important;
	background: #EBE5DC !important;
	color: #6E665E !important;
	padding: 1px 6px !important;
	border-radius: 999px !important;
	margin-left: 6px !important;
}

/* ==========================================================================
   Desktop Grid Mode (>= 1024px)
   ========================================================================== */
@media (min-width: 1024px) {
	.bio-menu-accordion-wrapper.is-desktop-grid {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 2.5rem 2rem !important;
	}

	.bio-menu-accordion-wrapper.is-desktop-grid .bio-menu-accordion-item {
		border-bottom: none !important;
	}

	.bio-menu-accordion-wrapper.is-desktop-grid .bio-menu-accordion-trigger {
		display: none !important;
	}

	.bio-menu-accordion-wrapper.is-desktop-grid .bio-menu-accordion-desktop-heading {
		display: block !important;
	}

	.bio-menu-accordion-wrapper.is-desktop-grid .bio-menu-accordion-content {
		display: block !important;
		padding: 0 !important;
	}
}
