/**
 * Pin Lions: the styling theme.json cannot express on its own.
 *
 * Loaded on the front end and in the editor. Colours, fonts and radii all
 * come from theme.json presets, so every rule here follows whichever style
 * variation is active. No web fonts, no images and no JavaScript.
 */

:root {
	--pl-heading: var(--wp--custom--font--heading);
	--pl-body: var(--wp--custom--font--body);
	--pl-radius: var(--wp--custom--radius--md, 18px);
	--pl-radius-lg: var(--wp--custom--radius--lg, 26px);
	--pl-radius-sm: var(--wp--custom--radius--sm, 10px);
	--pl-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- accessibility ---------- */
:where(a, button, input, summary, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 4px;
}
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--base); }

/* ---------- reading progress (CSS scroll timeline; skipped where unsupported) ---------- */
.pl-progress {
	position: fixed; inset: 0 0 auto 0; height: 4px; z-index: 100000;
	background: var(--wp--preset--color--accent);
	transform-origin: 0 50%; transform: scaleX(0); pointer-events: none;
}
@supports (animation-timeline: scroll()) {
	.pl-progress { animation: pl-progress linear both; animation-timeline: scroll(root); }
	@keyframes pl-progress { to { transform: scaleX(1); } }
}
.admin-bar .pl-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .pl-progress { top: 46px; } }

/* ---------- header ---------- */
.pl-site-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.pl-site-header .wp-block-site-logo img { max-height: 64px; width: auto; }
.pl-site-header .wp-block-navigation__responsive-container.is-menu-open { padding: var(--wp--preset--spacing--40); }
.pl-site-header .wp-block-search__button { border-radius: var(--wp--custom--radius--pill); }

/* ---------- section helpers used by patterns ---------- */
.pl-kicker, .is-style-pl-kicker {
	font-family: var(--pl-body) !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase;
	color: var(--wp--preset--color--accent); margin-bottom: .4rem !important; line-height: 1.3 !important;
}
.pl-section-head { gap: var(--wp--preset--spacing--30); }
.pl-section-head-row { gap: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--30); }
.pl-section-head-row > .pl-section-head { padding-bottom: 0 !important; }
.pl-section-head .pl-more a {
	font-weight: 700; text-decoration: none; color: var(--wp--preset--color--contrast);
	border-bottom: 2px solid var(--wp--preset--color--accent); padding-bottom: 3px;
}
.pl-section-head .pl-more a:hover { color: var(--wp--preset--color--accent); }

/* ---------- post cards (query loops) ---------- */
.pl-cards .wp-block-post { display: flex; flex-direction: column; gap: .55rem; min-width: 0; }
.pl-cards .wp-block-post-featured-image { margin: 0 0 .35rem; overflow: hidden; border-radius: var(--pl-radius); background: var(--wp--preset--color--surface); }
.pl-cards .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--pl-ease); }
.pl-cards .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.pl-cards .wp-block-post-title { margin: 0; font-size: var(--wp--preset--font-size--large); line-height: 1.25; }
.pl-cards .wp-block-post-terms a:not(:first-of-type), .pl-cards .wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.pl-cards .wp-block-post-excerpt { margin: 0; font-size: var(--wp--preset--font-size--small); }
.pl-cards .wp-block-post-excerpt__more-text { display: none; }
.pl-cards--tall .wp-block-post-featured-image { aspect-ratio: 3 / 4; }
.pl-cards--wide .wp-block-post-featured-image { aspect-ratio: 16 / 10; }

/* Lead layout: the first post spans two rows. */
.pl-lead .wp-block-post-template { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: var(--wp--preset--spacing--40); }
.pl-lead .wp-block-post:first-child { grid-row: span 2; }
/* Core's flow layout adds a top margin to every list item after the first,
   which pushes grid cells out of line. Grids manage their own gaps. */
.pl-cards .wp-block-post-template > * { margin-block-start: 0 !important; }
.pl-lead .wp-block-post:first-child .wp-block-post-featured-image { aspect-ratio: 4 / 3.3; }
.pl-lead .wp-block-post:first-child .wp-block-post-title { font-size: var(--wp--preset--font-size--x-large); }
.pl-lead .wp-block-post:not(:first-child) .wp-block-post-featured-image { aspect-ratio: 16 / 10; }
.pl-lead .wp-block-post:not(:first-child) .wp-block-post-excerpt { display: none; }

/* Compact list: thumbnail on the left. */
.pl-list .wp-block-post-template { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--50); }
.pl-list .wp-block-post { display: grid; grid-template-columns: 96px 1fr; gap: .35rem 1rem; align-items: center; padding: 1rem 0; border-top: 1px solid var(--wp--preset--color--line); }
.pl-list .wp-block-post-featured-image { grid-row: span 3; aspect-ratio: 1; margin: 0; border-radius: var(--pl-radius-sm); }
.pl-list .wp-block-post-title { font-size: var(--wp--preset--font-size--medium); }

.pl-empty-hint, .wp-block-query-no-results p {
	padding: 1.1rem 1.25rem; border: 1px dashed var(--wp--preset--color--line); border-radius: var(--pl-radius);
	color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); background: var(--wp--preset--color--surface);
}

/* ---------- hero (cover) ---------- */
.pl-hero.wp-block-cover { border-radius: 0; }
.pl-hero .wp-block-search__inside-wrapper {
	background: #fff; border-radius: var(--wp--custom--radius--pill); padding: 6px; border: 0;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .22); max-width: 560px;
}
.pl-hero .wp-block-search__input { border: 0; background: transparent; padding: 0 1rem; color: #13233F; min-height: 46px; }
.pl-hero .wp-block-search__button { margin: 0; min-height: 46px; }

/* ---------- category grid ---------- */
.pl-cat-grid { display: grid; grid-template-columns: repeat(var(--pl-cols, 3), minmax(0, 1fr)); gap: var(--wp--preset--spacing--30); }
.pl-cat-tile {
	position: relative; display: block; aspect-ratio: 4 / 5; border-radius: var(--pl-radius-lg); overflow: hidden;
	background: var(--wp--preset--color--dark); color: #fff; text-decoration: none; isolation: isolate;
}
.pl-cat-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .7s var(--pl-ease); }
.pl-cat-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .78) 100%); }
.pl-cat-tile:hover img { transform: scale(1.05); }
.pl-cat-tile--plain { background: linear-gradient(135deg, var(--wp--preset--color--accent), var(--wp--preset--color--dark)); }
.pl-cat-tile__body { position: absolute; left: 1.25rem; right: 1.25rem; bottom: 1.1rem; display: grid; gap: .2rem; }
.pl-cat-tile__name { font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--x-large); line-height: 1.05; }
.pl-cat-tile__count { font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }

/* ---------- single post ---------- */
.pl-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 600; color: var(--wp--preset--color--muted); }
.pl-breadcrumbs a { color: inherit; text-decoration: none; }
.pl-breadcrumbs a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
.pl-breadcrumbs__sep { opacity: .5; }
.is-style-pl-pill a, .pl-pill a {
	display: inline-block; background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent) !important;
	padding: .55em .9em; border-radius: var(--wp--custom--radius--pill); line-height: 1; text-decoration: none;
}
.pl-standfirst { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--muted); max-width: 62ch; }
.pl-byline { border-top: 1px solid var(--wp--preset--color--line); padding-top: var(--wp--preset--spacing--30); }
.pl-byline .wp-block-avatar img { border-radius: 50%; }
.pl-reading-time::before { content: "\00b7"; margin-right: .6rem; }
.pl-reading-time { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.wp-block-post-featured-image.pl-feature { border-radius: var(--pl-radius-lg); overflow: hidden; }
.wp-block-post-featured-image.pl-feature img { width: 100%; aspect-ratio: 16 / 8.5; object-fit: cover; }

/* The sidebar column runs the full height of the post, so a sticky ad (or,
   with no sticky ad, the whole sidebar) can follow the reader down. */
.pl-post-columns { align-items: stretch; }
.pl-post-columns > .wp-block-column:has(.pl-post-sidebar) { display: flex; flex-direction: column; }
.pl-post-columns > .wp-block-column:has(.pl-post-sidebar) > * { flex: 1 0 auto; display: flex; flex-direction: column; }
.pl-post-sidebar { flex: 1 0 auto; }
.pl-post-sidebar--sticky { flex: 0 0 auto; position: sticky; top: 2rem; }
.admin-bar .pl-post-sidebar--sticky, .admin-bar .pl-slot--sticky { top: calc(2rem + 32px); }

/* Post body typography */
.pl-post-content { font-size: clamp(1.05rem, 1rem + .25vw, 1.15rem); line-height: 1.78; }
.pl-post-content h2 { position: relative; padding-top: .9rem; margin-top: 1.9em; scroll-margin-top: 90px; }
.pl-post-content h2::before { content: ""; position: absolute; left: 0; top: 0; width: 44px; height: 4px; border-radius: 4px; background: var(--wp--preset--color--accent); }
.pl-post-content h3 { margin-top: 1.8em; scroll-margin-top: 90px; }
.pl-post-content :where(ul, ol):not([class*="is-style-"]) li { margin: .4em 0; }
.pl-post-content :where(ul):not([class*="is-style-"]) li::marker { color: var(--wp--preset--color--accent); }
.pl-post-content .wp-block-image img, .pl-post-content figure > img { max-height: 82vh; width: auto; margin-inline: auto; object-fit: contain; }
.pl-post-content .wp-block-image { text-align: center; }
.pl-post-content table { width: 100%; border-collapse: collapse; }
.pl-post-content th, .pl-post-content td { padding: .7rem .85rem; border-bottom: 1px solid var(--wp--preset--color--line); text-align: left; }
.pl-post-content th { background: var(--wp--preset--color--surface); font-family: var(--pl-heading); }

/* Table of contents */
.pl-toc { border: 1px solid var(--wp--preset--color--line); border-radius: var(--pl-radius); padding: 1.15rem 1.25rem; background: var(--wp--preset--color--base); }
.pl-toc__title { margin: 0 0 .7rem; font-size: var(--wp--preset--font-size--x-small); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--contrast); }
.pl-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: pl-toc; display: grid; gap: 1px; }
.pl-toc__list li { counter-increment: pl-toc; }
.pl-toc__list a {
	display: grid; grid-template-columns: 1.9rem 1fr; gap: .35rem; padding: .45rem .6rem; margin: 0 -.6rem; border-radius: var(--pl-radius-sm);
	color: var(--wp--preset--color--contrast); text-decoration: none; font-size: var(--wp--preset--font-size--small); line-height: 1.4;
}
.pl-toc__list a::before { content: counter(pl-toc, decimal-leading-zero); font-family: var(--pl-heading); font-weight: 700; font-size: .78em; color: var(--wp--preset--color--accent); padding-top: .15em; }
.pl-toc__list a:hover { background: var(--wp--preset--color--surface); }
.pl-toc--collapsible summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; margin: 0; }
.pl-toc--collapsible summary::-webkit-details-marker { display: none; }
.pl-toc--collapsible summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--wp--preset--color--accent); font-weight: 400; }
.pl-toc--collapsible[open] summary { margin-bottom: .7rem; }
.pl-toc--collapsible[open] summary::after { content: "\2013"; }
.pl-toc-mobile { display: none; margin-bottom: var(--wp--preset--spacing--40); }

/* Save to Pinterest */
.pl-pin-wrap { margin: 0; }
.pl-pin {
	display: inline-flex; align-items: center; gap: .5rem; padding: .7em 1.15em; border-radius: var(--wp--custom--radius--pill);
	font-weight: 700; font-size: var(--wp--preset--font-size--small); line-height: 1; text-decoration: none !important; white-space: nowrap;
	transition: transform .2s var(--pl-ease), box-shadow .2s var(--pl-ease);
}
.pl-pin--solid, .pl-pin--icon { background: #E60023; color: #fff !important; }
.pl-pin--outline { border: 2px solid #E60023; color: #C4001E !important; background: transparent; }
.pl-pin--icon { padding: .7em; }
.pl-pin:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(230, 0, 35, .25); }
.pl-save-card { background: var(--wp--preset--color--dark); color: var(--wp--preset--color--on-dark); border-radius: var(--pl-radius); }
.pl-save-card :where(h2, h3, p) { color: inherit; }

/* Author box */
.pl-author-box { border-radius: var(--pl-radius-lg); background: var(--wp--preset--color--surface); }
.pl-author-box .wp-block-avatar img { border-radius: 50%; }
.pl-author-box .wp-block-post-author-biography { color: var(--wp--preset--color--muted); }

/* Save button on post images */
.pl-pin-media { position: relative; display: inline-block; max-width: 100%; line-height: 0; }
.pl-pin-media img { display: block; }
.pl-img-pin {
	position: absolute; top: 12px; left: 12px; z-index: 2; display: inline-flex; align-items: center; gap: .35rem;
	padding: .55em .85em; border-radius: var(--wp--custom--radius--pill); background: #E60023; color: #fff !important;
	font: 700 13px/1 var(--pl-body); text-decoration: none !important; box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
	opacity: 0; transform: translateY(-4px); transition: opacity .2s var(--pl-ease), transform .2s var(--pl-ease);
}
.pl-pin-media:hover .pl-img-pin, .pl-img-pin:focus-visible { opacity: 1; transform: none; }
@media (hover: none) { .pl-img-pin { opacity: 1; transform: none; padding: .5em; } .pl-img-pin span { display: none; } }

/* Author box designs (Appearance > Pin Lions) */
.pl-ab-minimal .pl-author-box { background: none; border-top: 1px solid var(--wp--preset--color--line); border-radius: 0; padding-left: 0 !important; padding-right: 0 !important; }
.pl-ab-dark .pl-author-box { background: var(--wp--preset--color--dark); }
.pl-ab-dark .pl-author-box :where(.wp-block-post-author-name a, .wp-block-post-author-name) { color: var(--wp--preset--color--on-dark); }
.pl-ab-dark .pl-author-box .wp-block-post-author-biography { color: rgba(255, 255, 255, .78); }
.pl-ab-dark .pl-author-box .pl-kicker { color: var(--wp--preset--color--accent-soft); }
.pl-ab-centered .pl-author-box { flex-direction: column; align-items: center !important; text-align: center; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--preset--shadow--card); }
.pl-ab-centered .pl-author-box .wp-block-avatar img { width: 96px; height: 96px; }
.pl-ab-centered .pl-author-box > .wp-block-group { align-items: center; }
.pl-ab-accent .pl-author-box { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-top: 6px solid var(--wp--preset--color--accent); border-radius: var(--pl-radius); box-shadow: var(--wp--preset--shadow--card); }
.pl-ab-accent .pl-author-box .wp-block-avatar img { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.pl-ab-accent .pl-author-box .wp-block-post-author-name a { color: var(--wp--preset--color--accent); }

/* Related posts */
.pl-related__title { margin: 0 0 var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--x-large); }
.pl-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
.pl-card { display: grid; align-content: start; gap: .5rem; text-decoration: none; color: var(--wp--preset--color--contrast); }
.pl-card__media { display: block; aspect-ratio: 4 / 3; border-radius: var(--pl-radius); overflow: hidden; background: var(--wp--preset--color--surface); }
.pl-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--pl-ease); }
.pl-card:hover .pl-card__media img { transform: scale(1.04); }
.pl-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--wp--preset--color--accent-soft), var(--wp--preset--color--surface)); }
.pl-card__kicker { font-size: var(--wp--preset--font-size--x-small); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.pl-card__title { font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--medium); line-height: 1.3; }
.pl-card:hover .pl-card__title { color: var(--wp--preset--color--accent); }

/* Click-to-load YouTube */
.pl-yt { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--pl-radius); }
.wp-block-embed.is-type-video .wp-block-embed__wrapper::before { display: none; }

/* ---------- block styles ---------- */
.is-style-pl-card { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); border-radius: var(--pl-radius); box-shadow: var(--wp--preset--shadow--card); padding: var(--wp--preset--spacing--40); }
.is-style-pl-soft { background: var(--wp--preset--color--surface); border-radius: var(--pl-radius); padding: var(--wp--preset--spacing--40); }
.is-style-pl-dark { background: var(--wp--preset--color--dark); color: var(--wp--preset--color--on-dark); border-radius: var(--pl-radius); padding: var(--wp--preset--spacing--40); }
.is-style-pl-dark :where(h1, h2, h3, h4, p, li, a) { color: inherit; }
.is-style-pl-callout { background: var(--wp--preset--color--accent-soft); border-left: 4px solid var(--wp--preset--color--accent); border-radius: var(--pl-radius-sm); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
.is-style-pl-pinnable img { aspect-ratio: 2 / 3; object-fit: cover; max-height: none !important; width: min(100%, 520px) !important; box-shadow: var(--wp--preset--shadow--lift); }
.is-style-pl-checklist, .is-style-pl-crosslist { list-style: none; padding-left: 0; }
.is-style-pl-checklist li, .is-style-pl-crosslist li { position: relative; padding-left: 2rem; margin: .55em 0; }
.is-style-pl-checklist li::before, .is-style-pl-crosslist li::before {
	position: absolute; left: 0; top: .2em; width: 1.35rem; height: 1.35rem; border-radius: 50%;
	display: grid; place-items: center; font-size: .78rem; font-weight: 800; line-height: 1;
}
.is-style-pl-checklist li::before { content: "\2713"; background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent); }
.is-style-pl-crosslist li::before { content: "\2715"; background: #FDE7E7; color: #B42318; }
.is-style-pl-steps { list-style: none; padding-left: 0; counter-reset: pl-step; }
.is-style-pl-steps li { counter-increment: pl-step; position: relative; padding-left: 3rem; margin: 1em 0; min-height: 2.2rem; }
.is-style-pl-steps li::before {
	content: counter(pl-step); position: absolute; left: 0; top: 0; width: 2.2rem; height: 2.2rem; border-radius: 50%;
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--on-accent);
	display: grid; place-items: center; font-family: var(--pl-heading); font-weight: 700;
}
.wp-block-separator.is-style-pl-short { width: 56px; border-top: 4px solid var(--wp--preset--color--accent) !important; border-bottom: 0 !important; border-radius: 4px; margin-left: 0; opacity: 1; }

/* Details (FAQ) */
.wp-block-details summary { cursor: pointer; font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--medium); list-style: none; position: relative; padding-right: 2.2rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1.75rem; height: 1.75rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--accent); font-weight: 400; font-size: 1.15rem;
}
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details[open] summary { margin-bottom: .6rem; }
.wp-block-details + .wp-block-details { margin-top: .6rem; }

/* Pull-quote and quote polish */
.wp-block-pullquote { padding: var(--wp--preset--spacing--40) 0; }
.wp-block-pullquote p { margin: 0; }

/* Footer */
.pl-footer-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; font-size: var(--wp--preset--font-size--small); }
.pl-footer-list a { color: var(--wp--preset--color--contrast); }
.pl-footer-list li { margin: 0; }
.pl-footer-list .pl-menu { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }

/* Forms (comments, search) */
:where(.wp-block-post-comments-form, .comment-respond) :where(input[type="text"], input[type="email"], input[type="url"], textarea),
.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--line); border-radius: var(--pl-radius-sm); padding: .75rem .9rem;
	font: inherit; font-size: var(--wp--preset--font-size--small); background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
}
:where(.wp-block-post-comments-form, .comment-respond) textarea { min-height: 140px; }
.wp-block-post-comments-form .comment-form-cookies-consent { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

.pl-site-footer a { text-decoration: none; }
.pl-site-footer a:hover { text-decoration: underline; }
.pl-site-footer .wp-block-navigation { --navigation-layout-direction: column; }
.pl-copyright { margin: 0; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
	.pl-lead .wp-block-post-template { grid-template-columns: 1fr 1fr; }
	.pl-lead .wp-block-post:first-child { grid-column: span 2; grid-row: auto; }
	.pl-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pl-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.pl-post-sidebar, .pl-post-sidebar--sticky { position: static; }
	.pl-post-sidebar > .pl-toc, .pl-post-sidebar > .pl-save-card { display: none; }
	.pl-slot--sticky { position: static; }
	.pl-readnext__media { width: 64px; height: 64px; }
	.pl-readnext a { grid-template-columns: 64px 1fr; }
	.pl-readnext__arrow { display: none; }
	.pl-hub__grid { grid-template-columns: 1fr; }
	.pl-toc-mobile { display: block; }
	.pl-cat-tile { aspect-ratio: 4 / 3; }
	.wp-block-post-featured-image.pl-feature { border-radius: 0; margin-inline: calc(var(--wp--style--root--padding-left, 1.25rem) * -1); }
	.wp-block-post-featured-image.pl-feature img { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
	.pl-lead .wp-block-post-template { gap: var(--wp--preset--spacing--30); }
	.pl-lead .wp-block-post:not(:first-child) .wp-block-post-featured-image { aspect-ratio: 1; }
	.pl-lead .wp-block-post:not(:first-child) .wp-block-post-title { font-size: var(--wp--preset--font-size--medium); }
	.pl-cat-grid { grid-template-columns: 1fr; }
	.pl-cards--tall .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--wp--preset--spacing--30); }
	.pl-cards--tall .wp-block-post-title { font-size: var(--wp--preset--font-size--medium); }
	.pl-related__grid { gap: var(--wp--preset--spacing--30); }
	.pl-list .wp-block-post { grid-template-columns: 76px 1fr; }
	.pl-list .wp-block-post-template { grid-template-columns: 1fr; }
}
/* ---------- ad and code spots ---------- */
.pl-slot { margin-block: var(--wp--preset--spacing--40); text-align: center; overflow: hidden; }
.pl-slot--reserve { min-height: var(--pl-slot-h); }
.pl-post-sidebar .pl-slot { margin-bottom: 0; }
.pl-slot--sticky { position: sticky; top: 2rem; overflow: visible; }
.pl-slot__label { display: block; margin-bottom: .35rem; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.pl-slot-preview { border: 1px dashed var(--wp--preset--color--line); border-radius: var(--pl-radius-sm); padding: 1rem; text-align: center; font-size: 13px; color: var(--wp--preset--color--muted); }

/* ---------- read next (inside posts) ---------- */
.pl-readnext { margin-block: var(--wp--preset--spacing--40); }
.pl-readnext a {
	display: grid; grid-template-columns: 88px 1fr auto; gap: 1rem; align-items: center;
	padding: .7rem; border: 1px solid var(--wp--preset--color--line); border-radius: var(--pl-radius);
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); text-decoration: none;
	transition: border-color .2s, box-shadow .2s;
}
.pl-readnext a:hover { border-color: var(--wp--preset--color--accent); box-shadow: 0 6px 20px rgba(0, 0, 0, .06); }
.pl-readnext__media { display: block; width: 88px; height: 88px; border-radius: var(--pl-radius-sm); overflow: hidden; background: var(--wp--preset--color--accent-soft); }
.pl-readnext__media img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.pl-readnext__text { display: grid; gap: .2rem; min-width: 0; }
.pl-readnext__kicker { font-size: var(--wp--preset--font-size--x-small); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--accent); line-height: 1.4; }
.pl-readnext__title { font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--medium); line-height: 1.3; }
.pl-readnext__arrow { font-size: 1.4rem; color: var(--wp--preset--color--accent); padding-right: .5rem; transition: transform .2s var(--pl-ease); }
.pl-readnext a:hover .pl-readnext__arrow { transform: translateX(4px); }

/* ---------- more in this topic (sidebar) ---------- */
.pl-topic { border: 1px solid var(--wp--preset--color--line); border-radius: var(--pl-radius); padding: 1.1rem 1.25rem; background: var(--wp--preset--color--base); }
.pl-topic__title-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin: 0 0 .8rem; }
.pl-topic__heading { font-size: var(--wp--preset--font-size--x-small); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--contrast); }
.pl-topic__title-row a { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); white-space: nowrap; }
.pl-topic__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.pl-topic__list a { display: grid; grid-template-columns: 56px 1fr; gap: .8rem; align-items: center; text-decoration: none; color: var(--wp--preset--color--contrast); }
.pl-topic__media { display: block; width: 56px; height: 56px; border-radius: var(--pl-radius-sm); overflow: hidden; background: var(--wp--preset--color--accent-soft); }
.pl-topic__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pl-topic__title { font-size: var(--wp--preset--font-size--small); font-weight: 600; line-height: 1.35; }
.pl-topic__list a:hover .pl-topic__title { color: var(--wp--preset--color--accent); }

/* ---------- previous / next in the category ---------- */
.pl-post-nav { margin-top: var(--wp--preset--spacing--50); padding-block: var(--wp--preset--spacing--30); border-block: 1px solid var(--wp--preset--color--line); gap: 1.5rem; }
.pl-post-nav > * { flex: 1 1 0; min-width: 0; font-size: var(--wp--preset--font-size--small); }
.pl-post-nav a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.pl-post-nav .post-navigation-link__label { display: block; font-size: var(--wp--preset--font-size--x-small); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.pl-post-nav .post-navigation-link__title { display: block; font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--medium); line-height: 1.3; }
.pl-post-nav a:hover .post-navigation-link__title { color: var(--wp--preset--color--accent); }
.pl-post-nav [class*="__arrow"] { display: none; }

/* ---------- trust ---------- */
.pl-note { margin-top: var(--wp--preset--spacing--50); padding: 1rem 1.25rem; border-left: 4px solid var(--wp--preset--color--accent); border-radius: var(--pl-radius-sm); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); line-height: 1.6; }
.pl-note p { margin: 0; }
.pl-note p + p { margin-top: .5em; }
.pl-updated { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.pl-updated::before { content: "\00b7"; margin-right: .6rem; }
.pl-credentials { margin: 0; font-size: var(--wp--preset--font-size--small); font-weight: 700; color: var(--wp--preset--color--accent); }

/* ---------- category hub ---------- */
.pl-hub__topics { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: var(--wp--preset--spacing--40); }
.pl-hub__title { margin: 0 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--x-large); }
.pl-hub__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
.pl-hub__grid .pl-card__media { aspect-ratio: 16 / 10; }
.pl-hub__grid .pl-card__title { font-size: var(--wp--preset--font-size--large); }

/* ---------- video card ---------- */
.pl-video {
	margin-block: var(--wp--preset--spacing--50);
	padding: 18px 16px 16px;
	border-radius: var(--pl-radius-lg);
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .22), transparent 55%),
		linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--accent) 70%, #ff9a3c), var(--wp--preset--color--accent));
	color: #fff;
	box-shadow: 0 22px 44px -20px color-mix(in srgb, var(--wp--preset--color--accent) 70%, transparent);
}
.pl-video__head { margin: 0 4px 14px; }
.pl-video__badge {
	display: inline-flex; align-items: center; gap: .45em; padding: .4em .85em; border-radius: 999px;
	background: #fff; color: var(--wp--preset--color--accent);
	font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; line-height: 1;
}
.pl-video__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: pl-pulse 1.6s ease-in-out infinite; }
@keyframes pl-pulse { 50% { opacity: .25; } }
.pl-video__kicker { margin: .55rem 0 .15rem; font-family: var(--pl-heading); font-weight: var(--wp--custom--font--heading-weight); font-size: var(--wp--preset--font-size--x-large); line-height: 1.15; color: #fff; letter-spacing: -.01em; }
.pl-video__title {
	margin: 0; font-size: var(--wp--preset--font-size--small); line-height: 1.4; color: rgba(255, 255, 255, .92);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pl-video__stage { position: relative; aspect-ratio: 16 / 9; border-radius: var(--pl-radius); overflow: hidden; background: #000; box-shadow: 0 10px 26px -12px rgba(0, 0, 0, .5); }
.pl-video__poster { all: unset; position: absolute; inset: 0; cursor: pointer; display: block; }
.pl-video__poster img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform .6s var(--pl-ease), filter .3s; }
.pl-video__poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .4)); }
.pl-video__poster:hover img, .pl-video__poster:focus-visible img { transform: scale(1.05); filter: brightness(1.05); }
.pl-video__poster:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.pl-video__btn { position: absolute; left: 50%; top: 50%; z-index: 1; transform: translate(-50%, -50%); transition: transform .25s var(--pl-ease); filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .45)); }
.pl-video__btn svg { display: block; width: 84px; height: auto; }
.pl-video__btn-bg { fill: #fff; }
.pl-video__btn-arrow { fill: var(--wp--preset--color--accent); }
.pl-video__poster:hover .pl-video__btn { transform: translate(-50%, -50%) scale(1.1); }
.pl-video__len { position: absolute; right: 10px; bottom: 10px; z-index: 1; padding: .25em .55em; border-radius: 6px; background: rgba(0, 0, 0, .78); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.pl-video__player { position: absolute; inset: 0; background: #000; }
.pl-video__player iframe { display: block; width: 100%; height: 100%; border: 0; }
.pl-video__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 14px 4px 0; }
.pl-video__cta {
	all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: .5em; padding: .75em 1.4em; border-radius: 999px;
	background: #fff; color: var(--wp--preset--color--accent); font-weight: 800; font-size: var(--wp--preset--font-size--small); line-height: 1;
	box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .35); transition: transform .2s var(--pl-ease), box-shadow .2s;
}
.pl-video__cta:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(0, 0, 0, .45); }
.pl-video__cta-len { font-weight: 600; opacity: .75; }
.pl-video--playing .pl-video__cta { display: none; }
.pl-video__credit { margin: 0; font-size: var(--wp--preset--font-size--x-small); color: rgba(255, 255, 255, .85); }
@media (max-width: 781px) {
	.pl-video { margin-inline: calc(var(--wp--style--root--padding-left, 1.25rem) * -.5); padding: 14px 10px 12px; }
	.pl-video__btn svg { width: 68px; }
	.pl-video__kicker { font-size: var(--wp--preset--font-size--large); }
	.pl-video__cta { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .pl-video__dot { animation: none; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.pl-progress { display: none; }
}

/* Category chips (hero) */
.pl-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--wp--preset--spacing--30); }
.pl-chip {
	display: inline-flex; align-items: center; padding: .55em 1em; border-radius: var(--wp--custom--radius--pill);
	font-size: var(--wp--preset--font-size--x-small); font-weight: 700; text-decoration: none;
	background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent);
}
.pl-hero .pl-chip { background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .35); color: #fff; }
.pl-chip:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--on-accent); }
.pl-hero .pl-chip:hover { background: #fff; color: #13233F; }
.pl-hero .pl-kicker--light { color: #fff; opacity: .9; }
.pl-hero h1 { color: #fff; max-width: 14ch; text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }
.pl-hero__content { max-width: 720px; }
.pl-hero .wp-block-search { margin-top: var(--wp--preset--spacing--30); }

/* About band */
.pl-about-band .wp-block-image img { border-radius: var(--pl-radius-lg); aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.pl-about-band :where(h2, p) { color: var(--wp--preset--color--on-dark); }
.pl-about-band .pl-kicker { color: var(--wp--preset--color--accent-soft); }
.pl-about-band .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.pl-about { gap: var(--wp--preset--spacing--60) !important; align-items: center !important; }
@media (min-width: 782px) { .pl-about > .wp-block-column:first-child { flex: 0 0 38% !important; } }
.pl-center { display: flex; justify-content: center; }
