/* =========================================================================
 * Blog & Labs — a post (single-post.php).
 *
 * A 780px reading column: type and date, a large H1, the author byline, the
 * featured image, the text — typography for the editor blocks of the old blog
 * (H2–H4, paragraphs, lists, quotes, captioned images, links, tables, code,
 * embeds, galleries, columns) and links to the neighbouring posts. Inline
 * styles of the old posts are stripped on output (lmx_blog_clean_content);
 * here is the single look.
 * ====================================================================== */

.lmx-bs-article{position:relative;z-index:1;max-width:900px;margin:0 auto;padding:clamp(40px,5vw,72px) 0 clamp(64px,8vw,104px)}
.lmx-bs-head{max-width:820px;margin-bottom:clamp(28px,4vw,44px)}
/* The tap target is at least 24px (the link line itself is 19px). */
.lmx-bs-back{display:inline-flex;align-items:center;gap:10px;padding:6px 0;margin-bottom:24px;color:var(--bl-accent) !important;text-decoration:none !important;font-family:var(--bl-font);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:color .2s ease}
.lmx-bs-back svg{width:18px;height:18px;transition:transform .2s ease}
.lmx-bs-back:hover{color:var(--bl-accent-hi) !important}
.lmx-bs-back:hover svg{transform:translateX(-3px)}
.lmx-bs-back:focus-visible{outline:2px solid var(--bl-accent);outline-offset:4px}
.lmx-bs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 18px !important;font-family:var(--bl-font) !important;font-size:13px !important;letter-spacing:.06em;color:var(--bl-muted) !important}
.lmx-bs-type{display:inline-block;padding:5px 11px;border-radius:999px;background:rgba(82,199,198,.12);border:1px solid rgba(82,199,198,.35);color:#9fe3e2 !important;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none !important;transition:background .2s ease,color .2s ease}
.lmx-bs-type:hover{background:var(--bl-accent);color:var(--bl-on-accent) !important}
.lmx-bs-date{font-variant-numeric:tabular-nums}
.lmx-bs-title{margin:0 !important;font-family:var(--bl-display) !important;font-weight:300 !important;font-size:clamp(32px,4.2vw,58px) !important;line-height:1.08 !important;letter-spacing:-.02em;color:#fff !important;text-wrap:balance;overflow-wrap:anywhere}
.lmx-bs-byline{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0 !important;font-family:var(--bl-font) !important;font-size:15px !important;color:var(--bl-muted) !important}
.lmx-bs-author{color:var(--bl-text)}
.lmx-bs-views{font-variant-numeric:tabular-nums}
.lmx-bs-views::before{content:'·';margin-right:18px;color:var(--bl-line-hi)}

.lmx-bs-hero{margin:0 0 clamp(28px,4vw,44px) !important;padding:0 !important;border:1px solid var(--bl-line);border-radius:20px;overflow:hidden;background:#0b1214}
.lmx-bs-hero__img{display:block;width:100% !important;height:auto !important;max-height:560px;object-fit:cover}

/* --- content ----------------------------------------------------------------------- */
.lmx-bs-content{max-width:780px;font-family:var(--bl-font);font-size:18px;line-height:1.75;font-weight:300;color:var(--bl-text)}
.lmx-bs-content>:first-child{margin-top:0 !important}
.lmx-bs-content p{margin:0 0 1.25em !important;font:inherit !important;color:inherit !important}
.lmx-bs-content strong,.lmx-bs-content b{font-weight:600;color:#fff}
.lmx-bs-content em,.lmx-bs-content i{font-style:italic}
.lmx-bs-content a{color:var(--bl-accent) !important;text-decoration:underline !important;text-decoration-color:rgba(82,199,198,.5);text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease;overflow-wrap:anywhere}
.lmx-bs-content a:hover{color:var(--bl-accent-hi) !important;text-decoration-color:currentColor}
.lmx-bs-content h1,.lmx-bs-content h2,.lmx-bs-content h3,.lmx-bs-content h4,.lmx-bs-content h5,.lmx-bs-content h6{margin:1.8em 0 .65em !important;font-family:var(--bl-display) !important;font-weight:400 !important;line-height:1.2 !important;letter-spacing:-.015em;color:#fff !important;text-wrap:balance;overflow-wrap:anywhere}
.lmx-bs-content h1,.lmx-bs-content h2{font-size:clamp(26px,2.6vw,34px) !important}
.lmx-bs-content h3{font-size:clamp(22px,2.1vw,27px) !important}
.lmx-bs-content h4{font-size:20px !important}
.lmx-bs-content h5,.lmx-bs-content h6{font-size:17px !important;font-family:var(--bl-font) !important;font-weight:600 !important;letter-spacing:.02em}
.lmx-bs-content h2::before{content:'';display:block;width:44px;height:2px;margin-bottom:14px;background:linear-gradient(90deg,var(--bl-accent),transparent)}
.lmx-bs-content ul,.lmx-bs-content ol{margin:0 0 1.25em !important;padding:0 0 0 1.5em !important;list-style-position:outside}
.lmx-bs-content ul{list-style:disc}
.lmx-bs-content ol{list-style:decimal}
.lmx-bs-content ul ul{list-style:circle;margin:.4em 0 .2em !important}
.lmx-bs-content li{margin:0 0 .5em !important;padding:0 !important;font:inherit !important;color:inherit !important}
.lmx-bs-content li::marker{color:var(--bl-accent)}
.lmx-bs-content blockquote,.lmx-bs-content .wp-block-quote{margin:1.6em 0 !important;padding:18px 0 18px 26px !important;border-left:2px solid var(--bl-accent);border-right:0;background:linear-gradient(90deg,rgba(82,199,198,.07),transparent);font-family:var(--bl-display);font-size:1.15em;font-weight:300;line-height:1.5;font-style:normal;color:#fff}
.lmx-bs-content blockquote p{margin:0 0 .6em !important;font:inherit !important;color:inherit !important}
.lmx-bs-content blockquote cite{display:block;margin-top:8px;font-family:var(--bl-font);font-size:14px;font-style:normal;color:var(--bl-muted)}
.lmx-bs-content figure,.lmx-bs-content .wp-block-image{margin:1.6em 0 !important;padding:0 !important;max-width:100%}
.lmx-bs-content .wp-block-image.aligncenter,.lmx-bs-content figure.aligncenter{margin-left:auto !important;margin-right:auto !important;text-align:center}
.lmx-bs-content .wp-block-image.alignleft,.lmx-bs-content .wp-block-image.alignright{float:none;margin-left:0 !important;margin-right:0 !important}
/* width/height from the block attributes stay — the space is known before loading (no layout shift); height:auto keeps the ratio. */
.lmx-bs-content img{display:block;max-width:100% !important;height:auto;margin:0 auto;border:1px solid var(--bl-line);border-radius:14px;background:#0b1214}
.lmx-bs-content p>img{margin:1.2em auto}
.lmx-bs-content figcaption{margin:10px 0 0 !important;font-family:var(--bl-font) !important;font-size:13px !important;line-height:1.45 !important;color:var(--bl-muted) !important;text-align:center}
.lmx-bs-content .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:1.6em 0 !important}
.lmx-bs-content .wp-block-gallery figure{margin:0 !important}
.lmx-bs-content .wp-block-gallery img{width:100%;height:100% !important;object-fit:cover}
.lmx-bs-content .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:1.4em 0 !important}
.lmx-bs-content .wp-block-column{min-width:0}
.lmx-bs-content table{display:block;width:100%;max-width:100%;margin:0 0 1.5em !important;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;font-size:15px;line-height:1.5}
.lmx-bs-content .wp-block-table{margin:1.6em 0 !important;overflow-x:auto}
.lmx-bs-content .wp-block-table table{display:table;min-width:100%}
.lmx-bs-content th,.lmx-bs-content td{padding:10px 14px !important;border:1px solid var(--bl-line) !important;text-align:left;vertical-align:top;color:var(--bl-text);background:transparent !important}
.lmx-bs-content thead th,.lmx-bs-content tr:first-child th{font-weight:600;color:#fff;background:rgba(82,199,198,.08) !important}
.lmx-bs-content code,.lmx-bs-content kbd,.lmx-bs-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
.lmx-bs-content code{padding:.1em .4em;border-radius:5px;background:rgba(255,255,255,.08);color:#dfe7e7}
.lmx-bs-content pre,.lmx-bs-content .wp-block-code,.lmx-bs-content .wp-block-preformatted{margin:0 0 1.5em !important;padding:16px 18px !important;overflow-x:auto;background:#0b0f10 !important;border:1px solid var(--bl-line);border-radius:12px;color:#dfe7e7;font-size:14px;line-height:1.55;white-space:pre}
.lmx-bs-content pre code{padding:0;background:transparent;color:inherit}
.lmx-bs-content .wp-block-preformatted{white-space:pre-wrap}
.lmx-bs-content hr,.lmx-bs-content .wp-block-separator{margin:2em 0;border:0;border-top:1px solid var(--bl-line);height:0;background:none}
.lmx-bs-content .wp-block-embed,.lmx-bs-content .wp-block-embed__wrapper{margin:1.6em 0 !important}
.lmx-bs-content .wp-block-embed iframe,.lmx-bs-content iframe{display:block;max-width:100%;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px;background:#0b1214}
.lmx-bs-content .wp-block-embed__wrapper>a{display:inline-block}
.lmx-bs-content .wp-block-group,.lmx-bs-content .wp-block-group__inner-container{margin:0}
.lmx-bs-content sup{font-size:.7em;line-height:0}
.lmx-bs-content .has-text-align-center{text-align:center}
.lmx-bs-content .has-text-align-right{text-align:right}

/* --- neighbouring posts ------------------------------------------------------------ */
.lmx-bs-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:clamp(40px,5vw,64px);padding-top:28px;border-top:1px solid var(--bl-line-hi)}
.lmx-bs-nav__link{display:flex;flex-direction:column;gap:10px;padding:20px 22px;border:1px solid var(--bl-line);border-radius:16px;background:var(--bl-surface);color:#fff !important;text-decoration:none !important;transition:border-color .25s ease,background .25s ease,transform .25s ease}
.lmx-bs-nav__link:hover,.lmx-bs-nav__link:focus-visible{border-color:rgba(82,199,198,.6);background:var(--bl-surface-hi);transform:translateY(-3px)}
.lmx-bs-nav__link:focus-visible{outline:2px solid var(--bl-accent);outline-offset:3px}
.lmx-bs-nav__link--next{text-align:right;align-items:flex-end}
.lmx-bs-nav__label{display:inline-flex;align-items:center;gap:8px;font-family:var(--bl-font);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bl-accent)}
.lmx-bs-nav__label svg{width:16px;height:16px}
.lmx-bs-nav__title{font-family:var(--bl-display);font-size:17px;line-height:1.3;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lmx-bs-nav__spacer{display:block}

@media (max-width:1024px){
.lmx-bs-article{padding:0}
}
@media (max-width:640px){
.lmx-bs-title{font-size:30px !important}
.lmx-bs-content{font-size:16px;line-height:1.7}
.lmx-bs-content h1,.lmx-bs-content h2{font-size:24px !important}
.lmx-bs-content h3{font-size:20px !important}
.lmx-bs-hero{border-radius:14px}
.lmx-bs-nav{grid-template-columns:minmax(0,1fr)}
.lmx-bs-nav__link--next{text-align:left;align-items:flex-start}
.lmx-bs-nav__spacer{display:none}
}
