/*
Theme Name: Live Bitcoin News 2026 (Redesign)
Theme URI: https://livebitcoinnews.com
Author: Live Bitcoin News
Description: Redesigned child theme for Live Bitcoin News — orange-accented crypto news homepage, dense article layout, directory (companies/people/products/events), Video Stories, live news feed, and schema.org structured data. Distinct from the previous live theme so both can coexist during rollout.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 3.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lbn-theme
Tags: news, blog, dark-mode, custom-colors, full-site-editing, block-patterns
*/

/* ======================
   CSS VARIABLES
   ====================== */

:root {
	--lbn-black: #111111;
	--lbn-white: #ffffff;
	/* v2.1 — primary accent is now orange, not gold. */
	--lbn-orange: #EE4F00;
	--lbn-orange-hover: #d94500;
	--lbn-orange-soft: #ffece2;
	--lbn-red: #dc2626; /* Sponsored/Live/Login accents */
	/* Legacy aliases kept so any lingering references continue to render — the
	   new palette maps gold-family variables onto the orange scale. Remove once
	   every rule is migrated. */
	--lbn-gold: var(--lbn-orange);
	--lbn-gold-light: #ff7a3d;
	--lbn-gray: #a6a6a6;
	--lbn-gray-light: #aaaaaa;
	--lbn-cream: #ffffff; /* v2.1 — no cream tint in the new design */
	--lbn-border: #eeeeee;
	--lbn-navy: #01175e;
	--lbn-navy-light: #0a2472;
	--lbn-dark-border: #222222;
	--lbn-radius: 0px;
	--lbn-section-pad: var(--wp--preset--spacing--50);
	--lbn-gap: var(--wp--preset--spacing--40);

	/* Uniform "dashed" divider — replaces browser border-style: dashed with a
	   background-gradient pattern so dash length + gap are tunable in one place.
	   Bump --lbn-dash-gap to space dashes wider; --lbn-dash-len to lengthen. */
    --lbn-dash-len: 6px;
    --lbn-dash-gap: 7px;
    --lbn-dash-thick: 2px;
	--lbn-dash-color: color-mix(in srgb, var(--lbn-border) 90%, black); /* darkened 10% */
	--lbn-dash-tile:  calc(var(--lbn-dash-len) + var(--lbn-dash-gap));
	--lbn-dash-h: linear-gradient(to right,  var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%);
	--lbn-dash-v: linear-gradient(to bottom, var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%);

	/* Composed 4-side dashed "border" — drop-in replacement for a solid box
	   border. Set these four longhands together (background-color stays the
	   element's own fill). background-clip:border-box keeps rounded corners. */
	--lbn-dash-box-image:    var(--lbn-dash-h), var(--lbn-dash-h), var(--lbn-dash-v), var(--lbn-dash-v);
	--lbn-dash-box-size:     var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile), var(--lbn-dash-thick) var(--lbn-dash-tile);
	--lbn-dash-box-repeat:   repeat-x, repeat-x, repeat-y, repeat-y;
	--lbn-dash-box-position: top left, bottom left, left top, right top;
}

/* ======================
   HEADER
   ====================== */

.lbn-header {
	margin: 0;
	padding: 0;
}

/* Top bar */
.lbn-topbar {
	padding: 6px var(--lbn-section-pad);
	border-bottom: 1px solid var(--lbn-dark-border);
}

.lbn-topbar-social .wp-social-link {
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.lbn-topbar-social .wp-social-link:hover {
	opacity: 1;
}

/* Language switcher */
.lbn-lang-switcher {
	position: relative;
}

.lbn-lang-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: 1px solid var(--lbn-dark-border);
	border-radius: var(--lbn-radius);
	padding: 4px 10px;
	cursor: pointer;
	color: var(--lbn-gray-light);
	font-size: 12px;
	font-family: inherit;
	font-weight: 500;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.lbn-lang-toggle:hover {
	border-color: var(--lbn-gray);
	color: var(--lbn-white);
}

.lbn-lang-arrow {
	font-size: 10px;
	opacity: 0.6;
}

.lbn-lang-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	background: var(--lbn-black);
	border: 1px solid var(--lbn-dark-border);
	border-radius: var(--lbn-radius);
	list-style: none;
	margin: 0;
	padding: 4px 0;
	min-width: 160px;
	z-index: 1000;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.lbn-lang-switcher.is-open .lbn-lang-dropdown {
	display: block;
}

.lbn-lang-dropdown li a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	font-size: 13px;
	color: var(--lbn-gray-light);
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.lbn-lang-dropdown li a:hover {
	background-color: rgba(255, 255, 255, 0.06);
	color: var(--lbn-white);
}

.lbn-lang-dropdown li a.lbn-lang-active {
	color: var(--lbn-gold);
}

/* Nav bar */
.lbn-nav-bar {
	background-color: #000000 !important;
	padding: 0 var(--lbn-section-pad);
	margin-top: 0 !important;
}

.lbn-nav-bar > .wp-block-group {
	flex-wrap: nowrap !important;
	gap: 20px;
}

.lbn-header-logo {
	margin: 0 !important;
	flex-shrink: 0;
}

.lbn-header-logo img {
	max-height: 40px;
	width: auto;
	object-fit: contain;
}

.lbn-logo-group {
	gap: 12px !important;
	flex-shrink: 0;
}

.lbn-tagline {
	gap: 0 !important;
}

.lbn-tagline-top {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 500;
	color: var(--lbn-gray-light);
}

.lbn-tagline-bottom {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 600;
	color: var(--lbn-gold);
}

/* Main navigation */
.lbn-main-nav {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0.5px;
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	padding: 14px 16px;
	transition: color 0.2s ease, background-color 0.2s ease;
	color: var(--lbn-white) !important;
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover {
	color: var(--lbn-gold) !important;
	background-color: rgba(255, 255, 255, 0.08);
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation-submenu__toggle {
	color: var(--lbn-white) !important;
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: var(--lbn-navy-light);
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 8px 0;
	min-width: 220px;
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 8px 20px !important;
	font-size: 12px !important;
	text-transform: none !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

.lbn-nav-bar .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--lbn-gold) !important;
	background-color: rgba(255, 255, 255, 0.05) !important;
}

/* ======================
   FOOTER
   ====================== */

.lbn-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	padding: 0;
	margin-top: 0;
}

.lbn-footer-inner {
	padding: 20px var(--lbn-section-pad);
}

.lbn-disclaimer {
	font-size: 13px;
	line-height: 1.6;
	font-weight: 400;
	color: var(--lbn-gray-light);
}

.lbn-disclaimer a {
	color: var(--lbn-gray-light);
	text-decoration: underline;
}

.lbn-disclaimer a:hover {
	color: var(--lbn-white);
}

.lbn-footer-nav {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	gap: 24px;
}

.lbn-footer-right {
	gap: 24px !important;
}

.lbn-footer-social .wp-social-link {
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.lbn-footer-social .wp-social-link:hover {
	opacity: 1;
}

.lbn-footer-nav .wp-block-navigation-item__content {
	color: var(--lbn-white) !important;
	transition: color 0.2s ease;
}

.lbn-footer-nav .wp-block-navigation-item__content:hover {
	color: var(--lbn-gray-light) !important;
}

/* ======================
   SECTIONS (General)
   ====================== */

.lbn-section {
	padding: var(--lbn-section-pad);
}

.lbn-section-heading {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 18px;
	color: var(--lbn-black);
	border-bottom: 3px solid var(--lbn-gold);
	padding-bottom: 10px;
	display: inline-block;
}

/* ======================
   HERO SECTION
   ====================== */

.lbn-hero-section {
	border-bottom: 1px solid var(--lbn-border);
	margin-top: 0;
}

.lbn-hero-columns {
	gap: var(--lbn-gap);
}

.lbn-hero-columns {
	flex-wrap: nowrap !important;
	overflow: hidden !important;
}

.lbn-hero-side {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

.lbn-hero-center {
	flex: 2 1 0 !important;
	min-width: 0 !important;
}

/* ======================
   HOT RIGHT NOW
   ====================== */

.lbn-hot-section {
	background-color: var(--lbn-cream);
	border-bottom: 1px solid var(--lbn-border);
}

/* ======================
   CONTENT + SIDEBAR
   ====================== */

.lbn-content-sidebar {
	gap: var(--wp--preset--spacing--30);
}

.lbn-main-content {
	flex-basis: 70%;
}

.lbn-sidebar {
	flex-basis: 30%;
}

/* ======================
   CATEGORY SECTIONS
   ====================== */

.lbn-category-section {
	margin-top: var(--wp--preset--spacing--40);
}

.lbn-section-header {
	border-bottom: 1px solid var(--lbn-border);
	padding-bottom: 8px;
	margin-bottom: 14px;
}

.lbn-section-header .lbn-section-heading {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.lbn-view-all {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.lbn-view-all a {
	color: var(--lbn-gold) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.lbn-view-all a:hover {
	color: var(--lbn-gold-light) !important;
}

/* ======================
   POST CARDS
   ====================== */

.lbn-post-card {
	gap: var(--wp--preset--spacing--20);
}

.lbn-post-thumb {
	overflow: hidden;
	border-radius: var(--lbn-radius);
}

/* Dark fill behind every thumbnail / featured image so cards aren't blank
   while the real image loads. The actual logo placeholder for missing
   featured images is the foreground .lbn-placeholder-img <img>. */
.lbn-post-thumb,
.lbn-popular-card-img,
.lbn-single-hero,
.wp-block-post-featured-image {
	background-color: var(--lbn-black);
}

/* When the placeholder <img> itself is the LBN logo (no featured image set):
   contain it, center it, dark background fills the rest. */
.lbn-placeholder-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	background-color: var(--lbn-black);
	padding: 12% 18%;
	box-sizing: border-box;
}

.lbn-post-thumb img {
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.lbn-post-thumb:hover img {
	transform: scale(1.03);
	opacity: 0.9;
}

/* Post titles */
.lbn-post-title-lg {
	font-weight: 800;
	font-size: 28px;
	line-height: 1.2;
	color: var(--lbn-black);
}

.lbn-post-title-md {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	color: var(--lbn-black);
}

.lbn-post-title-sm {
	font-weight: 700;
	font-size: 21px;
	line-height: 1.3;
	color: var(--lbn-black);
}

.lbn-post-title-xs {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.4;
	color: var(--lbn-black);
}

.lbn-post-title-lg a,
.lbn-post-title-md a,
.lbn-post-title-sm a,
.lbn-post-title-xs a {
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease;
}

.lbn-post-title-lg a:hover,
.lbn-post-title-md a:hover,
.lbn-post-title-sm a:hover,
.lbn-post-title-xs a:hover {
	color: var(--lbn-gold) !important;
}

/* Category labels */
.lbn-category-label {
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 10px;
}

.lbn-category-label a {
	color: var(--lbn-gold) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.lbn-category-label a:hover {
	color: var(--lbn-gold-light) !important;
}

/* Meta (date, author) */
.lbn-meta {
	font-size: 11px;
	color: var(--lbn-gray);
}

.lbn-author {
	font-size: 12px;
	font-weight: 600;
	color: var(--lbn-black);
}

.lbn-meta-dot {
	font-size: 12px;
	color: var(--lbn-gray);
}

.lbn-post-meta-row {
	gap: 10px;
}

/* Excerpt */
.lbn-excerpt {
	font-size: 14px;
	line-height: 1.6;
	color: var(--lbn-gray);
}

/* ======================
   LATEST NEWS LIST
   ====================== */

/* All-articles list enclosed in the theme's custom dashed grid frame — the
   4-side dashed "border" helper wraps every article, with dashed dividers
   between rows (see --lbn-dash-box-* in :root). */
.lbn-blog-grid {
	list-style: none;
	margin: 0;
	padding: 28px;
	background-color: transparent;
	background-image: var(--lbn-dash-box-image);
	background-size: var(--lbn-dash-box-size);
	background-repeat: var(--lbn-dash-box-repeat);
	background-position: var(--lbn-dash-box-position);
}

.lbn-blog-grid > li {
	margin: 0;
}

.lbn-list-item {
	padding-bottom: 24px;
	margin-bottom: 24px;
	gap: var(--lbn-gap);
	/* Dashed row divider replaces the old solid rule. */
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: bottom left;
}

/* Last article sits flush against the frame — no trailing divider. */
.lbn-blog-grid > li:last-child .lbn-list-item {
	margin-bottom: 0;
	padding-bottom: 0;
	background-image: none;
}

.lbn-list-thumb {
	flex-basis: 35%;
}

.lbn-list-content {
	flex-basis: 65%;
}

/* ======================
   SIDEBAR
   ====================== */

.lbn-widget {
	margin-bottom: var(--wp--preset--spacing--50);
}

.lbn-widget-heading {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 16px;
	color: var(--lbn-black);
	border-bottom: 3px solid var(--lbn-gold);
	padding-bottom: 10px;
	margin-bottom: 16px;
}

.lbn-widget-heading--light {
	color: var(--lbn-white);
	border-bottom: none;
}

/* Popular posts overlay cards */
.lbn-popular-grid {
	gap: 10px !important;
}

.lbn-popular-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--lbn-radius);
}

.lbn-popular-card-img {
	margin: 0;
}

.lbn-popular-card-img img {
	display: block;
	width: 100%;
	transition: transform 0.3s ease;
}

.lbn-popular-card:hover .lbn-popular-card-img img {
	transform: scale(1.05);
}

.lbn-popular-card-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 14px;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
	z-index: 2;
}

.lbn-popular-card-cat {
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	margin-bottom: 4px;
}

.lbn-popular-card-cat a {
	color: var(--lbn-gold) !important;
	text-decoration: none;
}

.lbn-popular-card-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.lbn-popular-card-title a {
	color: var(--lbn-white) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.lbn-popular-card-title a:hover {
	color: var(--lbn-gold) !important;
}

/* Sidebar list items */
.lbn-sidebar-item {
	border-bottom: 1px solid var(--lbn-border);
	padding-bottom: 12px;
	gap: 12px;
}

.lbn-sidebar-thumb {
	flex-basis: 30%;
}

.lbn-sidebar-content {
	flex-basis: 70%;
}

/* Newsletter widget */
.lbn-newsletter {
	padding: var(--lbn-gap);
	border-radius: var(--lbn-radius);
}

.lbn-newsletter-text {
	font-size: 13px;
	line-height: 1.6;
	color: var(--lbn-gray);
}

.lbn-newsletter-form .wp-block-search__input {
	background-color: #333333;
	color: var(--lbn-white);
	border: 1px solid #444444;
	border-radius: var(--lbn-radius);
	font-size: 13px;
}

.lbn-newsletter-form .wp-block-search__button {
	background-color: var(--lbn-gold);
	color: #000000;
	border-radius: var(--lbn-radius);
	font-size: 13px;
}

/* Trending items */
.lbn-trending-item {
	border-bottom: 1px solid var(--lbn-border);
	padding-bottom: 12px;
	margin-bottom: 12px;
}

/* Categories list */
.lbn-categories-list {
	font-size: 13px;
}

.wp-block-categories-list {
	list-style: none;
	padding-left: 0;
}

.wp-block-categories-list li {
	border-bottom: 1px solid var(--lbn-border);
	padding: 8px 0;
}

.wp-block-categories-list li:last-child {
	border-bottom: none;
}

.wp-block-categories-list li a {
	text-decoration: none;
	color: var(--lbn-black);
	transition: color 0.2s ease;
}

.wp-block-categories-list li a:hover {
	color: var(--lbn-gold);
}

/* Social grid */
.lbn-social-grid {
	gap: 8px;
}

/* ======================
   MORE STORIES
   ====================== */

.lbn-more-stories {
	background-color: var(--lbn-cream);
	border-top: 1px solid var(--lbn-border);
}

.lbn-more-stories .wp-block-post-template.is-layout-grid {
	grid-template-columns: repeat(2, 1fr) !important;
}

/* ======================
   SPONSORED SECTION
   ====================== */

.lbn-sponsored-section {
	border-top: 1px solid var(--lbn-border);
}

.lbn-sponsored-heading {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 18px;
	color: var(--lbn-black);
	border-bottom: 3px solid var(--lbn-gold);
	padding-bottom: 10px;
	display: inline-block;
	margin-bottom: 28px;
}

.lbn-sponsored-cols {
	gap: var(--lbn-gap) !important;
}

.lbn-sponsored-col-side {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

.lbn-sponsored-col-center {
	flex: 2 1 0 !important;
	min-width: 0 !important;
}

/* Column labels */
.lbn-sponsored-col-label {
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 14px;
	color: var(--lbn-black);
	border-bottom: 3px solid var(--lbn-gold);
	padding-bottom: 8px;
	display: inline-block;
	margin-bottom: 16px;
}

/* List items (side columns + small PR) */
.lbn-sponsored-list-item {
	gap: 10px !important;
	border-bottom: 1px solid var(--lbn-border);
	padding-bottom: 12px;
	margin-bottom: 0 !important;
	flex-wrap: nowrap !important;
}

.lbn-sponsored-item-title {
	font-weight: 700;
	font-size: 13px;
	line-height: 1.35;
	color: var(--lbn-black);
}

.lbn-sponsored-item-title a {
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease;
}

.lbn-sponsored-item-title a:hover {
	color: var(--lbn-gold) !important;
}

/* PR featured grid */
.lbn-pr-featured-grid {
	gap: var(--lbn-gap) !important;
	margin-bottom: 16px;
}

.lbn-pr-featured-card {
	gap: 6px;
}

.lbn-pr-badge {
	display: inline-block;
	background-color: var(--lbn-black);
	color: var(--lbn-white);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 3px 8px;
	border-radius: 2px;
	margin-top: 8px;
}

.lbn-pr-featured-title {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.3;
	color: var(--lbn-black);
}

.lbn-pr-featured-title a {
	text-decoration: none;
	color: inherit;
	transition: color 0.2s ease;
}

.lbn-pr-featured-title a:hover {
	color: var(--lbn-gold) !important;
}

.lbn-pr-small-grid {
	gap: 10px !important;
}

/* Grids */
.lbn-grid-3 {
	gap: var(--lbn-gap);
}

.lbn-grid-4 {
	gap: var(--lbn-gap);
}

/* Pagination */
.lbn-pagination {
	padding-top: var(--lbn-section-pad);
}

.lbn-blog-pagination {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--lbn-border);
}

.wp-block-query-pagination {
	gap: 8px;
}

.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid #dddddd;
	border-radius: var(--lbn-radius);
	text-decoration: none;
	color: var(--lbn-black);
	font-weight: 600;
	font-size: 13px;
	transition: all 0.2s ease;
}

.wp-block-query-pagination .page-numbers:hover,
.wp-block-query-pagination-numbers .page-numbers:hover {
	background-color: var(--lbn-gold);
	border-color: var(--lbn-gold);
	color: #000000;
}

.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers.current {
	background-color: var(--lbn-black);
	border-color: var(--lbn-black);
	color: var(--lbn-white);
}

/* Social hover */
.wp-block-social-links .wp-social-link {
	transition: transform 0.2s ease;
}

.wp-block-social-links .wp-social-link:hover {
	transform: translateY(-2px);
}

/* ======================
   FLOATING FOOTER BANNER (ad)
   ====================== */

.floating-banner-wrapper {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999999;
	text-align: center;
	pointer-events: none;
}

.floating-banner-wrapper a {
	display: inline-block;
	line-height: 0;
	pointer-events: auto;
}

.floating-banner-wrapper img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Reserve space at the bottom so the fixed banner never covers content. */
body {
	padding-bottom: 70px;
	overflow-x: hidden;
}

@media (max-width: 781px) {
	body {
		padding-bottom: 36px;
	}
}

/* ======================
   RESPONSIVE
   ====================== */

/* Overflow safety — media must never push the viewport wider than itself. */
img,
iframe,
video,
embed {
	max-width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.wp-block-columns {
		flex-wrap: wrap !important;
	}

	/* Hero columns: undo desktop nowrap so columns can stack. */
	.lbn-hero-columns {
		flex-wrap: wrap !important;
		overflow: visible !important;
	}

	.lbn-hero-side,
	.lbn-hero-center {
		flex: 1 1 100% !important;
		min-width: 0 !important;
	}

	.lbn-main-content,
	.lbn-sidebar,
	.lbn-list-thumb,
	.lbn-list-content {
		flex-basis: 100% !important;
	}

	.wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr !important;
	}

	/* Nav bar: logo centered, hamburger on the right */
	.lbn-nav-bar > .wp-block-group {
		position: relative;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
	}

	.lbn-logo-group {
		flex-direction: column !important;
		align-items: center !important;
		gap: 4px !important;
	}

	.lbn-header-logo img {
		max-height: 36px;
	}

	.lbn-tagline {
		display: flex !important;
		align-items: center !important;
		flex-direction: row !important;
		gap: 6px !important;
	}

	.lbn-tagline-top,
	.lbn-tagline-bottom {
		font-size: 9px;
	}

	/* Hide navigation entirely on mobile */
	.lbn-main-nav {
		display: none !important;
	}

	/* ========== MOBILE MENU OVERLAY ========== */

	/* Full-screen overlay */
	.wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		background: var(--lbn-black) !important;
		z-index: 999999 !important;
		display: flex !important;
		flex-direction: column !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}

	/* Dialog: flex column, menu on top, close at bottom */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		height: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* Scrollable menu area: takes all space, pushes close to bottom */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		flex: 1 1 auto !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 40px 0 20px !important;
		width: 100% !important;
		gap: 0 !important;
	}

	/* Close button: pinned at bottom */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: relative !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 18px 20px !important;
		margin: 0 !important;
		color: var(--lbn-white) !important;
		border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
		cursor: pointer !important;
		z-index: 10 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 28px !important;
		height: 28px !important;
	}

	/* Override WordPress drill-down: force ALL items and submenus visible */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation-item.has-child {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: static !important;
		width: 100% !important;
		height: auto !important;
		overflow: visible !important;
		transform: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	}

	/* Kill all WordPress responsive nav transforms/transitions that hide items */
	.wp-block-navigation__responsive-container.is-menu-open [class*="wp-block-navigation"] {
		transform: none !important;
		animation: none !important;
	}

	/* Top-level link styling */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block !important;
		padding: 14px 20px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 1px !important;
		color: var(--lbn-white) !important;
		text-decoration: none !important;
	}

	.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(--lbn-gold) !important;
		background: rgba(255, 255, 255, 0.04) !important;
	}

	/* Hide submenu toggle arrows — submenus always expanded */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
		display: none !important;
	}

	/* Submenus: always visible, indented below parent */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
	.wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation__submenu-container {
		position: static !important;
		display: flex !important;
		flex-direction: column !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		width: 100% !important;
		min-width: unset !important;
		overflow: visible !important;
		transform: none !important;
		background: rgba(255, 255, 255, 0.03) !important;
		border: none !important;
		box-shadow: none !important;
		padding: 4px 0 8px 0 !important;
		gap: 0 !important;
		clip: auto !important;
		clip-path: none !important;
		pointer-events: auto !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
		border-bottom: none !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 10px 20px 10px 36px !important;
		font-size: 13px !important;
		font-weight: 400 !important;
		text-transform: none !important;
		letter-spacing: 0 !important;
		color: rgba(255, 255, 255, 0.65) !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		color: var(--lbn-gold) !important;
		background: rgba(255, 255, 255, 0.04) !important;
	}

	.lbn-footer-inner {
		padding: 16px var(--lbn-section-pad);
	}

	/* Footer: stack disclaimer above nav, let nav items wrap. */
	.lbn-footer-inner > .wp-block-group > .wp-block-group {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 14px !important;
		width: 100% !important;
	}

	.lbn-footer-inner .lbn-footer-nav,
	.lbn-footer-inner .lbn-footer-nav ul {
		flex-wrap: wrap !important;
		gap: 10px 18px !important;
		justify-content: flex-start !important;
		max-width: 100% !important;
	}

	.lbn-disclaimer {
		max-width: 100%;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}

	/* Sponsored section responsive */
	.lbn-sponsored-col-side,
	.lbn-sponsored-col-center {
		flex-basis: 100% !important;
	}

	.lbn-pr-featured-grid {
		grid-template-columns: 1fr !important;
	}

	.lbn-pr-small-grid {
		grid-template-columns: 1fr !important;
	}

	/* Single post hero responsive */
	.lbn-single-hero,
	.lbn-single-hero-img,
	.lbn-single-hero-overlay {
		min-height: 320px;
	}

	.lbn-single-hero-overlay {
		padding: 0 20px 28px;
	}

	.lbn-single-title {
		font-size: 24px;
	}

	.lbn-single-meta {
		font-size: 13px;
	}
}

@media (min-width: 782px) and (max-width: 1024px) {
	.wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	.lbn-hero-side {
		flex-basis: 50% !important;
	}

	.lbn-hero-center {
		flex-basis: 100% !important;
		order: -1;
	}
}

/* ======================
   SINGLE POST — BREADCRUMBS
   ====================== */

.lbn-breadcrumbs-wrap {
	border-bottom: 1px solid var(--lbn-border);
}

.lbn-breadcrumbs {
	font-size: 13px;
	color: var(--lbn-gray);
	font-family: Inter, sans-serif;
}

.lbn-breadcrumbs a {
	color: var(--lbn-gray);
	text-decoration: none;
	transition: color 0.2s ease;
}

.lbn-breadcrumbs a:hover {
	color: var(--lbn-gold);
}

.lbn-breadcrumb-sep {
	margin: 0 6px;
	color: var(--lbn-gray-light);
}

.lbn-breadcrumb-current {
	color: var(--lbn-black);
	font-weight: 600;
}

/* ======================
   SINGLE POST — HERO
   ====================== */

.lbn-single-hero {
	position: relative;
	width: 100%;
	min-height: 420px;
	overflow: hidden;
	background-color: var(--lbn-black);
}

.lbn-single-hero-img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.lbn-single-hero-overlay {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	min-height: 420px;
	background: linear-gradient(transparent 20%, rgba(0, 0, 0, 0.85));
	padding: 0 var(--lbn-section-pad) 40px;
}

.lbn-single-hero-content {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

.lbn-single-hero-cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: var(--lbn-gold);
	text-decoration: none;
	margin-bottom: 12px;
	transition: color 0.2s ease;
}

.lbn-single-hero-cat:hover {
	color: var(--lbn-gold-light);
}

.lbn-single-title {
	font-family: Inter, sans-serif;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 800;
	line-height: 1.15;
	color: var(--lbn-white);
	margin: 0 0 16px;
}

.lbn-single-meta {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
	font-family: Inter, sans-serif;
}

.lbn-single-meta strong {
	color: var(--lbn-white);
	font-weight: 600;
}

.lbn-single-meta-sep {
	margin: 0 8px;
	opacity: 0.5;
}

/* ======================
   SINGLE POST — CONTENT
   ====================== */

.single .wp-block-post-content {
	font-size: 17px;
	line-height: 1.8;
}

.single .wp-block-post-content p {
	margin-bottom: 1.4em;
}

.single .wp-block-post-content img {
	border-radius: var(--lbn-radius);
}

/* ======================
   SINGLE POST — AUTHOR BOX
   ====================== */

.lbn-author-box {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 24px;
	background-color: var(--lbn-cream);
	border: 1px solid var(--lbn-border);
	border-radius: var(--lbn-radius);
	margin-top: var(--wp--preset--spacing--40);
}

.lbn-author-box-avatar img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.lbn-author-box-info {
	flex: 1;
	min-width: 0;
}

.lbn-author-box-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--lbn-gold);
	margin: 0 0 4px;
}

.lbn-author-box-name {
	font-family: Inter, sans-serif;
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 8px;
	line-height: 1.3;
}

.lbn-author-box-name a {
	color: var(--lbn-black);
	text-decoration: none;
	transition: color 0.2s ease;
}

.lbn-author-box-name a:hover {
	color: var(--lbn-gold);
}

.lbn-author-box-bio {
	font-size: 14px;
	line-height: 1.6;
	color: var(--lbn-gray);
	margin: 0 0 12px;
}

.lbn-author-box-socials {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.lbn-author-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--lbn-black);
	color: var(--lbn-white);
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.lbn-author-social-link:hover {
	background-color: var(--lbn-gold);
	color: var(--lbn-black);
	transform: translateY(-2px);
}

@media (max-width: 480px) {
	.lbn-author-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.lbn-author-box-socials {
		justify-content: center;
	}
}

/* ======================================================================
   WRITERS INDEX (grouped author listing — /team/)
   Rail-per-section: sticky left title + card grid, dashed section dividers.
   ====================================================================== */

.lbn-writers { padding: 8px 0 48px; }

.lbn-writers-group {
	max-width: 1440px;
	margin: 0 auto;
	padding: 34px var(--lbn-section-pad);
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-writers-group:first-of-type { background-image: none; }

.lbn-writers-rail { position: sticky; top: 16px; }
.lbn-writers-title {
	margin: 0;
	font-family: "Inter", sans-serif;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}

.lbn-writers-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 26px;
}

/* Full editor card */
.lbn-writers-card--full { display: flex; flex-direction: column; }
.lbn-writers-avatar { display: block; margin-bottom: 12px; }
.lbn-writers-avatar-img {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--lbn-border);
}
.lbn-writers-name { margin: 0 0 8px; font-family: "Inter", sans-serif; font-size: 18px; font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; }
.lbn-writers-name a { color: var(--lbn-black); text-decoration: none; transition: color 0.15s ease; }
.lbn-writers-name a:hover { color: var(--lbn-orange); }
.lbn-writers-bio { margin: 0 0 14px; font-size: 13px; line-height: 1.6; color: var(--lbn-gray); }
.lbn-writers-tag {
	align-self: flex-start;
	margin-top: auto;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--lbn-orange-soft);
	color: var(--lbn-orange);
	font-size: 12px;
	font-weight: 600;
}

/* Mini per-category card */
.lbn-writers-card--mini { display: flex; flex-direction: column; gap: 8px; }
.lbn-writers-card--mini .lbn-writers-name { margin: 0; font-size: 17px; }
.lbn-writers-articles {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #1652f0;
	text-decoration: none;
}
.lbn-writers-articles:hover { text-decoration: underline; }
.lbn-writers-articles-icon { color: var(--lbn-orange); }
.lbn-writers-articles-arrow { color: #1652f0; }

@media (max-width: 1080px) {
	.lbn-writers-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
	.lbn-writers-group { grid-template-columns: 1fr; gap: 20px; }
	.lbn-writers-rail { position: static; }
	.lbn-writers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.lbn-writers-grid { grid-template-columns: 1fr; }
}

/* ======================
   LAZY LOAD
   ====================== */

img[data-src],
img[data-srcset],
iframe[data-src] {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.lbn-lazy-loaded {
	opacity: 1;
}

/* ======================================================================
   V2.1 HEADER — matches new Figma: light chrome, orange category bar
   ====================================================================== */

.lbn-header-v21 {
	background: var(--lbn-white);
	color: var(--lbn-black);
	font-family: "Inter", "Inter", sans-serif;
}

/* Row 0 — slim price ticker on white */
.lbn-ticker-v21 {
	position: relative;
	background:
		linear-gradient(to right, var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) bottom / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x,
		var(--lbn-white);
	color: var(--lbn-black);
	padding: 9px 0;
	overflow: hidden;
	font-size: 13px;
	line-height: 1;
	white-space: nowrap;
}

.lbn-ticker-v21-track {
	display: flex;
	gap: 32px;
	min-width: max-content;
	padding-left: var(--lbn-section-pad);
	animation: lbn-ticker-scroll 55s linear infinite;
	will-change: transform;
}

.lbn-ticker-v21:hover .lbn-ticker-v21-track { animation-play-state: paused; }

.lbn-ticker-v21-item {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	color: var(--lbn-gray);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.lbn-ticker-v21-item b {
    color: var(--lbn-black);
    font-weight: 200;
    letter-spacing: 0.5px;
}

.lbn-ticker-v21-item .lbn-ticker-price { color: var(--lbn-black); font-weight: 600; }
.lbn-ticker-v21-item .lbn-ticker-chg   { font-weight: 700; }
.lbn-ticker-v21-item.is-up   .lbn-ticker-chg { color: #12a150; }
.lbn-ticker-v21-item.is-down .lbn-ticker-chg { color: var(--lbn-red); }

@media (prefers-reduced-motion: reduce) {
	.lbn-ticker-v21-track { animation: none; }
}

/* Row 1 — logo, language, primary nav, search, login */
.lbn-nav-row-v21 {
	background: var(--lbn-white);
	position: relative;
}

.lbn-nav-row-v21-inner {
	max-width: none;
	margin: 0 auto;
	padding: 14px var(--lbn-section-pad);
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 32px;
	align-items: center;
}

.lbn-nav-row-v21-left {
	display: flex;
	align-items: center;
	gap: 14px;
}

.lbn-nav-v21-logo img {
	height: 76px;
	width: auto;
	display: block;
}

/* Compact language button — icon + short code (e.g. "US") + caret */
.lbn-nav-row-v21-left .lbn-lang-toggle {
	color: var(--lbn-black);
	border-color: transparent;
	background: var(--lbn-white);
	padding: 5px 10px;
	font-size: 11px;
	letter-spacing: 0.3px;
}

.lbn-nav-row-v21-left .lbn-lang-toggle:hover {
	border-color: var(--lbn-black);
	color: var(--lbn-black);
}

.lbn-nav-row-v21-left .lbn-lang-dropdown {
	background: var(--lbn-white);
	border-color: var(--lbn-border);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.lbn-nav-row-v21-left .lbn-lang-dropdown li a {
	color: var(--lbn-black);
}

.lbn-nav-row-v21-left .lbn-lang-dropdown li a:hover {
	background: var(--lbn-orange-soft);
	color: var(--lbn-orange);
}

.lbn-nav-row-v21-left .lbn-lang-dropdown li a.lbn-lang-active {
	color: var(--lbn-orange);
}

/* Primary nav — News / Opinions / Academy / Directory */
.lbn-nav-v21-primary {
	display: flex;
	justify-content: center;
	gap: 44px;
	/* Drop the tabs to the bottom of the nav row so they connect to the orange
	   category bar below. The -14px closes the inner row's 14px bottom padding
	   so the tabs meet the bar exactly, without overflowing into it. */
	align-self: end;
	margin: 0 0 -14px;
}

.lbn-nav-v21-primary a {
	color: var(--lbn-black);
    font-size: 20px;
    font-weight:500;
    letter-spacing: 0.2px;
    text-decoration: none;
    padding: 14px 24px 14px 8px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
    background-image: var(--lbn-dash-v);
    background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
    background-repeat: repeat-y;
    background-position: right center;
    text-align: left;
}

.lbn-nav-v21-primary a:hover,
.lbn-nav-v21-primary a[aria-current="page"] {
	color: var(--lbn-orange);
	border-bottom-color: var(--lbn-orange);
}

/* Parent tabs are <button>s (pure toggles) styled to match the old nav links. */
.lbn-nav-v21-tab {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	color: var(--lbn-black);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.2px;
	padding: 14px 24px 14px 8px;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: right center;
	text-align: left;
}

.lbn-nav-v21-tab:hover,
.lbn-nav-v21-tab.is-active {
	color: var(--lbn-orange);
	outline:none;
	/* border-bottom-color: var(--lbn-orange); */
}

/* Parent tabs that link to a section hub render as <a> (crawlable). Keep their
   hover identical to the <button> tabs — colour change only, no underline
   border that the generic ".lbn-nav-v21-primary a:hover" rule would add. */
.lbn-nav-v21-primary a.lbn-nav-v21-tab:hover {
	border-bottom-color: transparent;
}

/* Only the active parent's child group shows in the orange bar. */
.lbn-nav-v21-group[hidden] { display: none; }

/* Mobile drawer — parent labels above their child links. */
.lbn-nav-v21-drawer-group-label {
	display: block;
	flex-basis: 100%; /* force each group heading onto its own row in the popup */
	margin-top: 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--lbn-gray);
	text-decoration: none; /* group label may now be an <a> hub link */
}
.lbn-nav-v21-drawer-group-label:hover { color: var(--lbn-orange); }

/* Each parent's children are a real <ul>/<li> list (expresses the section →
   category hierarchy for crawlers). display:contents lets the <li> items keep
   participating in the drawer's wrap layout, so nothing shifts visually. */
.lbn-nav-v21-drawer-list { display: contents; }
.lbn-nav-v21-drawer-list li { margin: 0; padding: 0; list-style: none; }
.lbn-nav-v21-drawer-group-label:first-child { margin-top: 0; }

.lbn-nav-row-v21-right {
	display: flex;
	align-items: center;
	gap: 14px;
}

.lbn-nav-v21-search-btn {
	appearance: none;
	background: none;
	border: 0;
	padding: 6px;
	cursor: pointer;
	color: var(--lbn-black);
	transition: color 0.15s ease;
	line-height: 0;
}

.lbn-nav-v21-search-btn:hover { color: var(--lbn-orange); }

.lbn-nav-v21-menu-btn {
	appearance: none;
	background: var(--lbn-orange);
	border:0 ;
	border-radius: 2px;
	padding: 6px;
	cursor: pointer;
	color: #fff;
	transition: color 0.15s ease;
	line-height: 0;
}

.lbn-nav-v21-menu-btn:hover,
.lbn-nav-v21-menu-btn[aria-expanded="true"] { color: var(--lbn-orange-dark, var(--lbn-orange)); }

/* Drawer panel opened by the hamburger. Rendered as an absolutely-positioned
   popup anchored under the menu button (top-right of the nav row) so it floats
   over the page instead of pushing the category bar down. On desktop it exposes
   only the secondary/utility links; on mobile it also carries the primary nav
   since the inline primary is hidden below 900px. */
.lbn-nav-v21-drawer {
	position: absolute;
	top: 100%;
	right: var(--lbn-section-pad);
	z-index: 100;
	width: min(340px, calc(100vw - 24px));
	max-height: calc(100vh - 140px);
	overflow-y: auto;
	margin-top: -10px;
	border: 1px solid var(--lbn-border);
	background: var(--lbn-white);
	padding: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lbn-nav-v21-drawer[hidden] { display: none; }

.lbn-nav-v21-drawer-primary,
.lbn-nav-v21-drawer-secondary {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
}

.lbn-nav-v21-drawer-primary a:not(.lbn-nav-v21-drawer-group-label),
.lbn-nav-v21-drawer-secondary a {
	color: var(--lbn-black);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	padding: 8px 0;
	transition: color 0.15s ease;
}

.lbn-nav-v21-drawer-secondary {
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top;
	padding-top: 8px;
}

.lbn-nav-v21-drawer-secondary a {
	font-weight: 500;
	font-size: 13px;
	color: #4b5563;
}

.lbn-nav-v21-drawer-primary a:hover,
.lbn-nav-v21-drawer-secondary a:hover { color: var(--lbn-orange); }

/* The menu popup mirrors the Header Navigation menu at every breakpoint. */

/* Slide-down search panel toggled by the search icon */
.lbn-nav-v21-search-panel {
	display: flex;
	gap: 8px;
	padding: 14px var(--lbn-section-pad);
	background: var(--lbn-cream);
	border-top: 1px solid var(--lbn-border);
	max-width: none;
	margin: 0 auto;
	box-sizing: border-box;
}

.lbn-nav-v21-search-panel[hidden] { display: none; }

.lbn-nav-v21-search-panel input {
	flex: 1;
	padding: 12px 18px;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	font-family: inherit;
	font-size: 15px;
	background: var(--lbn-white);
	color: var(--lbn-black);
	outline: 0;
}

.lbn-nav-v21-search-panel input:focus {
	border-color: var(--lbn-orange);
	box-shadow: 0 0 0 3px rgba(238, 79, 0, 0.15);
}

.lbn-nav-v21-search-panel button {
	background: var(--lbn-black);
	color: var(--lbn-white);
	border: 0;
	border-radius: 999px;
	padding: 0 22px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

/* Row 2 — Orange category bar */
.lbn-category-bar-v21 {
	background:
		linear-gradient(to right, #ddd 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) top / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x,
		linear-gradient(to right, #ddd 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) bottom / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x,
		var(--lbn-orange-soft);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

.lbn-category-bar-v21::-webkit-scrollbar { display: none; }

.lbn-category-bar-v21-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: flex;
	gap: 4px;
	white-space: nowrap;
	align-items: center;
}

.lbn-category-bar-v21-inner a {
	display: inline-flex;
	align-items: center;
	padding: 10px 12px;
	color: var(--lbn-black);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.lbn-category-bar-v21-inner a:hover,
.lbn-category-bar-v21-inner a[aria-current="page"] {
	background: rgba(0, 0, 0, 0.08);
	border-bottom-color: var(--lbn-white);
}

@media (max-width: 900px) {
	.lbn-nav-row-v21-inner {
		grid-template-columns: auto 1fr auto;
		gap: 12px;
	}
	.lbn-nav-v21-primary { display: none; }
	.lbn-nav-v21-logo img { height: 50px; }
	.lbn-category-bar-v21-inner a {
		padding: 8px 10px;
		font-size: 11px;
	}
}

/* Old v2 header / ticker rules — leave in place for now; they no longer apply
   to any element on the page because the wrappers were renamed to .*-v21. */

/* ======================================================================
   V2 HEADER — live ticker + category bar (LEGACY, not used in v2.1)
   ====================================================================== */

/* Live-price ticker (row 0 of header) */
.lbn-ticker {
	position: relative;
	background: #0b0b0b;
	color: var(--lbn-white);
	padding: 6px var(--lbn-section-pad);
	overflow: hidden;
	border-bottom: 1px solid var(--lbn-dark-border);
	font-family: "Inter", "Inter", sans-serif;
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
}

/* Pin the LIVE badge — the marquee slides behind it, with a fade edge so
   items don't visually collide with the badge. */
.lbn-ticker-badge {
	position: absolute;
	left: var(--lbn-section-pad);
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #d90429;
	color: var(--lbn-white);
	padding: 3px 9px 3px 8px;
	border-radius: 3px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	font-size: 10px;
	box-shadow: 8px 0 8px -4px #0b0b0b;
}

.lbn-ticker-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lbn-white);
	animation: lbn-ticker-pulse 1.6s ease-in-out infinite;
}

@keyframes lbn-ticker-pulse {
	0%, 100% { opacity: 1; }
	50%      { opacity: 0.35; }
}

.lbn-ticker-track {
	display: flex;
	gap: 28px;
	min-width: max-content;
	padding-left: 78px; /* reserves space for the pinned LIVE badge */
	animation: lbn-ticker-scroll 45s linear infinite;
	will-change: transform;
}

.lbn-ticker:hover .lbn-ticker-track {
	animation-play-state: paused;
}

@keyframes lbn-ticker-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.lbn-ticker-item {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-weight: 500;
	color: var(--lbn-gray-light);
}

.lbn-ticker-item b {
	color: var(--lbn-white);
	font-weight: 800;
	letter-spacing: 0.5px;
}

.lbn-ticker-price {
	color: var(--lbn-white);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.lbn-ticker-chg {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--lbn-gray-light);
}

.lbn-ticker-item.is-up   .lbn-ticker-chg { color: #26c76b; }
.lbn-ticker-item.is-down .lbn-ticker-chg { color: #ff5468; }

@media (prefers-reduced-motion: reduce) {
	.lbn-ticker-track { animation: none; }
}

/* Search input in the nav row */
.lbn-header-search {
	display: flex;
	align-items: center;
	gap: 6px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	padding: 6px 14px;
	flex: 0 1 340px;
	max-width: 340px;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.lbn-header-search:focus-within {
	border-color: var(--lbn-gold);
	background: rgba(255, 255, 255, 0.09);
}

.lbn-header-search-icon {
	color: var(--lbn-gray-light);
	font-size: 15px;
	line-height: 1;
	flex: 0 0 auto;
}

.lbn-header-search input {
	background: transparent;
	border: 0;
	outline: 0;
	color: var(--lbn-white);
	font-family: inherit;
	font-size: 13px;
	width: 100%;
	padding: 0;
}

.lbn-header-search input::placeholder {
	color: var(--lbn-gray-light);
}

/* Category chip bar (row 3) */
.lbn-category-bar {
	background: #000000;
	border-top: 1px solid var(--lbn-dark-border);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

.lbn-category-bar::-webkit-scrollbar { display: none; }

.lbn-category-bar-inner {
	display: flex;
	gap: 2px;
	padding: 0 var(--lbn-section-pad);
	white-space: nowrap;
	max-width: none;
	margin: 0 auto;
}

.lbn-category-chip {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	color: var(--lbn-gray-light);
	font-family: "Inter", "Inter", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.lbn-category-chip:hover {
	color: var(--lbn-white);
	border-bottom-color: var(--lbn-gold);
}

@media (max-width: 900px) {
	.lbn-header-search { display: none; }
	.lbn-category-chip { padding: 8px 10px; font-size: 11px; letter-spacing: 0.5px; }
}

/* ======================================================================
   V2 REDESIGN — shared section-rail scaffold
   Every Figma section uses the same 240px sticky left title-rail + body.
   Individual sections layer their own grids/components on top.
   ====================================================================== */

.lbn-v2-section {
	padding: 36px 0;
	/* Between-section horizontal dashed dividers removed per design. */
}

.lbn-v2-section-inner {
	display: grid !important;
	grid-template-columns: 200px minmax(0, 1fr) !important;
	/* Gap halved (40px → 20px) so the body extends left to where the old dashed
	   rail divider used to sit. */
	gap: 20px !important;
	align-items: start;
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	position: relative;
}

/* Left title rail — bold black label per new Figma. Sticky so it holds while
   the body scrolls past. */
.lbn-v2-rail {
	position: sticky;
	top: 16px;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	padding-top: 4px;
}

/* Eyebrow deprecated in v2.1 — hide but keep the markup so we don't have to
   surgically remove it from every section right now. */
.lbn-v2-rail-eyebrow {
	display: none;
}

.lbn-v2-rail-title {
	font-family: "Inter", sans-serif;
	font-size: 22px;
	font-weight:600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
	margin: 0;
	text-transform: none;
}

/* View-all also toned down / hidden in v2.1 — new design keeps sections tight. */
.lbn-v2-rail-view-all {
	margin-top: 0;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.lbn-v2-rail-view-all a {
	color: var(--lbn-orange);
	text-decoration: none;
	border-bottom: 0;
	padding-bottom: 0;
	transition: color 0.15s ease;
}

.lbn-v2-rail-view-all a:hover {
	color: var(--lbn-orange-hover);
}

.lbn-v2-section-body {
	min-height: 40px;
}

/* ======================================================================
   V2 CARDS — shared building blocks used across every section
   ====================================================================== */

.lbn-v2-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
}

.lbn-v2-card-thumb {
	display: block;
	overflow: hidden;
	border-radius: var(--lbn-radius);
	background: var(--lbn-black);
	position: relative;
}

.lbn-v2-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.lbn-v2-card-thumb:hover img {
	transform: scale(1.03);
}

.lbn-v2-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lbn-v2-card-kicker {
	font-family: "Inter", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--lbn-gold);
	text-decoration: none;
	align-self: flex-start;
}

.lbn-v2-card-kicker:hover { color: var(--lbn-gold-light); }

.lbn-v2-card-title,
.lbn-v2-card-title-sm,
.lbn-v2-card-title-xs {
	font-family: "Inter", sans-serif;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0;
	color: var(--lbn-black);
}

.lbn-v2-card-title    { font-size: clamp(18px, 1.5vw, 22px); }
.lbn-v2-card-title-hero { font-size: clamp(28px, 2.4vw, 38px); line-height: 1.1; }
.lbn-v2-card-title-sm { font-size: 15px; line-height: 1.25; }
.lbn-v2-card-title-xs { font-size: 13px; line-height: 1.3; font-weight: 700; }

.lbn-v2-card-title a,
.lbn-v2-card-title-sm a,
.lbn-v2-card-title-xs a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-v2-card-title a:hover,
.lbn-v2-card-title-sm a:hover,
.lbn-v2-card-title-xs a:hover { color: var(--lbn-gold); }

.lbn-v2-card-excerpt {
	font-size: 14px;
	line-height: 1.55;
	color: var(--lbn-gray);
	margin: 0;
}

.lbn-v2-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	color: var(--lbn-gray);
	font-weight: 500;
}

.lbn-v2-card-author { font-weight: 700; color: var(--lbn-black); }
.lbn-v2-card-dot { color: var(--lbn-gray-light); }

.lbn-v2-card-badge {
	display: inline-block;
	background: var(--lbn-black);
	color: var(--lbn-white);
	padding: 3px 8px;
	border-radius: 2px;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	align-self: flex-start;
}

/* v2.1 — red SPONSORED overlay badge sitting on the thumb, top-left. */
.lbn-v2-card-sponsored { position: relative; }

.lbn-v2-sponsored-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--lbn-red);
	color: var(--lbn-white);
	padding: 4px 9px;
	border-radius: 2px;
	font-family: "Inter", sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	z-index: 2;
	pointer-events: none;
}

/* ======================================================================
   PRICE CHIP — inline meta row on Analysis cards + Market Pulse (v2.1)
   Moved from overlay-on-thumb to inline below the meta row.
   ====================================================================== */

.lbn-v2-price-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	background: transparent;
	color: var(--lbn-gray);
	padding: 0;
	border-radius: 0;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	margin-top: 4px;
	position: static;
}

.lbn-v2-price-chip-coin { color: var(--lbn-orange); }
.lbn-v2-price-chip-price { font-variant-numeric: tabular-nums; color: var(--lbn-black); }
.lbn-v2-price-chip-chg { font-variant-numeric: tabular-nums; font-weight: 800; }
.lbn-v2-price-chip-chg.is-up   { color: #12a150; }
.lbn-v2-price-chip-chg.is-down { color: var(--lbn-red); }

/* ======================================================================
   SECTION 1 — Editorial (hero + side stack + strip) — v2.1 layout
   ====================================================================== */

.lbn-v2-editorial-top-v21 {
	display: grid;
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 1fr);
	grid-template-areas:
		"hero  side"
		"strip side";
	gap: 40px;
	position: relative;
}

.lbn-v2-editorial-top-v21 > .lbn-v2-card-hero-v21     { grid-area: hero; }
.lbn-v2-editorial-top-v21 > .lbn-v2-editorial-strip-v21 { grid-area: strip; }
.lbn-v2-editorial-top-v21 > .lbn-v2-editorial-side-v21  { grid-area: side; }

/* Dashed vertical divider between hero and right side column. */
.lbn-v2-editorial-top-v21::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc((100% / 3.4) * 2.4);
	width: var(--lbn-dash-thick);
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	pointer-events: none;
}

.lbn-v2-card-hero-v21 {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.lbn-v2-card-hero-v21 .lbn-v2-card-thumb {
	aspect-ratio: 4/3;
	border-radius: var(--lbn-radius);
}

.lbn-v2-hero-body-v21 {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 4px;
}

/* Red live-pill kicker — "● Bitcoin News Live" */
.lbn-v2-live-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--lbn-red);
	color: var(--lbn-white);
	padding: 5px 12px;
	border-radius: 999px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-decoration: none;
	align-self: flex-start;
	transition: background 0.15s ease;
}

.lbn-v2-live-pill:hover { background: #b91c1c; color: var(--lbn-white); }

.lbn-v2-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--lbn-white);
	animation: lbn-ticker-pulse 1.8s ease-in-out infinite;
}

.lbn-v2-card-title-hero-v21 {
	font-family: "Inter", sans-serif;
	font-weight: 800;
	font-size: clamp(24px, 2.4vw, 34px);
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--lbn-black);
	margin: 0;
}

.lbn-v2-card-title-hero-v21 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-v2-card-title-hero-v21 a:hover { color: var(--lbn-orange); }

.lbn-v2-hero-excerpt-v21 {
	font-family: "Inter", sans-serif;
	font-size: 15px;
	line-height: 1.55;
	color: var(--lbn-gray);
	margin: 0;
}

.lbn-v2-hero-meta-v21 {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 500;
	color: var(--lbn-gray);
	margin-top: 4px;
}

/* Right column — two vertical cards */
.lbn-v2-editorial-side-v21 {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.lbn-v2-card-side-v21 {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lbn-v2-card-side-v21 .lbn-v2-card-thumb {
	aspect-ratio: 3/2;
	border-radius: var(--lbn-radius);
}

.lbn-v2-card-title-side-v21 {
	font-family: "Inter", sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1.25;
	color: var(--lbn-black);
	margin: 0;
}

.lbn-v2-card-title-side-v21 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-v2-card-title-side-v21 a:hover { color: var(--lbn-orange); }

.lbn-v2-side-meta-v21 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	color: var(--lbn-gray);
}

.lbn-v2-side-tag {
	color: #d81b7a;
	font-weight: 700;
	letter-spacing: 0.2px;
	text-decoration: none;
	outline: none;
}

.lbn-v2-side-meta-right {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--lbn-gray);
	font-weight: 500;
}

.lbn-v2-sparkle { color: var(--lbn-orange); font-weight: 700; }

/* 3-across image + title cards stacked below the hero in the left column */
.lbn-v2-editorial-strip-v21 {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	padding-top: 24px;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top;
}

.lbn-v2-strip-item-v21 {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lbn-v2-strip-item-v21 .lbn-v2-card-thumb {
	aspect-ratio: 16/10;
	border-radius: var(--lbn-radius);
}

.lbn-v2-strip-title-v21 {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 800;
	color: var(--lbn-black);
	margin: 0;
}

.lbn-v2-strip-title-v21 a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-v2-strip-title-v21 a:hover { color: var(--lbn-orange); }

/* Desktop (≥1101px): the whole Editorial block becomes one closed dashed grid — an
   outer frame on all four sides plus internal dividers between every cell, no gaps.
   The hero/strip/side grid drops its gaps to 0: the container paints the top + left
   frame and each cell paints its own right + bottom edges, so shared lines are drawn
   once and run corner-to-corner. Strip carries two extra verticals (between its 3
   cards) and the side one horizontal (between its 2 cards), each spanning the full
   cell. Below 1101px the base airy layout applies. */
@media (min-width: 1101px) {
	.lbn-v2-editorial-top-v21 {
		gap: 0;
		background-image: var(--lbn-dash-h), var(--lbn-dash-v);
		background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
		background-repeat: repeat-x, repeat-y;
		background-position: top left, left top;
	}
	.lbn-v2-editorial-top-v21::before { display: none; } /* main↔side line now via cell edges */

	/* Hero: bottom edge = hero↔strip divider, right edge = main↔side divider. */
	.lbn-v2-card-hero-v21 {
		padding: 24px;
		background-image: var(--lbn-dash-h), var(--lbn-dash-v);
		background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
		background-repeat: repeat-x, repeat-y;
		background-position: bottom left, right top;
	}

	/* Strip: bottom = frame, right = main↔side, plus two verticals at the card seams. */
	.lbn-v2-editorial-strip-v21 {
		gap: 0;
		padding: 24px;
		background-image: var(--lbn-dash-h), var(--lbn-dash-v), var(--lbn-dash-v), var(--lbn-dash-v);
		background-size:
			var(--lbn-dash-tile) var(--lbn-dash-thick),
			var(--lbn-dash-thick) var(--lbn-dash-tile),
			var(--lbn-dash-thick) var(--lbn-dash-tile),
			var(--lbn-dash-thick) var(--lbn-dash-tile);
		background-repeat: repeat-x, repeat-y, repeat-y, repeat-y;
		background-position:
			bottom left,
			right top,
			calc(24px + (100% - 48px) / 3) top,
			calc(24px + (100% - 48px) / 3 * 2) top;
	}
	.lbn-v2-strip-item-v21:not(:first-child) { padding-left: 16px; }
	.lbn-v2-strip-item-v21:not(:last-child)  { padding-right: 16px; }

	/* Side: right + bottom = frame; the two cards carry the horizontal seam full-width. */
	.lbn-v2-editorial-side-v21 {
		gap: 0;
		padding: 0;
		background-image: var(--lbn-dash-v), var(--lbn-dash-h);
		background-size: var(--lbn-dash-thick) var(--lbn-dash-tile), var(--lbn-dash-tile) var(--lbn-dash-thick);
		background-repeat: repeat-y, repeat-x;
		background-position: right top, bottom left;
	}
	.lbn-v2-card-side-v21 { padding: 24px; }
	.lbn-v2-card-side-v21:not(:last-child) {
		background-image: var(--lbn-dash-h);
		background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
		background-repeat: repeat-x;
		background-position: bottom left;
	}
}

/* ======================================================================
   SECTION 1.5 — Latest News (filterable image-card row, v2.2)
   ====================================================================== */

.lbn-ln-filterbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	margin-bottom: 20px;
}

.lbn-ln-pill {
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	padding: 7px 14px;
	border-radius: 999px;
	border: 1px solid var(--lbn-border);
	background: var(--lbn-white);
	color: var(--lbn-black);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lbn-ln-pill:hover { border-color: var(--lbn-gray-light); }

.lbn-ln-pill.is-active {
	background: var(--lbn-orange);
	border-color: var(--lbn-orange);
	color: var(--lbn-white);
}

.lbn-ln-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	/* Container paints the top + left frame; each card paints its right + bottom.
	   Every internal line is drawn exactly once — no doubled/repeated dashes. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: top left, left top;
}

.lbn-ln-card {
	gap: 10px;
	padding: 18px 20px;
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}
.lbn-ln-card[hidden] { display: none; }

.lbn-ln-thumb-wrap { position: relative; }
.lbn-ln-thumb-wrap .lbn-v2-card-thumb { aspect-ratio: 16 / 10; }

.lbn-ln-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--lbn-white);
	color: var(--lbn-black);
	padding: 4px 11px;
	border-radius: 999px;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
	z-index: 2;
}

.lbn-ln-badge:hover { color: var(--lbn-orange); }

/* Shared author + timestamp meta row with avatar (Latest News + Analysis). */
.lbn-ln-meta {
	display: flex;
	align-items: center;
	gap: 7px;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	color: var(--lbn-gray);
	margin-top: auto;
}

.lbn-ln-avatar {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.lbn-ln-author {
	font-weight: 600;
	color: #1652f0;
	text-decoration: none;
}

.lbn-ln-author:hover { text-decoration: underline; }

.lbn-ln-ago {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.lbn-ln-ago .lbn-v2-sparkle { color: var(--lbn-orange); }

/* ======================================================================
   SECTION 2 — Analysis (2 featured + 3 secondary bordered cards, v2.2)
   ====================================================================== */

.lbn-v2-analysis-featured {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	margin-bottom: 22px;
}

.lbn-v2-analysis-secondary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.lbn-v2-card-analysis {
	/* Dashed newspaper-grid border drawn with the theme's shared dash gradients
	   (matches .lbn-art-ad / section dividers) rather than a solid border. */
	background-color: var(--lbn-white);
	background-image: var(--lbn-dash-h), var(--lbn-dash-h), var(--lbn-dash-v), var(--lbn-dash-v);
	background-size:
		var(--lbn-dash-tile) var(--lbn-dash-thick),
		var(--lbn-dash-tile) var(--lbn-dash-thick),
		var(--lbn-dash-thick) var(--lbn-dash-tile),
		var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
	background-position: top left, bottom left, left top, right top;
	border: 0;
	border-radius: 0;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lbn-v2-card-analysis .lbn-v2-price-chip { margin: 0; }

/* Ad slot — centered banner between Analysis and Opinion. */
.lbn-v2-ad-slot {
	padding: 10px 0 6px;
}

.lbn-v2-ad-slot-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	text-align: center;
}

.lbn-v2-ad-label {
	display: block;
	margin-bottom: 8px;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--lbn-gray-light);
}

.lbn-v2-ad-box {
	max-width: 728px;
	height: 110px;
	margin: 0 auto;
	background-color: #e9e9e9;
	border-radius: 2px;
}

.lbn-v2-price-chip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--lbn-orange);
	color: var(--lbn-white);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	align-self: center;
}

.lbn-v2-analysis-title {
	font-family: "Inter", sans-serif;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
	margin: 0;
	color: var(--lbn-black);
}

.lbn-v2-card-analysis.is-large .lbn-v2-analysis-title { font-size: 20px; }
.lbn-v2-card-analysis.is-small .lbn-v2-analysis-title { font-size: 15px; }

.lbn-v2-analysis-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-v2-analysis-title a:hover { color: var(--lbn-orange); }

.lbn-v2-analysis-excerpt {
	font-size: 13px;
	line-height: 1.55;
	color: var(--lbn-gray);
	margin: 0;
}

@media (max-width: 1024px) {
	/* Analysis secondary stays 3-up below 1000px (a 2-col wrap left an ugly
	   2-on-top + 1-on-bottom); it drops straight to 1 col at ≤600px. */
	.lbn-ln-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.lbn-ln-filterbar { justify-content: flex-start; }
	.lbn-ln-grid,
	.lbn-v2-analysis-featured,
	.lbn-v2-analysis-secondary { grid-template-columns: 1fr; }
}

/* ======================================================================
   SECTION 3 — Opinion
   ====================================================================== */

.lbn-v2-opinion-big {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
}

.lbn-v2-card-opinion-big {
	background: transparent;
	padding: 0;
	border-radius: 0;
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.lbn-v2-card-opinion-big .lbn-v2-card-thumb {
	aspect-ratio: 1;
	border-radius: 999px;
	overflow: hidden;
}

.lbn-v2-quote-mark {
	font-family: "Inter", sans-serif;
	font-size: 56px;
	line-height: 0.6;
	color: var(--lbn-gold);
	font-weight: 900;
}

.lbn-v2-card-title-quote {
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-weight: 400 !important;
	font-size: clamp(18px, 1.6vw, 24px) !important;
	line-height: 1.35;
	letter-spacing: 0 !important;
}

.lbn-v2-card-byline {
	font-family: "Inter", sans-serif;
	font-size: 12px;
	color: var(--lbn-gray);
	margin: 0;
	font-weight: 600;
}

.lbn-v2-opinion-mini {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid var(--lbn-border);
}

.lbn-v2-card-opinion-mini {
	padding-left: 12px;
	border-left: 3px solid var(--lbn-gold);
}

/* ======================================================================
   SECTION 4 — Sponsored
   ====================================================================== */

/* Sponsored — 2 large "Featured" cards + 4 mini cards in one connected dashed
   grid (2 large span both rows on the left; 4 mini fill a 2x2 on the right). */
.lbn-v2-sp-grid {
	display: grid;
	/* Two large cards take 60% (30% each); the 2x2 minis share the other 40%. */
	grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 2fr) minmax(0, 2fr);
	grid-auto-rows: 1fr;
	gap: 0;
	background-image:    var(--lbn-dash-box-image);
	background-size:     var(--lbn-dash-box-size);
	background-repeat:   var(--lbn-dash-box-repeat);
	background-position: var(--lbn-dash-box-position);
}
.lbn-v2-sp-card {
	display: flex;
	flex-direction: column;
	gap: 11px;
	min-width: 0;
	padding: 18px 20px;
	background-color: transparent;
	/* Each cell paints its right + bottom dash; the grid paints top + left. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}
.lbn-v2-sp-card-lg { grid-row: span 2; }

.lbn-v2-sp-thumb {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 4px;
	background: #ececec;
}
.lbn-v2-sp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbn-v2-sp-thumb .lbn-placeholder-img { object-fit: contain; padding: 20px; }
.lbn-v2-sp-pill {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #fff;
	color: var(--lbn-black);
	font-size: 12px;
	font-weight: 500;
	padding: 4px 12px;
	border-radius: 999px;
}
.lbn-v2-sp-title { margin: 0; letter-spacing: -0.01em; line-height: 1.3; }
.lbn-v2-sp-title a { color: var(--lbn-black); text-decoration: none; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.lbn-v2-sp-title a:hover { color: var(--lbn-orange); }
.lbn-v2-sp-card-lg .lbn-v2-sp-title { font-size: 20px; font-weight: 700; }
.lbn-v2-sp-card-lg .lbn-v2-sp-title a { -webkit-line-clamp: 3; }
.lbn-v2-sp-card-sm .lbn-v2-sp-title { font-size: 15px; font-weight: 700; }
.lbn-v2-sp-card-sm .lbn-v2-sp-title a { -webkit-line-clamp: 2; }
.lbn-v2-sp-excerpt {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--lbn-gray);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.lbn-v2-sp-foot {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
}
.lbn-v2-sp-source { color: var(--lbn-orange); font-weight: 700; text-decoration: none; }
.lbn-v2-sp-source:hover { text-decoration: underline; }
.lbn-v2-sp-time { color: var(--lbn-gray); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.lbn-v2-sp-time .lbn-v2-sparkle { color: var(--lbn-orange); }

@media (max-width: 900px) {
	.lbn-v2-sp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lbn-v2-sp-card-lg { grid-row: auto; }
}
@media (max-width: 600px) {
	.lbn-v2-sp-grid { grid-template-columns: 1fr; }
}

.lbn-v2-card-list {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--lbn-border);
}

.lbn-v2-card-list:last-child { border-bottom: 0; }

/* ======================================================================
   SECTION 5 — Deep Dives
   ====================================================================== */

.lbn-v2-deep-dives-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* ======================================================================
   SECTION 6 — Your Feed
   ====================================================================== */

.lbn-v2-feed-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.lbn-v2-feed-tabs button {
	appearance: none;
	background: transparent;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	padding: 8px 16px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--lbn-black);
	cursor: pointer;
	transition: all 0.15s ease;
}

.lbn-v2-feed-tabs button:hover {
	background: var(--lbn-orange-soft);
	border-color: var(--lbn-orange);
	color: var(--lbn-orange);
}

.lbn-v2-feed-tabs button[aria-selected="true"] {
	background: var(--lbn-black);
	color: var(--lbn-white);
	border-color: var(--lbn-black);
}

.lbn-v2-feed-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	/* Connected dashed grid: container paints top + left, each card right + bottom,
	   so the 8 cards read as one fully-enclosed grid with no gaps. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: top left, left top;
}

.lbn-v2-card-feed {
	padding: 18px 20px;
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}

/* Logged-out prompt above the feed. */
.lbn-v2-feed-login-notice {
	margin: 0 0 16px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	color: var(--lbn-gray);
}

.lbn-v2-feed-login-notice a {
	color: var(--lbn-orange);
	font-weight: 700;
	text-decoration: none;
}

.lbn-v2-feed-login-notice a:hover { text-decoration: underline; }

/* ======================================================================
   SECTION 7 — Most Viewed
   ====================================================================== */

.lbn-v2-most-viewed-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	/* Close the top + left edges of the dashed grid frame with the theme dash tiles. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: top left, left top;
}

.lbn-v2-card-ranked {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 20px 24px;
	/* Each cell paints its right + bottom edge; the container supplies top + left.
	   Shared edges align without doubling, and it holds at any column count. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}

.lbn-v2-rank-number {
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-size: 40px;
	line-height: 1;
	color: var(--lbn-gold);
	font-variant-numeric: tabular-nums;
}

/* ======================================================================
   SECTION 8 — Market Pulse
   ====================================================================== */

.lbn-v2-market-pulse-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	/* Connected dashed grid: container paints top + left, panels right + bottom. */
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: top left, left top;
}

.lbn-v2-mp-panel {
	background: transparent;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}

.lbn-v2-mp-panel-title {
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--lbn-black);
	margin: 0 0 4px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--lbn-gold);
}

.lbn-v2-mp-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.lbn-v2-mp-row b { font-weight: 800; }

/* Fear & Greed gauge */
.lbn-v2-mp-gauge {
	position: relative;
	margin-top: auto;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.lbn-v2-gauge-svg {
	width: 100%;
	max-width: 160px;
	height: auto;
}

.lbn-v2-gauge-readout {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
	pointer-events: none;
}

.lbn-v2-gauge-readout b {
	font-family: "Inter", sans-serif;
	font-weight: 900;
	font-size: 26px;
	color: var(--lbn-black);
	font-variant-numeric: tabular-nums;
}

.lbn-v2-gauge-readout span {
	margin-top: 3px;
	font-family: "Inter", sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #686868;
}

.lbn-v2-mp-spark { justify-content: space-between; }

.lbn-v2-spark-svg {
	width: 100%;
	height: 60px;
}

.lbn-v2-spark-caption {
	display: flex;
	justify-content: space-between;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.lbn-v2-spark-caption b { font-weight: 800; font-size: 14px; }

/* ======================================================================
   Category pill row
   ====================================================================== */

.lbn-v2-pill-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lbn-v2-pill {
	display: inline-block;
	padding: 8px 16px;
	background: transparent;
	border: 1px solid var(--lbn-black);
	border-radius: 999px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--lbn-black);
	text-decoration: none;
	transition: all 0.15s ease;
}

.lbn-v2-pill:hover {
	background: var(--lbn-black);
	color: var(--lbn-white);
}

/* ======================================================================
   SECTION 9 — Academy
   ====================================================================== */

.lbn-v2-academy-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px 28px;
}

/* ======================================================================
   Connected dashed grids — Analysis · Opinion · Deep Dives · Academy.
   Same treatment as Latest News: gap:0, the container paints the top + left
   frame and each card paints its right + bottom, so every internal line is
   drawn once and the block is fully enclosed with no gaps.
   ====================================================================== */
.lbn-v2-analysis-featured,
.lbn-v2-analysis-secondary,
.lbn-v2-opinion-big,
.lbn-v2-opinion-mini,
.lbn-v2-deep-dives-grid,
.lbn-v2-academy-grid {
	gap: 0;
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: top left, left top;
}

.lbn-v2-card-analysis,
.lbn-v2-card-opinion-big,
.lbn-v2-card-opinion-mini,
.lbn-v2-card-deep-dive,
.lbn-v2-card-academy {
	padding: 18px 20px; /* match the Your Feed cells exactly */
	/* Transparent (like the Your Feed cells) so the container's top + left frame
	   shows through — a white fill here hides the top row's top border. Explicit
	   `transparent` overrides .lbn-v2-card-analysis's own white background. */
	background-color: transparent;
	background-image: var(--lbn-dash-h), var(--lbn-dash-v);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-x, repeat-y;
	background-position: bottom left, right top;
}

/* Opinion: merge the 2-up "big" row and 4-up "mini" row into one enclosed block
   (like Analysis). Drop the old solid top rule + gold accent, remove the gap so the
   big row's bottom border becomes the divider, and paint only the mini's left edge. */
.lbn-v2-opinion-mini {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left top;
}
.lbn-v2-card-opinion-mini {
	border-left: 0;
}

/* Analysis: merge the featured (2-up) and secondary (3-up) rows into one enclosed
   block. Drop the gap so the featured cards' bottom border becomes the row divider,
   and have the secondary paint only its left edge (no top) so nothing doubles up. */
.lbn-v2-analysis-featured {
	margin-bottom: 0;
}
.lbn-v2-analysis-secondary {
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left top;
}

.lbn-v2-academy-meta {
	margin-top: 4px;
}

.lbn-v2-academy-read {
	color: var(--lbn-gold);
	font-weight: 700;
}

/* ======================================================================
   SECTION 10 — Comic Strip + Tip us off
   ====================================================================== */

.lbn-v2-comic-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.lbn-v2-comic-empty {
	background:
		linear-gradient(to right,  var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) top    left / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x,
		linear-gradient(to right,  var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) bottom left / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x,
		linear-gradient(to bottom, var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) top left  / var(--lbn-dash-thick) var(--lbn-dash-tile) repeat-y,
		linear-gradient(to bottom, var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) top right / var(--lbn-dash-thick) var(--lbn-dash-tile) repeat-y;
	border-radius: var(--lbn-radius);
	aspect-ratio: 3/2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.lbn-v2-comic-empty-inner {
	text-align: center;
	color: var(--lbn-gray);
	font-family: "Inter", sans-serif;
}

.lbn-v2-comic-empty-inner span { font-size: 48px; display: block; margin-bottom: 8px; }
.lbn-v2-comic-empty-inner p { margin: 0; font-weight: 500; }

.lbn-v2-tipoff {
	margin-top: 28px;
	padding: 22px 26px;
	border: 1px solid var(--lbn-border);
	border-radius: var(--lbn-radius);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: var(--lbn-white);
}

.lbn-v2-tipoff h4 {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 4px;
}

.lbn-v2-tipoff p { margin: 0; font-size: 13px; color: var(--lbn-gray); }

.lbn-v2-tipoff-cta {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3px;
	background: var(--lbn-orange);
	color: var(--lbn-white);
	padding: 10px 22px;
	border-radius: 999px;
	text-decoration: none;
	flex-shrink: 0;
	transition: background 0.15s ease;
}

.lbn-v2-tipoff-cta:hover { background: var(--lbn-orange-hover); color: var(--lbn-white); }

/* ======================================================================
   SECTION 11 — Explore More
   ====================================================================== */

.lbn-v2-explore-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lbn-v2-explore-chip {
	background: transparent;
	color: var(--lbn-black);
	padding: 6px 14px;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	text-decoration: none;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 600;
	transition: all 0.15s ease;
}

.lbn-v2-explore-chip:hover {
	background: var(--lbn-black);
	color: var(--lbn-white);
}

/* ======================================================================
   Responsive — sections collapse together at the same breakpoints as .lbn-v2-section-inner
   ====================================================================== */

@media (max-width: 1180px) {
	.lbn-v2-analysis-grid,
	.lbn-v2-feed-grid,
	.lbn-v2-most-viewed-grid,
	.lbn-v2-academy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lbn-v2-editorial-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lbn-v2-market-pulse-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.lbn-v2-editorial-top,
	.lbn-v2-sponsored-grid,
	.lbn-v2-opinion-big,
	.lbn-v2-deep-dives-grid,
	.lbn-v2-comic-grid,
	.lbn-v2-market-pulse-grid,
	.lbn-v2-opinion-mini,
	.lbn-v2-analysis-grid,
	.lbn-v2-feed-grid,
	.lbn-v2-most-viewed-grid,
	.lbn-v2-academy-grid,
	.lbn-v2-editorial-strip { grid-template-columns: 1fr; }
	.lbn-v2-analysis-grid,
	.lbn-v2-feed-grid,
	.lbn-v2-most-viewed-grid,
	.lbn-v2-academy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lbn-v2-card-opinion-big { grid-template-columns: 1fr; }
	.lbn-v2-card-opinion-big .lbn-v2-card-thumb { max-width: 120px; }
	.lbn-v2-tipoff { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px) {
	.lbn-v2-analysis-grid,
	.lbn-v2-feed-grid,
	.lbn-v2-most-viewed-grid,
	.lbn-v2-academy-grid,
	.lbn-v2-opinion-mini { grid-template-columns: 1fr; }
}

/* Below 1000px: drop the sticky rail entirely and give the body the full width. */
@media (max-width: 999px) {
	.lbn-v2-section-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 20px !important;
	}
	.lbn-v2-rail { display: none !important; }
}

/* ======================================================================
   V2.1 RESPONSIVE — new -v21 selectors (Editorial hero/side/strip + footer)
   ====================================================================== */

@media (max-width: 1100px) {
	.lbn-v2-editorial-top-v21 {
		grid-template-columns: 1fr;
		grid-template-areas:
			"hero"
			"strip"
			"side";
		gap: 28px;
	}
	.lbn-v2-editorial-top-v21::before,
	.lbn-v2-strip-item-v21:not(:last-child)::after,
	.lbn-v2-card-side-v21:not(:last-child)::after { display: none; }
	.lbn-v2-card-hero-v21 { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.lbn-v2-editorial-side-v21 { flex-direction: row; }
	.lbn-v2-card-side-v21 { flex: 1 1 0; min-width: 0; }
	.lbn-v2-editorial-strip-v21 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.lbn-v2-editorial-side-v21 { flex-direction: column; }
	.lbn-v2-editorial-strip-v21 { grid-template-columns: 1fr; }
	.lbn-v2-card-title-hero-v21 { font-size: 22px; }
	.lbn-v2-hero-excerpt-v21 { font-size: 14px; }
	.lbn-v2-card-title-side-v21 { font-size: 16px; }
}

/* --- v2.1 header --- */
@media (max-width: 900px) {
	.lbn-nav-row-v21-inner { grid-template-columns: 1fr auto; gap: 12px; }
	.lbn-nav-v21-primary { display: none; }
	.lbn-nav-v21-logo img { height: 50px; }
	.lbn-ticker-v21 { font-size: 10px; }
	.lbn-ticker-v21-track { gap: 22px; }
	.lbn-category-bar-v21-inner a {
		padding: 8px 10px;
		font-size: 11px;
		letter-spacing: 0.2px;
	}
	.lbn-nav-v21-search-panel {
		padding: 12px 16px;
	}
}

@media (max-width: 480px) {
	.lbn-nav-v21-search-btn svg,
	.lbn-nav-v21-menu-btn svg { width: 18px; height: 18px; }
	.lbn-nav-row-v21-left { gap: 8px; }
	.lbn-nav-row-v21-right { gap: 8px; }
}

/* --- v2.1 footer --- */
@media (max-width: 1100px) {
	.lbn-footer-v21-main-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.lbn-footer-v21-brand { max-width: none; }
	.lbn-footer-v21-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.lbn-footer-v21-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lbn-footer-v21-cats-inner {
		gap: 14px;
		padding: 0 16px;
	}
	.lbn-footer-v21-cats-inner a {
		font-size: 11px;
		padding: 10px 0;
	}
	.lbn-footer-v21-legal-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
}

@media (max-width: 380px) {
	.lbn-footer-v21-cols { grid-template-columns: 1fr; }
}

/* ======================================================================
   V2.1 FOOTER — light chrome, 6-col link grid, newsletter CTA
   ====================================================================== */

.lbn-footer-v21 {
	background-color: var(--lbn-white);
	color: var(--lbn-black);
	font-family: "Inter", "Inter", sans-serif;
	/* Custom spaced-dash top divider (same system as the header) — not a solid border. */
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}

/* Row 1 — Category strip on white */
.lbn-footer-v21-cats {
	/* Single dashed rule beneath the category row — the row below it (primary
	   nav) carries its own bottom rule, so a top rule here would double up. */
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: bottom left;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

/* Row 1.5 — primary nav repeated from the header (News · Opinions · …). */
.lbn-footer-v21-primary {
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: bottom left;
}

.lbn-footer-v21-primary-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}

/* Parent tabs are <button>s (pure toggles) matching the header nav. */
.lbn-footer-v21-tab {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	color: var(--lbn-black);
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.2px;
	padding: 18px 28px;
	border-bottom: 2px solid transparent;
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left center;
	transition: color 0.15s ease, border-color 0.15s ease;
}

/* Trailing edge divider so the last cell is framed like the mockup. */
.lbn-footer-v21-tab:last-child {
	background-image: var(--lbn-dash-v), var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile), var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y, repeat-y;
	background-position: left center, right center;
}

.lbn-footer-v21-tab:hover,
.lbn-footer-v21-tab.is-active {
	color: var(--lbn-orange);
	border-bottom-color: var(--lbn-orange);
}

/* Only the active parent's child group shows. */
.lbn-footer-v21-nav-group[hidden] { display: none; }

.lbn-footer-v21-cats::-webkit-scrollbar { display: none; }

.lbn-footer-v21-cats-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: flex;
	gap: 20px;
	white-space: nowrap;
}

.lbn-footer-v21-cats-inner a {
	padding: 14px 0;
	color: var(--lbn-black);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.lbn-footer-v21-cats-inner a:hover {
	color: var(--lbn-orange);
	border-bottom-color: var(--lbn-orange);
}

/* Row 2 — main grid */
.lbn-footer-v21-main {
	padding: 44px 0 32px;
}

.lbn-footer-v21-main-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: grid;
	grid-template-columns: 1.1fr 2.4fr 1.2fr;
	gap: 48px;
	align-items: start;
}

.lbn-footer-v21-brand {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 340px;
}

.lbn-footer-v21-logo img {
	max-width: 120px;
	height: auto;
	display: block;
}

.lbn-footer-v21-tagline {
	font-size: 14px;
	line-height: 1.6;
	color: var(--lbn-black);
	margin: 0;
	font-weight: 500;
}

.lbn-footer-v21-newsletter-cta {
	align-self: flex-start;
	background: var(--lbn-orange);
	color: var(--lbn-white);
	padding: 12px 22px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.lbn-footer-v21-newsletter-cta:hover {
	background: var(--lbn-orange-hover);
	transform: translateY(-1px);
}

.lbn-footer-v21-cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 20px;
}

/* Support CTA + socials — right column, matching the Figma footer. */
.lbn-footer-v21-support {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lbn-footer-v21-support-title {
	font-family: "Inter", sans-serif;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--lbn-orange);
	margin: 0;
}

.lbn-footer-v21-support-copy {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--lbn-black);
	font-weight: 500;
}

.lbn-footer-v21-support-cta {
	align-self: flex-start;
	background: var(--lbn-orange);
	color: var(--lbn-white);
	padding: 11px 20px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.3px;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}

.lbn-footer-v21-support-cta:hover {
	background: var(--lbn-orange-hover);
	transform: translateY(-1px);
}

.lbn-footer-v21-socials {
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.lbn-footer-v21-socials a {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	text-decoration: none;
	font-size: 13px;
	transition: color 0.15s ease;
}

.lbn-footer-v21-social-label { color: var(--lbn-black); font-weight: 600; }
.lbn-footer-v21-social-handle { color: var(--lbn-gray); }

.lbn-footer-v21-socials a:hover .lbn-footer-v21-social-label,
.lbn-footer-v21-socials a:hover .lbn-footer-v21-social-handle {
	color: var(--lbn-orange);
}

.lbn-footer-v21-col h4 {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.5px;
	color: var(--lbn-black);
	margin: 0 0 12px;
}

.lbn-footer-v21-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lbn-footer-v21-col a {
	color: var(--lbn-gray);
	font-size: 13px;
	line-height: 1.45;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-footer-v21-col a:hover {
	color: var(--lbn-orange);
}

/* Row 3 — legal */
.lbn-footer-v21-legal {
	background: var(--lbn-white);
	border-top: 1px solid var(--lbn-border);
	padding: 18px 0;
}

.lbn-footer-v21-legal-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	align-items: center;
	font-size: 12px;
	color: var(--lbn-gray);
}

.lbn-footer-v21-legal-inner a {
	color: var(--lbn-gray);
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-footer-v21-legal-inner a:hover {
	color: var(--lbn-orange);
}

.lbn-footer-v21-legal-sep {
	color: var(--lbn-gray-light);
}

@media (max-width: 1100px) {
	.lbn-footer-v21-main-inner { grid-template-columns: 1fr; gap: 32px; }
	.lbn-footer-v21-brand { max-width: none; }
	.lbn-footer-v21-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.lbn-footer-v21-primary-inner { justify-content: flex-start; }
	.lbn-footer-v21-tab { font-size: 16px; padding: 14px 18px; }
}

@media (max-width: 640px) {
	.lbn-footer-v21-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lbn-footer-v21-cats-inner { gap: 14px; }
	.lbn-footer-v21-cats-inner a { font-size: 11px; }
	.lbn-footer-v21-tab { font-size: 14px; padding: 12px 14px; }
}

/* ======================================================================
   V2 FOOTER (LEGACY, unused in v2.1) — kept until cleanup
   ====================================================================== */

.lbn-footer-categories {
	border-bottom: 1px solid var(--lbn-dark-border);
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}
.lbn-footer-categories::-webkit-scrollbar { display: none; }

.lbn-footer-categories-inner {
	display: flex;
	gap: 2px;
	padding: 0 var(--lbn-section-pad);
	white-space: nowrap;
	max-width: none;
	margin: 0 auto;
}

.lbn-footer-categories-inner a {
	display: inline-flex;
	align-items: center;
	padding: 14px 16px;
	color: var(--lbn-gray-light);
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.lbn-footer-categories-inner a:hover {
	color: var(--lbn-white);
	border-bottom-color: var(--lbn-gold);
}

.lbn-footer-sections {
	background: #000;
	border-bottom: 1px solid var(--lbn-dark-border);
}

.lbn-footer-sections-inner {
	max-width: none;
	margin: 0 auto;
	padding: 14px var(--lbn-section-pad);
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
}

.lbn-footer-sections-inner a {
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--lbn-white);
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-footer-sections-inner a:hover { color: var(--lbn-gold); }

.lbn-footer-main {
	padding: 56px 0 40px;
}

.lbn-footer-main-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: grid;
	grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
	gap: 40px;
}

.lbn-footer-logo-lockup {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 360px;
}

.lbn-footer-logo-link img {
	max-width: 220px;
	width: 100%;
	height: auto;
}

.lbn-footer-tagline {
	color: var(--lbn-gray-light);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.lbn-footer-col-title {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--lbn-white);
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--lbn-gold);
	align-self: flex-start;
	display: inline-block;
}

.lbn-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.lbn-footer-col a {
	color: var(--lbn-gray-light);
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-footer-col a:hover { color: var(--lbn-white); }

.lbn-footer-legal {
	background: #000;
	border-top: 1px solid var(--lbn-dark-border);
	padding: 20px 0;
}

.lbn-footer-legal-inner {
	max-width: none;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	align-items: center;
}

.lbn-footer-legal .lbn-disclaimer {
	max-width: 640px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--lbn-gray-light);
	margin: 0;
}

.lbn-footer-copyright {
	display: flex;
	gap: 16px;
	align-items: center;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	color: var(--lbn-gray-light);
	flex-wrap: wrap;
}

.lbn-footer-copyright a {
	color: var(--lbn-gray-light);
	text-decoration: none;
	transition: color 0.15s ease;
}

.lbn-footer-copyright a:hover { color: var(--lbn-white); }

@media (max-width: 1100px) {
	.lbn-footer-main-inner {
		grid-template-columns: 1.5fr 1fr 1fr;
		gap: 32px;
	}
	.lbn-footer-logo-lockup { grid-column: 1 / -1; max-width: 100%; }
}

@media (max-width: 640px) {
	.lbn-footer-main-inner { grid-template-columns: 1fr 1fr; }
	.lbn-footer-sections-inner { gap: 20px; }
	.lbn-footer-sections-inner a { font-size: 12px; }
	.lbn-footer-legal-inner { flex-direction: column; align-items: flex-start; }
}

/* ======================
   PRINT
   ====================== */

@media print {
	.wp-block-social-links,
	.wp-block-search,
	.wp-block-navigation,
	.lbn-topbar {
		display: none !important;
	}
}

/* ======================================================================
   V2 SINGLE / ARTICLE PAGE — three-column Figma redesign
   Left rail (author + live feed) · main body · right rail (sentiment/poll)
   Prefix: .lbn-art-
   ====================================================================== */

.lbn-art-wrap {
	background: var(--lbn-white);
	color: var(--lbn-black);
	font-family: "Inter", sans-serif;
}

/* --- Breadcrumb strip --- */
.lbn-art-breadcrumb-strip {
	border-bottom: var(--lbn-dash-thick) solid transparent;
	background:
		linear-gradient(to right, var(--lbn-dash-color) 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%) bottom / var(--lbn-dash-tile) var(--lbn-dash-thick) repeat-x;
	padding: 11px var(--lbn-section-pad);
}
.lbn-art-breadcrumb {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: var(--lbn-gray);
	flex-wrap: wrap;
}
.lbn-art-breadcrumb a { color: var(--lbn-gray); text-decoration: none; }
.lbn-art-breadcrumb a:hover { color: var(--lbn-orange); }
.lbn-art-bc-sep { color: var(--lbn-gray-light); }
.lbn-art-bc-current { color: var(--lbn-black); font-weight: 600; }

/* --- Three-column grid shell --- */
.lbn-art-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 28px var(--lbn-section-pad) 56px;
	display: grid;
	grid-template-columns: 236px minmax(0, 1fr) 324px;
	gap: 36px;
	align-items: start;
}
.lbn-art-left,
.lbn-art-right {
	position: sticky;
	top: 16px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	font-size: 13px;
}
.lbn-art-main {
	min-width: 0;
	padding: 0 34px;
	/* Vertical column dividers — same dashed style as the header. */
	background-image: var(--lbn-dash-v), var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y, repeat-y;
	background-position: left top, right top;
}

/* Shared widget labels/titles */
.lbn-art-widget-label {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: var(--lbn-gray);
}
.lbn-art-widget-title {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-art-widget { border-top: 1px solid var(--lbn-border); padding-top: 18px; }

/* --- LEFT: meta line --- */
.lbn-art-metaline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	font-size: 12px;
	color: var(--lbn-gray);
}
.lbn-art-cat-pill {
	color: var(--lbn-orange);
	font-weight: 700;
	text-decoration: none;
}
.lbn-art-cat-pill:hover { color: var(--lbn-orange-hover); }
.lbn-art-readtime { position: relative; padding-left: 10px; }
.lbn-art-readtime::before { content: "•"; position: absolute; left: 0; color: var(--lbn-gray-light); }
.lbn-art-ago { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; }
.lbn-art-ago svg { color: var(--lbn-gray-light); }

/* --- LEFT: author card --- */
.lbn-art-authcard-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.lbn-art-authcard-avatar img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; display: block; }
.lbn-art-authcard-name { display: block; font-size: 15px; font-weight: 800; color: var(--lbn-black); text-decoration: none; line-height: 1.2; }
.lbn-art-authcard-name:hover { color: var(--lbn-orange); }
.lbn-art-authcard-role { font-size: 12px; color: var(--lbn-gray); }
.lbn-art-authcard-bio { margin: 0 0 8px; font-size: 12.5px; line-height: 1.5; color: var(--lbn-gray); }
.lbn-art-authcard-handle { font-size: 12px; color: var(--lbn-orange); text-decoration: none; font-weight: 600; }
.lbn-art-authcard-edited { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--lbn-border); font-size: 12px; color: var(--lbn-gray); }
.lbn-art-authcard-edited strong { color: var(--lbn-black); font-weight: 700; }
.lbn-art-authcard-edited strong a { color: inherit; text-decoration: none; }
.lbn-art-authcard-edited strong a:hover { color: var(--lbn-orange); }
.lbn-art-authcard-edited span { color: var(--lbn-orange); }

/* --- LEFT: mini stats --- */
.lbn-art-mini-stats { display: flex; flex-direction: column; gap: 9px; font-size: 12.5px; color: var(--lbn-gray); }
.lbn-art-reading-now { display: inline-flex; align-items: center; gap: 6px; }
.lbn-art-reading-now svg { color: var(--lbn-gray-light); }
.lbn-art-reading-now strong { color: var(--lbn-black); }
.lbn-art-google { display: inline-flex; align-items: center; gap: 6px; color: var(--lbn-gray); text-decoration: none; }
.lbn-art-google:hover { color: var(--lbn-black); }
.lbn-art-g { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: var(--lbn-orange); color: #fff; font-size: 11px; font-weight: 800; }

/* --- LEFT: share --- */
.lbn-art-share-row { display: flex; gap: 8px; flex-wrap: wrap; }
.lbn-art-share-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--lbn-orange); color: #fff;
	transition: background 0.15s ease, transform 0.15s ease;
}
.lbn-art-share-btn:hover { background: var(--lbn-orange-hover); transform: translateY(-2px); }

/* --- LEFT: live feed --- */
.lbn-art-livefeed-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.lbn-art-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lbn-red); flex: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--lbn-red) 20%, transparent); animation: lbn-art-pulse 1.8s ease-in-out infinite; }
@keyframes lbn-art-pulse { 50% { box-shadow: 0 0 0 5px transparent; } }
.lbn-art-livefeed-head .lbn-art-widget-title { margin: 0; }
.lbn-art-livefeed-date { margin-left: auto; font-size: 11px; color: var(--lbn-gray-light); }
.lbn-art-livefeed-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.lbn-art-livefeed-item { display: flex; gap: 10px; padding: 9px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-art-livefeed-item:last-child { background-image: none; }
.lbn-art-livefeed-time { flex: none; font-size: 12px; font-weight: 700; color: var(--lbn-orange); font-variant-numeric: tabular-nums; }
.lbn-art-livefeed-item a { font-size: 12.5px; line-height: 1.4; color: var(--lbn-black); text-decoration: none; }
.lbn-art-livefeed-item a:hover { color: var(--lbn-orange); }

/* --- LEFT: topic lists --- */
.lbn-art-topic-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lbn-art-topic-list a { font-size: 13px; color: var(--lbn-gray); text-decoration: none; line-height: 1.35; }
.lbn-art-topic-list a:hover { color: var(--lbn-orange); }
.lbn-art-topic-list a.is-active { color: var(--lbn-orange); font-weight: 700; }

/* --- LEFT: promo card --- */
.lbn-art-promo { display: block; text-decoration: none; border-radius: var(--lbn-radius); overflow: hidden; border: 1px solid var(--lbn-border); }
.lbn-art-promo-thumb { display: block; aspect-ratio: 16/10; background: var(--lbn-black); overflow: hidden; }
.lbn-art-promo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lbn-art-promo-thumb .lbn-placeholder-img { object-fit: contain; padding: 18px; }
.lbn-art-promo-title { display: block; padding: 10px 12px 12px; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--lbn-black); }
.lbn-art-promo:hover .lbn-art-promo-title { color: var(--lbn-orange); }

/* ============================ MAIN COLUMN ============================ */
.lbn-art-kicker {
	display: inline-block;
	font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.6px;
	color: var(--lbn-orange); text-decoration: none; margin-bottom: 12px;
}
.lbn-art-title {
	margin: 0 0 16px;
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--lbn-black);
}
.lbn-art-standfirst {
	margin: 0 0 22px;
	font-size: 18px;
	line-height: 1.5;
	color: var(--lbn-gray);
	font-weight: 400;
}
.lbn-art-hero { margin: 0 0 12px; }
.lbn-art-hero-img { width: 100%; height: auto; border-radius: var(--lbn-radius); display: block; }
.lbn-art-hero-cap {
	margin-top: 8px; font-size: 12px; color: var(--lbn-gray); line-height: 1.4;
	display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	padding-bottom: 20px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left;
}
.lbn-art-hero-credit { color: var(--lbn-gray-light); }

/* --- Article body typography --- */
.lbn-art-body { font-size: 16.5px; line-height: 1.75; color: #222; padding-top: 22px; }
.lbn-art-body > p { margin: 0 0 20px; }
.lbn-art-body a { color: var(--lbn-orange); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--lbn-orange) 40%, transparent); }
.lbn-art-body a:hover { border-bottom-color: var(--lbn-orange); }
.lbn-art-body h2,
.lbn-art-body h3 {
	font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black);
	line-height: 1.2; margin: 36px 0 14px;
}
.lbn-art-body h2 { font-size: 25px; }
.lbn-art-body h3 { font-size: 20px; }
.lbn-art-body ul,
.lbn-art-body ol { margin: 0 0 20px; padding-left: 0; list-style: none; }
.lbn-art-body ul li {
	position: relative; padding-left: 24px; margin-bottom: 11px; line-height: 1.6;
}
.lbn-art-body ul li::before {
	content: ""; position: absolute; left: 0; top: 9px;
	width: 8px; height: 8px; background: var(--lbn-orange); border-radius: 2px;
}
.lbn-art-body ol { counter-reset: lbn-art-ol; }
.lbn-art-body ol li { counter-increment: lbn-art-ol; position: relative; padding-left: 28px; margin-bottom: 11px; }
.lbn-art-body ol li::before {
	content: counter(lbn-art-ol); position: absolute; left: 0; top: 1px;
	color: var(--lbn-orange); font-weight: 800; font-size: 14px;
}
.lbn-art-body img { max-width: 100%; height: auto; border-radius: var(--lbn-radius); }
.lbn-art-body figure { margin: 24px 0; }
.lbn-art-body figcaption { font-size: 12px; color: var(--lbn-gray); margin-top: 6px; }
/* Mobile overflow guards: wide tables/code/embeds must scroll inside the column
   instead of forcing the whole page to scroll sideways; long unbroken strings
   (wallet addresses, URLs) must wrap. */
.lbn-art-body { overflow-wrap: break-word; }
.lbn-art-body :where( table, pre ) { display: block; max-width: 100%; overflow-x: auto; }
.lbn-art-body table { width: 100%; border-collapse: collapse; }
.lbn-art-body pre { white-space: pre; }
.lbn-art-body iframe,
.lbn-art-body video,
.lbn-art-body .wp-block-embed iframe { max-width: 100%; }

/* Pull-quote styling for core/quote + pullquote */
.lbn-art-body blockquote,
.lbn-art-body .wp-block-quote,
.lbn-art-body .wp-block-pullquote {
	margin: 28px 0; padding: 4px 0 4px 24px;
	border-left: 3px solid var(--lbn-orange);
	font-size: 22px; line-height: 1.4; font-weight: 700;
	color: var(--lbn-orange); font-style: normal;
}
.lbn-art-body blockquote p { margin: 0 0 8px; }
.lbn-art-body blockquote cite { display: block; font-size: 13px; font-weight: 500; color: var(--lbn-gray); font-style: normal; }

/* Callout / highlight boxes authors can build with a group + class */
.lbn-art-body .wp-block-group.is-style-callout,
.lbn-art-body .lbn-callout {
	background: #f6f7f9; border-left: 4px solid var(--lbn-orange);
	border-radius: var(--lbn-radius); padding: 20px 22px; margin: 26px 0;
	font-size: 15px;
}

/* --- Tags row --- */
.lbn-art-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; padding-top: 22px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-art-tag {
	font-size: 12.5px; color: var(--lbn-gray); text-decoration: none;
	background: #f4f4f5; padding: 5px 11px; border-radius: 100px; transition: all 0.15s ease;
}
.lbn-art-tag:hover { background: var(--lbn-orange-soft); color: var(--lbn-orange); }

/* --- Shared main h2 --- */
.lbn-art-h2 { font-size: 24px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); margin: 0 0 18px; }

/* --- FAQ accordion --- */
.lbn-art-faq { margin: 40px 0; }
.lbn-art-faq-item { border-bottom: 1px solid var(--lbn-border); }
.lbn-art-faq-item summary {
	list-style: none; cursor: pointer; padding: 16px 0;
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	font-size: 15px; font-weight: 600; color: var(--lbn-black);
}
.lbn-art-faq-item summary::-webkit-details-marker { display: none; }
.lbn-art-faq-chevron { flex: none; font-size: 18px; color: var(--lbn-gray); transition: transform 0.2s ease; }
.lbn-art-faq-item[open] .lbn-art-faq-chevron { transform: rotate(180deg); color: var(--lbn-orange); }
.lbn-art-faq-answer { padding: 0 0 18px; }
.lbn-art-faq-answer p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--lbn-gray); }

/* --- Related news --- */
.lbn-art-related { margin: 40px 0; }
.lbn-art-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lbn-art-related-card { display: flex; flex-direction: column; gap: 10px; }
.lbn-art-related-thumb { display: block; position: relative; aspect-ratio: 16/10; border-radius: var(--lbn-radius); overflow: hidden; background: var(--lbn-black); }
.lbn-art-related-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lbn-art-related-thumb .lbn-placeholder-img { object-fit: contain; padding: 18px; }
.lbn-art-related-badge { position: absolute; top: 8px; left: 8px; background: rgba(0,0,0,0.7); color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; padding: 3px 8px; border-radius: 3px; }
.lbn-art-related-title { margin: 0; font-size: 14px; font-weight: 700; line-height: 1.3; }
.lbn-art-related-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-art-related-title a:hover { color: var(--lbn-orange); }
.lbn-art-related-meta { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--lbn-gray); }
.lbn-art-related-avatar { width: 22px; height: 22px; border-radius: 50%; }
.lbn-art-dot { color: var(--lbn-gray-light); }

/* --- Explore chips --- */
.lbn-art-explore { margin: 34px 0; padding-top: 22px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-art-h2-inline { display: inline-block; margin-right: 12px; font-size: 15px; vertical-align: middle; }
.lbn-art-explore-chips { display: inline-flex; flex-wrap: wrap; gap: 8px; vertical-align: middle; }
.lbn-art-explore-chip { font-size: 12.5px; color: var(--lbn-gray); text-decoration: none; border: 1px solid var(--lbn-border); padding: 5px 12px; border-radius: 100px; transition: all 0.15s ease; }
.lbn-art-explore-chip:hover { border-color: var(--lbn-orange); color: var(--lbn-orange); }

/* --- Advertisement placeholder / ad slot --- */
.lbn-art-ad { margin-top: 30px; min-height: 110px; padding: 12px; border-radius: var(--lbn-radius); background-color: #fafafa; background-image: var(--lbn-dash-h), var(--lbn-dash-h), var(--lbn-dash-v), var(--lbn-dash-v); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile), var(--lbn-dash-thick) var(--lbn-dash-tile); background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; background-position: top left, bottom left, left top, right top; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; }
.lbn-art-ad-label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--lbn-gray-light); }
/* Medium-rectangle (sidebar) variant. */
.lbn-art-ad--mrec { margin-top: 0; margin-bottom: 24px; min-height: 250px; max-width: 300px; margin-left: auto; margin-right: auto; }
/* Don't double-frame the plugin's editor hint inside the theme's ad box. */
.lbn-art-ad .lbn-ad--empty { border: 0; background: transparent; min-height: 0; }
.lbn-art-ad .lbn-ad { width: 100%; }

/* ============================ RIGHT RAIL ============================ */
/* Public sentiment */
.lbn-art-sentiment-lead { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.lbn-art-sentiment-avatar { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--lbn-accent-3, #01175e); color: #fff; font-size: 13px; font-weight: 800; flex: none; }
.lbn-art-sentiment-name { display: block; font-size: 13.5px; font-weight: 800; color: var(--lbn-black); }
.lbn-art-sentiment-title { display: block; font-size: 11.5px; color: var(--lbn-gray); }
.lbn-art-live-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--lbn-red); font-weight: 600; }
.lbn-art-live-badge .lbn-art-live-dot { width: 6px; height: 6px; box-shadow: none; animation: none; }
.lbn-art-sentiment-quote { margin: 0; font-size: 13.5px; line-height: 1.55; color: #333; font-style: italic; }

/* Tweet cards */
.lbn-art-tweets { display: flex; flex-direction: column; gap: 12px; }
.lbn-art-tweet { border: 1px solid var(--lbn-border); padding: 13px 14px; }
.lbn-art-tweet-head { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.lbn-art-tweet-avatar { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, var(--lbn-orange), var(--lbn-accent-3, #01175e)); color: #fff; font-size: 13px; font-weight: 800; flex: none; }
.lbn-art-tweet-name { display: block; font-size: 12.5px; font-weight: 700; color: var(--lbn-black); line-height: 1.2; }
.lbn-art-tweet-handle { font-size: 11px; color: var(--lbn-gray); }
.lbn-art-tweet-x { margin-left: auto; color: var(--lbn-black); flex: none; }
.lbn-art-tweet-text { margin: 0 0 9px; font-size: 13px; line-height: 1.5; color: #333; }
.lbn-art-tweet-link { font-size: 12px; font-weight: 600; color: var(--lbn-orange); text-decoration: none; }
.lbn-art-tweet-link:hover { text-decoration: underline; }

/* Poll */
.lbn-art-poll { padding: 16px; background-color: #f4fbf6; background-image: linear-gradient(to right, #34c759 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%), linear-gradient(to right, #34c759 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%), linear-gradient(to bottom, #34c759 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%), linear-gradient(to bottom, #34c759 0 var(--lbn-dash-len), transparent var(--lbn-dash-len) 100%); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-thick) var(--lbn-dash-tile), var(--lbn-dash-thick) var(--lbn-dash-tile); background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; background-position: top left, bottom left, left top, right top; }
.lbn-art-poll-eyebrow { margin: 0 0 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #1f9d55; }
.lbn-art-poll-q { margin: 0 0 12px; font-size: 14px; font-weight: 700; line-height: 1.35; color: var(--lbn-black); }
.lbn-art-poll-form { display: flex; flex-direction: column; gap: 9px; margin-bottom: 12px; }
.lbn-art-poll-opt { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 8px; font-size: 12.5px; line-height: 1.4; color: #333; cursor: pointer; }
.lbn-art-poll-opt input { margin: 0; accent-color: #1f9d55; flex: none; }
.lbn-art-poll-opt-label { min-width: 0; }
/* Percentage + result bar are hidden until the visitor votes. */
.lbn-art-poll-opt-pct { font-size: 12px; font-weight: 700; color: #1f9d55; font-variant-numeric: tabular-nums; visibility: hidden; }
.lbn-art-poll-opt-bar { grid-column: 2 / -1; height: 6px; border-radius: 100px; background: #dcefe1; overflow: hidden; margin-top: 5px; height: 0; opacity: 0; transition: height 0.25s ease, opacity 0.25s ease; }
.lbn-art-poll-opt-bar > span { display: block; height: 100%; width: 0; background: #34c759; border-radius: 100px; transition: width 0.5s ease; }
/* Voted state — reveal results, disable interaction, highlight the choice. */
.lbn-art-poll.is-voted .lbn-art-poll-opt { cursor: default; }
.lbn-art-poll.is-voted .lbn-art-poll-opt-pct { visibility: visible; }
.lbn-art-poll.is-voted .lbn-art-poll-opt-bar { height: 6px; opacity: 1; }
.lbn-art-poll.is-voted .lbn-art-poll-opt.is-chosen .lbn-art-poll-opt-label { font-weight: 700; color: var(--lbn-black); }
.lbn-art-poll.is-voted .lbn-art-poll-opt.is-chosen .lbn-art-poll-opt-bar > span { background: #1f9d55; }
.lbn-art-poll-total { margin: 0; font-size: 11.5px; color: #1f9d55; font-weight: 600; }
.lbn-art-poll-total span { font-variant-numeric: tabular-nums; }

/* Mentioned in the article */
.lbn-art-mention { padding: 12px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; display: flex; flex-direction: column; gap: 3px; }
.lbn-art-mention:last-child { background-image: none; }
.lbn-art-mention-title { font-size: 13.5px; font-weight: 800; color: var(--lbn-black); }
.lbn-art-mention-desc { font-size: 12px; line-height: 1.45; color: var(--lbn-gray); }
.lbn-art-mention-link { font-size: 12px; font-weight: 600; color: var(--lbn-orange); text-decoration: none; margin-top: 2px; }
.lbn-art-mention-link:hover { text-decoration: underline; }

/* Banking ad */
.lbn-art-bankad { border-radius: 12px; padding: 20px 18px; background: linear-gradient(135deg, #ffe8d6, #ffd0e4); }
.lbn-art-bankad-brand { display: inline-block; font-size: 20px; font-weight: 900; color: var(--lbn-black); margin-bottom: 6px; letter-spacing: -0.02em; }
.lbn-art-bankad-title { margin: 0; font-size: 16px; font-weight: 700; color: var(--lbn-black); line-height: 1.25; }

/* Signup */
.lbn-art-signup { border: 1px solid var(--lbn-border); border-radius: 12px; padding: 16px; background: var(--lbn-orange-soft); }
.lbn-art-signup-title { margin: 0 0 6px; font-size: 14.5px; font-weight: 800; color: var(--lbn-black); line-height: 1.25; }
.lbn-art-signup-desc { margin: 0 0 12px; font-size: 12px; line-height: 1.45; color: var(--lbn-gray); }
.lbn-art-signup-form { display: flex; flex-direction: column; gap: 8px; }
.lbn-art-signup-form input { width: 100%; padding: 9px 12px; border: 1px solid #e4c9ba; border-radius: 8px; font-size: 13px; background: #fff; box-sizing: border-box;}
.lbn-art-signup-form input:focus { outline: none; border-color: var(--lbn-orange); }
.lbn-art-signup-form button { padding: 10px 12px; border: 0; border-radius: 8px; background: var(--lbn-orange); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; transition: background 0.15s ease; }
.lbn-art-signup-form button:hover { background: var(--lbn-orange-hover); }

/* Upcoming events */
.lbn-art-event { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; text-decoration: none; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-art-event:last-child { background-image: none; }
.lbn-art-event:hover .lbn-art-event-name { color: var(--lbn-orange); }
.lbn-art-event-name { display: block; font-size: 13px; font-weight: 700; color: var(--lbn-black); }
.lbn-art-event-place { font-size: 11.5px; color: var(--lbn-gray); }
.lbn-art-event-meta { text-align: right; flex: none; }
.lbn-art-event-date { display: block; font-size: 12px; font-weight: 700; color: var(--lbn-black); }
.lbn-art-event-pts { font-size: 11px; color: var(--lbn-orange); font-weight: 600; }

/* Featured companies */
.lbn-art-companies-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.lbn-art-company { display: flex; align-items: center; justify-content: center; padding: 9px 6px; border: 1px solid var(--lbn-border); border-radius: 8px; font-size: 12.5px; font-weight: 700; color: var(--lbn-gray); background: #fafafa; text-decoration: none; text-align: center; transition: color 0.15s ease, border-color 0.15s ease; }
.lbn-art-company:hover { color: var(--lbn-orange); border-color: var(--lbn-orange); }

/* ============================ RESPONSIVE ============================ */
@media (max-width: 1200px) {
	.lbn-art-inner { grid-template-columns: 220px minmax(0, 1fr); }
	.lbn-art-right {
		grid-column: 1 / -1; position: static;
		display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start;
		padding-top: 28px; margin-top: 8px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left;
	}
	/* Right rail drops below — keep only the left column divider. */
	.lbn-art-main { background-image: var(--lbn-dash-v); background-size: var(--lbn-dash-thick) var(--lbn-dash-tile); background-repeat: repeat-y; background-position: left top; padding-right: 0; }
}
@media (max-width: 900px) {
	.lbn-art-inner { grid-template-columns: 1fr; gap: 28px; }
	.lbn-art-left { position: static; flex-direction: column; }
	.lbn-art-main { background-image: none; padding: 0; }
	.lbn-art-right { grid-template-columns: repeat(2, 1fr); }
	.lbn-art-related-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.lbn-art-right { grid-template-columns: 1fr; }
	.lbn-art-related-grid { grid-template-columns: 1fr; }
	.lbn-art-title { font-size: 26px; }
	.lbn-art-standfirst { font-size: 16px; }
	.lbn-art-body { font-size: 16px; }
}

/* ======================================================================
   CATEGORY / TOPIC PAGE — Figma redesign
   Left rail (name · description · stats · promo · products) + main column
   (Top Performing Articles + paginated All Results). Prefix: .lbn-cat-
   ====================================================================== */

.lbn-cat-wrap {
	background: var(--lbn-white);
	color: var(--lbn-black);
	font-family: "Inter", sans-serif;
}

.lbn-cat-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px var(--lbn-section-pad) 60px;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

/* ---------------- LEFT RAIL ---------------- */
.lbn-cat-side { display: flex; flex-direction: column; gap: 22px; }

.lbn-cat-title {
	margin: 0;
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}

.lbn-cat-desc {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--lbn-gray);
}

.lbn-cat-stats {
	display: flex;
	gap: 32px;
	padding: 16px 0;
	background-image: var(--lbn-dash-h), var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x, repeat-x;
	background-position: top left, bottom left;
}
.lbn-cat-stat { display: flex; flex-direction: column; gap: 2px; }
.lbn-cat-stat-num { font-size: 24px; font-weight: 800; color: var(--lbn-black); line-height: 1; }
.lbn-cat-stat-lbl { font-size: 12px; color: var(--lbn-gray); }

/* Promo card */
.lbn-cat-promo-wrap { display: flex; flex-direction: column; gap: 12px; }
.lbn-cat-promo { display: block; text-decoration: none; }
.lbn-cat-promo-thumb { display: block; aspect-ratio: 16/10; border-radius: var(--lbn-radius); overflow: hidden; background: var(--lbn-black); }
.lbn-cat-promo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lbn-cat-promo-thumb .lbn-placeholder-img { object-fit: contain; padding: 18px; }
.lbn-cat-promo-title { display: block; margin-top: 10px; font-size: 15px; font-weight: 800; line-height: 1.3; color: var(--lbn-black); }
.lbn-cat-promo:hover .lbn-cat-promo-title { color: var(--lbn-orange); }
.lbn-cat-chips { display: flex; flex-direction: column; gap: 8px; }
.lbn-cat-chip { font-size: 12.5px; color: var(--lbn-gray); text-decoration: none; border: 1px solid var(--lbn-border); border-radius: 100px; padding: 7px 14px; transition: all 0.15s ease; }
.lbn-cat-chip:hover { border-color: var(--lbn-orange); color: var(--lbn-orange); }

/* Related products */
.lbn-cat-products { padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-cat-products-label { margin: 0 0 12px; font-size: 15px; font-weight: 800; color: var(--lbn-black); }
.lbn-cat-product { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 11px 0; text-decoration: none; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-cat-product:last-child { background-image: none; }
.lbn-cat-product-info { display: flex; flex-direction: column; gap: 2px; }
.lbn-cat-product-name { font-size: 14px; font-weight: 700; color: var(--lbn-black); }
.lbn-cat-product-type { font-size: 12px; color: #2f6fed; }
.lbn-cat-product-arrow { color: #2f6fed; font-size: 15px; flex: none; }
.lbn-cat-product:hover .lbn-cat-product-name { color: var(--lbn-orange); }

/* ---------------- MAIN COLUMN ---------------- */
.lbn-cat-main { min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.lbn-cat-section { border: 1px solid var(--lbn-border);padding: 22px 24px; }
.lbn-cat-h2 { margin: 0 0 18px; font-size: 20px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }

/* Compact article card (Top Performing + listings) */
.lbn-cat-card { display: flex; flex-direction: column; gap: 14px; justify-content: space-between; min-width: 0; }
.lbn-cat-card-title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.35; }
.lbn-cat-card-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-cat-card-title a:hover { color: var(--lbn-orange); }
.lbn-cat-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.lbn-cat-card-meta { display: flex; align-items: center; gap: 8px; }
.lbn-cat-card-author { font-size: 12.5px; font-weight: 600; color: var(--lbn-orange); text-decoration: none; }
.lbn-cat-card-author:hover { color: var(--lbn-orange-hover); }
.lbn-cat-card-reads { font-size: 11px; font-weight: 600; color: var(--lbn-orange); background: var(--lbn-orange-soft); padding: 3px 8px; border-radius: 4px; }
.lbn-cat-card-time { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--lbn-gray); white-space: nowrap; }
.lbn-cat-sparkle { color: var(--lbn-orange); }

/* Top Performing — 3 cells with dashed dividers */
.lbn-cat-top-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lbn-cat-top-grid .lbn-cat-card { padding: 4px 20px; background-image: var(--lbn-dash-v); background-size: var(--lbn-dash-thick) var(--lbn-dash-tile); background-repeat: repeat-y; background-position: left center; }
.lbn-cat-top-grid .lbn-cat-card:first-child { padding-left: 0; background-image: none; }
.lbn-cat-top-grid .lbn-cat-card:last-child { padding-right: 0; }

/* All Results — featured + 2-col listings */
.lbn-cat-results { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.3fr); gap: 24px; padding-top: 4px; }
.lbn-cat-featured { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.lbn-cat-featured-thumb { display: block; aspect-ratio: 16/11; border-radius: var(--lbn-radius); overflow: hidden; background: var(--lbn-black); }
.lbn-cat-featured-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lbn-cat-featured-thumb .lbn-placeholder-img { object-fit: contain; padding: 24px; }
.lbn-cat-featured-title { margin: 0; font-size: 22px; font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; }
.lbn-cat-featured-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-cat-featured-title a:hover { color: var(--lbn-orange); }
.lbn-cat-featured-excerpt { margin: 0; font-size: 14px; line-height: 1.55; color: var(--lbn-gray); }
.lbn-cat-featured-meta { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.lbn-cat-featured-avatar { width: 24px; height: 24px; border-radius: 50%; }
.lbn-cat-featured-meta .lbn-cat-card-time { margin-left: auto; }

.lbn-cat-listings {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 24px;
	align-content: start;
	padding-left: 24px;
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left top;
}

/* Pagination */
.lbn-cat-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 24px; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; flex-wrap: wrap; }
.lbn-cat-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--lbn-black); text-decoration: none; transition: all 0.15s ease; }
.lbn-cat-pagination a.page-numbers:hover { background: var(--lbn-orange-soft); color: var(--lbn-orange); }
.lbn-cat-pagination .page-numbers.current { background: var(--lbn-orange); color: #fff; }
.lbn-cat-pagination .page-numbers.dots { color: var(--lbn-gray-light); }
.lbn-cat-pagination .prev, .lbn-cat-pagination .next { color: var(--lbn-gray); }
.lbn-cat-pagination .prev { margin-right: auto; }

.lbn-cat-empty { font-size: 15px; color: var(--lbn-gray); }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1080px) {
	.lbn-cat-results { grid-template-columns: 1fr; }
	.lbn-cat-listings { padding-left: 0; background-image: none; padding-top: 20px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
}
@media (max-width: 900px) {
	.lbn-cat-inner { grid-template-columns: 1fr; gap: 28px; }
	.lbn-cat-top-grid { grid-template-columns: 1fr; gap: 0; }
	.lbn-cat-top-grid .lbn-cat-card { padding: 14px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
	.lbn-cat-top-grid .lbn-cat-card:first-child { padding-top: 0; }
	.lbn-cat-top-grid .lbn-cat-card:last-child { background-image: none; }
}
@media (max-width: 560px) {
	.lbn-cat-listings { grid-template-columns: 1fr; }
	.lbn-cat-featured-title { font-size: 19px; }
}

/* ======================================================================
   AUTHOR ARCHIVE (single-author page)
   ====================================================================== */

.lbn-au-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px var(--lbn-section-pad) 60px;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}

/* ---------------- PROFILE RAIL ---------------- */
.lbn-au-side { display: flex; flex-direction: column; }

.lbn-au-avatar { margin-bottom: 14px; }
.lbn-au-avatar-img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--lbn-border);
}

.lbn-au-name {
	margin: 0 0 8px;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}

.lbn-au-subline {
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}
.lbn-au-count { color: #1652f0; font-weight: 600; }
.lbn-au-sep { color: var(--lbn-gray-light); }
.lbn-au-handle { color: var(--lbn-gray); }

.lbn-au-socials { display: flex; gap: 8px; margin-bottom: 16px; }
.lbn-au-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--lbn-orange);
	color: #fff;
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.lbn-au-social:hover { transform: translateY(-2px); background: var(--lbn-orange-hover); }

.lbn-au-bio {
	margin: 0 0 24px;
	font-size: 13.5px;
	line-height: 1.65;
	color: var(--lbn-gray);
}

/* Topic Covered */
.lbn-au-topic {
	padding-top: 20px;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-au-topic-label {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-au-topic-thumb { display: block; position: relative; border-radius: var(--lbn-radius); overflow: hidden; }
.lbn-au-topic-thumb img { width: 100%; height: auto; display: block; aspect-ratio: 16/10; object-fit: cover; }
.lbn-au-topic-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	background: var(--lbn-white);
	color: var(--lbn-black);
	font-size: 10px;
	font-weight: 700;
	padding: 3px 9px;
	border-radius: 999px;
}
.lbn-au-topic-title {
	margin: 10px 0 8px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
}
.lbn-au-topic-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-au-topic-title a:hover { color: var(--lbn-orange); }
.lbn-au-topic-meta { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--lbn-gray); }
.lbn-au-topic-author { color: #1652f0; font-weight: 600; text-decoration: none; }
.lbn-au-topic-chips { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.lbn-au-chip {
	display: inline-block;
	align-self: flex-start;
	padding: 6px 12px;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	font-size: 12px;
	color: var(--lbn-black);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.lbn-au-chip:hover { border-color: var(--lbn-orange); color: var(--lbn-orange); }

/* ---------------- MAIN COLUMN ---------------- */
.lbn-au-main { min-width: 0; display: flex; flex-direction: column; gap: 40px; }

.lbn-au-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}
.lbn-au-h2 {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-au-section-head .lbn-au-h2 { margin: 0; }

.lbn-au-filter { display: flex; gap: 6px; flex-wrap: wrap; }
.lbn-au-filter-btn {
	background: transparent;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	padding: 6px 14px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: var(--lbn-black);
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.lbn-au-filter-btn:hover { border-color: var(--lbn-gray-light); }
.lbn-au-filter-btn.is-active { background: var(--lbn-orange); border-color: var(--lbn-orange); color: #fff; }

.lbn-au-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
.lbn-au-grid[hidden] { display: none; }

.lbn-au-card { display: flex; flex-direction: column; gap: 10px; }
.lbn-au-card-thumb { display: block; border-radius: var(--lbn-radius); overflow: hidden; background: var(--lbn-border); }
.lbn-au-card-thumb img { width: 100%; height: auto; display: block; aspect-ratio: 16/10; object-fit: cover; transition: transform 0.4s ease; }
.lbn-au-card-thumb:hover img { transform: scale(1.03); }
.lbn-au-card-title { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.35; }
.lbn-au-card-title a { color: var(--lbn-black); text-decoration: none; transition: color 0.15s ease; }
.lbn-au-card-title a:hover { color: var(--lbn-orange); }
.lbn-au-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; font-size: 11px; color: var(--lbn-gray); }
.lbn-au-card-cat { color: #d6409f; font-weight: 600; text-decoration: none; }
.lbn-au-card-date { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; margin-left: auto; }
.lbn-au-sparkle { color: var(--lbn-orange); }

.lbn-au-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 28px; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; flex-wrap: wrap; }
.lbn-au-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--lbn-black); text-decoration: none; transition: all 0.15s ease; }
.lbn-au-pagination a.page-numbers:hover { background: var(--lbn-orange-soft); color: var(--lbn-orange); }
.lbn-au-pagination .page-numbers.current { background: var(--lbn-orange); color: #fff; }
.lbn-au-pagination .page-numbers.dots { color: var(--lbn-gray-light); }
.lbn-au-pagination .prev { margin-right: auto; }
.lbn-au-empty { font-size: 15px; color: var(--lbn-gray); }

@media (max-width: 1080px) {
	.lbn-au-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.lbn-au-inner { grid-template-columns: 1fr; gap: 28px; }
	.lbn-au-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.lbn-au-grid { grid-template-columns: 1fr; }
}

/* ======================================================================
   CONTACT PAGE  (+ Ninja Forms on-brand styling)
   ====================================================================== */

.lbn-ct-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px var(--lbn-section-pad) 64px;
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 300px;
	gap: 44px;
	align-items: start;
}

/* ---------------- LEFT RAIL ---------------- */
.lbn-ct-side { position: sticky; top: 16px; }
.lbn-ct-side-title {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-ct-nav { display: flex; flex-direction: column; gap: 4px; }
.lbn-ct-nav-item {
	display: block;
	padding: 6px 0 6px 14px;
	border-left: 2px solid var(--lbn-border);
	text-decoration: none;
}
.lbn-ct-nav-item.is-active { border-left-color: var(--lbn-orange); }
.lbn-ct-nav-num { display: block; font-size: 11px; font-weight: 400; color: var(--lbn-gray-light); }
.lbn-ct-nav-label { display: block; font-size: 14px; font-weight: 600; color: var(--lbn-black); }
.lbn-ct-nav-item:hover .lbn-ct-nav-label { color: var(--lbn-orange); }

/* ---------------- MAIN COLUMN ---------------- */
.lbn-ct-main { min-width: 0; }
.lbn-ct-section { padding: 30px 0; }
.lbn-ct-section + .lbn-ct-section {
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-ct-section:first-child { padding-top: 0; }
/* Dashed border box around each contact section — uses the theme's composed
   4-side dash gradients so it matches the homepage cards/dividers. */
#contact-desk.lbn-ct-section,
#subscribe.lbn-ct-section,
#press-release.lbn-ct-section {
	background-image:    var(--lbn-dash-box-image);
	background-size:     var(--lbn-dash-box-size);
	background-repeat:   var(--lbn-dash-box-repeat);
	background-position: var(--lbn-dash-box-position);
	border: 0;
	border-radius: 0;
	padding: 30px;
}
/* Separate the stacked dashed boxes so their edges don't collide. */
#subscribe.lbn-ct-section,
#press-release.lbn-ct-section { margin-top: 24px; }
.lbn-ct-h2 {
	margin: 0 0 10px;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-ct-lead {
	margin: 0 0 24px;
	max-width: 560px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--lbn-gray);
}
.lbn-ct-note {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 14px 0 0;
	font-size: 12px;
	color: var(--lbn-gray);
}
.lbn-ct-note-icon { color: var(--lbn-orange); }
.lbn-ct-missing { color: var(--lbn-red); font-size: 13px; }

/* ---------------- RIGHT RAIL: Most viewed ---------------- */
.lbn-ct-aside { position: sticky; top: 16px; }
.lbn-ct-aside-title {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--lbn-black);
}
.lbn-ct-mv { display: flex; flex-direction: column; }
.lbn-ct-mv-card {
	padding: 16px 0;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-ct-mv-card:first-child { padding-top: 0; background-image: none; }
.lbn-ct-mv-title { margin: 0 0 8px; font-size: 14px; font-weight: 700; line-height: 1.35; }
.lbn-ct-mv-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-ct-mv-title a:hover { color: var(--lbn-orange); }
.lbn-ct-mv-meta { display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--lbn-gray); flex-wrap: wrap; }
.lbn-ct-mv-author { color: #1652f0; font-weight: 600; text-decoration: none; }
.lbn-ct-mv-reads { color: var(--lbn-orange); font-weight: 600; }
.lbn-ct-mv-time { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; white-space: nowrap; }

/* ---------------- NINJA FORMS — on-brand overrides ---------------- */
/* Reset NF's chrome so the theme's field styling shows through. */
.lbn-ct-form .nf-form-cont,
.lbn-ct-form .nf-form-content { max-width: none; padding: 0; }
.lbn-ct-form .nf-form-title,
.lbn-ct-form .nf-form-content .nf-response-msg { margin: 0; }

/* Column layout via the container_class hints (name/email/telegram side-by-side).
   :has() targets the <nf-field> flex child that wraps our tagged container. */
.lbn-ct-form .nf-form-content nf-fields-wrap { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 4px; align-items: flex-start; }
.lbn-ct-form .nf-form-content nf-fields-wrap > nf-field { flex: 1 1 100%; min-width: 0; }
.lbn-ct-form .nf-form-content nf-fields-wrap > nf-field:has(.lbn-nf-third) { flex: 1 1 calc((100% - 40px) / 3); }
.lbn-ct-form .nf-form-content nf-fields-wrap > nf-field:has(.lbn-nf-half)  { flex: 1 1 calc((100% - 20px) / 2); }

.lbn-ct-form .nf-field-container { margin-bottom: 18px; }
.lbn-ct-form .nf-field-label label {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--lbn-black);
	margin: 0 0 6px;
}
.lbn-ct-form .nf-field-label .ninja-forms-req-symbol { color: var(--lbn-orange); }

.lbn-ct-form input[type="text"],
.lbn-ct-form input[type="email"],
.lbn-ct-form input[type="tel"],
.lbn-ct-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--lbn-border);
	border-radius: var(--lbn-radius);
	padding: 11px 14px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	color: var(--lbn-black);
	background: var(--lbn-border);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lbn-ct-form input:focus,
.lbn-ct-form textarea:focus {
	border-color: var(--lbn-orange);
	outline: none;
	box-shadow: 0 0 0 3px var(--lbn-orange-soft);
}
.lbn-ct-form textarea { min-height: 190px; resize: vertical; }

/* Character counter */
.lbn-ct-form .nf-field-element .nf-input-limit,
.lbn-ct-form .nf-input-limit { font-size: 11px; color: var(--lbn-gray-light); margin-top: 4px; }

/* Checkbox row (Subscribe → "I agree to receive emails.") */
.lbn-ct-form .checkbox-container .nf-field-label label,
.lbn-ct-form .listcheckbox-container label { font-weight: 500; }

/* Submit button → orange "Submit Release", right-aligned */
.lbn-ct-form .submit-container { text-align: right; }
.lbn-ct-form .submit-container input[type="button"],
.lbn-ct-form input.ninja-forms-field[type="button"],
.lbn-ct-form input.ninja-forms-field[type="submit"] {
	display: inline-flex;
	width: auto;
	background: var(--lbn-orange);
	color: #fff;
	border: 0;
	/* Soft rounded corners to match the Contact page design. */
	border-radius: 10px;
	padding: 12px 24px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.lbn-ct-form .submit-container input[type="button"]:hover,
.lbn-ct-form input.ninja-forms-field[type="button"]:hover,
.lbn-ct-form input.ninja-forms-field[type="submit"]:hover { background: var(--lbn-orange-hover); }

/* Error + success states in brand colours */
.lbn-ct-form .nf-error-msg,
.lbn-ct-form .nf-error.field-wrap .nf-field-element input { border-color: var(--lbn-red); }
.lbn-ct-form .nf-error-msg { color: var(--lbn-red); font-size: 12px; }
.lbn-ct-form .nf-response-msg { color: #12a150; font-size: 14px; }

/* ---------------- RESPONSIVE ---------------- */
@media (max-width: 1100px) {
	.lbn-ct-inner { grid-template-columns: 180px minmax(0, 1fr); }
	.lbn-ct-aside { grid-column: 1 / -1; position: static; }
	.lbn-ct-mv { flex-direction: row; gap: 22px; }
	.lbn-ct-mv-card { flex: 1; padding-top: 16px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
}
@media (max-width: 820px) {
	.lbn-ct-inner { grid-template-columns: 1fr; gap: 28px; }
	.lbn-ct-side { position: static; }
	.lbn-ct-form .nf-form-content nf-fields-wrap > nf-field:has(.lbn-nf-third),
	.lbn-ct-form .nf-form-content nf-fields-wrap > nf-field:has(.lbn-nf-half) { flex: 1 1 100%; }
	.lbn-ct-mv { flex-direction: column; }
}

/* ======================================================================
   SEARCH RESULTS PAGE
   ====================================================================== */

.lbn-sr-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px var(--lbn-section-pad) 20px;
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}

/* ---------------- LEFT RAIL ---------------- */
.lbn-sr-side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 14px; }
.lbn-sr-side-title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-sr-form input[type="search"] {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--lbn-border);
	border-radius: var(--lbn-radius);
	padding: 11px 14px;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	color: var(--lbn-black);
	background: var(--lbn-white);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.lbn-sr-form input[type="search"]:focus { border-color: var(--lbn-orange); outline: none; box-shadow: 0 0 0 3px var(--lbn-orange-soft); }
.lbn-sr-count { margin: 0; font-size: 13px; color: var(--lbn-gray); }
.lbn-sr-count strong { color: var(--lbn-black); }
.lbn-sr-promo { display: block; border-radius: var(--lbn-radius); overflow: hidden; margin-top: 6px; }
.lbn-sr-promo img { width: 100%; height: auto; display: block; aspect-ratio: 16/11; object-fit: cover; }

/* ---------------- RESULTS ---------------- */
.lbn-sr-main { min-width: 0; }
.lbn-sr-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.lbn-sr-h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-sr-chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.lbn-sr-chip {
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid var(--lbn-border);
	border-radius: 999px;
	font-size: 12px;
	color: var(--lbn-black);
	text-decoration: none;
	transition: border-color 0.15s ease, color 0.15s ease;
}
.lbn-sr-chip:hover { border-color: var(--lbn-orange); color: var(--lbn-orange); }

.lbn-sr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 26px; }

.lbn-sr-card { display: flex; gap: 16px; align-items: flex-start; }
.lbn-sr-thumb { flex: 0 0 42%; display: block; border-radius: var(--lbn-radius); overflow: hidden; background: var(--lbn-border); }
.lbn-sr-thumb img { width: 100%; height: auto; display: block; aspect-ratio: 16/11; object-fit: cover; transition: transform 0.4s ease; }
.lbn-sr-thumb:hover img { transform: scale(1.03); }
.lbn-sr-body { min-width: 0; display: flex; flex-direction: column; height: 100%; }
.lbn-sr-title { margin: 0 0 10px; font-size: 16px; font-weight: 700; line-height: 1.32; }
.lbn-sr-title a { color: var(--lbn-black); text-decoration: none; transition: color 0.15s ease; }
.lbn-sr-title a:hover { color: var(--lbn-orange); }
.lbn-sr-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; font-size: 11px; color: var(--lbn-gray); }
.lbn-sr-cat { color: #d6409f; font-weight: 600; text-decoration: none; }
.lbn-sr-date { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; margin-left: auto; }

.lbn-sr-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin-top: 30px; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; flex-wrap: wrap; }
.lbn-sr-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--lbn-black); text-decoration: none; transition: all 0.15s ease; }
.lbn-sr-pagination a.page-numbers:hover { background: var(--lbn-orange-soft); color: var(--lbn-orange); }
.lbn-sr-pagination .page-numbers.current { background: var(--lbn-orange); color: #fff; }
.lbn-sr-pagination .page-numbers.dots { color: var(--lbn-gray-light); }
.lbn-sr-pagination .prev { margin-right: auto; }
.lbn-sr-empty { font-size: 15px; color: var(--lbn-gray); }

/* ---------------- RELATED COMPANIES ---------------- */
.lbn-sr-companies {
	margin-top: 20px;
	padding: 30px 0 10px;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-sr-companies-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--lbn-section-pad);
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
}
.lbn-sr-companies-title { margin: 0; font-size: 20px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-sr-companies-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.lbn-sr-co {
	padding-left: 26px;
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left top;
}
.lbn-sr-co:first-child { padding-left: 0; background-image: none; }
.lbn-sr-co-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.lbn-sr-co-name { margin: 0; font-size: 17px; font-weight: 800; letter-spacing: -0.01em; }
.lbn-sr-co-name a { color: var(--lbn-black); text-decoration: none; }
.lbn-sr-co-name a:hover { color: var(--lbn-orange); }
.lbn-sr-co-rating { display: inline-flex; align-items: center; gap: 3px; padding: 2px 9px; border-radius: 999px; background: #eef1ff; color: #3b53d0; font-size: 12px; font-weight: 700; white-space: nowrap; }
.lbn-sr-co-type { margin: 0 0 8px; font-size: 12px; font-weight: 600; color: #1652f0; }
.lbn-sr-co-desc { margin: 0 0 12px; font-size: 13px; line-height: 1.55; color: var(--lbn-gray); }
.lbn-sr-co-link { font-size: 13px; font-weight: 600; color: #1652f0; text-decoration: none; }
.lbn-sr-co-link:hover { text-decoration: underline; }

@media (max-width: 1000px) {
	.lbn-sr-grid { grid-template-columns: 1fr; }
	.lbn-sr-companies-grid { grid-template-columns: 1fr; gap: 20px; }
	.lbn-sr-co { padding-left: 0; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
	.lbn-sr-co:first-child { padding-top: 0; background-image: none; }
}
@media (max-width: 820px) {
	.lbn-sr-inner, .lbn-sr-companies-inner { grid-template-columns: 1fr; gap: 24px; }
	.lbn-sr-side { position: static; }
	.lbn-sr-chips { justify-content: flex-start; }
}

/* ======================================================================
   UNIFY BORDERS — every structural card / panel / section / divider uses
   the custom spaced dash (same system as the header) instead of a solid
   line. Rounded pills, buttons, inputs and avatars keep their solid outline
   (a spaced-dash reads as broken on small pill shapes).
   ====================================================================== */

/* Full 4-side dashed boxes (the element's own background-color is preserved).
   .lbn-v2-mp-panel is excluded — it paints a connected right+bottom grid instead. */
.lbn-v2-tipoff,
.lbn-art-tweet,
.lbn-art-signup,
.lbn-art-company,
.lbn-art-promo,
.lbn-cat-section {
	border: 0;
	background-image: var(--lbn-dash-box-image);
	background-size: var(--lbn-dash-box-size);
	background-repeat: var(--lbn-dash-box-repeat);
	background-position: var(--lbn-dash-box-position);
}

/* Top-edge dashed dividers.
   NOTE: .lbn-v2-opinion-mini is intentionally NOT here — it's part of the
   connected dashed grid (see line ~3428) and paints its LEFT edge with no top,
   so the big row's bottom border is the single divider. Adding it here painted
   a second top line (doubling the divider) and dropped the mini row's left frame. */
.lbn-art-widget,
.lbn-art-authcard-edited {
	border-top: 0;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}

/* Bottom-edge dashed dividers.
   Note: .lbn-v2-card-ranked is intentionally excluded — it paints a full
   dashed grid (right + bottom) in its own Section 7 rule. */
.lbn-v2-card-list,
.lbn-art-faq-item {
	border-bottom: 0;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: bottom left;
}

/* ======================================================================
   DIRECTORY — Companies · People · Products · Events. Prefix: .lbn-dir-
   ====================================================================== */
.lbn-dir-wrap { background: var(--lbn-white); color: var(--lbn-black); font-family: "Inter", sans-serif; }
.lbn-dir-detail, .lbn-dir-event, .lbn-dir-archive { max-width: 1440px; margin: 0 auto; padding: 28px var(--lbn-section-pad) 56px; display: grid; gap: 34px; align-items: start; }
.lbn-dir-detail { grid-template-columns: 190px minmax(0, 1fr) 290px; }
.lbn-dir-event  { grid-template-columns: 200px minmax(0, 1fr); }
.lbn-dir-archive { grid-template-columns: 244px minmax(0, 1fr); }

/* shared bits */
/* Directory breadcrumbs now reuse the single-post breadcrumb strip
   (.lbn-art-breadcrumb-strip / .lbn-art-breadcrumb) — see the "Breadcrumb
   strip" block. The old .lbn-dir-breadcrumb styles were removed. */
.lbn-dir-title { margin: 0 0 18px; font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; color: var(--lbn-black); }
.lbn-dir-h2 { margin: 0 0 16px; font-size: 21px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-dir-logo { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; overflow: hidden; background: #f4f4f5; flex: none; }
.lbn-dir-logo img { width: 100%; height: 100%; object-fit: cover; }
.lbn-dir-logo-empty { background: var(--lbn-black); color: #fff; font-weight: 800; }
.lbn-dir-idlogo-round, .lbn-dir-logo.lbn-dir-idlogo-round { border-radius: 50%; }

/* ---- LEFT ID RAIL (entity / person) ---- */
.lbn-dir-idrail { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 16px; }
.lbn-dir-idcard { display: flex; align-items: center; gap: 12px; }
.lbn-dir-idcard-person { flex-direction: column; text-align: center; gap: 8px; }
.lbn-dir-idname { display: block; font-size: 17px; font-weight: 800; color: var(--lbn-black); line-height: 1.2; }
.lbn-dir-idmeta { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.lbn-dir-idcat { font-size: 12px; font-weight: 600; color: var(--lbn-orange); text-decoration: none; }
.lbn-dir-idrole { font-size: 13px; color: var(--lbn-gray); }
.lbn-dir-idorg { font-size: 12.5px; color: var(--lbn-orange); text-decoration: none; }
.lbn-dir-rating { font-size: 11px; font-weight: 700; color: #6b5cff; background: #eeecff; padding: 2px 8px; border-radius: 5px; }
.lbn-dir-idblock { padding-top: 16px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; display: flex; flex-direction: column; gap: 3px; }
.lbn-dir-idblock-title { margin: 0 0 8px; font-size: 14px; font-weight: 800; color: var(--lbn-black); }
.lbn-dir-idblock-value { font-size: 13.5px; font-weight: 700; color: var(--lbn-black); text-decoration: none; }
a.lbn-dir-idblock-value:hover { color: var(--lbn-orange); }
.lbn-dir-idblock-label { font-size: 11.5px; color: var(--lbn-gray); }
.lbn-dir-coins { display: flex; gap: 5px; margin-bottom: 5px; }
.lbn-dir-coin { width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, var(--lbn-orange), #6b5cff); color: #fff; font-size: 10px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }

/* ---- MAIN (detail) ---- */
.lbn-dir-main { min-width: 0; }
.lbn-dir-about { font-size: 16px; line-height: 1.7; color: #222; margin-bottom: 8px; }
.lbn-dir-about p { margin: 0 0 16px; }
.lbn-dir-about a { color: var(--lbn-orange); text-decoration: none; }
.lbn-dir-section { padding: 24px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-features { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lbn-dir-features li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.55; color: #333; }
.lbn-dir-features li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--lbn-gray); }

/* team */
.lbn-dir-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px 22px; }
.lbn-dir-team-member { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 14px 16px; background-image: var(--lbn-dash-box-image); background-size: var(--lbn-dash-box-size); background-repeat: var(--lbn-dash-box-repeat); background-position: var(--lbn-dash-box-position); }
.lbn-dir-team-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lbn-dir-team-name { font-size: 14px; font-weight: 700; color: var(--lbn-black); }
.lbn-dir-team-name a { color: inherit; text-decoration: none; }
.lbn-dir-team-role { font-size: 12px; color: var(--lbn-gray); line-height: 1.35; }
.lbn-dir-team-avatar, .lbn-dir-voice-avatar { width: 44px; height: 44px; border-radius: 50%; background: #e6e6ea; color: var(--lbn-gray); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex: none; }
.lbn-dir-socials { display: flex; gap: 8px; margin-top: 4px; }
.lbn-dir-event-socials { margin: 12px 0 4px; }
.lbn-dir-socials a { width: 26px; height: 26px; border-radius: 50%; background: var(--lbn-orange); color: #fff; display: inline-flex; align-items: center; justify-content: center; transition: background .15s; }
.lbn-dir-socials a:hover { background: var(--lbn-orange-hover); }
.lbn-dir-team-socials a { width: 22px; height: 22px; }

/* support + updated */
.lbn-dir-support { margin: 24px 0; padding: 18px 20px; border-radius: 8px; background: #fdf7e3; }
.lbn-dir-support-title { margin: 0 0 8px; font-size: 15px; font-weight: 800; }
.lbn-dir-support-text { margin: 0 0 8px; font-size: 13.5px; line-height: 1.5; color: #444; }
.lbn-dir-support-link { font-size: 13.5px; color: #2f6fed; text-decoration: none; }
.lbn-dir-updated { margin-top: 24px; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-updated-line { font-size: 12.5px; color: var(--lbn-gray); }
.lbn-dir-disclaimer { margin: 8px 0 0; font-size: 11.5px; color: var(--lbn-gray-light); line-height: 1.5; }

/* work / education lists (person) */
.lbn-dir-worklist { display: flex; flex-direction: column; }
.lbn-dir-work { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 12px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-dir-work:last-child { background-image: none; }
.lbn-dir-work-main { display: flex; flex-direction: column; gap: 2px; }
.lbn-dir-work-role { font-size: 14.5px; font-weight: 700; color: var(--lbn-black); }
.lbn-dir-work-company { font-size: 13px; color: var(--lbn-gray); }
.lbn-dir-work-years { font-size: 12px; color: var(--lbn-gray-light); white-space: nowrap; }

/* ---- RIGHT RAIL ---- */
.lbn-dir-siderail { display: flex; flex-direction: column; gap: 22px; position: sticky; top: 16px; }
.lbn-dir-links, .lbn-dir-siderail-block { }
.lbn-dir-links-title { margin: 0 0 12px; font-size: 15px; font-weight: 800; color: var(--lbn-black); }
.lbn-dir-links-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-dir-links-key { font-size: 13px; color: var(--lbn-gray); }
.lbn-dir-links-val { font-size: 13px; font-weight: 600; color: var(--lbn-orange); text-decoration: none; }
.lbn-dir-siderail-block { padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.lbn-dir-cat-chip { font-size: 12px; color: #6b5cff; background: #eeecff; padding: 5px 11px; border-radius: 5px; text-decoration: none; }
.lbn-dir-similar-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.lbn-dir-similar-all { font-size: 11.5px; color: #2f6fed; text-decoration: none; white-space: nowrap; }
.lbn-dir-similar { display: flex; align-items: center; gap: 10px; padding: 10px 0; text-decoration: none; }
.lbn-dir-similar-logo { flex: none; }
.lbn-dir-similar-info { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.lbn-dir-similar-name { font-size: 13.5px; font-weight: 700; color: var(--lbn-black); }
.lbn-dir-similar-cat { font-size: 12px; color: #2f6fed; }
.lbn-dir-similar-ext { color: #2f6fed; }

/* ---- EVENT DETAIL ---- */
.lbn-dir-event-rail { }
.lbn-dir-event-railname { font-size: 15px; font-weight: 700; color: var(--lbn-black); }
.lbn-dir-event-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.lbn-dir-event-head .lbn-dir-title { margin-bottom: 8px; }
.lbn-dir-event-status { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; color: #1f9d55; background: #e9f9ef; padding: 6px 12px; border-radius: 100px; }
.lbn-dir-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #34c759; }
.lbn-dir-event-tagline { margin: 0 0 20px; font-size: 15px; color: var(--lbn-gray); }
.lbn-dir-event-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 0; margin-bottom: 24px; }
.lbn-dir-fact { padding: 14px 18px; display: flex; flex-direction: column; gap: 3px; background-image: var(--lbn-dash-box-image); background-size: var(--lbn-dash-box-size); background-repeat: var(--lbn-dash-box-repeat); background-position: var(--lbn-dash-box-position); }
.lbn-dir-fact + .lbn-dir-fact { margin-left: -1px; }
.lbn-dir-fact-val { font-size: 16px; font-weight: 700; color: var(--lbn-black); }
.lbn-dir-fact-key { font-size: 12px; color: var(--lbn-gray); }
.lbn-dir-event-desc { font-size: 15.5px; line-height: 1.7; color: #333; margin-bottom: 14px; }
.lbn-dir-event-tags, .lbn-dir-event-block { margin-bottom: 26px; }
.lbn-dir-event-tags { display: flex; gap: 8px; padding-bottom: 22px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-dir-tag-purple { font-size: 12px; color: #6b5cff; background: #eeecff; padding: 5px 12px; border-radius: 5px; text-decoration: none; }
.lbn-dir-event-eyebrow { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: var(--lbn-black); }

/* promo */
.lbn-dir-promo { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-radius: 10px; background: #f4fbf6; border: 1.5px dashed #34c759; }
.lbn-dir-promo-partner { margin: 0 0 4px; font-size: 12px; font-weight: 600; color: #1f9d55; }
.lbn-dir-promo-title { margin: 0 0 6px; font-size: 20px; font-weight: 800; color: var(--lbn-black); }
.lbn-dir-promo-desc { margin: 0; font-size: 12.5px; color: var(--lbn-gray); line-height: 1.5; max-width: 62ch; }
.lbn-dir-promo-code { display: flex; align-items: center; gap: 8px; flex: none; }
.lbn-dir-promo-code input { width: 96px; padding: 9px 12px; border: 1px solid var(--lbn-border); border-radius: 8px; font-size: 14px; font-weight: 700; text-align: center; background: #fff; }
.lbn-dir-copy { padding: 10px 16px; border: 0; border-radius: 8px; background: var(--lbn-orange); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.lbn-dir-copy:hover { background: var(--lbn-orange-hover); }

/* prize */
.lbn-dir-prize { display: grid; grid-template-columns: 260px 1fr 1fr; gap: 24px; padding: 18px; border-radius: 12px; background: #fdf7e3; align-items: start; }
.lbn-dir-prize-media { position: relative; aspect-ratio: 3/2; border-radius: 8px; overflow: hidden; background: linear-gradient(135deg, #f6d9b8, #e9b7c6); display: flex; align-items: center; justify-content: center; }
.lbn-dir-prize-badge { position: absolute; top: 10px; left: 10px; background: rgba(255,255,255,.85); color: var(--lbn-black); font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 5px; }
.lbn-dir-prize-vip { background: #111; color: #ff5aa5; font-weight: 900; font-size: 22px; padding: 14px 18px; border-radius: 10px; transform: rotate(-6deg); }
.lbn-dir-prize-title { margin: 0 0 10px; font-size: 20px; font-weight: 800; }
.lbn-dir-prize-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; color: #444; }
.lbn-dir-prize-tasks-title { margin: 0 0 10px; font-size: 14px; font-weight: 700; }
.lbn-dir-prize-task { margin: 0; padding: 9px 0; font-size: 13px; color: #444; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-dir-participate { display: inline-block; margin-top: 14px; padding: 10px 18px; border: 1px solid var(--lbn-orange); border-radius: 8px; color: var(--lbn-orange); font-size: 13px; font-weight: 700; text-decoration: none; }
.lbn-dir-participate:hover { background: var(--lbn-orange); color: #fff; }

/* social voice */
.lbn-dir-voice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }
.lbn-dir-voice { padding: 4px 0; }
.lbn-dir-voice-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.lbn-dir-voice-avatar { width: 26px; height: 26px; font-size: 12px; }
.lbn-dir-voice-name { font-size: 13px; font-weight: 700; }
.lbn-dir-voice-link { font-size: 12px; color: #2f6fed; text-decoration: none; margin-left: auto; }
.lbn-dir-voice-text { margin: 0; font-size: 13px; line-height: 1.55; color: #444; }

/* "More in" */
.lbn-dir-more { background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-more-inner { max-width: 1440px; margin: 0 auto; padding: 30px var(--lbn-section-pad); display: grid; grid-template-columns: 200px 1fr; gap: 34px; align-items: start; }
.lbn-dir-more-title { margin: 0; font-size: 20px; font-weight: 800; }
.lbn-dir-more-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

/* ---- SIDEBAR (archive) ---- */
.lbn-dir-sidebar { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 16px; font-size: 13px; }
.lbn-dir-sidebar-title { margin: 0; font-size: 20px; font-weight: 800; color: var(--lbn-black); }
.lbn-dir-sidebar-group { padding-top: 16px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-sidebar-group-title { margin: 0 0 10px; font-size: 14px; font-weight: 800; color: var(--lbn-black); }
.lbn-dir-sidebar-group ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lbn-dir-sidebar-group a { font-size: 13px; color: var(--lbn-gray); text-decoration: none; }
.lbn-dir-sidebar-group a:hover, .lbn-dir-sidebar-group a.is-active { color: var(--lbn-orange); font-weight: 600; }
.lbn-dir-sidebar-cta { padding-top: 16px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-sidebar-cta p { margin: 0 0 12px; font-size: 13px; color: var(--lbn-black); line-height: 1.5; }
.lbn-dir-submit { display: inline-block; padding: 9px 16px; border: 1px solid var(--lbn-orange); border-radius: 6px; color: var(--lbn-orange); font-size: 12.5px; font-weight: 700; text-decoration: none; }
.lbn-dir-submit:hover { background: var(--lbn-orange); color: #fff; }

/* ---- LISTING ---- */
.lbn-dir-listing { min-width: 0; padding: 22px 24px; background-image: var(--lbn-dash-box-image); background-size: var(--lbn-dash-box-size); background-repeat: var(--lbn-dash-box-repeat); background-position: var(--lbn-dash-box-position); }
.lbn-dir-listing-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: bottom left; }
.lbn-dir-listing-eyebrow { margin: 0 0 4px; font-size: 12.5px; font-weight: 600; color: var(--lbn-orange); }
.lbn-dir-listing-title { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.01em; }
.lbn-dir-listing-meta { text-align: right; font-size: 12px; color: var(--lbn-gray); display: flex; flex-direction: column; gap: 3px; }
.lbn-dir-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; flex-wrap: wrap; }
.lbn-dir-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.lbn-dir-pill { font-size: 12.5px; color: var(--lbn-gray); background: transparent; border: 1px solid var(--lbn-border); padding: 6px 14px; border-radius: 100px; text-decoration: none; transition: all .15s; }
.lbn-dir-pill:hover { border-color: var(--lbn-orange); color: var(--lbn-orange); }
.lbn-dir-pill.is-active { background: var(--lbn-orange); border-color: var(--lbn-orange); color: #fff; }
.lbn-dir-search input { width: 220px; padding: 9px 14px; border: 1px solid var(--lbn-border); border-radius: 8px; font-size: 13px; }
.lbn-dir-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 8px 0 20px; }
.lbn-dir-empty { padding: 30px 0; color: var(--lbn-gray); }

/* entry card */
.lbn-dir-card { display: flex; gap: 16px; padding: 14px; background-image: var(--lbn-dash-box-image); background-size: var(--lbn-dash-box-size); background-repeat: var(--lbn-dash-box-repeat); background-position: var(--lbn-dash-box-position); }
.lbn-dir-card-thumb { flex: none; width: 108px; height: 108px; border-radius: 8px; overflow: hidden; background: #e6e6ea; display: flex; align-items: center; justify-content: center; }
.lbn-dir-card-logo { width: 100% !important; height: 100% !important; border-radius: 8px; }
.lbn-dir-card-logo img { object-fit: contain; padding: 10px; }
.lbn-dir-card-body { position: relative; min-width: 0; flex: 1; }
.lbn-dir-card-ext { position: absolute; top: 0; right: 0; color: #2f6fed; text-decoration: none; font-size: 15px; }
.lbn-dir-card-title { margin: 0 30px 4px 0; font-size: 16px; font-weight: 800; line-height: 1.25; }
.lbn-dir-card-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-dir-card-title a:hover { color: var(--lbn-orange); }
.lbn-dir-card-tag { margin: 0 0 8px; font-size: 12.5px; color: var(--lbn-gray); }
.lbn-dir-card-meta { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--lbn-black); margin-bottom: 8px; }
.lbn-dir-dot { color: var(--lbn-gray-light); }
.lbn-dir-card-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.lbn-dir-card-chip { font-size: 11px; color: var(--lbn-orange); background: var(--lbn-orange-soft); padding: 3px 9px; border-radius: 100px; }

/* calendar */
.lbn-dir-calendar { margin-top: 12px; padding-top: 18px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.lbn-dir-cal-title { margin: 0; font-size: 20px; font-weight: 800; }
.lbn-dir-cal-nav { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; color: #2f6fed; }
.lbn-dir-cal-nav button { border: 0; background: transparent; color: #2f6fed; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; padding: 4px 8px; border-radius: 6px; line-height: 1; transition: background .15s, color .15s; }
.lbn-dir-cal-nav button:hover:not(:disabled) { background: var(--lbn-orange-soft); color: var(--lbn-orange); }
.lbn-dir-cal-nav button:disabled { color: var(--lbn-gray-light); cursor: default; }
.lbn-dir-cal-prev, .lbn-dir-cal-next { font-size: 18px; }
.lbn-dir-cal-cell.is-today { background: #fff8e6; }
.lbn-dir-cal-cell.is-today .lbn-dir-cal-num { color: var(--lbn-orange); font-weight: 800; }
a.lbn-dir-cal-ev { text-decoration: none; cursor: pointer; transition: background .15s; }
a.lbn-dir-cal-ev:hover { background: #ffd97a; }
.lbn-dir-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); border-top: 1px solid var(--lbn-border); border-left: 1px solid var(--lbn-border); }
.lbn-dir-cal-dow { padding: 8px; font-size: 11px; color: var(--lbn-gray); text-align: right; border-right: 1px solid var(--lbn-border); border-bottom: 1px solid var(--lbn-border); background: #fafafa; }
.lbn-dir-cal-cell { min-height: 92px; padding: 6px; border-right: 1px solid var(--lbn-border); border-bottom: 1px solid var(--lbn-border); display: flex; flex-direction: column; gap: 4px; }
.lbn-dir-cal-cell.is-empty { background: #fafafa; }
.lbn-dir-cal-num { font-size: 12px; color: var(--lbn-gray); text-align: right; }
.lbn-dir-cal-ev { font-size: 11px; font-weight: 600; color: #7a5b00; background: #ffe6a8; padding: 3px 8px; border-radius: 100px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lbn-dir-cal-more { font-size: 11px; color: #2f6fed; text-align: center; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1100px) {
	.lbn-dir-detail { grid-template-columns: 180px minmax(0, 1fr); }
	.lbn-dir-siderail { grid-column: 1 / -1; position: static; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
	.lbn-dir-prize { grid-template-columns: 1fr; }
	.lbn-dir-team { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.lbn-dir-detail, .lbn-dir-event, .lbn-dir-archive, .lbn-dir-more-inner { grid-template-columns: 1fr; }
	.lbn-dir-idrail, .lbn-dir-siderail, .lbn-dir-sidebar { position: static; }
	.lbn-dir-grid, .lbn-dir-voice-grid, .lbn-dir-more-grid { grid-template-columns: 1fr; }
	.lbn-dir-siderail { grid-template-columns: 1fr 1fr; }
	.lbn-dir-cal-ev { font-size: 9px; }
}
@media (max-width: 560px) {
	.lbn-dir-team { grid-template-columns: 1fr; }
	.lbn-dir-promo { flex-direction: column; align-items: stretch; }
	.lbn-dir-cal-cell { min-height: 60px; }
}

/* Directory home overview (/directory/) */
.lbn-dir-home-intro { margin-bottom: 6px; }
.lbn-dir-home-section { padding-top: 22px; margin-top: 22px; background-image: var(--lbn-dash-h); background-size: var(--lbn-dash-tile) var(--lbn-dash-thick); background-repeat: repeat-x; background-position: top left; }
.lbn-dir-home-section:first-of-type { background-image: none; margin-top: 8px; padding-top: 8px; }
.lbn-dir-home-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.lbn-dir-home-title { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-dir-home-viewall { flex: none; font-size: 13px; font-weight: 700; color: var(--lbn-orange); text-decoration: none; border: 1px solid var(--lbn-orange); border-radius: 6px; padding: 8px 16px; transition: all .15s; }
.lbn-dir-home-viewall:hover { background: var(--lbn-orange); color: #fff; }

/* ======================
   HOMEPAGE — VIDEO STORIES
   ====================== */
.lbn-v2-vs-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	/* Custom dashed grid frame — theme gradient dashes on all four sides. */
	background-image:    var(--lbn-dash-box-image);
	background-size:     var(--lbn-dash-box-size);
	background-repeat:   var(--lbn-dash-box-repeat);
	background-position: var(--lbn-dash-box-position);
}
.lbn-v2-vs-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 24px; }
/* Vertical dashed divider between the two cells. */
.lbn-v2-vs-card + .lbn-v2-vs-card {
	background-image: var(--lbn-dash-v);
	background-size: var(--lbn-dash-thick) var(--lbn-dash-tile);
	background-repeat: repeat-y;
	background-position: left top;
}
.lbn-v2-vs-thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #e5e5e5;
}
.lbn-v2-vs-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Inline YouTube embed swapped in when the thumbnail is clicked (video-stories.js). */
.lbn-v2-vs-iframe { width: 100%; height: 100%; border: 0; display: block; }
.lbn-v2-vs-thumb.is-playing { cursor: default; }
.lbn-v2-vs-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.15s ease;
}
.lbn-v2-vs-thumb:hover .lbn-v2-vs-play { transform: scale(1.08); }
.lbn-v2-vs-title { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; }
.lbn-v2-vs-title a { color: var(--lbn-black); text-decoration: none; }
.lbn-v2-vs-title a:hover { color: var(--lbn-orange); }
.lbn-v2-vs-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	color: var(--lbn-gray);
}
.lbn-v2-vs-author {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	color: var(--lbn-orange);
	text-decoration: none;
}
.lbn-v2-vs-author img { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.lbn-v2-vs-views { margin-left: auto; color: var(--lbn-gray); }
.lbn-v2-vs-time { display: inline-flex; align-items: center; gap: 4px; color: var(--lbn-gray); }
.lbn-v2-vs-footer { margin: 20px 0 0; text-align: right; }
.lbn-v2-vs-footer a { font-size: 13px; font-weight: 700; color: var(--lbn-orange); text-decoration: none; }
.lbn-v2-vs-footer a:hover { text-decoration: underline; }

@media (max-width: 780px) {
	.lbn-v2-vs-grid { grid-template-columns: 1fr; }
	/* Stacked: divider runs across the top of the second card instead of its side. */
	.lbn-v2-vs-card + .lbn-v2-vs-card {
		background-image: var(--lbn-dash-h);
		background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
		background-repeat: repeat-x;
		background-position: top left;
	}
}

/* ======================================================================
   Modals — login popup + newsletter popup (assets/modals.js)
   ====================================================================== */
.lbn-modal[hidden] { display: none; }
.lbn-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.lbn-modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.lbn-modal-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	background: var(--lbn-white);
	border: 1px solid var(--lbn-border);
	padding: 28px 26px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}
.lbn-modal-close {
	position: absolute; top: 10px; right: 12px;
	appearance: none; background: none; border: 0;
	font-size: 26px; line-height: 1; color: var(--lbn-gray); cursor: pointer;
}
.lbn-modal-close:hover { color: var(--lbn-black); }
.lbn-modal-title { font-family: "Inter", sans-serif; font-size: 20px; font-weight: 800; margin: 0 0 6px; color: var(--lbn-black); }
.lbn-modal-sub { font-family: "Inter", sans-serif; font-size: 14px; color: var(--lbn-gray); margin: 0 0 18px; }
.lbn-modal-alt { margin: 16px 0 0; font-family: "Inter", sans-serif; font-size: 13px; color: var(--lbn-gray); }
.lbn-modal-alt a, .lbn-modal-upsell a { color: var(--lbn-orange); font-weight: 700; text-decoration: none; }
.lbn-modal-alt a:hover, .lbn-modal-upsell a:hover { text-decoration: underline; }
.lbn-modal-upsell {
	margin: 16px 0 0; padding-top: 14px;
	border-top: 1px solid var(--lbn-border);
	font-family: "Inter", sans-serif; font-size: 14px; color: var(--lbn-black);
}
.lbn-modal-upsell[hidden] { display: none; }

/* Native WP login form inside the modal */
.lbn-login-modal .login-username label,
.lbn-login-modal .login-password label {
	display: block; font-family: "Inter", sans-serif; font-size: 13px; font-weight: 600; margin: 10px 0 4px;
}
.lbn-login-modal input[type="text"],
.lbn-login-modal input[type="password"] {
	width: 100%; padding: 10px 12px; border: 1px solid var(--lbn-border);
	font-family: "Inter", sans-serif; font-size: 14px;
}
.lbn-login-modal .login-remember { margin: 12px 0; font-size: 13px; }
.lbn-login-modal .login-submit input {
	width: 100%; padding: 11px 16px; background: var(--lbn-orange); color: #fff;
	border: 0; font-weight: 800; font-family: "Inter", sans-serif; cursor: pointer;
}

body.lbn-modal-open { overflow: hidden; }

/* "Know your Category" poll — login gate for guests */
.lbn-art-poll.is-locked .lbn-art-poll-opt-pct,
.lbn-art-poll.is-locked .lbn-art-poll-opt-bar {
	filter: blur(4px); opacity: 0.5; pointer-events: none;
}
.lbn-art-poll.is-locked .lbn-art-poll-total { filter: blur(3px); opacity: 0.5; }
.lbn-art-poll-lock {
	margin-top: 14px; padding-top: 14px; text-align: center;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x; background-position: top left;
}
.lbn-art-poll-lock-msg { font-family: "Inter", sans-serif; font-size: 13px; color: var(--lbn-gray); margin: 0 0 10px; }
.lbn-art-poll-lock-btn {
	appearance: none; border: 0; background: var(--lbn-orange); color: #fff;
	font-family: "Inter", sans-serif; font-weight: 800; font-size: 13px; padding: 9px 18px; cursor: pointer;
}
.lbn-art-poll-lock-btn:hover { opacity: 0.9; }

/* Modal divider (after headline + subhead) */
.lbn-modal-divider {
	height: var(--lbn-dash-thick);
	margin: 16px 0 18px;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: left center;
}

/* Match the newsletter popup's Ninja Forms submit to the site's orange button. */
.lbn-newsletter-modal .nf-form-content input[type="button"],
.lbn-newsletter-modal .nf-element[type="button"],
.lbn-newsletter-modal .submit-wrap input,
.lbn-newsletter-modal button[type="submit"] {
	background: var(--lbn-orange) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: "Inter", sans-serif !important;
	font-weight: 800 !important;
	padding: 12px 22px !important;
	width: auto;
	cursor: pointer;
	transition: opacity 0.15s ease;
}
.lbn-newsletter-modal .nf-form-content input[type="button"]:hover,
.lbn-newsletter-modal .nf-element[type="button"]:hover,
.lbn-newsletter-modal button[type="submit"]:hover { opacity: 0.92; }

/* ======================
   MOBILE — maximise content width: 5px side gutter (phones)
   The whole site's horizontal page padding funnels through --lbn-section-pad,
   so overriding it here shrinks every page gutter to 5px at once. Component
   internal padding (cards, forms) is untouched, so text still breathes.
   ====================== */
@media (max-width: 600px) {
	:root { --lbn-section-pad: 5px; }
	/* Restore vertical spacing where the gutter var was reused for it. */
	.lbn-section { padding-top: 20px; padding-bottom: 20px; }
	.lbn-pagination { padding-top: 24px; }
}

/* ======================
   ABOUT US PAGE
   ====================== */
.lbn-about-wrap { background: var(--lbn-white); color: var(--lbn-black); font-family: "Inter", sans-serif; }
.lbn-about-inner { max-width: 1080px; margin: 0 auto; padding: 56px var(--lbn-section-pad) 72px; }

/* Hero */
.lbn-about-hero { padding-bottom: 40px; }
.lbn-about-eyebrow { margin: 0 0 14px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--lbn-orange); }
.lbn-about-title { margin: 0 0 18px; font-size: clamp(30px, 4vw, 46px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.12; color: var(--lbn-black); }
.lbn-about-lead { margin: 0; max-width: 760px; font-size: 18px; line-height: 1.6; color: #555; }

/* Stats — dashed top/bottom rules, matching the newspaper grid */
.lbn-about-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	padding: 28px 0;
	background-image: var(--lbn-dash-h), var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick), var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x, repeat-x;
	background-position: top left, bottom left;
}
.lbn-about-stat { display: flex; flex-direction: column; gap: 6px; }
.lbn-about-stat-num { font-size: clamp(26px, 3vw, 34px); font-weight: 800; letter-spacing: -0.02em; color: var(--lbn-orange); }
.lbn-about-stat-label { font-size: 13px; color: #666; }

/* Rail-per-section content, matching the homepage/contact rail layout */
.lbn-about-section {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 44px;
	padding: 40px 0;
	align-items: start;
}
.lbn-about-section + .lbn-about-section {
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-about-h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); position: sticky; top: 90px; }
.lbn-about-body p { margin: 0 0 16px; font-size: 16.5px; line-height: 1.75; color: #333; }
.lbn-about-body p:last-child { margin-bottom: 0; }

/* Newsroom CTA */
.lbn-about-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 8px;
	padding: 40px 0 0;
	background-image: var(--lbn-dash-h);
	background-size: var(--lbn-dash-tile) var(--lbn-dash-thick);
	background-repeat: repeat-x;
	background-position: top left;
}
.lbn-about-cta-title { margin: 0 0 8px; font-size: 24px; font-weight: 800; letter-spacing: -0.01em; color: var(--lbn-black); }
.lbn-about-cta-text { max-width: 560px; }
.lbn-about-cta-text p { margin: 0; font-size: 15px; line-height: 1.6; color: #555; }
.lbn-about-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.lbn-about-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--lbn-orange);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	padding: 12px 22px;
	border-radius: 8px;
	transition: background-color 0.15s ease;
}
.lbn-about-btn:hover { background: var(--lbn-orange-hover); }
.lbn-about-btn-ghost { background: transparent; color: var(--lbn-black); border: 1px solid var(--lbn-border); }
.lbn-about-btn-ghost:hover { background: #f6f6f6; border-color: var(--lbn-gray-light); }

@media (max-width: 780px) {
	.lbn-about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	.lbn-about-section { grid-template-columns: 1fr; gap: 14px; }
	.lbn-about-h2 { position: static; }
	.lbn-about-cta { flex-direction: column; align-items: flex-start; }
}

/* Single-article signup CTA (replaced the non-functional inline form) */
.lbn-art-signup-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	padding: 11px 22px;
	background: var(--lbn-orange);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 8px;
	transition: background-color 0.15s ease;
}
.lbn-art-signup-cta:hover { background: var(--lbn-orange-hover); }
