/*
 * LTHEME block theme styles. Tokens come from theme.json (--wp--preset--*). See DESIGN.md.
 * The "Picked" L-corner marks (.is-picked): yellow on dark bands, ink on light; always paired with a second cue.
 * Revision 3 (end of file) applies the block.ltheme.com look.
 */

:root {
	/* Revision 3: the block.ltheme.com look. Yellow is a fill with ink text, never text on white. */
	--lt-ink: var(--wp--preset--color--ink);
	--lt-soft: var(--wp--preset--color--ink-soft);
	--lt-line: var(--wp--preset--color--line);
	--lt-primary: var(--wp--preset--color--ink);          /* links, outlines, labels on light */
	--lt-deep: var(--wp--preset--color--ink);             /* dark bands */
	--lt-accent: var(--wp--preset--color--primary);       /* yellow: fills, tags, marks on dark */
	--lt-yellow-deep: var(--wp--preset--color--primary-deep);
	--lt-blue: var(--wp--preset--color--accent);          /* focus ring */
	--lt-surface: var(--wp--preset--color--surface);
	--lt-surface-2: var(--wp--preset--color--surface-2);
	--lt-base: var(--wp--preset--color--base);
	--lt-white: var(--wp--preset--color--base);
	--lt-r1: var(--wp--custom--radius--sm);
	--lt-r2: var(--wp--custom--radius--pill);
	--lt-r3: var(--wp--custom--radius--lg);
	--lt-shadow: var(--wp--preset--shadow--soft);
	--lt-section: clamp(3.5rem, 2.2rem + 4vw, 6rem);
}

html { scroll-padding-top: 1rem; }
*, *::before, *::after { box-sizing: border-box; }
/* Full-width sections sit edge to edge (no block gap between bands). */
.wp-block-post-content > .alignfull, main > .alignfull { margin-top: 0 !important; margin-bottom: 0 !important; }
/* Narrow text inside wide sections lines up with the 1200px column, not the centre. */
.lt-prose, .lt-hero__h1, .lt-finder-note { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;  }
:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(a:hover) { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid var(--lt-blue); outline-offset: 3px; }
.has-ink-background-color :focus-visible, .lt-dark :focus-visible { outline-color: var(--lt-accent); }
h1, h2, .wp-block-post-title { text-wrap: balance; }

p { text-wrap: pretty; }
img { height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { clip: auto; clip-path: none; width: auto; height: auto; z-index: 100; background: var(--lt-white); padding: .5rem 1rem; }

/* ---------- The one device: L-corners ---------- */
.is-picked, .is-style-picked, .lt-card:hover .lt-card__shot, .lt-card:focus-within .lt-card__shot { position: relative; }
.is-picked::before, .is-picked::after, .is-style-picked::before, .is-style-picked::after,
.lt-card:hover .lt-card__shot::before, .lt-card:hover .lt-card__shot::after,
.lt-card:focus-within .lt-card__shot::before, .lt-card:focus-within .lt-card__shot::after {
	content: ""; position: absolute; width: 14px; height: 14px; border: 0 solid var(--lt-ink); pointer-events: none; z-index: 1;
}
.is-picked::before, .is-style-picked::before, .lt-card:hover .lt-card__shot::before, .lt-card:focus-within .lt-card__shot::before { left: -7px; bottom: -7px; border-left-width: 2px; border-bottom-width: 2px; }
.is-picked::after, .is-style-picked::after, .lt-card:hover .lt-card__shot::after, .lt-card:focus-within .lt-card__shot::after { right: -7px; top: -7px; border-right-width: 2px; border-top-width: 2px; }

/* On dark bands the corners are yellow (11.9:1 on ink). */
.lt-dark .is-picked::before, .lt-dark .is-picked::after, .lt-hero .is-picked::before, .lt-hero .is-picked::after { border-color: var(--lt-accent); }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .15s, color .15s, border-color .15s; display: inline-flex; align-items: center; justify-content: center; gap: .4em; text-decoration: none; }
.is-style-secondary .wp-block-button__link, .wp-element-button.is-secondary { background: transparent !important; color: var(--lt-primary) !important; border: 2px solid var(--lt-primary) !important; }
.is-style-secondary .wp-block-button__link:hover, .wp-element-button.is-secondary:hover { background: var(--lt-surface) !important; }
.has-primary-deep-background-color .wp-block-button__link, .has-primary-background-color .wp-block-button__link { background: var(--lt-white); color: var(--lt-deep); border-color: var(--lt-white); }
.has-primary-deep-background-color .is-style-secondary .wp-block-button__link { color: var(--lt-white) !important; border-color: var(--lt-white) !important; }
.has-primary-deep-background-color .is-style-secondary .wp-block-button__link:hover { background: var(--lt-primary) !important; }

/* ---------- Tags ---------- */
.lt-tag { display: inline-block; font-size: .8rem; font-weight: 600; line-height: 1; padding: .36em .5em; border-radius: var(--lt-r2); white-space: nowrap;  }
.lt-tag--free { background: var(--lt-accent); color: var(--lt-ink); }
.lt-tag--pro { border: 1.5px solid var(--lt-primary); color: var(--lt-primary); padding: .25em .45em; }
.lt-tag--plain { border: 1.5px solid var(--lt-line); color: var(--lt-soft); padding: .25em .45em; }

/* ---------- Header ---------- */
.ltheme-header { border-bottom: 1px solid var(--lt-line); background: var(--lt-white); position: relative; z-index: 20; }
.ltheme-header .lt-logo img { width: 116px; height: auto; display: block; }
.ltheme-header .wp-block-navigation {  }
.ltheme-header .wp-block-navigation .wp-block-navigation-item__content { padding: .35rem 0; }
.ltheme-header .wp-block-navigation a:hover { color: var(--lt-primary); }
.ltheme-header .current-menu-item > a, .ltheme-header [aria-current="page"] { font-weight: 650; }
.ltheme-header .wp-block-navigation__submenu-container { border: 1px solid var(--lt-line) !important; border-radius: var(--lt-r1); padding: .4rem 0 !important; min-width: 230px !important; }
.ltheme-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1rem !important; }
.ltheme-header-cta .wp-block-button__link { padding: .6rem .95rem; font-size: .9rem; }
.ltheme-header .wp-block-search__button { background: transparent; color: var(--lt-ink); border: 0; padding: .4rem; }
.ltheme-header .wp-block-search__button svg { width: 24px; height: 24px; }
@media (max-width: 781px) {
	.ltheme-header .alignwide > .wp-block-group:first-child { flex: 1; justify-content: space-between; }
	.ltheme-header .lt-logo img { width: 100px; }
	.ltheme-header .wp-block-search { display: none; }
}

/* ---------- Footer ---------- */
.ltheme-footer { color: var(--lt-surface); }
.ltheme-footer a { color: var(--lt-white); text-decoration-color: var(--lt-line); }
.ltheme-footer a:hover { text-decoration-color: var(--lt-accent); }
.ltheme-footer h2 { color: var(--lt-white); font-size: 1rem;  font-weight: 650; letter-spacing: 0; margin-bottom: .9rem; }
.ltheme-footer .lt-foot-links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .94rem; }
.ltheme-footer .lt-foot-links a { text-decoration: none; }
.ltheme-footer .lt-foot-links a:hover { text-decoration: underline; }
.ltheme-footer .lt-legal { border-top: 1px solid color-mix(in srgb, var(--lt-line) 40%, transparent); padding-top: 1.25rem; color: var(--lt-line); }
.ltheme-footer .lt-logo img { width: 112px; }

/* ---------- Sections and bands ---------- */
.lt-section { padding-top: var(--lt-section); padding-bottom: var(--lt-section); }
.is-style-stage { background: var(--lt-surface); }
.lt-dark { background: var(--lt-deep); color: var(--lt-surface); }
.lt-dark h2, .lt-dark h3 { color: var(--lt-white); }
.lt-dark a:not(.wp-element-button) { color: var(--lt-white); }
.lt-dark .is-picked::before, .lt-dark .is-picked::after, .lt-dark .is-style-picked::before, .lt-dark .is-style-picked::after { border-color: var(--lt-accent); }
.lt-lead { font-size: var(--wp--preset--font-size--large); color: var(--lt-soft); max-width: 42rem; line-height: 1.45; }
.lt-dark .lt-lead { color: var(--lt-surface); }
.lt-head { padding-top: clamp(2rem, 1.4rem + 2vw, 3.25rem); padding-bottom: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); }
.lt-head h1 { font-size: var(--wp--preset--font-size--giant); font-weight: 800;  letter-spacing: -.02em; max-width: 22ch; }
.lt-prose { max-width: 42rem; }
.lt-prose p + p { margin-top: 1em; }
.lt-split { gap: clamp(2rem, 1rem + 3vw, 4.5rem) !important; }
.lt-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 2rem; }
.lt-section-head > * { margin: 0; }

/* Ruled lists and checks */
.is-style-ruled { list-style: none; padding: 0 !important; margin: 0; }
.is-style-ruled li { border-top: 1px solid var(--lt-line); padding: .7rem 0; }
.is-style-ruled li:last-child { border-bottom: 1px solid var(--lt-line); }
.is-style-ruled a { color: var(--lt-ink); text-decoration: none; font-weight: 500; display: block; }
.is-style-ruled a:hover { color: var(--lt-primary); text-decoration: underline; }
.lt-columns-list { columns: 2; column-gap: 2rem; }
.lt-columns-list li { break-inside: avoid; }
.is-style-checks { list-style: none; padding-left: 0; }
.is-style-checks li { position: relative; padding-left: 1.6rem; margin: .45rem 0; }
.is-style-checks li::before { content: ""; position: absolute; left: .15rem; top: .55em; width: .7rem; height: .38rem; border-left: 2px solid var(--lt-primary); border-bottom: 2px solid var(--lt-primary); transform: rotate(-45deg); }
.is-style-ruled table, table.lt-ruled { border-collapse: collapse; width: 100%; }
.is-style-ruled td, .is-style-ruled th { border: 0; border-top: 1px solid var(--lt-line); padding: .75rem .75rem .75rem 0; text-align: left; vertical-align: top; }

/* Feature grid (h3 + p items) */
.lt-items { gap: 2rem 2.5rem !important; }
.lt-items h3 { font-size: 1.08rem;  margin-bottom: .35rem; }
.lt-items p { color: var(--lt-soft); margin: 0; }
.lt-dark .lt-items p { color: var(--lt-surface); }
.lt-steps-list { counter-reset: lt-step; list-style: none; padding: 0; display: grid; gap: 1rem; }
.lt-steps-list li { counter-increment: lt-step; position: relative; padding-left: 2.6rem; }
.lt-steps-list li::before { content: counter(lt-step); position: absolute; left: 0; top: -.05rem; width: 1.8rem; height: 1.8rem; border: 2px solid var(--lt-primary); border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .9rem; color: var(--lt-primary); }

/* Status labels in the AI section */
.lt-status { display: inline-block; font-size: .78rem; font-weight: 650; padding: .3em .5em; border-radius: var(--lt-r2); line-height: 1; margin-bottom: .5rem; }
.lt-status--live { background: var(--lt-primary); color: var(--lt-white); }
.lt-status--planned { border: 1.5px dashed var(--lt-soft); color: var(--lt-soft); }
.lt-dark .lt-status--planned { border-color: var(--lt-line); color: var(--lt-surface); }
.lt-dark .lt-status--live { background: var(--lt-accent); color: var(--lt-ink); }

/* FAQ (core/details) */
.lt-faq h2, .lt-related-links h2 { margin-bottom: 1rem; }
.lt-faq .wp-block-details, .wp-block-details { border-top: 1px solid var(--lt-line); padding: 1rem 0; margin: 0; }
.lt-faq .wp-block-details:last-child { border-bottom: 1px solid var(--lt-line); }
.wp-block-details summary { font-weight: 650; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: var(--lt-primary); font-weight: 700; font-size: 1.2rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details > :not(summary) { margin-top: .6rem; color: var(--lt-soft); max-width: 46rem; }

/* ---------- Home: finder ---------- */
.lt-hero { padding-top: clamp(2.5rem, 1.6rem + 3vw, 4.5rem); padding-bottom: clamp(2rem, 1.4rem + 2vw, 3rem); }
.lt-finder__sentence { font-size: var(--wp--preset--font-size--display); font-weight: 800;  line-height: 1.06; letter-spacing: -.025em; margin: 0; max-width: 23ch; }
.lt-pick { position: relative; display: inline-block; }
.lt-pick select { appearance: none; -webkit-appearance: none; font: inherit; letter-spacing: inherit; color: var(--lt-primary); background: transparent; border: 0; border-radius: 0; padding: 0 .62em 0 0; margin: 0; cursor: pointer; max-width: 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23FFC600' stroke-width='2.2'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right .04em center; background-size: .34em auto; text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .12em; text-decoration-color: var(--lt-line); }
.lt-pick select:focus-visible { outline: 2px solid var(--lt-primary); outline-offset: 6px; }
.lt-pick.is-picked select { text-decoration-color: transparent; }
.lt-finder__comma { margin-right: .22em; }
.lt-nowrap { white-space: nowrap; }
.lt-finder__actions { margin-top: 2rem; }
.lt-finder__go { font-size: 1.05rem; padding: 1rem 1.5rem; }
.lt-hero__h1 { font-size: var(--wp--preset--font-size--large) !important; font-weight: 500 !important;  letter-spacing: 0 !important; color: var(--lt-soft); max-width: 40rem; line-height: 1.45 !important; margin-top: 1.75rem !important; }
.lt-hero__h1 strong { color: var(--lt-ink); font-weight: 650; }
@media (max-width: 600px) {
	.lt-finder__sentence { font-size: clamp(2rem, 9.4vw, 2.6rem);  line-height: 1.12; }
	.lt-finder__go { width: 100%; }
}

/* ---------- Catalogue and cards ---------- */
.lt-catalogue { scroll-margin-top: 1rem; }
.lt-filters { display: flex; flex-wrap: wrap; gap: .8rem 1.1rem; align-items: center; padding: 1rem 0 1.25rem; }
.lt-field { display: inline-flex; align-items: center; gap: .5rem; font-size: .92rem; color: var(--lt-soft); }
.lt-field select, .lt-field input { font: 500 .94rem var(--wp--preset--font-family--body); color: var(--lt-ink); border: 1px solid var(--lt-line); border-radius: var(--lt-r1); background: var(--lt-white); padding: .6rem 2rem .6rem .7rem; appearance: none; -webkit-appearance: none; max-width: 13rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111827' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .7rem center; background-size: .65rem auto; }
.lt-field input { background-image: none; padding-right: .7rem; width: 13rem; }
.lt-field--search { margin-left: auto; }
.lt-results-meta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 0 1.5rem; color: var(--lt-soft); font-size: .94rem; }
.lt-results-meta p { margin: 0; }
.lt-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.6rem; }
.lt-card { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.lt-card[hidden] { display: none; }
.lt-card__shot { display: block; aspect-ratio: 4 / 3; background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r1); overflow: visible; }
.lt-card__shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: var(--lt-r1); display: block; }
.lt-card__noimg { display: block; width: 100%; height: 100%; background: var(--lt-surface-2); }
.lt-card__name { font-size: 1.12rem;  margin: .5rem 0 0; line-height: 1.25; }
.lt-card__name a { color: var(--lt-ink); text-decoration: none; }
.lt-card__name a:hover { text-decoration: underline; }
.lt-card__kind { font-size: .9rem; color: var(--lt-soft); margin: 0;  }
.lt-card__tags { display: flex; gap: .35rem; flex-wrap: wrap; margin: .1rem 0 0; }
.lt-card__links { display: flex; gap: 1.1rem; font-weight: 600; font-size: .92rem; margin: .1rem 0 0; }
.lt-empty { padding: 2rem 0; color: var(--lt-soft); }
.lt-pager { display: flex; gap: .4rem; flex-wrap: wrap; align-items: center; margin-top: 3rem; }
.lt-pager button { font: 500 .95rem var(--wp--preset--font-family--body); min-width: 2.75rem; padding: .65rem .8rem; background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r1); color: var(--lt-ink); cursor: pointer; }
.lt-pager button[aria-current] { border-color: var(--lt-ink); font-weight: 700; }
.lt-pager button:hover { border-color: var(--lt-primary); }
@media (max-width: 1080px) { .lt-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) {
	.lt-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem .9rem; }
	.lt-card__name { font-size: 1rem; }
	.lt-card__kind { font-size: .82rem; }
	.lt-card__links a + a { display: none; }
	.lt-filters { gap: .6rem; }
	.lt-field { width: 100%; justify-content: space-between; }
	.lt-field select, .lt-field input { max-width: none; width: 66%; }
	.lt-field--search { order: -1; margin-left: 0; }
	.lt-field--search input { width: 100%; }
}
.lt-cards--row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 781px) { .lt-cards--row { grid-auto-flow: column; grid-auto-columns: 72%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 8px 12px; margin: -8px; } .lt-cards--row .lt-card { scroll-snap-align: start; } .lt-cards--row .lt-card__links a + a { display: inline; } }

/* Block themes band: fixed image ratio (no layout shift while the screenshots load) */
.lt-block-themes img { aspect-ratio: 4 / 3; width: 100%; height: auto; object-fit: cover; object-position: top; border: 1px solid var(--lt-line); border-radius: var(--lt-r1); }
.lt-block-themes h3 { margin: .8rem 0 .2rem; font-size: 1.1rem; }

/* ---------- Template page ---------- */
.lt-tpl-hero { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: start; padding-top: 1.75rem; }
.lt-tpl-hero__name { font-size: var(--wp--preset--font-size--giant); font-weight: 800;  letter-spacing: -.02em; margin: 1rem 0 0; }
.lt-tpl-hero__line { font-size: var(--wp--preset--font-size--large); color: var(--lt-soft); margin: .6rem 0 0; max-width: 38rem; line-height: 1.4; }
.lt-tpl-hero__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 0; }
.lt-tpl-hero__actions { margin-top: 1.5rem; display: flex; gap: .8rem; flex-wrap: wrap; }
.lt-tpl-hero__shot { margin: 2rem 0 0; background: var(--lt-surface); padding: clamp(.75rem, .4rem + 1.5vw, 1.75rem); border-radius: var(--lt-r1); }
.lt-tpl-hero__shot img { width: 100%; border: 1px solid var(--lt-line); border-radius: var(--lt-r1); display: block; max-height: 640px; object-fit: cover; object-position: top; }
.lt-editions { border: 1.5px solid var(--lt-ink); border-radius: var(--lt-r1); padding: 1.4rem; background: var(--lt-white); position: sticky; top: 1.25rem; }
.lt-editions__title { font-size: 1.25rem; margin: 0 0 .75rem; }
.lt-ed { padding: 1rem 0; border-top: 1px solid var(--lt-line); }
.lt-ed.is-picked { background: var(--lt-surface); margin: 0 -.6rem; padding: 1rem .6rem; border-top-color: transparent; }
.lt-ed__head { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; margin: 0; }
.lt-ed__name { font-weight: 700; }
.lt-ed__price { font-weight: 700; font-size: 1.15rem; }
.lt-ed__price small { font-weight: 500; font-size: .85rem; color: var(--lt-soft); }
.lt-ed__badge { margin: .2rem 0 0; font-size: .8rem; font-weight: 650; color: var(--lt-primary); }
.lt-ed__note { margin: .35rem 0 .75rem; color: var(--lt-soft); font-size: .92rem; line-height: 1.5; }
.lt-ed__btn { width: 100%; }
.lt-ed__soon { margin: 0; font-weight: 600; color: var(--lt-soft); font-size: .92rem; }
.lt-editions__fine { margin: .9rem 0 0; font-size: .86rem; color: var(--lt-soft); }
.lt-tpl-section { padding-top: clamp(3rem, 2rem + 3vw, 4.5rem); padding-bottom: 0; }
.lt-feature-list { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2.5rem; }
.lt-feature-list li { border-top: 2px solid var(--lt-ink); padding-top: .8rem; }
.lt-feature-list strong { display: block;  margin-bottom: .25rem; }
.lt-feature-list span { color: var(--lt-soft); }
.lt-tpl-ai { background: var(--lt-deep); color: var(--lt-surface); padding: clamp(1.75rem, 1rem + 3vw, 3rem); border-radius: var(--lt-r1); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 2rem 3rem; }
.lt-tpl-ai h2 { color: var(--lt-white); margin-top: 0; }
.lt-tpl-ai a { color: var(--lt-white); }
.lt-ai-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.5rem; }
.lt-ai-list li { display: grid; gap: .3rem; border-top: 1px solid color-mix(in srgb, var(--lt-line) 45%, transparent); padding-top: 1rem; }
.lt-ai-list strong { color: var(--lt-white); font-size: 1.08rem; }
.lt-ai-list .lt-status { justify-self: start; }
.lt-ai-list .is-live .lt-status { background: var(--lt-accent); color: var(--lt-ink); }
.lt-ai-list .is-planned .lt-status { border: 1.5px dashed var(--lt-line); color: var(--lt-surface); }
.lt-specs { width: 100%; border-collapse: collapse; margin-top: 1.25rem; }
.lt-specs th, .lt-specs td { text-align: left; border-top: 1px solid var(--lt-line); padding: .8rem 1rem .8rem 0; vertical-align: top; }
.lt-specs th { width: 32%; font-weight: 500; color: var(--lt-soft); }
.lt-related__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.lt-related__head h2 { margin: 0; }
@media (max-width: 960px) {
	.lt-tpl-hero, .lt-tpl-ai { grid-template-columns: minmax(0, 1fr); }
	.lt-tpl-hero { display: flex; flex-direction: column; gap: 0; }
	.lt-tpl-hero__main { display: contents; }
	.lt-editions { order: 2; margin-top: 1.75rem; }
	.lt-tpl-hero__shot { order: 3; }
	.lt-editions { position: static; }
	.lt-feature-list { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Breadcrumbs ---------- */
.lt-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .5rem; font-size: .88rem; color: var(--lt-soft); }
.lt-crumbs li + li::before { content: "/"; color: var(--lt-line); margin-right: .5rem; }
.lt-crumbs a { color: var(--lt-soft); }

/* ---------- Download (old edition) page ---------- */
.lt-download-box { border: 1px solid var(--lt-line); border-radius: var(--lt-r1); padding: 1.5rem; background: var(--lt-white); max-width: 40rem; }
.lt-download-box__more { color: var(--lt-soft); font-size: .92rem; }

/* ---------- Blog ---------- */
.lt-topics ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; }
.lt-topics a { display: inline-block; padding: .45rem .8rem; border: 1px solid var(--lt-line); border-radius: var(--lt-r2); text-decoration: none; color: var(--lt-ink); font-size: .9rem; font-weight: 500; background: var(--lt-white); }
.lt-topics a:hover { border-color: var(--lt-primary); }
.lt-topics a[aria-current] { border-color: var(--lt-ink); font-weight: 650; }
.lt-post-grid .wp-block-post-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 3rem 1.75rem !important; }
.lt-post-grid .wp-block-post-template > li { display: flex; flex-direction: column; gap: .55rem; margin: 0 !important; }
.lt-post-grid .wp-block-post-featured-image { margin: 0 0 .4rem; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--lt-r1); background: var(--lt-surface); }
.lt-post-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.lt-post-grid .wp-block-post-title { font-size: 1.2rem;  line-height: 1.28; margin: 0; }
.lt-post-grid .wp-block-post-title a { text-decoration: none; color: var(--lt-ink); }
.lt-post-grid .wp-block-post-title a:hover { text-decoration: underline; }
.lt-post-grid .wp-block-post-excerpt { color: var(--lt-soft); font-size: .95rem; margin: 0; }
.lt-post-grid .wp-block-post-excerpt__more-text { display: none; }
.lt-card-cat, .lt-card-cat a { font-size: .84rem; color: var(--lt-primary); font-weight: 600; text-decoration: none; margin: 0; }
.lt-card-meta { display: flex; gap: .9rem; font-size: .84rem; color: var(--lt-soft); margin-top: auto !important; }
.lt-card-meta > * { margin: 0 !important; }
.lt-reading-time { margin: 0; }
/* Featured latest post: first card on the first page of the blog index */
body.blog:not(.paged) .lt-post-grid .wp-block-post-template > li:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 2.5rem; align-items: center; padding-bottom: 2.5rem; border-bottom: 1px solid var(--lt-line); }
body.blog:not(.paged) .lt-post-grid .wp-block-post-template > li:first-child .wp-block-post-featured-image { grid-row: 1 / span 6; margin: 0; }
body.blog:not(.paged) .lt-post-grid .wp-block-post-template > li:first-child .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large);  }
body.blog:not(.paged) .lt-post-grid .wp-block-post-template > li:first-child .wp-block-post-excerpt { font-size: 1.05rem; }
.wp-block-query-pagination { margin-top: 3rem !important; gap: .4rem; font-weight: 500; }
.wp-block-query-pagination-numbers .page-numbers { display: inline-block; min-width: 2.6rem; text-align: center; padding: .55rem .7rem; border: 1px solid var(--lt-line); border-radius: var(--lt-r1); text-decoration: none; background: var(--lt-white); color: var(--lt-ink); }
.wp-block-query-pagination-numbers .page-numbers.current { border-color: var(--lt-ink); font-weight: 700; }
.wp-block-query-pagination-numbers .page-numbers.dots { border: 0; background: none; }
@media (max-width: 960px) { .lt-post-grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 640px) {
	.lt-post-grid .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; gap: 2.25rem !important; }
	body.blog:not(.paged) .lt-post-grid .wp-block-post-template > li:first-child { display: flex; padding-bottom: 2rem; }
}

/* Single post */
.lt-post-head .wp-block-post-title { font-size: var(--wp--preset--font-size--huge); font-weight: 800;  letter-spacing: -.015em; max-width: 26ch; }
.lt-post-head .wp-block-post-excerpt { font-family: var(--wp--preset--font-family--body); font-size: 1.25rem; line-height: 1.55; color: var(--lt-soft); max-width: 42rem; }
.lt-post-head .wp-block-post-excerpt__more-text { display: none; }
.lt-post-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .92rem; color: var(--lt-soft); }
.lt-post-meta strong { color: var(--lt-ink); font-weight: 600; }
.lt-post-layout { gap: clamp(2rem, 1rem + 4vw, 5rem) !important; align-items: flex-start !important; }
.lt-post-body { font-family: var(--wp--preset--font-family--body); font-size: 1.12rem; line-height: 1.72; }
.lt-post-body > * { max-width: 40rem; }
.lt-post-body h2, .lt-post-body h3, .lt-post-body h4 { font-family: var(--wp--preset--font-family--heading); margin-top: 2.1em; scroll-margin-top: 1.5rem; }
.lt-post-body h2 { font-size: var(--wp--preset--font-size--xx-large); }
.lt-post-body h3 { font-size: var(--wp--preset--font-size--large); }
.lt-post-body figure { margin: 2em 0; }
.lt-post-body figure img { border: 1px solid var(--lt-line); border-radius: var(--lt-r1); }
.lt-post-body figcaption { font-family: var(--wp--preset--font-family--body); font-size: .9rem; color: var(--lt-soft); margin-top: .6rem; }
.lt-post-body code { font-size: .86em; background: var(--lt-surface); padding: .1em .3em; border-radius: var(--lt-r1); }
.lt-post-body pre { background: var(--lt-deep); color: var(--lt-surface); padding: 1.1rem 1.25rem; border-radius: var(--lt-r1); overflow-x: auto; font-size: .88rem; line-height: 1.55; }
.lt-post-body pre code { background: none; padding: 0; color: inherit; }
.lt-post-body blockquote { border-left: 3px solid var(--lt-primary); margin: 1.6em 0; padding: .2em 0 .2em 1.25rem; }
.lt-post-body table { border-collapse: collapse; width: 100%; font-family: var(--wp--preset--font-family--body); font-size: .94rem; }
.lt-post-body th, .lt-post-body td { border-top: 1px solid var(--lt-line); padding: .6rem .8rem .6rem 0; text-align: left; vertical-align: top; }
.lt-post-body ul, .lt-post-body ol { padding-left: 1.3em; }
.lt-post-body li + li { margin-top: .35em; }
.lt-post-body img { max-width: 100%; height: auto; }
.lt-post-aside { position: sticky; top: 1.5rem; }
.lt-toc__title { font-weight: 650; margin: 0 0 .7rem; }
.lt-toc ol { list-style: none; margin: 0; padding: 0 0 0 1rem; border-left: 1px solid var(--lt-line); display: grid; gap: .2rem; font-size: .92rem; }
.lt-toc a { display: inline-block; padding: .3rem 0; color: var(--lt-soft); text-decoration: none; line-height: 1.35; }
.lt-toc a:hover { color: var(--lt-ink); }
.lt-toc a.is-picked { color: var(--lt-ink); font-weight: 650; }
.lt-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; border-top: 1px solid var(--lt-line); border-bottom: 1px solid var(--lt-line); padding: .9rem 0; }
.lt-share p { margin: 0; }
.lt-share__label { font-weight: 650; }
.lt-share__links { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.lt-share__links a, .lt-copy-link { font: 600 .92rem var(--wp--preset--font-family--body); color: var(--lt-primary); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: .18em; }
.lt-post-cards { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.75rem; }
.lt-post-card__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--lt-r1); background: var(--lt-surface); margin-bottom: .6rem; }
.lt-post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.lt-post-card__cat { margin: 0; font-size: .84rem; font-weight: 600; color: var(--lt-primary); }
.lt-post-card__title { font-size: 1.12rem; line-height: 1.3; margin: .3rem 0; }
.lt-post-card__title a { color: var(--lt-ink); text-decoration: none; }
.lt-post-card__title a:hover { text-decoration: underline; }
.lt-post-card__meta { margin: 0; color: var(--lt-soft); font-size: .84rem; display: flex; gap: .9rem; }
@media (max-width: 1080px) { .lt-post-aside { display: none; } }
@media (max-width: 781px) { .lt-post-cards { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Membership table (LTHEME Store block) ---------- */
.lt-plans__table { width: 100%; border-collapse: collapse; }
.lt-plans__table th, .lt-plans__table td { text-align: left; padding: 1rem 1.1rem; border-top: 1px solid var(--lt-line); vertical-align: top; }
.lt-plans__table thead th { border-top: 0; font-size: var(--wp--preset--font-size--x-large);  padding-bottom: .9rem; }
.lt-plans__table thead td { border-top: 0; }
.lt-plans__table tbody th { font-weight: 500; color: var(--lt-soft); width: 20%; }
.lt-plans__table .is-col-picked, .lt-plans__table thead th.is-picked { background: var(--lt-surface); }
.lt-plans__table ul { margin: 0; padding-left: 1.1em; }
.lt-plans__best { display: block; font-size: .8rem; font-weight: 650; color: var(--lt-primary);  margin-top: .3rem; }
.lt-plans__soon { font-weight: 600; color: var(--lt-soft); }
@media (max-width: 781px) {
	.lt-plans__table thead { display: none; }
	.lt-plans__table, .lt-plans__table tbody, .lt-plans__table tr { display: block; }
	.lt-plans__table tbody tr { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--lt-line); padding: .5rem 0; }
	.lt-plans__table tbody th { width: auto; padding: .4rem 0; border: 0; font-weight: 650; color: var(--lt-ink); }
	.lt-plans__table td { display: block; border: 0; padding: .35rem 0; }
	.lt-plans__table td::before { content: attr(data-label) ": "; font-weight: 600; color: var(--lt-soft); }
	.lt-plans__table .is-col-picked { background: none; }
	.lt-plans__actions td::before { content: none; }
	.lt-plans__actions td { padding: .4rem 0; }
}

/* ---------- Store and account (LTHEME Store) ---------- */
.lt-store { display: grid; gap: 2rem; }
.lt-store h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 .75rem; }
.lt-store h3 { font-size: 1.1rem; margin: 1.5rem 0 .5rem; }
.lt-store-auth { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.lt-store-box, .lt-store-licence, .lt-store-summary, .lt-store-lookup { background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r1); padding: 1.5rem; }
.lt-form p { margin: 0 0 .9rem; }
.lt-form label, .lt-store-pick label { display: block; font-weight: 600; font-size: .92rem; margin-bottom: .35rem; }
.lt-form input[type="text"], .lt-form input[type="email"], .lt-form input[type="password"], .lt-store-pick select,
#edd_checkout_form_wrap input.edd-input, #edd_checkout_form_wrap select.edd-select, .edd-input, .edd-select {
	width: 100%; font: 400 1rem var(--wp--preset--font-family--body); padding: .7rem .8rem; border: 1px solid var(--lt-line); border-radius: var(--lt-r1); background: var(--lt-white); color: var(--lt-ink);
}
.lt-form input:focus, .lt-store-pick select:focus { outline: 2px solid var(--lt-primary); outline-offset: 1px; border-color: var(--lt-primary); }
.lt-store-hp { position: absolute; left: -9999px; }
.lt-store-help { color: var(--lt-soft); font-size: .92rem; }
.lt-store-note { background: var(--lt-surface); border-left: 3px solid var(--lt-primary); padding: .9rem 1.1rem; margin: 0; }
.lt-store-error { color: #A12A10; font-weight: 600; }
.lt-store-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; border-bottom: 1px solid var(--lt-line); padding-bottom: 1rem; }
.lt-store-head p { margin: 0; }
.lt-store-link { background: none; border: 0; padding: 0; font: 600 .95rem var(--wp--preset--font-family--body); color: var(--lt-primary); text-decoration: underline; cursor: pointer; }
.lt-store-licences { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; }
.lt-store-licence code { font-size: .82rem; overflow-wrap: anywhere; }
.lt-store-licence h3 { margin-top: 0; }
.lt-store-licence dl { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: .35rem 1rem; font-size: .92rem; margin: 0 0 1rem; }
.lt-store-licence dt { color: var(--lt-soft); }
.lt-store-licence dd { margin: 0; }
.lt-store-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.lt-store-pick { display: grid; gap: .6rem; }
.lt-store-table, .edd-table, #edd_user_history, #edd_purchase_receipt, #edd_purchase_receipt_products, .edd_purchase_receipt { width: 100%; border-collapse: collapse; font-size: .94rem; }
.lt-store-table th, .lt-store-table td, #edd_user_history th, #edd_user_history td, #edd_purchase_receipt th, #edd_purchase_receipt td, #edd_purchase_receipt_products th, #edd_purchase_receipt_products td, .edd-table th, .edd-table td { text-align: left; border: 0; border-top: 1px solid var(--lt-line); padding: .7rem .8rem .7rem 0; }
.lt-store-checkout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: start; }
.lt-store-price { font-size: 1.5rem; font-weight: 700; margin: .25rem 0 1rem; }
.lt-steps { list-style: none; display: flex; gap: 1.5rem; padding: 0; margin: 0 0 1.25rem; counter-reset: s; }
.lt-steps li { counter-increment: s; color: var(--lt-soft); font-weight: 500; }
.lt-steps li::before { content: counter(s) ". "; }
.lt-steps li[aria-current] { color: var(--lt-ink); font-weight: 700; }
@media (max-width: 781px) { .lt-store-auth, .lt-store-checkout { grid-template-columns: minmax(0, 1fr); } }

/* EDD legacy output inside the account page */
.lt-store-legacy .edd_download_file_link, .lt-store-legacy a.edd_download_file_link { font-weight: 600; }
#edd_checkout_form_wrap fieldset { border: 1px solid var(--lt-line); border-radius: var(--lt-r1); padding: 1.25rem; margin: 0 0 1.25rem; background: var(--lt-white); }
#edd_checkout_form_wrap legend { font-weight: 700; padding: 0 .4rem; }
.edd-submit, #edd-purchase-button, .edd_submit { font: 600 1rem var(--wp--preset--font-family--body); background: var(--lt-primary) !important; color: var(--lt-white) !important; border: 2px solid var(--lt-primary) !important; border-radius: var(--lt-r2) !important; padding: .9rem 1.3rem !important; }

/* LT Help Desk: use the site tokens */
.lt-hd { --lt-hd-ink: var(--wp--preset--color--ink); --lt-hd-muted: var(--wp--preset--color--ink-soft); --lt-hd-line: var(--wp--preset--color--line); --lt-hd-soft: var(--wp--preset--color--surface); --lt-hd-accent: var(--wp--preset--color--primary); --lt-hd-accent-ink: #FFFFFF; --lt-hd-accent-soft: var(--wp--preset--color--surface); --lt-hd-focus: var(--wp--preset--color--primary); --lt-hd-radius: 4px; font-family: var(--wp--preset--font-family--body); }

/* WPForms on light pages */
.wpforms-container .wpforms-field input, .wpforms-container .wpforms-field textarea, .wpforms-container .wpforms-field select { border: 1px solid var(--lt-line) !important; border-radius: var(--lt-r1) !important; font-family: inherit !important; }
.wpforms-container button[type="submit"] { background: var(--lt-primary) !important; color: var(--lt-white) !important; border-radius: var(--lt-r2) !important; font-weight: 600 !important; }

/* 404 */
.lt-404 h1 { font-size: var(--wp--preset--font-size--giant);  font-weight: 800; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Mobile menu (shared: technetwork/tools/shared/menu.css, do not edit here) ---------- */
/* Mobile menu: right-hand side panel (simple fade-in) with logo, divided list, tap-to-open child items, contact lines and button. */
.wp-block-navigation__responsive-container.is-menu-open { background-color: color-mix(in srgb, var(--wp--preset--color--ink) 45%, transparent) !important; color: var(--wp--preset--color--ink) !important; padding: 0 !important; animation: lt-menu-fade .3s ease-out !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { position: relative; width: min(86vw, 360px); max-width: none; height: 100%; margin: 0 0 0 auto; background-color: var(--wp--preset--color--base); box-shadow: -8px 0 30px color-mix(in srgb, var(--wp--preset--color--ink) 18%, transparent); overflow-y: auto; animation: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { padding: 1.1rem 1.4rem 2rem; margin: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 1.25rem; right: 1.1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 1.75rem !important; gap: 0 !important; font-size: var(--wp--preset--font-size--medium); align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item { display: flex; flex-direction: row !important; flex-wrap: wrap; align-items: center !important; width: 100%; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { flex: 1; padding: .85rem 0; font-weight: 600; color: inherit; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { flex-basis: 100%; display: none !important; border: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 0 .7rem 1rem !important; gap: 0 !important; font-size: var(--wp--preset--font-size--small); }
.wp-block-navigation__responsive-container.is-menu-open .lt-sub-open > .wp-block-navigation__submenu-container { display: flex !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 0 !important; color: color-mix(in srgb, var(--wp--preset--color--ink) 78%, transparent); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus { color: var(--wp--preset--color--primary); }
.lt-sub-toggle { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .lt-sub-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -.6rem; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; transition: transform .2s; }
.wp-block-navigation__responsive-container.is-menu-open .lt-sub-open > .lt-sub-toggle { transform: rotate(90deg); }
.lt-menu-brand, .lt-menu-extra { display: none; }
.is-menu-open .lt-menu-brand { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: 0 3rem 0 0 !important; margin: 0 !important; position: static !important; background: none !important; border: 0 !important; box-shadow: none !important; }
.is-menu-open .lt-menu-brand > * { display: flex; align-items: center; gap: .6rem; margin: 0; }
.is-menu-open .lt-menu-brand .wp-block-site-title { font-size: var(--wp--preset--font-size--large); }
.is-menu-open .lt-menu-brand a { color: inherit; text-decoration: none; }
.is-menu-open .lt-menu-extra { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.5rem; font-size: var(--wp--preset--font-size--small); color: color-mix(in srgb, var(--wp--preset--color--ink) 75%, transparent); }
.is-menu-open .lt-menu-extra p { margin: 0; }
.is-menu-open .lt-menu-extra a { color: var(--wp--preset--color--primary); }
.is-menu-open .lt-menu-cta { display: flex !important; margin-top: .75rem; }
.is-menu-open .lt-menu-cta .wp-block-button, .is-menu-open .lt-menu-cta .wp-block-button__link { width: 100%; text-align: center; }
.is-menu-open .lt-menu-cta .wp-block-button__link { color: var(--wp--preset--color--base); }
@keyframes lt-menu-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .wp-block-navigation__responsive-container.is-menu-open { animation: none !important; } }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; text-align: left; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; }

/* =====================================================================
 * Revision 3 (owner): the block.ltheme.com look. Rules below override the ones above.
 * Dark ink header, hero and footer; white cards with a soft shadow and 24px corners; yellow pill
 * buttons with ink text; ink outline buttons; Plus Jakarta Sans headings, Inter body.
 * ===================================================================== */
body { font-family: var(--wp--preset--font-family--body); }
h1, h2, h3, h4, .wp-block-post-title, .lt-card__name, .lt-tpl-hero__name, .lt-finder__sentence { font-family: var(--wp--preset--font-family--heading); }
.wp-element-button, .wp-block-button__link { border-radius: var(--lt-r2); border: 0; }
.is-style-secondary .wp-block-button__link, .wp-element-button.is-secondary { background: transparent !important; color: var(--lt-ink) !important; border: 2px solid var(--lt-ink) !important; }
.is-style-secondary .wp-block-button__link:hover, .wp-element-button.is-secondary:hover { background: var(--lt-surface) !important; }
.lt-dark .is-style-secondary .wp-block-button__link, .lt-hero .is-style-secondary .wp-block-button__link { color: var(--lt-white) !important; border-color: var(--lt-white) !important; }
.lt-dark .is-style-secondary .wp-block-button__link:hover { background: color-mix(in srgb, var(--lt-white) 10%, transparent) !important; }

/* Eyebrow (portal pattern) */
.is-style-lt-eyebrow, .lt-eyebrow { font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--lt-soft); margin-bottom: 0; }
.lt-dark .is-style-lt-eyebrow, .lt-dark .lt-eyebrow, .lt-hero .lt-eyebrow { color: var(--lt-accent); }

/* Header: dark ink bar, white links, yellow account button */
.ltheme-header { background: var(--lt-ink); color: var(--lt-white); border-bottom: 1px solid color-mix(in srgb, var(--lt-white) 12%, transparent); }
.ltheme-header .wp-block-navigation a, .ltheme-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--lt-white); }
.ltheme-header .wp-block-navigation a:hover { color: var(--lt-accent); }
.ltheme-header .wp-block-navigation__submenu-container { background: var(--lt-ink) !important; border-color: color-mix(in srgb, var(--lt-white) 15%, transparent) !important; border-radius: var(--wp--custom--radius--md) !important; }
.ltheme-header .wp-block-navigation__responsive-container-open, .ltheme-header .wp-block-search__button { color: var(--lt-white); }
.ltheme-header-cta .wp-block-button__link { background: var(--lt-accent) !important; color: var(--lt-ink) !important; border: 0 !important; }
.ltheme-header-cta .wp-block-button__link:hover { background: var(--lt-yellow-deep) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: var(--lt-ink) !important; }

/* Footer */
.ltheme-footer { color: var(--lt-line); }
.ltheme-footer a { color: var(--lt-white); }
.ltheme-footer a:hover { color: var(--lt-accent); }

/* Dark hero with the finder: white sentence, yellow choices, yellow corners */
.lt-hero { background: var(--lt-ink); color: var(--lt-white); padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--70); }
.lt-hero .lt-pick select { color: var(--lt-accent); text-decoration-color: color-mix(in srgb, var(--lt-accent) 45%, transparent); }
.lt-hero .lt-pick select option { color: var(--lt-ink); }
.lt-hero .lt-pick select:focus-visible { outline-color: var(--lt-accent); }
.lt-hero .lt-hero__h1 { color: var(--lt-line); }
.lt-hero .lt-hero__h1 strong { color: var(--lt-white); }
.lt-hero .lt-finder-note { color: var(--lt-line); }
.lt-finder__go { background: var(--lt-accent); color: var(--lt-ink); }
.lt-finder__go:hover { background: var(--lt-yellow-deep); color: var(--lt-ink); }

/* Light page heads: soft surface gradient like the portal's product hero */
.lt-head { position: relative; }
main > .alignfull:first-child:has(.lt-head), .wp-block-post-content > section:first-child:has(.lt-head) { background: linear-gradient(180deg, var(--lt-surface) 0%, var(--lt-base) 100%); }

/* Sections */
.is-style-stage { background: var(--lt-surface); }
.lt-dark { background: var(--lt-ink); color: var(--lt-line); }

/* Tags: yellow pill (Free), ink outline pill (Pro) */
.lt-tag { border-radius: var(--lt-r2); padding: .35em .7em; }
.lt-tag--free { background: var(--lt-accent); color: var(--lt-ink); }
.lt-tag--pro { border: 1.5px solid var(--lt-ink); color: var(--lt-ink); padding: .25em .65em; }
.lt-tag--plain { border: 1px solid var(--lt-line); color: var(--lt-soft); background: var(--lt-white); }

/* Cards (portal style) */
.lt-cards { gap: var(--wp--preset--spacing--50); }
.lt-card { background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r3); overflow: hidden; box-shadow: var(--lt-shadow); gap: 0; transition: transform .2s ease, box-shadow .2s ease; }
.lt-card:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--lifted); }
.lt-card__shot { border: 0; border-bottom: 1px solid var(--lt-line); border-radius: 0; background: var(--lt-surface); overflow: hidden; }
.lt-card__shot img { border-radius: 0; }
.lt-card:hover .lt-card__shot::before, .lt-card:hover .lt-card__shot::after, .lt-card:focus-within .lt-card__shot::before, .lt-card:focus-within .lt-card__shot::after { content: none; }
.lt-card:focus-within { outline: 2px solid var(--lt-blue); outline-offset: 2px; }
.lt-card__body { display: flex; flex-direction: column; gap: .45rem; padding: var(--wp--preset--spacing--40); flex: 1; }
.lt-card__body p { margin: 0; }
.lt-card__kind { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lt-soft); }
.lt-card__name { font-size: var(--wp--preset--font-size--large); margin: 0; }
.lt-card__links { display: flex; gap: .5rem; margin-top: auto !important; padding-top: .6rem; }
.lt-card__links a { flex: 1; text-align: center; font-weight: 600; font-size: .92rem; text-decoration: none; padding: .6rem .8rem; border-radius: var(--lt-r2); }
.lt-card__demo { background: var(--lt-ink); color: var(--lt-white) !important; }
.lt-card__demo:hover { background: var(--lt-soft); }
.lt-card__more { background: var(--lt-accent); color: var(--lt-ink) !important; }
.lt-card__more:hover { background: var(--lt-yellow-deep); }
@media (max-width: 781px) {
	.lt-card__links { flex-direction: column; }
	.lt-card__links a + a { display: block; }
	.lt-card__body { padding: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .lt-card, .lt-card:hover { transform: none; } }

/* Template page */
.lt-tpl-hero__shot { background: var(--lt-surface); border-radius: var(--lt-r3); }
.lt-tpl-hero__shot img { border-radius: var(--wp--custom--radius--md); box-shadow: var(--wp--preset--shadow--lifted); }
.lt-editions { border: 1px solid var(--lt-line); border-radius: var(--lt-r3); box-shadow: var(--lt-shadow); }
.lt-ed.is-picked { background: var(--lt-surface); border-radius: var(--wp--custom--radius--md); }
.lt-ed.is-picked::before, .lt-ed.is-picked::after { content: none; }
.lt-ed__badge { display: inline-block; background: var(--lt-accent); color: var(--lt-ink); border-radius: var(--lt-r2); padding: .1rem .55rem; font-size: .75rem; }
.lt-feature-list li { border-top: 0; background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r3); padding: var(--wp--preset--spacing--40); }
.lt-tpl-ai { background: var(--lt-ink); color: var(--lt-line); border-radius: var(--lt-r3); }
.lt-ai-list .is-live .lt-status { background: var(--lt-accent); color: var(--lt-ink); }

/* Steps, status, notes */
.lt-steps-list li::before { border: 0; background: var(--lt-accent); color: var(--lt-ink); }
.lt-status--live { background: var(--lt-ink); color: var(--lt-white); border-radius: var(--lt-r2); }
.lt-dark .lt-status--live { background: var(--lt-accent); color: var(--lt-ink); }
.lt-status--planned { border-radius: var(--lt-r2); }
.lt-store-note { border-left-color: var(--lt-accent); border-radius: var(--wp--custom--radius--sm); }

/* FAQ (portal style) */
.wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-size: 1.1rem; font-weight: 700; }
.wp-block-details summary::after { color: var(--lt-ink); }

/* Blog cards */
.lt-post-grid .wp-block-post-featured-image, .lt-post-card__img { border-radius: var(--wp--custom--radius--md); }
.lt-card-cat a, .lt-card-cat, .lt-post-card__cat { color: var(--lt-soft) !important; font-size: .75rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lt-topics a { border-radius: var(--lt-r2); }
.lt-topics a[aria-current] { background: var(--lt-ink); color: var(--lt-white); border-color: var(--lt-ink); }
.lt-topics a.is-picked::before, .lt-topics a.is-picked::after { content: none; }
.lt-post-body { font-size: 1.0625rem; line-height: 1.75; }
.lt-post-cta { border-radius: var(--lt-r3); }
.wp-block-query-pagination-numbers .page-numbers { border-radius: var(--lt-r2); }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--lt-ink); color: var(--lt-white); }
.lt-pager button { border-radius: var(--lt-r2); }
.lt-pager button[aria-current] { background: var(--lt-ink); color: var(--lt-white); }
.lt-pager button.is-picked::before, .lt-pager button.is-picked::after { content: none; }

/* Boxes: membership, store, download */
.lt-plans__table thead th.is-picked::before, .lt-plans__table thead th.is-picked::after { content: none; }
.lt-plans__best { display: inline-block; background: var(--lt-accent); color: var(--lt-ink); border-radius: var(--lt-r2); padding: .1rem .6rem; margin-left: .5rem; vertical-align: middle; }
.lt-store-box, .lt-store-licence, .lt-store-summary, .lt-store-lookup, .lt-download-box { border-radius: var(--lt-r3); box-shadow: var(--lt-shadow); border-color: var(--lt-line); }
.lt-form input[type="text"], .lt-form input[type="email"], .lt-form input[type="password"], .lt-store-pick select, .lt-field select, .lt-field input { border-radius: var(--wp--custom--radius--sm); }
.lt-block-themes img { border-radius: var(--wp--custom--radius--md); }

/* Free download email form (LTHEME Store): dialog on every page, and the /free-download/ page */
.lt-gate { width: min(30rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: 0; border: 0; border-radius: var(--lt-r3); background: var(--lt-white); color: var(--lt-ink); box-shadow: var(--wp--preset--shadow--lifted, 0 20px 50px rgba(17, 24, 39, .25)); }
.lt-gate::backdrop { background: rgba(17, 24, 39, .55); }
.lt-gate-body, .lt-gate-done { padding: 1.75rem 1.5rem 1.5rem; }
.lt-gate h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 2rem .4rem 0; }
.lt-gate-lead { color: var(--lt-soft); margin: 0 0 1.1rem; }
.lt-gate-close { position: absolute; top: .6rem; right: .6rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: var(--lt-r2); background: transparent; color: var(--lt-ink); font-size: 1.6rem; line-height: 1; cursor: pointer; }
.lt-gate-close:hover { background: var(--lt-surface); }
.lt-gate-form { display: grid; gap: .65rem; }
.lt-gate-label { font-weight: 700; }
.lt-gate-email { width: 100%; box-sizing: border-box; min-height: 3rem; padding: .7rem .9rem; border: 1px solid var(--lt-soft); border-radius: var(--wp--custom--radius--sm); background: var(--lt-white); color: var(--lt-ink); font: inherit; }
.lt-gate-email[aria-invalid="true"] { border-color: #B42318; }
.lt-gate-hint { margin: 0; font-size: .95rem; color: var(--lt-ink); }
.lt-gate-fix { padding: 0; border: 0; background: none; color: var(--lt-blue); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.lt-gate-error { margin: 0; color: #B42318; font-weight: 600; }
.lt-gate-consent { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; color: var(--lt-soft); }
.lt-gate-consent input { width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; flex: none; accent-color: var(--lt-ink); }
.lt-gate-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lt-gate-submit { width: 100%; justify-content: center; margin-top: .25rem; }
.lt-gate-small { margin: 0; font-size: .85rem; color: var(--lt-soft); }
.lt-gate-small a, .lt-gate-done a { color: var(--lt-blue); }
.lt-gate-page { max-width: 34rem; display: grid; gap: 1rem; }
.lt-gate-page h2 { margin: 0; }
.lt-gate-page .lt-gate-form { background: var(--lt-white); border: 1px solid var(--lt-line); border-radius: var(--lt-r3); box-shadow: var(--lt-shadow); padding: 1.5rem; }
.lt-gate-links { color: var(--lt-soft); }

/* Template page: data-driven parts (Joomla product data; empty for templates without them) */
.lt-tpl-section:empty { display: none; }
.lt-tpl-hero__note { margin: .7rem 0 0; color: var(--lt-soft); font-size: .95rem; max-width: 36rem; }
.lt-tpl-hero__status { margin: 1.25rem 0 0; padding: .8rem 1rem; border-left: 3px solid var(--lt-accent); background: var(--lt-white); color: var(--lt-ink); font-size: .95rem; max-width: 40rem; border-radius: 0 var(--lt-r2) var(--lt-r2) 0; }
.lt-tpl-links { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
.lt-tpl-links a { color: var(--lt-ink); font-weight: 600; text-underline-offset: .2em; }
.lt-tpl-intro { max-width: 46rem; color: var(--lt-soft); font-size: var(--wp--preset--font-size--medium, 1.1rem); line-height: 1.55; margin: .5rem 0 0; }
.lt-tpl-gallery__note, .lt-tpl-stack__note { color: var(--lt-soft); margin: .4rem 0 0; max-width: 46rem; }
.lt-shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; align-items: start; }
.lt-shot { margin: 0; background: var(--lt-surface); border-radius: var(--lt-r3); padding: clamp(.6rem, .3rem + 1vw, 1.1rem); }
.lt-shot img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; object-position: top; border: 1px solid var(--lt-line); border-radius: var(--wp--custom--radius--md, 6px); background: var(--lt-white); }
.lt-shot figcaption { font-size: .9rem; color: var(--lt-soft); margin-top: .5rem; }
.lt-shots:has(.lt-shot--phone) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 15rem); }
.lt-shot--phone { grid-column: 3; grid-row: 1 / span 2; align-self: start; }
.lt-shot--phone img { max-height: 640px; border-radius: 18px; }
.lt-stack thead th { font-size: .85rem; text-transform: none; color: var(--lt-soft); font-weight: 600; border-top: 0; padding-bottom: .4rem; }
.lt-stack tbody th { width: 30%; color: var(--lt-ink); font-weight: 600; }
.lt-stack td:nth-child(2) { width: 24%; }
.lt-stack td { color: var(--lt-soft); }
.lt-stack td strong { color: var(--lt-ink); font-weight: 600; }
.lt-tpl-stack__sub { margin: 2.25rem 0 0; font-size: var(--wp--preset--font-size--large); }
@media (max-width: 781px) {
	.lt-shots, .lt-shots:has(.lt-shot--phone) { grid-template-columns: minmax(0, 1fr); }
	.lt-shot--phone { grid-column: auto; grid-row: auto; justify-self: center; width: min(100%, 300px); }
	.lt-stack thead { display: none; }
	.lt-stack tr { display: grid; border-top: 1px solid var(--lt-line); padding: .7rem 0; }
	.lt-stack th, .lt-stack td { border-top: 0; padding: .1rem 0; width: auto !important; }
}
