/* ========================================
   Tabs and accordion tokens
======================================== */

/*
 * Component tokens. These were literals -- #e5e5e5, #fafafa, 10px, 14px -- which
 * is how a component ends up with its own private palette. Each now points at
 * the scale it was approximating. The hover fill picks up the site's warm hover
 * instead of a neutral grey, which is a small shift and makes the accordion
 * behave like everything else that highlights on hover.
 */
:root {
	--bc-acc-border: var(--color-border-subtle);
	--bc-acc-bg: var(--color-surface-muted);
	--bc-acc-bg-hover: var(--color-surface-hover);
	--bc-acc-radius: var(--radius);
	--bc-acc-pad: var(--space-3);
	--bc-acc-gap: var(--space-4);
	--bc-acc-focus: var(--color-focus);
	--bc-acc-text: inherit;
	--bc-acc-body-bg: var(--color-surface);
}

.is-accordion {
	max-width: 900px;
	margin: auto;
}

.is-accordion .panel {
	padding: 0;
}

.bc-product-accordion.is-accordion {
	padding-top: 2rem;
}

/* ========================================
   Accordion mode toggled by JS
======================================== */

.bc-product-accordion.is-accordion .tabs.wc-tabs {
	display: none;
}

.bc-product-accordion.is-accordion .wc-tab,
.woocommerce div.product .bc-product-accordion.is-accordion .wc-tab {
	display: block !important;
	margin-bottom: 0;
}

.bc-accordion__title {
	font-size: var(--text-body);
	font-weight: var(--font-medium-plus);
}

.bc-product-accordion__heading {
	font-size: var(--text-body-m);
	text-transform: uppercase;
	padding-top: .75rem;
	padding-bottom: .75rem;
	padding-left: 8px;
	border-top: var(--border-width) solid var(--color-border-dark);
}

/* ========================================
   Accordion structure
======================================== */

.bc-accordion__title {
	margin: 0;
}

.bc-acc-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 8px;
	padding-right: 8px;
	background: none;
	border: 0;
	border-top: var(--border-width) solid var(--color-border-dark);
	font: inherit;
	line-height: var(--leading);
	color: var(--bc-acc-text);
	cursor: pointer;
	text-align: left;
	font-weight: var(--font-bold);
}

.is-accordion .panel:last-child {
	border-bottom: var(--border-width) solid var(--color-border-dark);
}

/* ========================================
   Accordion indicator
======================================== */

.bc-acc-trigger::after {
	content: "+";
	flex: 0 0 auto;
	margin-left: auto;
	font: inherit;
	font-size: 1.5em;
	font-weight: var(--font-medium-plus);
	line-height: var(--leading-flat);
}

.bc-acc-trigger[aria-expanded="true"]::after {
	content: "\2212";
}

/* ========================================
   Accordion interaction states
======================================== */

.bc-acc-trigger:hover .bc-acc-trigger__title {
	/* background: var(--bc-acc-bg-hover); */
	text-decoration: underline;
}

.bc-acc-trigger[aria-expanded="true"] .bc-acc-trigger__title {

}

.bc-acc-trigger:focus-visible {
	background: var(--bc-acc-bg-hover);
	outline: 3px solid var(--bc-acc-focus);
	outline-offset: -1px;
}

/* ========================================
   Accordion panel body
======================================== */

.bc-tab {
	/* font-size: var(--text-body-m); */
	padding-left: 8px;
	padding-right: 8px;
	border-top: 0;
	margin: 0;
}

.bc-tab[hidden] {
	display: none !important;
}

.bc-tab__section strong {
	font-weight: var(--font-mild);
}

/* ========================================
   Inner content spacing
======================================== */

.bc-tab__section {
	padding-top: 5px;
	padding-bottom: 16px;
}

.bc-tab__section > :first-child {
	margin-top: 0;
}

.bc-tab__section > :last-child {
	margin-bottom: 0;
}

.bc-tab__section > * + * {
	margin-block-start: 1rem;
}

.bc-tab__section .tab__section-heading {
	padding-top: 1rem;
}

/* ========================================
   Animating
======================================== */

.bc-tab.is-animating {
	transition:
		height 220ms ease,
		opacity 160ms ease;
}

/* ========================================
   Reduced motion
======================================== */

@media (prefers-reduced-motion: reduce) {
	.bc-tab.is-animating {
		transition: none;
	}
}
