/* ============================================================
   Spartan Theme — Main Stylesheet
   v1.0.9
   ============================================================ */

/* ----------------------------------------------------------
   Custom Properties
   ---------------------------------------------------------- */
:root {
	--bg:       #0D0D0D;
	--card:     #1A1A1A;
	--border:   #2A2A2A;
	--gold:     #C9A84C;
	--gold-dk:  #A8873A;
	--purple:   #7B2FBE;
	--muted:    #888888;
	--body-txt: #D8D8D8;
	--white:    #FFFFFF;

	--font:     system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--max-w:    1180px;
	--gutter:   24px;
	--radius:   6px;
	--hdr-h:    64px;

	--ease:     cubic-bezier(0.4, 0, 0.2, 1);
}

/* ----------------------------------------------------------
   Reset & Base
   ---------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
	font-family: var(--font);
	background: var(--bg);
	color: var(--body-txt);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold); text-decoration: none; transition: color 0.2s var(--ease); }
a:hover { color: var(--white); }

ul { list-style: none; }

/* ----------------------------------------------------------
   Layout Containers
   ---------------------------------------------------------- */
.slb-container {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 0 var(--gutter);
}
.slb-container--narrow {
	max-width: 800px;
}

/* ----------------------------------------------------------
   Header
   ---------------------------------------------------------- */
.slb-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--hdr-h);
	background: rgba(13, 13, 13, 0.95);
	border-bottom: 1px solid var(--border);
	backdrop-filter: blur(8px);
}

.slb-header__inner {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 0 var(--gutter);
	height: 100%;
	display: flex;
	align-items: center;
	gap: 32px;
}

.slb-header__logo,
.slb-footer__logo {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--white);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.02em;
	text-decoration: none;
	flex-shrink: 0;
}
.slb-header__logo:hover,
.slb-footer__logo:hover { color: var(--gold); }

.slb-header__logo img,
.slb-footer__logo img { border-radius: 2px; width: 52px; height: 52px; object-fit: contain; }

/* Nav */
.slb-nav {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 8px;
}

.slb-nav__list {
	display: flex;
	align-items: center;
	gap: 4px;
}

.slb-nav__list a {
	display: block;
	padding: 6px 14px;
	color: var(--muted);
	font-size: 14px;
	font-weight: 500;
	border-radius: var(--radius);
	transition: color 0.2s var(--ease), background 0.2s var(--ease);
}
.slb-nav__list a:hover,
.slb-nav__list .current-menu-item > a {
	color: var(--white);
	background: var(--card);
}

.slb-nav__cta { margin-left: 8px; }

/* Dropdown submenus */
.slb-nav__list li { position: relative; }

.slb-nav__list .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	min-width: 200px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 6px 0;
	z-index: 200;
	flex-direction: column;
	gap: 0;
}
.slb-nav__list .menu-item-has-children:hover > .sub-menu,
.slb-nav__list .menu-item-has-children.is-open > .sub-menu { display: flex; }

.slb-nav__list .sub-menu a {
	padding: 8px 16px;
	border-radius: 0;
	white-space: nowrap;
}
.slb-nav__list .menu-item-has-children > a::after {
	content: ' ▾';
	font-size: 10px;
	opacity: 0.6;
}

/* Mobile toggle */
.slb-nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 36px;
	height: 36px;
	background: none;
	border: none;
	cursor: pointer;
	margin-left: auto;
	padding: 4px;
}
.slb-nav-toggle span {
	display: block;
	height: 2px;
	background: var(--muted);
	border-radius: 2px;
	transition: transform 0.25s var(--ease), opacity 0.2s;
}
.slb-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.slb-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.slb-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */
.slb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 22px;
	border-radius: var(--radius);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: background 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease), transform 0.15s var(--ease);
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
}
.slb-btn:active { transform: scale(0.97); }

.slb-btn--gold {
	background: var(--gold);
	color: #000;
}
.slb-btn--gold:hover {
	background: var(--gold-dk);
	color: #000;
}

.slb-btn--ghost {
	background: transparent;
	color: var(--muted);
	border: 1px solid var(--border);
}
.slb-btn--ghost:hover {
	color: var(--white);
	border-color: var(--muted);
}

.slb-btn--lg {
	padding: 14px 32px;
	font-size: 15px;
}

/* ----------------------------------------------------------
   Section Utilities
   ---------------------------------------------------------- */
.slb-section-label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}

.slb-section-headline {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	color: var(--white);
	line-height: 1.2;
	margin-bottom: 16px;
}

.slb-section-sub {
	font-size: 16px;
	color: var(--muted);
	max-width: 600px;
	margin-bottom: 56px;
	line-height: 1.6;
}

/* ----------------------------------------------------------
   Hero
   ---------------------------------------------------------- */
.slb-hero {
	padding: 32px 0 48px;
	text-align: center;
	border-bottom: 1px solid var(--border);
}

.slb-hero__banner {
	display: block;
	max-width: 560px;
	width: 100%;
	margin: 0 auto 12px;
	height: auto;
}

.slb-hero__eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 20px;
}

.slb-hero__headline {
	font-size: clamp(2.2rem, 5vw, 3.8rem);
	font-weight: 800;
	color: var(--white);
	line-height: 1.1;
	margin-bottom: 16px;
	letter-spacing: -0.02em;
}

.slb-hero__sub {
	font-size: clamp(1rem, 2vw, 1.3rem);
	color: var(--gold);
	font-style: italic;
	margin-bottom: 20px;
}

.slb-hero__body {
	font-size: 17px;
	color: var(--muted);
	max-width: 560px;
	margin: 0 auto 40px;
	line-height: 1.7;
}

.slb-hero__ctas {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ----------------------------------------------------------
   Plugin Cards Grid
   ---------------------------------------------------------- */
.slb-plugins {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
}

.slb-plugin-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
}

.slb-plugin-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	transition: border-color 0.2s var(--ease), transform 0.2s var(--ease);
}
.slb-plugin-card:hover {
	border-color: var(--gold);
	transform: translateY(-2px);
}
.slb-plugin-card--coming-soon {
	opacity: 0.75;
}
.slb-plugin-card--coming-soon:hover {
	border-color: var(--border);
	transform: none;
}

.slb-plugin-card__header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.slb-plugin-card__icon { font-size: 24px; line-height: 1; }

.slb-plugin-card__tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
	border: 1px solid var(--border);
	padding: 3px 8px;
	border-radius: 4px;
}
.slb-plugin-card__tag--live {
	color: var(--gold);
	border-color: rgba(201, 168, 76, 0.3);
	background: rgba(201, 168, 76, 0.06);
}

.slb-plugin-card__name {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--white);
	line-height: 1.2;
}

.slb-plugin-card__desc {
	color: var(--muted);
	font-size: 14px;
	line-height: 1.6;
	flex: 1;
}

.slb-plugin-card__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.slb-plugin-card__pills span {
	font-size: 11px;
	font-weight: 600;
	color: var(--body-txt);
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--border);
	padding: 3px 10px;
	border-radius: 20px;
}

.slb-plugin-card__ctas {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: auto;
}

/* ----------------------------------------------------------
   How It Works
   ---------------------------------------------------------- */
.slb-how {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
	text-align: center;
}

.slb-how__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 48px;
	margin-top: 56px;
	text-align: left;
}

.slb-how__item { position: relative; }

.slb-how__num {
	display: block;
	font-size: 48px;
	font-weight: 800;
	color: rgba(201, 168, 76, 0.55);
	line-height: 1;
	margin-bottom: 16px;
	letter-spacing: -0.03em;
}

.slb-how__item h3 {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 8px;
}

.slb-how__item p {
	color: #bbbbbb;
	font-size: 14px;
	line-height: 1.7;
}

/* ----------------------------------------------------------
   About Strip
   ---------------------------------------------------------- */
.slb-about-strip {
	padding: 80px 0;
	border-bottom: 1px solid var(--border);
	background: var(--card);
}

.slb-about-strip .slb-container {
	max-width: 720px;
	text-align: center;
}

.slb-about-strip h2 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: var(--white);
	margin-bottom: 16px;
}

.slb-about-strip p {
	color: var(--muted);
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 32px;
}

/* ----------------------------------------------------------
   CTA Banner
   ---------------------------------------------------------- */
.slb-cta-banner {
	padding: 96px 0;
	text-align: center;
}

.slb-cta-banner h2 {
	font-size: clamp(1.75rem, 3.5vw, 2.8rem);
	font-weight: 800;
	color: var(--white);
	margin-bottom: 12px;
}

.slb-cta-banner p {
	color: var(--muted);
	font-size: 16px;
	margin-bottom: 36px;
}

.slb-cta-banner__btns {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ----------------------------------------------------------
   Standard Page
   ---------------------------------------------------------- */
.slb-main--page {
	padding: 80px 0 120px;
}

.slb-page-header {
	padding-bottom: 32px;
	margin-bottom: 40px;
	border-bottom: 1px solid var(--border);
}

.slb-page-title {
	font-size: clamp(1.8rem, 4vw, 3rem);
	font-weight: 800;
	color: var(--white);
	line-height: 1.15;
}

/* Entry content typography */
.slb-entry-content h1,
.slb-entry-content h2,
.slb-entry-content h3,
.slb-entry-content h4 {
	color: var(--white);
	font-weight: 700;
	line-height: 1.25;
	margin-top: 2em;
	margin-bottom: 0.6em;
}
.slb-entry-content h2 { font-size: 1.5rem; }
.slb-entry-content h3 { font-size: 1.2rem; }
.slb-entry-content h4 { font-size: 1rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gold); }

.slb-entry-content p {
	color: var(--body-txt);
	margin-bottom: 1.2em;
	font-size: 16px;
	line-height: 1.75;
}

.slb-entry-content a { color: var(--gold); }
.slb-entry-content a:hover { color: var(--white); }

.slb-entry-content ul,
.slb-entry-content ol {
	margin: 0 0 1.2em 1.5em;
	color: var(--body-txt);
}
.slb-entry-content li { margin-bottom: 0.4em; line-height: 1.6; }
.slb-entry-content ul { list-style: disc; }
.slb-entry-content ol { list-style: decimal; }

.slb-entry-content strong { color: var(--white); font-weight: 600; }

.slb-entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	font-size: 14px;
}
.slb-entry-content th,
.slb-entry-content td {
	border: 1px solid var(--border);
	padding: 10px 14px;
	text-align: left;
}
.slb-entry-content th {
	background: var(--card);
	color: var(--white);
	font-weight: 600;
}
.slb-entry-content td { color: var(--body-txt); }
.slb-entry-content tr:nth-child(even) td { background: rgba(255,255,255,0.02); }

.slb-entry-content code {
	font-family: 'SF Mono', 'Fira Code', monospace;
	font-size: 0.875em;
	background: rgba(201, 168, 76, 0.08);
	color: var(--gold);
	padding: 2px 6px;
	border-radius: 3px;
}

.slb-entry-content blockquote {
	border-left: 3px solid var(--gold);
	padding: 12px 20px;
	margin: 1.5em 0;
	color: var(--muted);
	font-style: italic;
	background: var(--card);
	border-radius: 0 var(--radius) var(--radius) 0;
}

.slb-entry-content hr {
	border: none;
	border-top: 1px solid var(--border);
	margin: 2em 0;
}

/* ----------------------------------------------------------
   404
   ---------------------------------------------------------- */
.slb-404 {
	padding: 80px 0;
	text-align: center;
}
.slb-404__heading {
	font-size: 8rem;
	font-weight: 900;
	color: rgba(201, 168, 76, 0.15);
	line-height: 1;
	margin-bottom: 8px;
}
.slb-404__sub {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 12px;
}
.slb-404 p { color: var(--muted); margin-bottom: 32px; }

/* ----------------------------------------------------------
   Footer
   ---------------------------------------------------------- */
.slb-footer {
	background: var(--card);
	border-top: 1px solid var(--border);
}

.slb-footer__inner {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 56px var(--gutter) 40px;
	display: flex;
	align-items: flex-start;
	gap: 48px;
	flex-wrap: wrap;
}

.slb-footer__brand { flex: 1; min-width: 180px; }

.slb-footer__logo { margin-bottom: 10px; }
.slb-footer__logo img { width: 32px; height: 32px; }
.slb-footer__logo span { font-size: 14px; font-weight: 600; }

.slb-footer__tagline {
	font-size: 13px;
	color: var(--muted);
	font-style: italic;
}

.slb-footer__nav { margin-left: auto; }

.slb-footer__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
}
.slb-footer__list a {
	font-size: 13px;
	color: var(--muted);
	transition: color 0.2s var(--ease);
}
.slb-footer__list a:hover { color: var(--white); }

.slb-footer__bottom {
	max-width: var(--max-w);
	margin: 0 auto;
	padding: 20px var(--gutter);
	border-top: 1px solid var(--border);
	display: flex;
	align-items: center;
}
.slb-footer__bottom p {
	font-size: 12px;
	color: var(--muted);
}

/* ----------------------------------------------------------
   Card (archive fallback)
   ---------------------------------------------------------- */
.slb-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 28px;
	margin-bottom: 20px;
}
.slb-card__title a { color: var(--white); font-size: 1.25rem; font-weight: 700; }
.slb-card__title a:hover { color: var(--gold); }
.slb-card__excerpt { color: var(--muted); font-size: 14px; margin-top: 8px; }

/* ----------------------------------------------------------
   Responsive
   ---------------------------------------------------------- */
@media (max-width: 768px) {
	:root { --gutter: 20px; }

	.slb-nav-toggle { display: flex; }

	.slb-nav {
		display: none;
		position: absolute;
		top: var(--hdr-h);
		left: 0;
		right: 0;
		background: var(--card);
		border-bottom: 1px solid var(--border);
		padding: 16px var(--gutter) 20px;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.slb-nav.is-open { display: flex; }
	.slb-nav__list { flex-direction: column; width: 100%; }
	.slb-nav__list a { padding: 10px 12px; font-size: 15px; }
	.slb-nav__cta { margin-left: 0; margin-top: 8px; }

	/* Mobile: submenus expand inline, indented */
	.slb-nav__list .sub-menu {
		position: static;
		border: none;
		border-left: 2px solid var(--border);
		border-radius: 0;
		padding: 0 0 0 12px;
		margin: 2px 0 4px;
		background: transparent;
	}
	.slb-nav__list .menu-item-has-children > a::after { content: ' ▾'; }
	.slb-nav__list .menu-item-has-children.is-open > a::after { content: ' ▴'; }

	.slb-header { position: relative; }

	.slb-hero { padding: 72px 0 64px; }
	.slb-hero__body br { display: none; }

	.slb-plugins,
	.slb-how,
	.slb-cta-banner { padding: 64px 0; }

	.slb-plugin-grid { grid-template-columns: 1fr; }

	.slb-how__grid { gap: 32px; }

	.slb-footer__inner { flex-direction: column; gap: 28px; }
	.slb-footer__nav { margin-left: 0; }
	.slb-footer__list { flex-direction: column; gap: 8px; }
}

@media (max-width: 480px) {
	.slb-hero__ctas,
	.slb-cta-banner__btns { flex-direction: column; align-items: center; }
	.slb-btn { width: 100%; max-width: 280px; }
}

/* ----------------------------------------------------------
   Inner Page Hero (About, Contact, Support)
   ---------------------------------------------------------- */
.slb-page-hero {
	padding: 72px 0 64px;
	text-align: center;
	border-bottom: 1px solid var(--border);
}
.slb-page-hero__eyebrow {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 20px;
}
.slb-page-hero__headline {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 900;
	color: var(--white);
	line-height: 1.1;
	margin-bottom: 20px;
	letter-spacing: -0.02em;
}
.slb-page-hero__sub {
	font-size: 17px;
	color: var(--muted);
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.7;
}

/* Value Cards */
.slb-values {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
}
.slb-values__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	margin-top: 56px;
}
.slb-value-card {
	padding: 32px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 10px;
}
.slb-value-card__icon { display: block; font-size: 32px; margin-bottom: 16px; line-height: 1; }
.slb-value-card h3 { font-size: 1.1rem; font-weight: 700; color: var(--white); margin-bottom: 10px; }
.slb-value-card p { font-size: 14px; color: var(--muted); line-height: 1.7; }

/* About Story */
.slb-about-story {
	padding: 96px 0;
	background: var(--card);
	border-bottom: 1px solid var(--border);
}
.slb-about-story__inner {
	max-width: 720px;
	margin: 0 auto;
}
.slb-about-story__inner h2 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	color: var(--white);
	margin-bottom: 24px;
	line-height: 1.2;
}
.slb-about-story__inner p {
	font-size: 16px;
	color: var(--muted);
	line-height: 1.85;
	margin-bottom: 18px;
}

/* Contact */
.slb-contact {
	padding: 80px 0;
	border-bottom: 1px solid var(--border);
}
.slb-contact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	margin-top: 48px;
}
.slb-contact__option {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 36px 32px;
	text-align: center;
	transition: border-color 0.2s var(--ease);
}
.slb-contact__option:hover { border-color: rgba(201, 168, 76, 0.35); }
.slb-contact__icon { font-size: 36px; display: block; margin-bottom: 16px; line-height: 1; }
.slb-contact__option h3 { font-size: 1.1rem; font-weight: 700; color: var(--white); margin-bottom: 10px; }
.slb-contact__option p { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 20px; }
.slb-contact__note {
	margin-top: 40px;
	padding: 20px 28px;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	font-size: 14px;
	color: var(--muted);
	text-align: center;
}

/* Support Tiers */
.slb-support-channels {
	padding: 80px 0;
	background: var(--card);
	border-bottom: 1px solid var(--border);
}
.slb-support-channels__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin-top: 48px;
}
.slb-support-tier {
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 36px 32px;
	background: var(--bg);
}
.slb-support-tier--pro {
	border-color: rgba(201, 168, 76, 0.3);
	background: rgba(201, 168, 76, 0.02);
}
.slb-support-tier__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 12px;
}
.slb-support-tier--pro .slb-support-tier__label { color: var(--gold); }
.slb-support-tier h3 { font-size: 1.2rem; font-weight: 700; color: var(--white); margin-bottom: 12px; }
.slb-support-tier p { font-size: 14px; color: var(--muted); line-height: 1.7; margin-bottom: 20px; }

/* FAQ */
.slb-faq {
	padding: 80px 0;
	border-bottom: 1px solid var(--border);
}
.slb-faq__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 800px;
	margin: 48px auto 0;
}
.slb-faq__item {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 24px 28px;
}
.slb-faq__q { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 10px; }
.slb-faq__a { font-size: 14px; color: var(--muted); line-height: 1.7; }
.slb-faq__a a { color: var(--gold); }
.slb-faq__a a:hover { color: var(--white); }

/* ----------------------------------------------------------
   Stretched Card Link
   ---------------------------------------------------------- */
.slb-plugin-card--linked { position: relative; }
.slb-stretched-link::after {
	position: absolute;
	inset: 0;
	z-index: 0;
	content: "";
	border-radius: inherit;
}
.slb-plugin-card--linked .slb-plugin-card__ctas {
	position: relative;
	z-index: 1;
}

/* ----------------------------------------------------------
   Simple AI Chatbot Landing Page
   ---------------------------------------------------------- */

/* Hero */
.slb-plp-hero {
	padding: 80px 0;
	text-align: center;
	border-bottom: 1px solid var(--border);
}
.slb-plp-hero__badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gold);
	border: 1px solid rgba(201, 168, 76, 0.35);
	background: rgba(201, 168, 76, 0.06);
	padding: 4px 14px;
	border-radius: 20px;
	margin-bottom: 28px;
}
.slb-plp-hero__headline {
	font-size: clamp(2.8rem, 7vw, 5rem);
	font-weight: 900;
	color: var(--white);
	line-height: 1.0;
	margin-bottom: 20px;
	letter-spacing: -0.03em;
}
.slb-plp-hero__sub {
	font-size: clamp(1.1rem, 2.5vw, 1.4rem);
	color: var(--muted);
	margin-bottom: 20px;
	line-height: 1.4;
}
.slb-plp-hero__body {
	font-size: 16px;
	color: var(--muted);
	max-width: 560px;
	margin: 0 auto 40px;
	line-height: 1.7;
}
.slb-plp-hero__ctas {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* Pain Points */
.slb-plp-pain {
	padding: 96px 0;
	background: var(--card);
	border-bottom: 1px solid var(--border);
}
.slb-plp-pain__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
	margin-top: 48px;
}
.slb-plp-pain__item {
	padding: 32px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
}
.slb-plp-pain__icon {
	display: block;
	font-size: 32px;
	margin-bottom: 16px;
	line-height: 1;
}
.slb-plp-pain__item h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 10px;
}
.slb-plp-pain__item p {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.7;
}

/* How It Works Steps */
.slb-plp-steps {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
}
.slb-plp-steps__grid {
	display: flex;
	align-items: flex-start;
	margin-top: 56px;
}
.slb-plp-step {
	flex: 1;
	text-align: center;
	padding: 0 24px;
}
.slb-plp-step__num {
	display: inline-block;
	font-size: 3rem;
	font-weight: 900;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 16px;
	letter-spacing: -0.03em;
}
.slb-plp-step h3 {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 10px;
}
.slb-plp-step p {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.7;
	max-width: 240px;
	margin: 0 auto;
}
.slb-plp-step__connector {
	flex: 0 0 40px;
	height: 2px;
	background: linear-gradient(90deg, rgba(201,168,76,0.6), rgba(201,168,76,0.15));
	margin-top: 22px;
	border-radius: 2px;
}

/* Features Grid */
.slb-plp-features {
	padding: 96px 0;
	background: var(--card);
	border-bottom: 1px solid var(--border);
}
.slb-plp-features__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 56px;
}
.slb-plp-feature {
	padding: 28px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
	transition: border-color 0.2s var(--ease), transform 0.2s var(--ease);
}
.slb-plp-feature:hover {
	border-color: rgba(201, 168, 76, 0.4);
	transform: translateY(-2px);
}
.slb-plp-feature__icon {
	display: block;
	font-size: 28px;
	margin-bottom: 14px;
	line-height: 1;
}
.slb-plp-feature h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--white);
	margin-bottom: 8px;
}
.slb-plp-feature p {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.7;
}

/* Free Tier */
.slb-plp-free {
	padding: 96px 0;
	border-bottom: 1px solid var(--border);
}
.slb-plp-free__box {
	background: var(--card);
	border: 1px solid rgba(201, 168, 76, 0.25);
	border-radius: 12px;
	padding: 56px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}
.slb-plp-free__left h2 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	color: var(--white);
	margin-bottom: 16px;
	line-height: 1.2;
}
.slb-plp-free__left p {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 28px;
}
.slb-plp-free__checklist ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.slb-plp-free__checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	color: var(--body-txt);
}
.slb-plp-free__checklist li::before {
	content: "✓";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	background: rgba(201, 168, 76, 0.1);
	border: 1px solid rgba(201, 168, 76, 0.35);
	border-radius: 50%;
	color: var(--gold);
	font-size: 11px;
	font-weight: 700;
}

/* ----------------------------------------------------------
   In Development Page
   ---------------------------------------------------------- */
.slb-in-dev {
	padding: 96px 0 80px;
	border-bottom: 1px solid var(--border);
	min-height: 60vh;
	display: flex;
	align-items: center;
}

.slb-in-dev__back {
	display: inline-block;
	font-size: 13px;
	color: var(--muted);
	margin-bottom: 48px;
	transition: color 0.2s var(--ease);
}
.slb-in-dev__back:hover { color: var(--white); }

.slb-in-dev__inner {
	max-width: 640px;
}

.slb-in-dev__badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	border: 1px solid rgba(201, 168, 76, 0.4);
	background: rgba(201, 168, 76, 0.07);
	padding: 5px 16px;
	border-radius: 20px;
	margin-bottom: 28px;
}

.slb-in-dev__name {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 900;
	color: var(--white);
	line-height: 1.05;
	letter-spacing: -0.03em;
	margin-bottom: 24px;
}

.slb-in-dev__desc {
	font-size: 18px;
	color: var(--body-txt);
	line-height: 1.7;
	margin-bottom: 24px;
	max-width: 560px;
}

.slb-in-dev__status {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.7;
}
.slb-in-dev__status a { color: var(--gold); }
.slb-in-dev__status a:hover { color: var(--white); }

/* ----------------------------------------------------------
   Contact Form
   ---------------------------------------------------------- */
.slb-contact-form {
	padding: 80px 0;
	border-bottom: 1px solid var(--border);
}

.slb-form {
	margin-top: 48px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.slb-form__row--half {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.slb-form__group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.slb-form__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--body-txt);
	letter-spacing: 0.02em;
}
.slb-form__label span { color: var(--gold); }

.slb-form__input {
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	color: var(--white);
	font-family: var(--font);
	font-size: 15px;
	line-height: 1.5;
	padding: 12px 16px;
	transition: border-color 0.2s var(--ease);
	width: 100%;
	outline: none;
}
.slb-form__input:focus { border-color: var(--gold); }
.slb-form__input::placeholder { color: var(--muted); opacity: 0.7; }

.slb-form__textarea { resize: vertical; min-height: 140px; }

.slb-form__hp { position: absolute; left: -9999px; visibility: hidden; }

.slb-form__actions { margin-top: 8px; }

.slb-form__status {
	font-size: 14px;
	min-height: 20px;
	border-radius: var(--radius);
}
.slb-form__status--ok  { color: #4caf7c; }
.slb-form__status--err { color: #e05c5c; }

@media (max-width: 640px) {
	.slb-form__row--half { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
	.slb-plp-steps__grid {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	.slb-plp-step__connector {
		width: 2px;
		height: 32px;
		flex: 0 0 32px;
		background: linear-gradient(180deg, rgba(201,168,76,0.6), rgba(201,168,76,0.15));
		margin-top: 0;
	}
	.slb-plp-free__box {
		grid-template-columns: 1fr;
		padding: 32px 24px;
		gap: 32px;
	}
}

/* ----------------------------------------------------------
   WooCommerce — Dark Theme Overrides
   ---------------------------------------------------------- */

/* Account page layout */
.woocommerce-account .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}
.woocommerce-MyAccount-navigation {
	width: 200px;
	flex-shrink: 0;
}
.woocommerce-MyAccount-content {
	flex: 1;
	min-width: 0;
}

/* Sidebar nav */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 8px 12px;
	border-radius: var(--radius);
	color: var(--muted);
	font-size: 14px;
	transition: color 0.2s, background 0.2s;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
	color: var(--gold);
	background: rgba(201, 168, 76, 0.08);
}

/* Form inputs */
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form input[type="number"],
.woocommerce form textarea,
.woocommerce form select {
	background: var(--card);
	border: 1px solid var(--border);
	color: var(--body-txt);
	border-radius: var(--radius);
	padding: 10px 14px;
	width: 100%;
	font-size: 14px;
	font-family: var(--font);
	transition: border-color 0.2s;
	box-shadow: none;
}
.woocommerce form input[type="text"]:focus,
.woocommerce form input[type="email"]:focus,
.woocommerce form input[type="password"]:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
	border-color: var(--gold);
	outline: none;
	box-shadow: none;
}
.woocommerce form input[type="text"]::placeholder,
.woocommerce form input[type="email"]::placeholder,
.woocommerce form input[type="password"]::placeholder {
	color: var(--muted);
	opacity: 0.7;
}

/* Labels and body text */
.woocommerce form label,
.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content li,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	color: var(--body-txt);
}
.woocommerce form .form-row { margin-bottom: 16px; }

/* Submit / action buttons */
.woocommerce form .button,
.woocommerce .button.alt,
.woocommerce .button {
	background: var(--gold);
	color: #000;
	border: none;
	padding: 10px 22px;
	border-radius: var(--radius);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: background 0.2s;
}
.woocommerce form .button:hover,
.woocommerce .button.alt:hover,
.woocommerce .button:hover {
	background: var(--gold-dk);
	color: #000;
}

/* Notices */
.woocommerce-notices-wrapper ul,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	background: var(--card);
	border-left: 4px solid var(--border);
	padding: 12px 16px;
	margin: 0 0 16px;
	border-radius: 0 var(--radius) var(--radius) 0;
	list-style: none;
	color: var(--body-txt);
	font-size: 14px;
}
.woocommerce-error  { border-color: #dc2626; }
.woocommerce-info   { border-color: var(--gold); }
.woocommerce-message{ border-color: #16a34a; }
.woocommerce-error li  { color: var(--body-txt); }

/* Order / account tables */
.woocommerce-orders-table,
.shop_table {
	width: 100%;
	border-collapse: collapse;
	color: var(--body-txt);
	font-size: 14px;
}
.woocommerce-orders-table th,
.woocommerce-orders-table td,
.shop_table th,
.shop_table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--border);
	text-align: left;
}
.woocommerce-orders-table th,
.shop_table th {
	color: var(--muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .06em;
}

@media (max-width: 640px) {
	.woocommerce-MyAccount-navigation { width: 100%; }
	.woocommerce-account .woocommerce { gap: 20px; }
}
