/*
 * I Already Won Fitness: Plan Switcher  (v1.1.0)
 * Prompt 13 (CUSTOM-AVADA-ELEMENT v5.6). Styles [iawf_plan_switcher] only.
 * Root: .iawf-plans. Layout around it (Container, Column, width, margins)
 * belongs to the Avada Builder; the "Start your membership" popup is the
 * Avada Modal element with iawf-modal iawf-modal--sm (components CSS 6n).
 *
 * Shared from assets/css/iawf-components.css (IAWF-RCM-20261019):
 *   iawf-btn, iawf-btn--outline (the "Choose this plan" buttons)
 * Breakpoints: Avada Medium (1024px) centers the tabs and the intro line;
 * Avada Small (640px) puts them back on the left and stacks the cards.
 */

.iawf-plans {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.4vw, 48px);
	width: 100%;
	font-style: normal;
}

/* --- Program tabs ------------------------------------------------------- */

.iawf-plans .iawf-plans__tabs {
	display: flex;
	justify-content: flex-start;
	gap: clamp(20px, 3vw, 48px);
	border-bottom: 1px solid var(--awb-color3);
	overflow-x: auto;
	scrollbar-width: none;
}

.iawf-plans .iawf-plans__tabs::-webkit-scrollbar {
	display: none;
}

.iawf-plans button.iawf-plans__tab,
.iawf-plans button.iawf-plans__tab:hover,
.iawf-plans button.iawf-plans__tab:focus,
.iawf-plans button.iawf-plans__tab:active {
	flex-shrink: 0;
	width: auto;
	height: auto;
	min-height: 0;
	margin: 0 0 -1px;
	padding: 0 0 18px;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--awb-color11);
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: clamp(18px, 1.8vw, 28px);
	font-weight: 800;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: color .25s, border-color .25s;
}

.iawf-plans button.iawf-plans__tab.is-active {
	color: var(--awb-color8);
	border-bottom-color: var(--awb-color5);
}

@media (hover: hover) and (pointer: fine) {
	.iawf-plans button.iawf-plans__tab:hover {
		color: var(--awb-color8);
	}
}

.iawf-plans button.iawf-plans__tab:focus {
	outline: none;
}

.iawf-plans button.iawf-plans__tab:focus-visible {
	color: var(--awb-color8);
	outline: 2px solid var(--awb-color8);
	outline-offset: 2px;
}

/* --- Program panel ------------------------------------------------------- */

.iawf-plans .iawf-plans__panel {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.4vw, 48px);
}

.iawf-plans .iawf-plans__panel[hidden] {
	display: none;
}

.iawf-plans .iawf-plans__intro {
	align-self: flex-start;
	max-width: 640px;
	margin: 0;
	padding: 0;
	font-size: clamp(15px, 1.1vw, 16px);
	font-style: normal;
	line-height: 1.65;
	color: var(--awb-color7);
	text-align: left;
	text-wrap: pretty;
}

/* --- Plan cards ------------------------------------------------------------ */

.iawf-plans .iawf-plans__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.iawf-plans .iawf-plans__cards--one {
	grid-template-columns: minmax(0, 560px);
}

.iawf-plans .iawf-plans__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0;
	padding: clamp(24px, 2.6vw, 36px);
	border: 1.5px solid var(--awb-color3);
	border-radius: 24px;
	background: var(--awb-color2);
	list-style: none;
}

.iawf-plans .iawf-plans__card--hi {
	border-color: var(--awb-color5);
}

.iawf-plans .iawf-plans__card::before,
.iawf-plans .iawf-plans__card::marker,
.iawf-plans .iawf-plans__feat::marker {
	content: none;
}

.iawf-plans .iawf-plans__head {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.iawf-plans .iawf-plans__tag {
	display: block;
	height: 14px;
	font-family: var(--awb-typography3-font-family), system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	font-style: normal;
	line-height: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--awb-color5);
}

.iawf-plans .iawf-plans__card .iawf-plans__name {
	margin: 0;
	padding: 0;
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: clamp(22px, 1.8vw, 28px);
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--awb-color8);
}

.iawf-plans .iawf-plans__price {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.iawf-plans .iawf-plans__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.iawf-plans .iawf-plans__value {
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: clamp(44px, 4.4vw, 68px);
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: -.015em;
	color: var(--awb-color8);
}

.iawf-plans .iawf-plans__per {
	font-size: 16px;
	font-weight: 600;
	font-style: normal;
	line-height: normal;
	color: var(--awb-color7);
}

.iawf-plans .iawf-plans__sub {
	margin: 0;
	padding: 0;
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	color: var(--awb-color6);
}

.iawf-plans .iawf-plans__feats {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--awb-color3);
	list-style: none;
}

.iawf-plans .iawf-plans__feat {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	font-size: clamp(15px, 1.1vw, 16px);
	font-style: normal;
	line-height: 1.5;
	color: var(--awb-color10);
	list-style: none;
}

/* Red 6px dot, on the first line of the feature */
.iawf-plans .iawf-plans__feat::before {
	content: "";
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	margin-top: 9px;
	border-radius: 50%;
	background: var(--awb-color5);
}

/* No-price cards (v1.1.0): the session count is the big number, the unit
   ("Sessions") sits under it in the Text Muted color. Upright, never italic. */
.iawf-plans .iawf-plans__card--noprice .iawf-plans__name {
	display: flex;
	flex-direction: column;
	gap: 6px;
	white-space: normal;
}

.iawf-plans .iawf-plans__card--noprice .iawf-plans__count {
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: clamp(44px, 4.4vw, 68px);
	font-weight: 800;
	font-style: normal;
	line-height: .95;
	letter-spacing: -.015em;
	color: var(--awb-color8);
}

.iawf-plans .iawf-plans__card--noprice .iawf-plans__unit {
	font-family: "Bricolage Grotesque", system-ui, sans-serif;
	font-size: clamp(18px, 1.5vw, 22px);
	font-weight: 800;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	color: var(--awb-color7);
}

/* "Choose this plan": 56px full-width pill, 14px label. Colors and hover
   come from iawf-btn (red on the highlighted card) and iawf-btn--outline
   (the other cards, whose ring is Border Strong instead of white). */
body .iawf-plans .fusion-button.iawf-btn.iawf-plans__choose {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 21px 32px;
	font-size: 14px;
	white-space: nowrap;
}

body .iawf-plans .fusion-button.iawf-btn.iawf-plans__choose .fusion-button-text {
	font-size: inherit;
}

body .iawf-plans .fusion-button.iawf-btn.iawf-btn--outline.iawf-plans__choose {
	outline-color: var(--awb-color4);
	transition: background-color .25s, color .25s, outline-color .25s;
}

body .iawf-plans .fusion-button.iawf-btn.iawf-btn--outline.iawf-plans__choose:focus-visible {
	outline-color: var(--awb-color8);
}

@media (hover: hover) and (pointer: fine) {
	body .iawf-plans .fusion-button.iawf-btn.iawf-btn--outline.iawf-plans__choose:hover {
		outline-color: var(--awb-color8);
	}
}

/* --- Medium: centered tabs and intro ----------------------------------------- */

@media (max-width: 1024px) {
	.iawf-plans .iawf-plans__tabs {
		justify-content: center;
		justify-content: safe center; /* never clips the first tab when the row scrolls */
	}

	.iawf-plans .iawf-plans__intro {
		align-self: center;
		text-align: center;
	}
}

/* --- Small: left again, one card per row --------------------------------------- */

@media (max-width: 640px) {
	.iawf-plans .iawf-plans__tabs {
		justify-content: flex-start;
	}

	.iawf-plans .iawf-plans__intro {
		align-self: flex-start;
		text-align: left;
	}

	.iawf-plans .iawf-plans__cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.iawf-plans button.iawf-plans__tab {
		transition: none;
	}
}
