/* LunarLyra Premium Blocks - Frontend styles */

.llpb-section {
	box-sizing: border-box;
	padding: 5rem 1.5rem;
	font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

/* Make alignfull reliably full-bleed even if the theme is conservative. */
.llpb-section.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.llpb-container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 993px) {
	.llpb-container {
		max-width: 1240px;
	}
}

.llpb-center {
	text-align: center;
}

/* Light/Dark block styles (visible defaults; still overridable via block Color controls). */
.llpb-section.is-style-dark:not(.has-background) {
	background: #111827;
}

.llpb-section.is-style-dark:not(.has-text-color) {
	color: #ffffff;
}

.llpb-section.is-style-dark:not(.has-text-color) h1,
.llpb-section.is-style-dark:not(.has-text-color) h2,
.llpb-section.is-style-dark:not(.has-text-color) h3,
.llpb-section.is-style-dark:not(.has-text-color) h4,
.llpb-section.is-style-dark:not(.has-text-color) h5,
.llpb-section.is-style-dark:not(.has-text-color) h6,
.llpb-section.is-style-dark:not(.has-text-color) p,
.llpb-section.is-style-dark:not(.has-text-color) li,
.llpb-section.is-style-dark:not(.has-text-color) span {
	color: #ffffff !important;
}

.llpb-section.is-style-dark a {
	color: inherit;
}

/* Ensure buttons remain visible in dark sections */
.llpb-section.is-style-dark .wp-block-button__link {
	background: #ffffff !important;
	color: #111827 !important;
}

/* Heroes */
.llpb-hero {
	padding-top: 0;
	padding-bottom: 0;
}

.llpb-hero .llpb-container {
	min-height: 600px;
	display: flex;
	align-items: center;
}

.llpb-hero h1 {
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 0 0 1.5rem;
	font-size: clamp(2.25rem, 4vw, 3.75rem);
}

.llpb-hero-centered .llpb-container {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.llpb-hero p {
	font-size: 1.25rem;
	line-height: 1.6;
}

.llpb-hero .wp-block-button__link {
	border-radius: 0.75rem;
	padding: 0.95rem 1.5rem;
	font-weight: 700;
}

/* Default hero backgrounds (only when user hasn't picked a custom background). */
.llpb-hero-split:not(.has-background) {
	background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.llpb-hero-centered:not(.has-background) {
	background: linear-gradient(90deg, #10b981, #0d9488);
}

.llpb-hero-cover {
	padding: 0;
}

.llpb-hero-split:not(.has-text-color),
.llpb-hero-centered:not(.has-text-color) {
	color: #ffffff;
}

.llpb-hero-split:not(.has-text-color) h1,
.llpb-hero-split:not(.has-text-color) h2,
.llpb-hero-split:not(.has-text-color) h3,
.llpb-hero-split:not(.has-text-color) p,
.llpb-hero-split:not(.has-text-color) span,
.llpb-hero-centered:not(.has-text-color) h1,
.llpb-hero-centered:not(.has-text-color) h2,
.llpb-hero-centered:not(.has-text-color) h3,
.llpb-hero-centered:not(.has-text-color) p,
.llpb-hero-centered:not(.has-text-color) span {
	color: #ffffff !important;
}

.llpb-hero-split .wp-block-button__link {
	background: #ffffff;
	color: #2563eb;
}

.llpb-hero-centered .wp-block-button__link {
	background: #ffffff;
	color: #10b981;
}

.llpb-hero-cover .wp-block-button__link {
	background: #f97316;
	color: #ffffff;
}

.llpb-hero-split .wp-block-columns,
.llpb-bullets-image .wp-block-columns {
	gap: 3rem;
	align-items: center !important;
}

.llpb-media {
	overflow: hidden;
	border-radius: 1.25rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.llpb-media .wp-block-image,
.llpb-media figure {
	margin: 0;
}

.llpb-media img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Bullets + image image position */
.llpb-bullets-image.llpb-image-right .wp-block-columns {
	flex-direction: row-reverse;
}

/* Default bullets section backgrounds */
.llpb-bullets-image.llpb-image-left:not(.has-background) {
	background: #ffffff;
}

.llpb-bullets-image.llpb-image-right:not(.has-background) {
	background: #f9fafb;
}

.llpb-bullets-image h2 {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 800;
	margin: 0 0 1.5rem;
	color: #111827 !important;
}

.llpb-bullets-image h3 {
	color: #111827 !important;
	font-weight: 600;
}

.llpb-bullets-image p {
	color: #4b5563 !important;
}

.llpb-bullets-image .wp-block-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.llpb-bullets-image .wp-block-list li {
	position: relative;
	padding-left: 2.5rem;
	margin: 0 0 1rem;
	color: #111827 !important;
}

.llpb-bullets-image .wp-block-list li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0.1rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 0.9rem;
	color: #ffffff;
	background: #22c55e;
}

.llpb-bullets-image.llpb-bullets-star .wp-block-list li::before {
	content: '★';
	background: #eab308;
}

/* Dark style for bullets-image */
.llpb-bullets-image.is-style-dark:not(.has-background) {
	background: #111827 !important;
}

.llpb-bullets-image.is-style-dark h2,
.llpb-bullets-image.is-style-dark h3,
.llpb-bullets-image.is-style-dark p,
.llpb-bullets-image.is-style-dark .wp-block-list li {
	color: #ffffff !important;
}

/* Cards */
.llpb-card {
	padding: 2rem;
	border-radius: 1.25rem;
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.06);
}

.llpb-section.is-style-dark .llpb-card {
	background: rgba(0, 0, 0, 0.25);
	border-color: rgba(255, 255, 255, 0.12);
}

.llpb-card__link {
	font-weight: 600;
}

.llpb-price {
	font-size: 2rem;
	font-weight: 700;
	margin-top: 0.5rem;
	margin-bottom: 1rem;
}

/* Resources grid: 6 cards with soft gradients like the mock. */
.llpb-resources-grid:not(.has-background) {
	background: #ffffff;
}

.llpb-resources-grid h2 {
	text-align: center;
	color: #111827 !important;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	margin-bottom: 1rem;
}

.llpb-resources-grid > .llpb-container > p,
.llpb-resources-grid > p {
	text-align: center;
	color: #4b5563 !important;
	font-size: 1.25rem;
	margin-bottom: 4rem;
}

.llpb-resources-grid .llpb-resources__columns {
	gap: 2rem;
	margin-bottom: 2rem;
}

.llpb-resources-grid .wp-block-column {
	flex-basis: 0;
	flex-grow: 1;
}

/* Resource card base styling */
.llpb-resource-card {
	padding: 2rem !important;
	border-radius: 1rem !important;
	transition: box-shadow 0.3s ease;
	height: 100%;
	box-sizing: border-box;
	border: none !important;
	box-shadow: none !important;
}

.llpb-resource-card:hover {
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
}

/* Card gradients by unique class */
.llpb-card-1 { background: linear-gradient(135deg, #eff6ff, #dbeafe) !important; }
.llpb-card-2 { background: linear-gradient(135deg, #f5f3ff, #ede9fe) !important; }
.llpb-card-3 { background: linear-gradient(135deg, #ecfdf5, #d1fae5) !important; }
.llpb-card-4 { background: linear-gradient(135deg, #fff7ed, #ffedd5) !important; }
.llpb-card-5 { background: linear-gradient(135deg, #fef2f2, #fee2e2) !important; }
.llpb-card-6 { background: linear-gradient(135deg, #f0fdfa, #ccfbf1) !important; }

/* Icon box styling */
.llpb-resource-card h4,
.llpb-resource-card .llpb-card-icon {
	width: 4rem !important;
	height: 4rem !important;
	min-height: 4rem !important;
	border-radius: 0.75rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 0 1.5rem 0 !important;
	padding: 0 !important;
	font-size: 1.5rem !important;
	font-weight: 400 !important;
	color: #ffffff !important;
	line-height: 1 !important;
}

/* Icon background colors by card */
.llpb-card-1 h4, .llpb-card-1 .llpb-card-icon { background: #3b82f6 !important; }
.llpb-card-2 h4, .llpb-card-2 .llpb-card-icon { background: #a855f7 !important; }
.llpb-card-3 h4, .llpb-card-3 .llpb-card-icon { background: #22c55e !important; }
.llpb-card-4 h4, .llpb-card-4 .llpb-card-icon { background: #f97316 !important; }
.llpb-card-5 h4, .llpb-card-5 .llpb-card-icon { background: #ef4444 !important; }
.llpb-card-6 h4, .llpb-card-6 .llpb-card-icon { background: #14b8a6 !important; }

/* Card content styling */
.llpb-resource-card h3 {
	color: #111827 !important;
	font-weight: 700 !important;
	font-size: 1.5rem !important;
	margin: 0 0 0.75rem 0 !important;
}

.llpb-resource-card p {
	color: #374151 !important;
	margin: 0 0 1.5rem 0 !important;
	line-height: 1.5 !important;
}

.llpb-resource-card .llpb-card__link {
	color: #3b82f6 !important;
	font-weight: 600 !important;
	margin: 0 !important;
}

.llpb-card-1 .llpb-card__link { color: #3b82f6 !important; }
.llpb-card-2 .llpb-card__link { color: #a855f7 !important; }
.llpb-card-3 .llpb-card__link { color: #22c55e !important; }
.llpb-card-4 .llpb-card__link { color: #f97316 !important; }
.llpb-card-5 .llpb-card__link { color: #ef4444 !important; }
.llpb-card-6 .llpb-card__link { color: #14b8a6 !important; }

/* Dark mode for resources grid */
.llpb-resources-grid.is-style-dark:not(.has-background) {
	background: #111827 !important;
}

.llpb-resources-grid.is-style-dark h2 {
	color: #ffffff !important;
}

.llpb-resources-grid.is-style-dark > .llpb-container > p,
.llpb-resources-grid.is-style-dark > p {
	color: #d1d5db !important;
}

/* Dark card gradients */
.llpb-resources-grid.is-style-dark .llpb-card-1 { background: linear-gradient(135deg, #1e3a5f, #1e40af) !important; }
.llpb-resources-grid.is-style-dark .llpb-card-2 { background: linear-gradient(135deg, #3b1f5e, #5b21b6) !important; }
.llpb-resources-grid.is-style-dark .llpb-card-3 { background: linear-gradient(135deg, #14432a, #166534) !important; }
.llpb-resources-grid.is-style-dark .llpb-card-4 { background: linear-gradient(135deg, #5c3d1e, #c2410c) !important; }
.llpb-resources-grid.is-style-dark .llpb-card-5 { background: linear-gradient(135deg, #5c1e1e, #b91c1c) !important; }
.llpb-resources-grid.is-style-dark .llpb-card-6 { background: linear-gradient(135deg, #134e4a, #0f766e) !important; }

.llpb-resources-grid.is-style-dark .llpb-resource-card h3,
.llpb-resources-grid.is-style-dark .llpb-resource-card p {
	color: #ffffff !important;
}

.llpb-resources-grid.is-style-dark .llpb-card-1 .llpb-card__link { color: #93c5fd !important; }
.llpb-resources-grid.is-style-dark .llpb-card-2 .llpb-card__link { color: #d8b4fe !important; }
.llpb-resources-grid.is-style-dark .llpb-card-3 .llpb-card__link { color: #86efac !important; }
.llpb-resources-grid.is-style-dark .llpb-card-4 .llpb-card__link { color: #fdba74 !important; }
.llpb-resources-grid.is-style-dark .llpb-card-5 .llpb-card__link { color: #fca5a5 !important; }
.llpb-resources-grid.is-style-dark .llpb-card-6 .llpb-card__link { color: #5eead4 !important; }

/* Pricing grid: middle card “popular” look */
.llpb-pricing-grid:not(.has-background) {
	background: linear-gradient(135deg, #f9fafb, #f3f4f6);
}
.llpb-pricing-grid h2 {
	color: #111827 !important;
}

.llpb-pricing-grid .llpb-pricing-card h3 {
	color: #111827 !important;
	font-weight: 700;
}

.llpb-pricing-grid .llpb-pricing-card p,
.llpb-pricing-grid .llpb-pricing-card li {
	color: #374151 !important;
}
.llpb-pricing-grid .llpb-pricing-card .wp-block-image img {
	border-radius: 0;
}

.llpb-pricing-grid .llpb-pricing-card .wp-block-image,
.llpb-pricing-grid .llpb-pricing-card figure {
	margin: -2rem -2rem 1.5rem;
	border-radius: 1.25rem 1.25rem 0 0;
	overflow: hidden;
	max-height: 12rem;
}

.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card {
	background: linear-gradient(135deg, #2563eb, #7c3aed);
	color: #ffffff;
	transform: scale(1.03);
	position: relative;
}

.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card h3,
.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card p,
.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card li,
.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card span {
	color: #ffffff !important;
}

.llpb-pricing-grid .wp-block-column:nth-child(2) .llpb-pricing-card::before {
	content: 'POPULAR';
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	background: #facc15;
	color: #111827;
	font-weight: 800;
	font-size: 0.75rem;
	padding: 0.25rem 0.75rem;
	border-radius: 9999px;
}

.llpb-pricing-grid .wp-block-column:nth-child(2) .wp-block-button__link {
	background: #ffffff;
	color: #2563eb;
}

/* Contact + Footer: dark sections like the mock */
.llpb-contact-section:not(.has-background),
.llpb-footer-simple:not(.has-background) {
	background: #111827;
}

.llpb-contact-section:not(.has-text-color),
.llpb-footer-simple:not(.has-text-color) {
	color: #ffffff;
}

.llpb-contact-section:not(.has-text-color) h2,
.llpb-contact-section:not(.has-text-color) h3,
.llpb-contact-section:not(.has-text-color) p,
.llpb-contact-section:not(.has-text-color) span,
.llpb-footer-simple:not(.has-text-color) h2,
.llpb-footer-simple:not(.has-text-color) h3,
.llpb-footer-simple:not(.has-text-color) p,
.llpb-footer-simple:not(.has-text-color) span {
	color: #ffffff !important;
}

.llpb-footer-simple p {
	color: rgba(255, 255, 255, 0.7) !important;
}

/* Make default columns behave nicely on small screens */
@media (max-width: 781px) {
	.llpb-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.llpb-hero .llpb-container {
		min-height: 520px;
	}
}

/* ========================================
   Section Header Block
   ======================================== */
.llpb-section-header {
	padding: 2.5rem 1.5rem;
	text-align: center;
}

.llpb-section-header:not(.has-background) {
	background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.llpb-section-header:not(.has-text-color) h2 {
	color: #ffffff !important;
	margin: 0;
	font-weight: 700;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.llpb-section-header.is-style-light:not(.has-background) {
	background: linear-gradient(135deg, #f0f9ff, #e0f2fe);
}

.llpb-section-header.is-style-light:not(.has-text-color) h2 {
	color: #1e40af !important;
}

/* ========================================
   Benefits Split Block
   ======================================== */
.llpb-benefits-split {
	padding: 4rem 1.5rem;
}

.llpb-benefits-split:not(.has-background) {
	background: #ffffff;
}

.llpb-benefits-split h2 {
	color: #111827;
	font-weight: 600;
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin-bottom: 1rem;
}

.llpb-benefits-split > .llpb-container > .wp-block-columns {
	gap: 3rem;
}

/* Checklist styling */
.llpb-benefits-split .llpb-checklist,
.llpb-benefits-split ul.wp-block-list {
	list-style: none;
	padding-left: 0;
	margin: 1.5rem 0;
}

.llpb-benefits-split .llpb-checklist li,
.llpb-benefits-split ul.wp-block-list li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 1rem;
	line-height: 1.6;
	color: #374151;
}

.llpb-benefits-split .llpb-checklist li::before,
.llpb-benefits-split ul.wp-block-list li::before {
	content: '\f00c';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0.15em;
	color: #10b981;
	font-size: 0.9em;
}

.llpb-benefits-split .llpb-checklist li strong,
.llpb-benefits-split ul.wp-block-list li strong {
	color: #111827;
}

/* Video styling */
.llpb-benefits-split .wp-block-video video,
.llpb-benefits-split video {
	width: 100%;
	border-radius: 0.75rem;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* Dark mode */
.llpb-benefits-split.is-style-dark:not(.has-background) {
	background: #111827;
}

.llpb-benefits-split.is-style-dark h2 {
	color: #ffffff !important;
}

.llpb-benefits-split.is-style-dark p {
	color: #d1d5db !important;
}

.llpb-benefits-split.is-style-dark .llpb-checklist li,
.llpb-benefits-split.is-style-dark ul.wp-block-list li {
	color: #d1d5db;
}

.llpb-benefits-split.is-style-dark .llpb-checklist li strong,
.llpb-benefits-split.is-style-dark ul.wp-block-list li strong {
	color: #ffffff;
}

.llpb-benefits-split.is-style-dark .llpb-checklist li::before,
.llpb-benefits-split.is-style-dark ul.wp-block-list li::before {
	color: #34d399;
}

/* Links in checklists */
.llpb-benefits-split a {
	color: #2563eb;
	text-decoration: none;
}

.llpb-benefits-split a:hover {
	text-decoration: underline;
}

.llpb-benefits-split.is-style-dark a {
	color: #93c5fd;
}

/* ========================================
   Partner Showcase Block
   ======================================== */
.llpb-partner-showcase {
	padding: 5rem 1.5rem;
}

.llpb-partner-showcase:not(.has-background) {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.llpb-partner-showcase > .llpb-container > h2 {
	text-align: center;
	color: #111827;
	font-weight: 800;
	font-size: clamp(2rem, 3.5vw, 2.75rem);
	margin-bottom: 1rem;
	letter-spacing: -0.02em;
}

.llpb-partner-showcase > .llpb-container > p {
	text-align: center;
	color: #64748b;
	max-width: 42rem;
	margin: 0 auto 3.5rem;
	font-size: 1.125rem;
	line-height: 1.7;
}

.llpb-partner-row {
	margin-bottom: 2rem;
	align-items: stretch !important;
	gap: 0;
	background: #ffffff;
	border-radius: 1.25rem;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	transition: all 0.3s ease;
	border: 1px solid rgba(0, 0, 0, 0.05);
}

.llpb-partner-row:hover {
	box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.llpb-partner-row:last-child {
	margin-bottom: 0;
}

.llpb-partner-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
	padding: 2.5rem;
	min-height: 200px;
}

.llpb-partner-logo img,
.llpb-partner-row .wp-block-image img {
	max-width: 100%;
	max-height: 160px;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 0;
	transition: transform 0.3s ease;
}

.llpb-partner-row:hover .llpb-partner-logo img,
.llpb-partner-row:hover .wp-block-image img {
	transform: scale(1.05);
}

.llpb-partner-content {
	padding: 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.llpb-partner-content p {
	color: #475569;
	line-height: 1.75;
	margin-bottom: 1rem;
	font-size: 1rem;
}

.llpb-partner-content p:last-child {
	margin-bottom: 0;
}

.llpb-partner-content p strong {
	color: #1e293b;
	background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
	padding: 0.125rem 0.5rem;
	border-radius: 0.25rem;
	font-weight: 700;
}

.llpb-partner-content a {
	color: #2563eb;
	text-decoration: none;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	transition: all 0.2s ease;
}

.llpb-partner-content a:hover {
	color: #1d4ed8;
	gap: 0.625rem;
}

.llpb-partner-content a::after {
	content: '→';
	transition: transform 0.2s ease;
}

.llpb-partner-content a:hover::after {
	transform: translateX(3px);
}

/* Alternating row colors */
.llpb-partner-row:nth-child(odd) .llpb-partner-logo {
	background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.llpb-partner-row:nth-child(even) .llpb-partner-logo {
	background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
}

/* Reversed layout for alternating */
.llpb-partner-row--reversed {
	flex-direction: row-reverse;
}

/* Dark mode */
.llpb-partner-showcase.is-style-dark:not(.has-background) {
	background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
}

.llpb-partner-showcase.is-style-dark > .llpb-container > h2 {
	color: #ffffff;
}

.llpb-partner-showcase.is-style-dark > .llpb-container > p {
	color: #94a3b8;
}

.llpb-partner-showcase.is-style-dark .llpb-partner-row {
	background: #1e293b;
	border-color: rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-row:hover {
	box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.5);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-logo {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-row:nth-child(odd) .llpb-partner-logo {
	background: linear-gradient(135deg, #1e3a5f 0%, #1e293b 100%);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-row:nth-child(even) .llpb-partner-logo {
	background: linear-gradient(135deg, #3b2d5a 0%, #1e293b 100%);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-content {
	background: #1e293b;
}

.llpb-partner-showcase.is-style-dark .llpb-partner-content p {
	color: #cbd5e1;
}

.llpb-partner-showcase.is-style-dark .llpb-partner-content p strong {
	color: #ffffff;
	background: linear-gradient(135deg, #854d0e 0%, #a16207 100%);
}

.llpb-partner-showcase.is-style-dark .llpb-partner-content a {
	color: #60a5fa;
}

.llpb-partner-showcase.is-style-dark .llpb-partner-content a:hover {
	color: #93c5fd;
}

/* Responsive */
@media (max-width: 781px) {
	.llpb-partner-row {
		flex-direction: column !important;
	}
	
	.llpb-partner-row--reversed {
		flex-direction: column !important;
	}
	
	.llpb-partner-logo,
	.llpb-partner-content {
		width: 100% !important;
		flex-basis: 100% !important;
	}
	
	.llpb-partner-logo {
		min-height: 150px;
		padding: 2rem;
	}
	
	.llpb-partner-content {
		padding: 2rem;
	}
}

/* ========================================
   Resource Links Block
   ======================================== */
.llpb-resource-links {
	padding: 3rem 1.5rem;
}

.llpb-resource-links:not(.has-background) {
	background: #ffffff;
}

.llpb-resource-links h2 {
	color: #111827;
	font-weight: 300;
	font-size: clamp(1.5rem, 2.5vw, 2.35rem);
	margin-bottom: 2rem;
}

.llpb-resource-grid {
	gap: 1.5rem;
}

.llpb-resource-grid .wp-block-column {
	padding: 0;
}

.llpb-resource-grid .wp-block-image {
	margin: 0;
}

.llpb-resource-grid .wp-block-image img,
.llpb-resource-image img {
	width: 100%;
	height: auto;
	border-radius: 0.5rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}

.llpb-resource-grid .wp-block-image img:hover,
.llpb-resource-image img:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 25px -5px rgba(0, 0, 0, 0.15);
}

.llpb-resource-grid .wp-block-image a {
	display: block;
}

/* Grid variants */
.llpb-resource-grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

.llpb-resource-grid-4 {
	grid-template-columns: repeat(4, 1fr);
}

/* Caption under images */
.llpb-resource-grid figcaption {
	text-align: center;
	margin-top: 0.5rem;
	font-size: 0.875rem;
	color: #6b7280;
}

/* Dark mode */
.llpb-resource-links.is-style-dark:not(.has-background) {
	background: #111827;
}

.llpb-resource-links.is-style-dark h2 {
	color: #ffffff !important;
}

.llpb-resource-links.is-style-dark figcaption {
	color: #9ca3af;
}

/* Responsive adjustments */
@media (max-width: 781px) {
	.llpb-benefits-split > .llpb-container > .wp-block-columns {
		gap: 2rem;
	}

	.llpb-resource-grid {
		gap: 1rem;
	}

	.llpb-resource-grid-4 .wp-block-column {
		flex-basis: calc(50% - 0.5rem) !important;
	}
}
