/**
 * Single V2 (Prototype) — scoped styles
 * Only applied when the Single V2 template is active.
 */

:root {
	--yl-v2-navy: #002c4b;
	--yl-v2-blue: #0073c6;
	--yl-v2-green: #8cc63e;
	--yl-v2-accent: #f37021;
	--yl-v2-charcoal: #1a2129;
	--yl-v2-slate-50: #f8fafc;
	--yl-v2-slate-600: #475569;
	--yl-v2-slate-700: #334155;
	--yl-v2-slate-900: #0f172b;
	--yl-v2-border: #e2e8f0;
}

/* -------------------------------------------------------------------------
   Base typography
   ------------------------------------------------------------------------- */

/*
 * Header is in normal document flow on this site (not absolute),
 * so only kill the global 240px main offset — do not add extra clearance.
 */
body.yl-template-single-v2,
body.post-template-single-v2,
body.yl-template-single-v2 .wp-site-blocks,
body.post-template-single-v2 .wp-site-blocks {
	background: #fff;
}

body.yl-template-single-v2 main,
body.yl-template-single-v2 main.yl-single-v2,
body.post-template-single-v2 main,
body.post-template-single-v2 main.yl-single-v2 {
	margin: 0 !important;
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	background: #fff;
}

body.yl-template-single-v2 .yl-single-v2__grid,
body.post-template-single-v2 .yl-single-v2__grid {
	padding-top: 1.5rem !important;
	background: #fff;
}

@media (max-width: 781px) {
	body.yl-template-single-v2 .yl-single-v2__grid,
	body.post-template-single-v2 .yl-single-v2__grid {
		padding-top: 1.25rem !important;
	}
}

.yl-single-v2,
body.yl-template-single-v2 .yl-single-v2 {
	font-family: "Montserrat", var(--wp--preset--font-family--montserrat, sans-serif);
	color: var(--yl-v2-slate-700);
}

.yl-single-v2 h1,
.yl-single-v2 h2,
.yl-single-v2 h3,
.yl-single-v2 h4,
.yl-single-v2 .yl-single-v2__title,
.yl-single-v2 .yl-single-v2__suggested-heading,
.yl-single-v2 .yl-single-v2__aside-heading,
.yl-single-v2 .yl-single-v2__cta-heading,
.yl-single-v2 .yl-single-v2__card-title,
.yl-single-v2 .wp-block-quote,
.yl-single-v2 .wp-block-quote p {
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif);
}

.yl-single-v2__title {
	color: var(--yl-v2-slate-900) !important;
	font-size: clamp(1.875rem, 4vw, 3rem) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em;
}

.yl-single-v2__featured img,
.yl-single-v2__featured .wp-block-post-featured-image img {
	border-radius: 1rem;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* -------------------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------------------- */

.yl-single-v2__breadcrumb {
	gap: 0.5rem;
	align-items: center;
}

.yl-single-v2__breadcrumb p {
	margin: 0 !important;
}

.yl-single-v2__crumb-home a,
.yl-single-v2__crumb-cats a {
	color: var(--yl-v2-blue);
	text-decoration: none;
	font-weight: 600;
}

.yl-single-v2__crumb-home a:hover,
.yl-single-v2__crumb-cats a:hover {
	text-decoration: underline;
}

.yl-single-v2__crumb-sep {
	color: var(--yl-v2-slate-600);
}

.yl-single-v2__crumb-cats .wp-block-post-terms__separator {
	display: none;
}

/* -------------------------------------------------------------------------
   Content conventions
   ------------------------------------------------------------------------- */

.yl-single-v2__content {
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--yl-v2-slate-700);
}

/* Override theme-wide p/h margins (custom.css uses 35–40px !important) */
.yl-single-v2__content p {
	margin: 0 0 1.15rem !important;
}

.yl-single-v2__content h1,
.yl-single-v2__content h2,
.yl-single-v2__content h3,
.yl-single-v2__content h4,
.yl-single-v2__content .wp-block-heading {
	clear: both;
	margin: 1.75rem 0 0.65rem !important;
	line-height: 1.25;
	padding: 0;
}

/*
 * V2 content conventions — automatic when Single V2 template is selected.
 * Editors use normal Gutenberg blocks; no special V2 styles to pick.
 */

/* Floated portrait images — Image block aligned left */
.yl-single-v2__content .alignleft,
.yl-single-v2__content .wp-block-image.alignleft {
	float: left;
	max-width: 260px;
	margin: 0.25rem 1.5rem 1rem 0;
}

.yl-single-v2__content .alignleft img,
.yl-single-v2__content .wp-block-image.alignleft img {
	border-radius: 1rem;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	height: auto;
	display: block;
}

.yl-single-v2__content .wp-block-image.alignleft figcaption,
.yl-single-v2__content .alignleft figcaption {
	font-size: 0.875rem;
	color: var(--yl-v2-slate-600);
	margin: 0.5rem 0 0 !important;
	line-height: 1.4;
}

.yl-single-v2__content .wp-block-image:not(.alignleft) img {
	border-radius: 1rem;
}

/* Full-width blocks should never wrap beside a float */
.yl-single-v2__content > .wp-block-quote,
.yl-single-v2__content > blockquote,
.yl-single-v2__content > .wp-block-group,
.yl-single-v2__content > .yl-v2-callout,
.yl-single-v2__content > .wp-block-separator,
.yl-single-v2__content > .wp-block-buttons {
	clear: both;
	width: 100%;
	max-width: 100%;
}

/* Pull quote — Quote block with straight green bar */
.yl-single-v2__content .wp-block-quote,
.yl-single-v2__content blockquote {
	position: relative;
	display: block;
	clear: both;
	width: 100%;
	border: none !important;
	border-left: none !important;
	border-radius: 0 !important;
	padding: 0 0 0 1.15rem !important;
	margin: 1.75rem 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.yl-single-v2__content .wp-block-quote::before,
.yl-single-v2__content blockquote::before {
	content: "" !important;
	position: absolute;
	left: 0;
	top: 0.15em;
	bottom: 0.15em;
	width: 4px;
	border-radius: 0;
	background: var(--yl-v2-green);
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.yl-single-v2__content .wp-block-quote::after,
.yl-single-v2__content blockquote::after {
	content: none !important;
	display: none !important;
}

.yl-single-v2__content .wp-block-quote p,
.yl-single-v2__content blockquote p {
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-weight: 700;
	font-style: italic;
	line-height: 1.35;
	color: var(--yl-v2-navy);
	margin: 0 !important;
	padding: 0 !important;
	text-indent: 0 !important;
}

.yl-single-v2__content .wp-block-quote cite {
	display: none;
}

/* Callout — Group block with custom class "yl-v2-callout" (optional) */
.yl-single-v2__content .yl-v2-callout,
.yl-single-v2__content .is-style-yl-v2-callout {
	clear: both;
	border-left: 4px solid var(--yl-v2-green);
	background: rgba(140, 198, 62, 0.1);
	padding: 1.1rem 1.25rem;
	margin: 1.75rem 0;
	border-radius: 0 0.75rem 0.75rem 0;
}

.yl-single-v2__content .yl-v2-callout p,
.yl-single-v2__content .is-style-yl-v2-callout p {
	margin: 0 !important;
	font-weight: 600;
	color: var(--yl-v2-navy);
}

.yl-single-v2__content {
	display: flow-root;
}

.yl-single-v2__content::after {
	content: "";
	display: table;
	clear: both;
}

/* -------------------------------------------------------------------------
   Author / share (prototype)
   ------------------------------------------------------------------------- */

.yl-single-v2__author {
	margin: 2rem 0 0;
}

.yl-single-v2__author .wp-block-shortcode {
	margin: 0 !important;
}

.yl-single-v2__author .yl-author-display {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 1.1rem !important;
	background: #f8fafc !important;
	border: 1px solid var(--yl-v2-border) !important;
	border-radius: 1rem !important;
	box-shadow: none !important;
	padding: 1.35rem 1.5rem !important;
	margin: 0 !important;
}

.yl-single-v2__author .yl-author-image {
	flex: 0 0 auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.yl-single-v2__author .yl-author-image::after {
	display: none !important;
}

.yl-single-v2__author .yl-author-image img {
	display: block !important;
	width: 64px !important;
	height: 64px !important;
	max-width: none !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 2px solid #fff !important;
	box-shadow: 0 0 0 1px var(--yl-v2-border) !important;
}

.yl-single-v2__author .yl-author-info {
	flex: 1 1 auto;
	min-width: 0;
}

.yl-single-v2__author .yl-author-name {
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	margin: 0 0 0.35rem !important;
	color: var(--yl-v2-navy) !important;
}

.yl-single-v2__author .yl-author-name a {
	color: inherit !important;
	text-decoration: none !important;
}

.yl-single-v2__author .yl-author-title {
	display: none !important;
}

.yl-single-v2__author .yl-author-bio {
	font-size: 0.875rem !important;
	color: var(--yl-v2-slate-600) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

.yl-single-v2__author .yl-author-bio p {
	margin: 0 0 0.5rem !important;
	font-size: inherit !important;
	color: inherit !important;
	line-height: inherit !important;
}

.yl-single-v2__author .yl-author-bio p:last-child {
	margin-bottom: 0 !important;
}

/* Share row */
.yl-single-v2__share-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.75rem 1rem !important;
	margin-top: 1.25rem !important;
	padding-top: 1.15rem !important;
	border-top: 1px solid var(--yl-v2-border) !important;
}

.yl-single-v2__share {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.85rem !important;
}

.yl-single-v2__share-label {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700 !important;
	font-size: 0.72rem !important;
	color: #64748b !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
}

.yl-single-v2__date {
	color: #64748b !important;
	margin: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1 !important;
}

.yl-single-v2__share .wp-block-shortcode {
	margin: 0 !important;
	line-height: 0 !important;
}

/* Kill global AddToAny top border/padding (stray line above icons) */
.yl-single-v2__share .addtoany_list,
.yl-single-v2 .addtoany_list,
.yl-single-v2 .a2a_kit {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 0 none !important;
	background: transparent !important;
	line-height: 1 !important;
}

.yl-single-v2__share .addtoany_list a,
.yl-single-v2 .addtoany_list a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 999px !important;
	background: #e8eef5 !important;
	overflow: hidden !important;
	line-height: 1 !important;
	float: none !important;
	box-shadow: none !important;
}

.yl-single-v2__share .addtoany_list a:hover,
.yl-single-v2 .addtoany_list a:hover,
.yl-single-v2__share .addtoany_list a:focus,
.yl-single-v2 .addtoany_list a:focus {
	background: #d7e4f2 !important;
	opacity: 1 !important;
}

/* Neutralize AddToAny brand-colored icon tiles */
.yl-single-v2__share .addtoany_list a .a2a_svg,
.yl-single-v2 .addtoany_list a .a2a_svg {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
	line-height: 0 !important;
}

.yl-single-v2__share .addtoany_list a .a2a_svg svg,
.yl-single-v2 .addtoany_list a .a2a_svg svg {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
}

.yl-single-v2__share .addtoany_list a .a2a_svg svg path,
.yl-single-v2 .addtoany_list a .a2a_svg svg path,
.yl-single-v2__share .addtoany_list a .a2a_svg svg g,
.yl-single-v2 .addtoany_list a .a2a_svg svg g {
	fill: #1e293b !important;
}

.yl-single-v2__share .addtoany_list a .a2a_label {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Sidebar
   ------------------------------------------------------------------------- */

.yl-single-v2__aside {
	position: sticky;
	top: calc(1.5rem + var(--wp-admin--admin-bar--height, 0px));
	align-self: flex-start;
}

/* Recent Articles — prototype card */
.yl-single-v2__recent {
	background: var(--yl-v2-slate-50) !important;
	border: 1px solid var(--yl-v2-border) !important;
	border-radius: 1.25rem !important;
	box-shadow: 0 10px 28px rgba(15, 23, 43, 0.06);
	padding: 1.5rem !important;
}

.yl-single-v2__aside-heading {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	color: #62748e !important;
	font-family: "Montserrat", var(--wp--preset--font-family--montserrat, sans-serif) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 0.85rem !important;
	padding: 0 0 0.95rem !important;
	border-bottom: 1px solid var(--yl-v2-border);
}

.yl-single-v2__aside-heading::before {
	content: "";
	display: inline-block;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: var(--yl-v2-blue);
	flex: 0 0 auto;
}

.yl-single-v2__recent-query .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
}

.yl-single-v2__recent-item {
	border-bottom: 1px solid var(--yl-v2-border) !important;
	padding: 1rem 0 !important;
	gap: 0.3rem !important;
}

.yl-single-v2__recent-item:last-child {
	border-bottom: none !important;
	padding-bottom: 0.15rem !important;
}

.yl-single-v2__recent-date {
	color: #62748e !important;
	margin: 0 !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.2;
}

.yl-single-v2__recent-title {
	margin: 0 !important;
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.yl-single-v2__recent-title a {
	color: var(--yl-v2-navy);
	text-decoration: none;
}

.yl-single-v2__recent-title a:hover {
	color: var(--yl-v2-blue);
}

.yl-single-v2__cta {
	background: linear-gradient(145deg, var(--yl-v2-navy) 0%, #0a5fa8 45%, var(--yl-v2-blue) 100%);
	color: #fff;
	border-radius: 1.25rem !important;
	box-shadow: 0 12px 28px rgba(0, 44, 75, 0.22);
	margin-top: 1.5rem;
	padding: 1.75rem 1.5rem !important;
}

.yl-single-v2__cta-badge {
	display: inline-block !important;
	width: fit-content !important;
	margin: 0 0 0.85rem !important;
	padding: 0.35rem 0.75rem !important;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.28);
	color: #fff !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.2;
}

.yl-single-v2__cta-heading,
.yl-single-v2__cta-text {
	color: #fff !important;
}

.yl-single-v2__cta-heading {
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif) !important;
	font-weight: 800 !important;
	font-size: clamp(1.25rem, 2vw, 1.5rem) !important;
	line-height: 1.2 !important;
	margin: 0 0 0.75rem !important;
}

.yl-single-v2__cta-text {
	font-size: 0.95rem;
	line-height: 1.55;
	margin: 0 0 1.25rem !important;
	opacity: 0.95;
}

.yl-single-v2__cta-buttons {
	width: 100%;
}

.yl-single-v2__cta a.yl-single-v2__cta-button,
.yl-single-v2__cta-button .wp-block-button__link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	margin: 0;
	background: var(--yl-v2-accent) !important; /* #f37021 */
	color: #fff !important;
	border: none !important;
	border-radius: 999px !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	line-height: 1.2 !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	padding: 0.85rem 1.25rem !important;
	box-shadow: 0 6px 16px rgba(243, 112, 33, 0.35);
}

.yl-single-v2__cta a.yl-single-v2__cta-button:hover,
.yl-single-v2__cta a.yl-single-v2__cta-button:focus,
.yl-single-v2__cta-button .wp-block-button__link:hover,
.yl-single-v2__cta-button .wp-block-button__link:focus {
	filter: brightness(1.06);
	color: #fff !important;
	text-decoration: none !important;
}

.yl-single-v2__recent .featured-posts-sidebar,
.yl-single-v2__recent .featured-post-item,
.yl-single-v2__recent ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.yl-single-v2__ad-horizontal,
.yl-single-v2__ad-vertical {
	text-align: center;
}

.yl-single-v2__ad-horizontal .yl-ad,
.yl-single-v2__ad-vertical .yl-ad {
	margin-left: auto;
	margin-right: auto;
}

/* -------------------------------------------------------------------------
   Suggested articles
   ------------------------------------------------------------------------- */

.yl-single-v2__columns,
.yl-single-v2__article,
.yl-single-v2__content {
	overflow: hidden;
}

.yl-single-v2__suggested {
	background: var(--yl-v2-slate-50); /* #f8fafc — prototype slate-50 */
	width: 100%;
	max-width: none !important;
	clear: both;
	isolation: isolate;
	overflow: hidden;
	border-top: 1px solid var(--yl-v2-border);
}

.yl-single-v2__suggested-heading {
	color: var(--yl-v2-navy) !important;
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif) !important;
}

.yl-single-v2__view-all {
	margin: 0 !important;
}

.yl-single-v2__view-all a {
	color: var(--yl-v2-blue);
	font-weight: 600;
	text-decoration: none;
	font-size: 0.95rem;
}

.yl-single-v2__view-all a:hover {
	text-decoration: underline;
}

/* Prototype-style 3-column card grid */
.yl-single-v2__suggested-query {
	width: 100%;
	max-width: 100%;
}

.yl-single-v2__suggested-query .wp-block-post-template,
.yl-single-v2__suggested-query ul.wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.5rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
}

.yl-single-v2__suggested-query .wp-block-post-template > li,
.yl-single-v2__suggested-query .wp-block-post {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: relative !important;
	display: block !important;
	height: 100%;
}

.yl-single-v2__card {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	height: 100%;
	min-width: 0;
	margin: 0 !important;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 8px 24px rgba(15, 23, 43, 0.08);
	overflow: hidden;
	border: 1px solid rgba(226, 232, 240, 0.9);
}

.yl-single-v2__card > * {
	float: none !important;
	max-width: 100% !important;
}

.yl-single-v2__card .wp-block-post-featured-image,
.yl-single-v2__card .yl-single-v2__card-image {
	position: relative !important;
	width: 100% !important;
	margin: 0 !important;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 0 !important;
	flex: 0 0 auto;
}

.yl-single-v2__card .wp-block-post-featured-image a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.yl-single-v2__card .wp-block-post-featured-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	float: none !important;
	position: static !important;
}

.yl-single-v2__card-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
	flex: 1 1 auto;
	padding: 1.25rem 1.25rem 1.35rem !important;
	background: #fff;
}

.yl-single-v2__card-title {
	margin: 0 !important;
	color: var(--yl-v2-navy) !important;
	font-family: "Blinker", var(--wp--preset--font-family--blinker, sans-serif) !important;
	font-weight: 700 !important;
	font-size: 1.2rem !important;
	line-height: 1.25 !important;
}

.yl-single-v2__card-title a {
	color: var(--yl-v2-navy);
	text-decoration: none;
}

.yl-single-v2__card-title a:hover {
	color: var(--yl-v2-blue);
}

.yl-single-v2__card-cat {
	margin: 0 !important;
	line-height: 1.2;
}

.yl-single-v2__card-cat a,
.yl-single-v2__card-cat .wp-block-post-terms__separator {
	color: var(--yl-v2-blue);
	font-weight: 700;
	text-decoration: none;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.yl-single-v2__card-cat .wp-block-post-terms__separator {
	margin: 0 0.25em;
}

.yl-single-v2__card-date {
	color: var(--yl-v2-slate-600);
	margin: 0.15rem 0 0 !important;
	font-size: 0.875rem !important;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 981px) {
	.yl-single-v2__suggested-query .wp-block-post-template,
	.yl-single-v2__suggested-query ul.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 781px) {
	.yl-single-v2__aside {
		position: static;
	}

	.yl-single-v2__content .alignleft,
	.yl-single-v2__content .wp-block-image.alignleft {
		float: none;
		max-width: 100%;
		margin: 0 0 1.5rem;
	}

	.yl-single-v2__suggested-query .wp-block-post-template,
	.yl-single-v2__suggested-query ul.wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}
