/*
 * LL Reading Style v1.3.8
 * Scope: single world_article only.
 * SWELL-native: the default world_article uses SWELL's in-content title and
 * featured image as separate elements. LL styles only the reading layer around them.
 */

.ll-world-reading-style {
	--ll-world-ink: #171918;
	--ll-world-muted: #656b69;
	--ll-world-line: #dfe3e1;
	--ll-world-soft: #f6f7f5;
	--ll-world-accent: #263739;
	--ll-world-prose: 760px;
	color: var(--ll-world-ink);
}

/* Title/date presentation follows SWELL. Category/tag/author are disabled request-by-request in PHP. */

/* Credit for a photo used as SWELL's title background. */
body.ll-world-reading-style .ll-world-title-media-meta {
	width: 100%;
	max-width: var(--ll-world-prose);
	margin: 14px auto clamp(34px, 5vw, 52px);
	color: #666d69;
	text-align: left;
}

body.ll-world-reading-style .ll-world-title-media-caption {
	margin: 0 0 4px !important;
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
}

body.ll-world-reading-style .ll-world-title-media-meta .ll-world-credit {
	margin-top: 0 !important;
}

/* SWELL owns the outer article frame and featured image width. */
body.ll-world-reading-style .ll-world-content {
	font-size: 18px;
	line-height: 1.9;
}

/* Keep ordinary authored text pleasantly narrow inside SWELL's content area.
 * Wide/full alignment classes are intentionally left to SWELL. */
body.ll-world-reading-style .ll-world-content > :where(
	:not(.alignwide):not(.alignfull):not(.is-style-ll-world-wide):not(.is-style-ll-world-compare):not(.is-style-ll-world-split):not(.is-style-ll-world-portrait):not(.is-style-ll-world-pinterest)
) {
	max-width: var(--ll-world-prose);
	margin-right: auto;
	margin-left: auto;
}

body.ll-world-reading-style .ll-world-article__intro,
body.ll-world-reading-style .ll-world-after-article {
	width: 100%;
	max-width: var(--ll-world-prose);
	margin-right: auto;
	margin-left: auto;
}

body.ll-world-reading-style .ll-world-article__intro {
	margin-bottom: clamp(48px, 7vw, 76px);
}

body.ll-world-reading-style .ll-world-article__meta {
	margin: 0 0 18px;
	color: var(--ll-world-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: .07em;
}

body.ll-world-reading-style .ll-world-article__lead {
	color: #2d3230;
	font-size: 19px;
	line-height: 1.95;
}

body.ll-world-reading-style .ll-world-article__lead > :first-child {
	margin-top: 0;
}

body.ll-world-reading-style .ll-world-article__lead > :last-child {
	margin-bottom: 0;
}

body.ll-world-reading-style .ll-world-content p {
	margin-top: 0;
	margin-bottom: .82em;
}

body.ll-world-reading-style .ll-world-content ul,
body.ll-world-reading-style .ll-world-content ol {
	margin-top: 0;
	margin-bottom: 1.05em;
}

/* Keep a paragraph feeling like prose, not a stack of cards.
 * Larger breaks come from headings, images and deliberate layout blocks. */
body.ll-world-reading-style .ll-world-content p + p {
	margin-top: 0;
}

/* LL headings stay quiet, but the page/article title itself is completely SWELL-owned. */
body.ll-world-reading-style .ll-world-content h2,
body.ll-world-reading-style .ll-world-content h3 {
	position: static;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ll-world-ink);
	font-family: inherit;
	text-align: left;
}

body.ll-world-reading-style .ll-world-content h2::before,
body.ll-world-reading-style .ll-world-content h2::after,
body.ll-world-reading-style .ll-world-content h3::before,
body.ll-world-reading-style .ll-world-content h3::after {
	display: none;
	content: none;
}

body.ll-world-reading-style .ll-world-content h2 {
	margin-top: clamp(62px, 8vw, 92px);
	margin-bottom: .9em;
	font-size: clamp(25px, 2.6vw, 28px);
	font-weight: 560;
	line-height: 1.5;
	letter-spacing: .01em;
}

body.ll-world-reading-style .ll-world-content h3 {
	margin-top: clamp(42px, 6vw, 64px);
	margin-bottom: .8em;
	font-size: clamp(21px, 2.3vw, 23px);
	font-weight: 650;
	line-height: 1.55;
}

body.ll-world-reading-style .ll-world-content a,
body.ll-world-reading-style .ll-world-after-article a {
	color: var(--ll-world-accent);
	text-decoration-color: rgba(38, 55, 57, .38);
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

/* Let SWELL size/position figures, alignwide and alignfull. LL only styles spacing
 * and prevents image contents themselves from exceeding their resolved figure. */
body.ll-world-reading-style .ll-world-content figure {
	margin-top: clamp(30px, 4.5vw, 48px);
	margin-bottom: clamp(34px, 5vw, 54px);
}

body.ll-world-reading-style .ll-world-content img,
body.ll-world-reading-style .p-articleThumb img {
	max-width: 100%;
	height: auto;
}

/* Legacy LL-wide content now behaves like a normal wide editorial block without
 * cancelling SWELL's alignwide/alignfull rules. */
body.ll-world-reading-style .ll-world-content > .is-style-ll-world-wide,
body.ll-world-reading-style .ll-world-content > .is-style-ll-world-compare,
body.ll-world-reading-style .ll-world-content > .is-style-ll-world-split,
body.ll-world-reading-style .ll-world-content > .is-style-ll-world-pinterest {
	width: 100%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

body.ll-world-reading-style .ll-world-content > .is-style-ll-world-portrait {
	width: 100%;
	max-width: 540px;
	margin-right: auto;
	margin-left: auto;
}

/* Captions and credits should read like quiet photo notes, not body copy. */
body.ll-world-reading-style .p-articleThumb,
body.ll-world-reading-style .ll-world-content figure {
	text-align: left !important;
}

body.ll-world-reading-style .ll-world-content figcaption,
body.ll-world-reading-style .p-articleThumb .p-articleThumb__caption,
body.ll-world-reading-style .p-articleThumb .ll-world-featured-caption {
	width: 100%;
	margin: 9px 0 0 !important;
	color: #7a807d;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	text-align: left !important;
}


/* v1.1.8: photo attribution/license belongs to the caption, not a separate row. */
body.ll-world-reading-style .ll-world-content figcaption .ll-world-caption-credit {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
	text-align: inherit !important;
}

body.ll-world-reading-style .ll-world-content figcaption .ll-world-caption-credit a,
body.ll-world-reading-style .ll-world-content figcaption .ll-world-caption-credit span {
	display: inline !important;
	color: inherit !important;
	font: inherit !important;
	line-height: inherit !important;
}

body.ll-world-reading-style .ll-world-content figcaption .ll-world-caption-credit a {
	text-decoration-color: rgba(122, 128, 125, .45) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: .15em;
}

body.ll-world-reading-style .ll-world-generated-caption {
	margin-top: 9px !important;
}

body.single-world_article .ll-world-credit,
body.ll-world-reading-style .ll-world-credit {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin: 3px 0 0 !important;
	padding: 0 !important;
	color: #858b88 !important;
	font-size: 11.5px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

body.single-world_article .ll-world-credit a,
body.single-world_article .ll-world-credit span,
body.ll-world-reading-style .ll-world-credit a,
body.ll-world-reading-style .ll-world-credit span {
	display: inline !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-align: left !important;
}

body.single-world_article .ll-world-credit a,
body.ll-world-reading-style .ll-world-credit a {
	text-decoration-color: rgba(133, 139, 136, .45) !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: .15em;
}

body.ll-world-reading-style .is-style-ll-world-compare {
	align-items: start;
	gap: clamp(18px, 3vw, 32px);
}

body.ll-world-reading-style .is-style-ll-world-compare > .wp-block-column {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

body.ll-world-reading-style .is-style-ll-world-compare > .wp-block-column > figure {
	margin-top: 0;
	margin-bottom: 0;
}

body.ll-world-reading-style .ll-world-content .ll-world-compare-label {
	order: -1;
	margin: 0 0 10px;
	color: #4f5553;
	font-size: 13px;
	line-height: 1.6;
}


/* Editorial layout pieces. These are intentionally reusable rather than one article template. */
body.ll-world-reading-style .is-style-ll-world-split {
	align-items: center;
	gap: clamp(28px, 5vw, 72px);
	margin-top: clamp(42px, 6vw, 68px);
	margin-bottom: clamp(42px, 6vw, 68px);
}

body.ll-world-reading-style .is-style-ll-world-split > .wp-block-column {
	min-width: 0;
}

body.ll-world-reading-style .is-style-ll-world-split .ll-world-split__media {
	flex-basis: 54%;
}

body.ll-world-reading-style .is-style-ll-world-split .ll-world-split__text {
	flex-basis: 46%;
}

body.ll-world-reading-style .is-style-ll-world-split figure {
	margin: 0;
}

body.ll-world-reading-style .is-style-ll-world-split .ll-world-split__text > :first-child {
	margin-top: 0;
}

body.ll-world-reading-style .is-style-ll-world-split .ll-world-split__text > :last-child {
	margin-bottom: 0;
}

body.ll-world-reading-style .is-style-ll-world-portrait img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	max-height: min(68vh, 620px);
	margin-right: auto;
	margin-left: auto;
	object-fit: contain;
}

/* v1.3.9: A quieter portrait treatment for Kasubi and future editorial uses. */
body.ll-world-reading-style .is-style-ll-world-portrait-small img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	max-height: min(64vh, 560px);
	margin-right: auto;
	margin-left: auto;
	object-fit: contain;
}

/* A quiet shelf for Pinterest embeds or other visual references that cannot be downloaded. */
body.ll-world-reading-style .is-style-ll-world-pinterest {
	margin-top: clamp(42px, 6vw, 70px);
	margin-bottom: clamp(42px, 6vw, 70px);
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid var(--ll-world-line);
	border-radius: 18px;
	background: #fbfcfa;
}

body.ll-world-reading-style .is-style-ll-world-pinterest > :first-child {
	margin-top: 0;
}

body.ll-world-reading-style .is-style-ll-world-pinterest > :last-child {
	margin-bottom: 0;
}

body.ll-world-reading-style .is-style-ll-world-turn {
	margin-top: clamp(76px, 11vw, 112px);
	margin-bottom: clamp(76px, 11vw, 112px);
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: clamp(24px, 3.1vw, 29px);
	font-style: normal;
	font-weight: 550;
	line-height: 1.8;
	text-align: center;
}

body.ll-world-reading-style .is-style-ll-world-turn::before,
body.ll-world-reading-style .is-style-ll-world-turn::after {
	display: none;
	content: none;
}

body.ll-world-reading-style .is-style-ll-world-turn p {
	margin: 0;
}

body.ll-world-reading-style .ll-world-article-end {
	width: 100%;
	margin-top: clamp(84px, 12vw, 132px);
	border: 0;
	border-top: 1px solid var(--ll-world-line);
	opacity: 1;
}

body.ll-world-reading-style .is-style-ll-world-reference {
	padding-top: clamp(28px, 4vw, 42px);
	border: 0;
	background: transparent;
	color: #6f7572;
	font-size: 12.5px;
	line-height: 1.7;
}

body.ll-world-reading-style .ll-world-content .is-style-ll-world-reference h2 {
	margin: 0 0 .9em;
	color: #555b58;
	font-size: 15px;
	font-weight: 600;
}

body.ll-world-reading-style .is-style-ll-world-reference ul {
	padding-left: 1.25em;
}

body.ll-world-reading-style .is-style-ll-world-reference li + li {
	margin-top: .45em;
}

body.ll-world-reading-style .is-style-ll-world-reference a {
	color: inherit !important;
	text-decoration-color: rgba(111, 117, 114, .45) !important;
}

body.ll-world-reading-style .ll-world-after-article {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 34px;
	margin-top: 42px;
	padding-top: 38px;
	border-top: 1px solid var(--ll-world-line);
}

body.ll-world-reading-style .ll-world-after-article__label {
	margin: 0 0 12px;
	color: var(--ll-world-muted);
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .08em;
}

body.ll-world-reading-style .ll-world-after-article ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.ll-world-reading-style .ll-world-after-article li + li {
	margin-top: 10px;
}

body.ll-world-reading-style .ll-world-after-article a {
	font-size: 15px;
	line-height: 1.6;
}

body.ll-world-reading-style .ll-world-image-placeholder {
	display: grid;
	min-height: 260px;
	place-items: center;
	border: 1px dashed #aeb5b1;
	background: var(--ll-world-soft);
	color: var(--ll-world-muted);
	font-size: 14px;
}

/* These two LL choices remain scoped to world_article only. */
body.ll-world-reading-style #pagetop,
body.ll-world-reading-style #pagetop.c-fixBtn,
body.ll-world-reading-style .p-fixBtnWrap #pagetop,
body.ll-world-reading-style .p-fixBtnWrap > .c-fixBtn,
body.ll-world-reading-style .p-fixBtnWrap {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.ll-world-reading-style .w-singleBottom,
body.ll-world-reading-style .w-pageBottom,
body.ll-world-reading-style .w-beforeFooter,
body.ll-world-reading-style #before_footer_widget,
body.ll-world-reading-style .w-footer,
body.ll-world-reading-style .l-footer__widgetArea,
body.ll-world-reading-style .l-footer__widgets,
body.ll-world-reading-style .l-footerWidget,
body.ll-world-reading-style .single_bottom_widget,
body.ll-world-reading-style .page_bottom_widget,
body.ll-world-reading-style .footer_widget_area {
	display: none !important;
}


/* v1.3.8: Desktop uses multiple photo rhythms instead of one long vertical rail.
 * Wide images may breathe horizontally; portrait images stay compact; split/duo blocks
 * break the scroll rhythm. Mobile collapses back to a simple one-column reading order. */
@media (min-width: 782px) {
	body.ll-world-reading-style .ll-world-content figure.wp-block-image:not(.is-style-ll-world-wide):not(.is-style-ll-world-portrait) > img {
		display: block;
		width: auto !important;
		max-width: 100% !important;
		max-height: min(68vh, 640px);
		margin-right: auto;
		margin-left: auto;
		object-fit: contain;
	}

	body.ll-world-reading-style .ll-world-content figure.is-style-ll-world-wide > img {
		display: block;
		width: 100% !important;
		height: auto;
		max-height: 760px;
		object-fit: contain;
	}

	body.ll-world-reading-style .ll-world-content figure.wp-block-image > figcaption {
		max-width: var(--ll-world-prose);
	}

	body.ll-world-reading-style .ll-world-content figure.is-style-ll-world-wide > figcaption {
		max-width: 900px;
	}

	body.ll-world-reading-style .is-style-ll-world-split.ll-world-split--image-right > .ll-world-split__media {
		order: 2;
	}

	body.ll-world-reading-style .is-style-ll-world-split.ll-world-split--image-right > .ll-world-split__text {
		order: 1;
	}

	body.ll-world-reading-style .is-style-ll-world-split:has(.is-style-ll-world-portrait-small) > .ll-world-split__media {
		flex-basis: 40%;
	}

	body.ll-world-reading-style .is-style-ll-world-split:has(.is-style-ll-world-portrait-small) > .ll-world-split__text {
		flex-basis: 60%;
	}

	body.ll-world-reading-style .is-style-ll-world-split .is-style-ll-world-portrait-small {
		max-width: 380px;
		margin-right: auto;
		margin-left: auto;
	}

	body.ll-world-reading-style .is-style-ll-world-compare {
		max-width: 1000px;
	}
}

@media (max-width: 781px) {
	body.ll-world-reading-style .ll-world-content {
		font-size: 17px;
		line-height: 1.85;
	}

	body.ll-world-reading-style .ll-world-article__meta {
		margin-bottom: 14px;
		font-size: 12px;
	}

	body.ll-world-reading-style .ll-world-article__lead {
		font-size: 17px;
		line-height: 1.9;
	}

	/* No viewport/negative-margin overrides here: SWELL owns mobile gutters. */
	body.ll-world-reading-style .is-style-ll-world-split {
		display: flex;
		flex-direction: column;
		gap: 22px;
		margin-top: 38px;
		margin-bottom: 44px;
	}

	body.ll-world-reading-style .is-style-ll-world-split > .ll-world-split__media,
	body.ll-world-reading-style .is-style-ll-world-split > .ll-world-split__text {
		order: initial;
		width: 100%;
	}

	body.ll-world-reading-style .is-style-ll-world-split figure {
		margin-bottom: 0;
	}

	body.ll-world-reading-style .is-style-ll-world-portrait {
		max-width: 100%;
	}

	body.ll-world-reading-style .is-style-ll-world-compare {
		display: grid;
		grid-template-columns: 1fr;
		gap: 44px;
	}

	body.ll-world-reading-style .is-style-ll-world-turn {
		margin-top: 76px;
		margin-bottom: 76px;
		font-size: 23px;
		line-height: 1.85;
	}

	body.ll-world-reading-style .ll-world-after-article {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ll-world-reading-style *,
	.ll-world-reading-style *::before,
	.ll-world-reading-style *::after {
		scroll-behavior: auto !important;
	}
}
