/*
Theme Name: LBN - Live Bitcoin News
Theme URI: https://livebitcoinnews.com
Author: Live Bitcoin News
Description: Custom child theme for Live Bitcoin News. Dark header/footer, gold accents, crypto news homepage with category sections.
Template: twentytwentyfive
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 2.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;
	--lbn-gold: #EDB500;
	--lbn-gold-light: #ffd13a;
	--lbn-gray: #686868;
	--lbn-gray-light: #aaaaaa;
	--lbn-cream: #FBFAF3;
	--lbn-border: #eeeeee;
	--lbn-navy: #01175e;
	--lbn-navy-light: #0a2472;
	--lbn-dark-border: #222222;
	--lbn-radius: 4px;
	--lbn-section-pad: var(--wp--preset--spacing--50);
	--lbn-gap: var(--wp--preset--spacing--40);
}

/* ======================
   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-flag {
	font-size: 14px;
	line-height: 1;
}

.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);
}

.lbn-lang-dropdown li a .lbn-lang-flag {
	font-size: 16px;
}

/* 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-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);
}

.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
   ====================== */

.lbn-list-item {
	border-bottom: 1px solid var(--lbn-border);
	padding-bottom: 20px;
	gap: var(--lbn-gap);
}

.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);
}

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

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

	.lbn-hero-side,
	.lbn-hero-center,
	.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);
	}

	/* 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: Raleway, 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: Chivo, 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: Raleway, 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: Chivo, 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;
	}
}

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

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

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

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

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