/*
 * I Already Won Fitness: Blog article (post)  v2.0.0
 * Prompt 11B (BLOG-LISTING-SINGLE v1.1). Template: single-post.php
 * v2.0.0 replaces the Prompt 10 v1.0.2 file: Keep reading uses the Blog page
 * card (iawf-blog-card), category links, article spacing set on each element
 * so editor posts and Avada Builder posts (Title and Text Block wrappers)
 * render the same, doubled-ID page chrome. Kept from v1.0.2: upright H1,
 * one-line text-arrow links, the 1000px sidebar card switch.
 * Enqueued by single-post.php (skipped when inc/base-template-assets.php
 * already loads this file as solitude-tpl-single-post), so it loads once.
 *
 * Tokens: IAWF-DSM-20261019 (--awb-color1..10, --awb-typography1/3).
 * Components (not restyled here): iawf-btn, iawf-btn--compact,
 * iawf-link-arrow, iawf-link-arrow--back (IAWF-RCM-20261019). The grey 14px
 * back link is the RCM's documented local exception for this template.
 *
 * Breakpoint: 1000px (design: sticky sidebar card at 1000px and up; the
 * card moves to the end of the post below 1000px). Everything else flows
 * with clamp() and auto-fill grids, like the design.
 *
 * Every heading and text element sets font-style: normal (live Avada
 * headings render italic); em and i inside the article stay italic.
 */

/* --------------------------------------------------------------------------
   Page chrome: full-width bands on this template only
   (doubled ID outranks every Avada #main rule, including 100% Width padding)
   -------------------------------------------------------------------------- */

html body.single-post #main#main {
	padding-left: 0;
	padding-right: 0;
}

html body.single-post #main#main > .fusion-row {
	max-width: none;
	min-width: 0;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

/* --------------------------------------------------------------------------
   Root and resets inside the template
   -------------------------------------------------------------------------- */

.iawf-post {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: var(--awb-color1);
	color: var(--awb-color8);
	overflow-x: clip; /* keeps the hidden RCM link brackets (22px outside a link) from widening the page at 390px; clip keeps the sticky card working */
}

.iawf-post,
.iawf-post *,
.iawf-post *::before,
.iawf-post *::after {
	box-sizing: border-box;
}

.iawf-post__header p,
.iawf-post__header h1,
.iawf-post__card p,
.iawf-post__card ul,
.iawf-post__card li,
.iawf-post__share p,
.iawf-post__more h2,
.iawf-post__more h3,
.iawf-post__more ul,
.iawf-post__more li {
	margin: 0;
	padding: 0;
}

.iawf-post h1,
.iawf-post h2,
.iawf-post h3,
.iawf-post h4,
.iawf-post blockquote,
.iawf-post__header p,
.iawf-post__header a,
.iawf-post__header span,
.iawf-post__share p,
.iawf-post__share a,
.iawf-post__card p,
.iawf-post__card a,
.iawf-post__card li,
.iawf-post__more a,
.iawf-post__more span {
	font-style: normal;
}

.iawf-post__card ul,
.iawf-post__more ul {
	list-style: none;
}

/* --------------------------------------------------------------------------
   1. Post header
   -------------------------------------------------------------------------- */

.iawf-post__header-inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: clamp(120px, 15vh, 150px) clamp(20px, 4vw, 64px) clamp(32px, 4vw, 56px);
	padding-top: clamp(120px, 15svh, 150px);
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.4vw, 44px);
}

.iawf-post__intro {
	max-width: 1100px;
	display: flex;
	flex-direction: column;
	gap: clamp(16px, 2vw, 24px);
	min-width: 0;
}

/* Back link: RCM iawf-link-arrow--back, grey 14px local exception (arrow too). */
.iawf-post a.iawf-link-arrow.iawf-post__back,
.iawf-post a.iawf-link-arrow.iawf-post__back:hover,
.iawf-post a.iawf-link-arrow.iawf-post__back:focus {
	color: var(--awb-color7);
}

.iawf-post a.iawf-link-arrow.iawf-post__back {
	align-self: flex-start;
	font-size: 14px;
}

.iawf-post a.iawf-link-arrow.iawf-post__back::after {
	background-color: currentColor;
}

.iawf-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-family: var(--awb-typography3-font-family);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.iawf-post a.iawf-post__cat,
.iawf-post a.iawf-post__cat:hover,
.iawf-post a.iawf-post__cat:focus {
	color: var(--awb-color5);
	text-decoration: none;
}

.iawf-post a.iawf-post__cat {
	border-radius: 4px;
}

.iawf-post a.iawf-post__cat:focus {
	outline: none;
}

.iawf-post a.iawf-post__cat:focus-visible {
	outline: 2px solid var(--awb-color8);
	outline-offset: 3px;
}

.iawf-post__meta-item {
	color: var(--awb-color6);
}

.iawf-post .iawf-post__title {
	max-width: 100%;
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(38px, 5.6vw, 92px);
	font-weight: 800;
	line-height: .92;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: var(--awb-color8);
	text-wrap: balance;
	overflow-wrap: anywhere;
	font-style: normal;
	font-synthesis: none;
}

.iawf-post .iawf-post__dek {
	max-width: 760px;
	font-size: clamp(17px, 1.4vw, 21px);
	line-height: 1.55;
	color: var(--awb-color10);
	text-wrap: pretty;
}

.iawf-post__image {
	aspect-ratio: 16 / 9;
	max-height: 78vh;
	max-height: 78svh;
	border-radius: 24px;
	overflow: hidden;
	background: var(--awb-color2);
}

.iawf-post .iawf-post__image-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 18%;
}

/* --------------------------------------------------------------------------
   2. Post body
   -------------------------------------------------------------------------- */

.iawf-post__body-inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 64px) clamp(64px, 6vw, 96px);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(40px, 4vw, 72px);
	align-items: start;
}

.iawf-post__main {
	width: 100%;
	max-width: 1080px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Article text. Spacing sits on each element (never on neighbors), so posts
   written in the WordPress editor and posts built from Avada Title and Text
   Block elements (each heading and paragraph in its own wrapper) match.
   The wrapper's negative bottom margin cancels the last element's gap. */
.iawf-post .iawf-post__content {
	display: flow-root;
	min-width: 0;
	margin-bottom: -24px;
	font-family: var(--awb-typography3-font-family);
	font-size: clamp(16px, 1.2vw, 19px);
	line-height: 1.75;
	color: var(--awb-color10);
	overflow-wrap: break-word;
}

.iawf-post .iawf-post__content p,
.iawf-post .iawf-post__content ul,
.iawf-post .iawf-post__content ol,
.iawf-post .iawf-post__content figure,
.iawf-post .iawf-post__content table,
.iawf-post .iawf-post__content pre,
.iawf-post .iawf-post__content .wp-block-image,
.iawf-post .iawf-post__content .wp-block-embed {
	margin: 0 0 24px !important;
}

.iawf-post .iawf-post__content p {
	padding: 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	letter-spacing: 0 !important;
	color: inherit;
	text-wrap: pretty;
}

.iawf-post .iawf-post__content h2 {
	margin: 0 0 24px !important;
	padding: 28px 0 0 !important;
	font-family: var(--awb-typography1-font-family) !important;
	font-size: clamp(26px, 2.4vw, 38px) !important;
	font-weight: 800 !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: -.01em !important;
	text-transform: uppercase !important;
	color: var(--awb-color8) !important;
	scroll-margin-top: 110px;
}

.iawf-post .iawf-post__content h2.iawf-post__h2--first {
	padding-top: 8px !important;
}

.iawf-post .iawf-post__content h3 {
	margin: 0 0 24px !important;
	padding: 12px 0 0 !important;
	font-family: var(--awb-typography1-font-family) !important;
	font-size: clamp(21px, 1.8vw, 28px) !important;
	font-weight: 800 !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: -.01em !important;
	text-transform: uppercase !important;
	color: var(--awb-color8) !important;
	scroll-margin-top: 110px;
}

body.admin-bar .iawf-post .iawf-post__content h2,
body.admin-bar .iawf-post .iawf-post__content h3 {
	scroll-margin-top: 142px;
}

/* Avada Builder wrappers inside a post: no container, row, column or Title
   spacing of their own, separators hidden. */
.iawf-post .iawf-post__content .fusion-fullwidth {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.iawf-post .iawf-post__content .fusion-builder-row {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.iawf-post .iawf-post__content .fusion-layout-column {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.iawf-post .iawf-post__content .fusion-layout-column.fusion-one-full {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.iawf-post .iawf-post__content .fusion-column-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.iawf-post .iawf-post__content .fusion-title,
.iawf-post .iawf-post__content .fusion-text {
	margin: 0 !important;
	padding: 0 !important;
}

.iawf-post .iawf-post__content .fusion-title .title-sep-container,
.iawf-post .iawf-post__content .fusion-title .title-sep {
	display: none !important;
}

.iawf-post__content a:not(.fusion-button) {
	font-weight: inherit;
	color: var(--awb-color8);
	transition: color .2s;
}

.iawf-post__content a:not(.fusion-button):hover,
.iawf-post__content a:not(.fusion-button):focus-visible {
	color: var(--awb-color5);
}

.iawf-post .iawf-post__content ul,
.iawf-post .iawf-post__content ol {
	padding: 0 0 0 1.25em !important;
}

.iawf-post .iawf-post__content li {
	margin: 0 0 8px !important;
}

.iawf-post .iawf-post__content li:last-child {
	margin-bottom: 0 !important;
}

.iawf-post__content strong,
.iawf-post__content b {
	color: var(--awb-color8);
}

.iawf-post__content img {
	max-width: 100%;
	height: auto;
	border-radius: 20px;
}

.iawf-post__content figcaption {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--awb-color6);
}

/* Blockquote: 16px of extra space above and below (design), drawn with
   padding and a painted red line so it never depends on margin collapsing. */
.iawf-post .iawf-post__content blockquote {
	margin: 0 0 40px !important;
	padding: 40px 0 24px 31px !important;
	border: 0 !important;
	border-radius: 0;
	background: linear-gradient(var(--awb-color5), var(--awb-color5)) 0 16px / 3px calc(100% - 16px) no-repeat !important;
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(22px, 2vw, 30px);
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--awb-color8);
	quotes: none;
}

.iawf-post .iawf-post__content blockquote p {
	margin: 0 !important;
	font: inherit !important;
	color: inherit;
}

.iawf-post .iawf-post__content blockquote p + p {
	margin-top: 12px !important;
}

.iawf-post .iawf-post__content blockquote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--awb-typography3-font-family);
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--awb-color6);
}

/* Share row */
.iawf-post__share {
	margin-top: 20px;
	padding-top: 24px;
	border-top: 1px solid var(--awb-color3);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.iawf-post .iawf-post__share-heading {
	font-family: var(--awb-typography3-font-family);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--awb-color6);
}

.iawf-post__share-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.iawf-post a.iawf-post__share-link,
.iawf-post a.iawf-post__share-link:hover,
.iawf-post a.iawf-post__share-link:focus {
	color: var(--awb-color8);
	text-decoration: none;
}

.iawf-post a.iawf-post__share-link {
	display: flex;
	align-items: center;
	height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--awb-color4);
	font-family: var(--awb-typography3-font-family);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transition: border-color .2s;
}

.iawf-post a.iawf-post__share-link:focus {
	outline: none;
}

.iawf-post a.iawf-post__share-link:focus-visible {
	outline: 2px solid var(--awb-color8);
	outline-offset: 2px;
	border-color: var(--awb-color8);
}

@media (hover: hover) and (pointer: fine) {
	.iawf-post a.iawf-post__share-link:hover {
		border-color: var(--awb-color8);
	}
}

/* --------------------------------------------------------------------------
   Free Class Card (shared by the sidebar card and the end card)
   -------------------------------------------------------------------------- */

.iawf-post__card {
	border-radius: 24px;
	overflow: hidden;
	background: var(--awb-color2);
	border: 1px solid var(--awb-color3);
}

.iawf-post__card-media {
	position: relative;
	display: block;
}

.iawf-post .iawf-post__card-img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center 35%;
}

.iawf-post__card-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.iawf-post .iawf-post__card-eyebrow {
	font-family: var(--awb-typography3-font-family);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--awb-color5);
}

.iawf-post .iawf-post__card-heading {
	font-family: var(--awb-typography1-font-family);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.015em;
	text-transform: uppercase;
	color: var(--awb-color8);
	overflow-wrap: anywhere;
}

/* End card (below 1000px): image beside the copy when there is room. */
.iawf-post__card--end {
	margin-top: 36px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.iawf-post__card--end .iawf-post__card-media {
	min-height: 240px;
}

.iawf-post__card--end .iawf-post__card-body {
	padding: clamp(28px, 3.2vw, 44px);
	gap: 16px;
}

.iawf-post .iawf-post__card--end .iawf-post__card-heading {
	font-size: clamp(28px, 2.6vw, 40px);
}

.iawf-post__card-points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.iawf-post .iawf-post__card-points li {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid var(--awb-color4);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--awb-color8);
	white-space: nowrap;
}

.iawf-post__card-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 34px;
	margin-top: 6px;
}

/* Sidebar card (1000px and up) */
.iawf-post__card--side {
	display: none;
}

.iawf-post__card--side .iawf-post__card-media {
	aspect-ratio: 4 / 3;
}

.iawf-post__card--side .iawf-post__card-body {
	padding: 26px;
	gap: 14px;
}

.iawf-post .iawf-post__card--side .iawf-post__card-heading {
	font-size: 30px;
}

.iawf-post .iawf-post__card-line {
	font-size: 15px;
	line-height: 1.55;
	color: var(--awb-color7);
}

.iawf-post__card--side .fusion-button.iawf-btn {
	margin-top: 4px;
}

.iawf-post a.iawf-link-arrow.iawf-post__card-link {
	align-self: center;
}

/* RCM text-arrow links on this template: label and arrow always on one line.
   !important because a theme rule on the live site overrides the row layout. */
html body.single-post .iawf-post a.iawf-link-arrow {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: auto !important;
	white-space: nowrap !important;
}

html body.single-post .iawf-post a.iawf-link-arrow::after {
	display: inline-block !important;
	position: static !important;
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   3. Keep reading (Blog page card markup: iawf-blog-card)
   -------------------------------------------------------------------------- */

.iawf-post__more {
	border-top: 1px solid var(--awb-color9);
}

.iawf-post__more-inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: clamp(64px, 6vw, 96px) clamp(20px, 4vw, 64px);
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3.4vw, 40px);
}

.iawf-post__more-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px 40px;
}

.iawf-post .iawf-post__more-heading {
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(32px, 3.6vw, 56px);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.015em;
	text-transform: uppercase;
	color: var(--awb-color8);
	overflow-wrap: anywhere;
}

.iawf-post__cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	gap: 40px 20px;
}

.iawf-post .iawf-blog-card {
	min-width: 0;
}

.iawf-post a.iawf-blog-card__link,
.iawf-post a.iawf-blog-card__link:hover,
.iawf-post a.iawf-blog-card__link:focus {
	color: var(--awb-color8);
	text-decoration: none;
}

.iawf-post a.iawf-blog-card__link {
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-radius: 20px;
}

.iawf-post a.iawf-blog-card__link:focus {
	outline: none;
}

.iawf-post a.iawf-blog-card__link:focus-visible {
	outline: 2px solid var(--awb-color8);
	outline-offset: 6px;
}

.iawf-post .iawf-blog-card__photo {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 20px;
	overflow: hidden;
	background: var(--awb-color2);
}

.iawf-post .iawf-blog-card__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.iawf-post .iawf-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-family: var(--awb-typography3-font-family);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.iawf-post .iawf-blog-card__cat {
	color: var(--awb-color5);
}

.iawf-post .iawf-blog-card__read {
	color: var(--awb-color6);
}

.iawf-post .iawf-blog-card__title {
	font-family: var(--awb-typography1-font-family);
	font-size: clamp(22px, 1.8vw, 28px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--awb-color8);
	text-wrap: balance;
	overflow-wrap: anywhere;
}

/* --------------------------------------------------------------------------
   Wide: sidebar card beside the post (1000px and up)
   -------------------------------------------------------------------------- */

@media (min-width: 1000px) {
	.iawf-post__body-inner {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.iawf-post__card--end {
		display: none;
	}

	.iawf-post__card--side {
		display: block;
	}
}

/* Sticky only when the window is tall enough to show the whole card. */
@media (min-width: 1000px) and (min-height: 720px) {
	.iawf-post__card--side {
		position: sticky;
		top: 124px;
	}

	body.admin-bar .iawf-post__card--side {
		top: 156px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.iawf-post__content a:not(.fusion-button),
	.iawf-post a.iawf-post__share-link {
		transition: none;
	}
}
