/* ==========================================================
   SEO Professionals / Publisher Network
   Uses the theme's existing CSS variables (see linknest.css)
   and existing layout classes. Only new component classes are
   defined here — nothing here overrides existing selectors.
   ========================================================== */

.ln-mkt-hero-cta { display: flex; gap: .75rem; flex-wrap: wrap; }

.ln-btn-primary,
.ln-btn-primary-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	background: var(--accent);
	color: #fff;
	border: none;
	border-radius: 10px;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.ln-btn-primary { padding: .85rem 1.6rem; font-size: 1rem; }
.ln-btn-primary-sm { padding: .5rem 1rem; font-size: .82rem; white-space: nowrap; }
.ln-btn-primary:hover, .ln-btn-primary-sm:hover { background: var(--glow); transform: translateY(-1px); }

.ln-btn-outline-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .5rem 1rem;
	font-size: .82rem;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	color: var(--text);
	background: transparent;
	border: 1px solid var(--border);
	border-radius: 10px;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: border-color .2s, background .2s;
}
.ln-btn-outline-sm:hover { border-color: var(--accent); background: rgba(37,99,235,.08); }
.ln-btn-danger { color: #F87171; border-color: rgba(248,113,113,.35); }
.ln-btn-danger:hover { border-color: #F87171; background: rgba(248,113,113,.08); }
.ln-btn-disabled { opacity: .5; cursor: not-allowed; }

/* ---------------- Directory: professional cards ---------------- */

.ln-pro-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1.25rem;
	padding: 1.5rem 5% 4rem;
	background: var(--void);
}

.ln-pro-card {
	display: flex;
	flex-direction: column;
	gap: .85rem;
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1.4rem;
	text-decoration: none;
	color: var(--text);
	transition: border-color .2s, transform .2s;
}
.ln-pro-card:hover { border-color: var(--accent); transform: translateY(-2px); }

.ln-pro-card-top { display: flex; align-items: flex-start; gap: .85rem; position: relative; }

.ln-pro-avatar {
	width: 46px; height: 46px; flex-shrink: 0;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--accent), var(--accent2));
	display: flex; align-items: center; justify-content: center;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700; font-size: 1.1rem; color: #fff;
}
.ln-pro-avatar-lg { width: 72px; height: 72px; font-size: 1.6rem; }

.ln-pro-name { margin: 0; font-family: 'Space Grotesk', sans-serif; font-size: 1.05rem; }
.ln-pro-title { margin: .15rem 0 0; color: var(--muted); font-size: .85rem; }

.ln-pro-badge {
	margin-left: auto;
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	background: rgba(96,165,250,.12);
	color: var(--accent2);
	border: 1px solid rgba(96,165,250,.35);
	border-radius: 999px;
	padding: .25rem .6rem;
	white-space: nowrap;
}
.ln-badge-warning { background: rgba(245,158,11,.12); color: #F59E0B; border-color: rgba(245,158,11,.35); }
.ln-badge-verified { background: rgba(52,211,153,.12); color: #34D399; border-color: rgba(52,211,153,.35); margin-left: .3rem; }

.ln-pro-meta-row { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .82rem; color: var(--muted); }
.ln-pro-linkedin { color: #34D399; }

.ln-pro-tags { display: flex; gap: .4rem; flex-wrap: wrap; }
.ln-tag {
	font-size: .72rem;
	background: rgba(37,99,235,.1);
	border: 1px solid var(--border);
	color: var(--text);
	border-radius: 999px;
	padding: .2rem .6rem;
}

.ln-pro-view-btn {
	margin-top: auto;
	text-align: center;
	background: var(--accent);
	color: #fff;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	font-size: .88rem;
	border-radius: 10px;
	padding: .7rem;
}

.ln-filter-checkbox { display: inline-flex; align-items: center; gap: .4rem; font-size: .85rem; color: var(--text); margin-right: 1.2rem; }

/* ---------------- Public profile ---------------- */

.ln-pub-profile-hero .ln-pub-profile-header { display: flex; gap: 1.5rem; align-items: flex-start; }
.ln-pub-bio { max-width: 640px; margin-top: .75rem; color: var(--text); line-height: 1.6; }
.ln-pub-niche-tag { color: var(--muted); }

/* Premium cover + profile treatment used by public professional profiles. */
.ln-pub-premium-profile { background: var(--void); padding: 2rem 5% 1.5rem; }
.ln-pub-profile-shell { max-width: 1180px; margin: 0 auto; }
.ln-pub-cover {
	position: relative;
	height: 230px;
	overflow: hidden;
	border: 1px solid var(--border);
	border-radius: 24px 24px 0 0;
	background:
		radial-gradient(circle at 18% 20%, rgba(96,165,250,.24), transparent 36%),
		radial-gradient(circle at 82% 36%, rgba(37,99,235,.28), transparent 34%),
		linear-gradient(135deg, #0b1220 0%, #111c34 52%, #0a1020 100%);
}
.ln-pub-cover-grid {
	position: absolute; inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(to bottom, #000 0%, transparent 95%);
}
.ln-pub-cover-glow { position: absolute; width: 360px; height: 360px; right: 6%; top: -190px; border-radius: 50%; background: rgba(59,130,246,.22); filter: blur(55px); }
.ln-pub-profile-card {
	position: relative;
	margin-top: -1px;
	padding: 0 2rem 1.6rem;
	background: linear-gradient(180deg, rgba(18,25,42,.98), rgba(12,18,31,.98));
	border: 1px solid var(--border);
	border-top: 0;
	border-radius: 0 0 24px 24px;
	box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.ln-pub-profile-mainline { display: grid; grid-template-columns: auto 1fr auto; gap: 1.3rem; align-items: end; }
.ln-pub-avatar-wrap { margin-top: -58px; position: relative; z-index: 2; }
.ln-pub-avatar-premium {
	display: block;
	width: 116px; height: 116px;
	object-fit: cover;
	border-radius: 28px;
	border: 5px solid #111827;
	box-shadow: 0 12px 30px rgba(0,0,0,.35);
	background: var(--panel);
}
.ln-pub-profile-copy { padding-top: 1rem; min-width: 0; }
.ln-pub-badge-row { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .55rem; }
.ln-pub-badge-row .ln-pro-badge { margin-left: 0; }
.ln-pub-profile-copy h1 { margin: 0; font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.08; color: var(--text); }
.ln-pub-premium-title { margin: .38rem 0 .7rem; color: var(--muted); font-size: 1rem; }
.ln-pub-meta-pills { display: flex; flex-wrap: wrap; gap: .45rem; }
.ln-pub-meta-pills span { padding: .36rem .62rem; border: 1px solid var(--border); border-radius: 999px; background: rgba(255,255,255,.025); color: var(--muted); font-size: .76rem; }
.ln-pub-profile-actions { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: flex-end; padding-bottom: .1rem; }
.ln-pub-profile-about { margin-top: 1.35rem; padding-top: 1.25rem; border-top: 1px solid var(--border); display: grid; grid-template-columns: 110px 1fr; gap: 1rem; }
.ln-pub-profile-about > span { color: var(--accent2); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.ln-pub-profile-about p { margin: 0; max-width: 820px; color: var(--text); line-height: 1.7; }

@media (max-width: 760px) {
	.ln-pub-premium-profile { padding: 1rem 1rem 1.25rem; }
	.ln-pub-cover { height: 165px; border-radius: 18px 18px 0 0; }
	.ln-pub-profile-card { padding: 0 1rem 1.25rem; border-radius: 0 0 18px 18px; }
	.ln-pub-profile-mainline { grid-template-columns: 1fr; gap: .75rem; align-items: start; }
	.ln-pub-avatar-wrap { margin-top: -48px; }
	.ln-pub-avatar-premium { width: 96px; height: 96px; border-radius: 23px; }
	.ln-pub-profile-copy { padding-top: 0; }
	.ln-pub-profile-actions { justify-content: flex-start; }
	.ln-pub-profile-about { grid-template-columns: 1fr; gap: .5rem; }
}

.ln-pub-detail-panel { max-width: 760px; margin: 0 auto; padding: 2.5rem 5% 4rem; color: var(--text); }
.ln-pub-detail-panel h2 { font-family: 'Space Grotesk', sans-serif; margin-top: 1rem; }
.ln-pub-detail-panel h3 { font-family: 'Space Grotesk', sans-serif; font-size: 1rem; margin-top: 1.75rem; }

.ln-detail-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}
.ln-detail-item {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: .85rem 1rem;
	display: flex; flex-direction: column; gap: .25rem;
}
.ln-detail-item span { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.ln-detail-item strong { font-family: 'Space Grotesk', sans-serif; }

.ln-pub-detail-cta { margin-top: 2rem; }

.ln-empty-state { padding: 3rem 5%; text-align: center; color: var(--muted); }

/* ---------------- Dashboard ---------------- */

.ln-pub-dashboard-wrap { max-width: 900px; margin: 0 auto; padding: 2rem 5% 5rem; color: var(--text); }

.ln-pub-auth-toggle { display: flex; gap: .5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.ln-pub-auth-toggle a { padding: .7rem 1.2rem; font-family: 'Space Grotesk', sans-serif; font-size: .9rem; color: var(--muted); text-decoration: none; border-bottom: 2px solid transparent; }
.ln-pub-auth-toggle a.active { color: var(--text); border-bottom-color: var(--accent); }

.ln-pro-avatar-img { border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--border); }
.ln-dash-header-row { display: flex; align-items: center; gap: 1rem; margin-top: .5rem; }
.ln-form-row-avatar { display: flex; align-items: center; gap: 1rem; }

.ln-notice { border-radius: var(--radius); padding: 1rem 1.25rem; margin-bottom: 1.5rem; font-size: .9rem; }
.ln-notice-success { background: rgba(52,211,153,.1); border: 1px solid rgba(52,211,153,.35); color: #34D399; }
.ln-notice-error { background: rgba(248,113,113,.1); border: 1px solid rgba(248,113,113,.35); color: #F87171; }
.ln-notice-warning { background: rgba(245,158,11,.1); border: 1px solid rgba(245,158,11,.35); color: #F59E0B; display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }

.ln-pub-dash-nav { display: flex; flex-wrap: wrap; gap: .3rem; border-bottom: 1px solid var(--border); margin-bottom: 1.75rem; align-items: center; }
.ln-pub-dash-nav a {
	padding: .7rem 1rem;
	font-family: 'Space Grotesk', sans-serif;
	font-size: .85rem;
	color: var(--muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.ln-pub-dash-nav a.active, .ln-pub-dash-nav a:hover { color: var(--text); border-bottom-color: var(--accent); }
.ln-pub-dash-nav a.ln-pub-logout { margin-left: auto; color: #F87171; }
.ln-pub-dash-nav a.ln-pub-logout:hover { border-bottom-color: #F87171; }
.ln-pub-dash-nav a.ln-pub-upgrade-link { color: var(--accent2); font-weight: 700; }

.ln-dash-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.ln-dash-card {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1.1rem;
	display: flex; flex-direction: column; gap: .35rem;
}
.ln-dash-card span { font-size: .75rem; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.ln-dash-card strong { font-family: 'Space Grotesk', sans-serif; font-size: 1.4rem; }

.ln-dash-quality-box {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	margin-bottom: 2rem;
}
.ln-dash-quality-box h3 { font-family: 'Space Grotesk', sans-serif; margin-top: 0; }

.ln-pub-form { display: flex; flex-direction: column; gap: 1.1rem; max-width: 620px; }
.ln-pub-form h2 { font-family: 'Space Grotesk', sans-serif; margin: 0; }
.ln-pub-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .85rem; color: var(--muted); }
.ln-pub-form input[type=text], .ln-pub-form input[type=email], .ln-pub-form input[type=password],
.ln-pub-form input[type=number], .ln-pub-form textarea, .ln-pub-form select {
	background: var(--void);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: .7rem .9rem;
	color: var(--text);
	font-family: inherit;
	font-size: .92rem;
}
.ln-pub-form textarea { min-height: 90px; resize: vertical; }
.ln-form-row-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; }
.ln-form-row-checks { display: flex; gap: 1.5rem; flex-direction: row; align-items: center; font-size: .85rem; color: var(--text); }
.ln-form-row-checks label { flex-direction: row; align-items: center; gap: .5rem; color: var(--text); }
.ln-form-hint { font-size: .8rem; color: var(--muted); }

.ln-linkedin-connected { color: #34D399; font-weight: 600; }

.ln-portfolio-link-box code {
	display: block;
	background: var(--void);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: .8rem 1rem;
	color: var(--accent2);
	word-break: break-all;
}
.ln-marketing-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }

.ln-pub-site-actions { display: flex; gap: .5rem; flex-wrap: wrap; }

.ln-websites-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }
.ln-websites-toolbar-title { font-family: 'Space Grotesk', sans-serif; margin: 0; font-size: 1.15rem; }
.ln-websites-toolbar-actions { display: flex; gap: .6rem; flex-wrap: wrap; }

.ln-bulk-actions { margin-bottom: 1.25rem; }
.ln-bulk-upload-form { max-width: 480px; margin-top: .5rem; }
.ln-bulk-upload-form input[type=file] {
	background: var(--void);
	border: 1px dashed var(--border);
	border-radius: 8px;
	padding: 1.25rem;
	color: var(--muted);
	width: 100%;
}
.ln-bulk-howto { margin-top: 1.75rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.ln-bulk-howto h4 { font-family: 'Space Grotesk', sans-serif; margin: 0 0 .6rem; font-size: .95rem; }
.ln-bulk-howto ol { margin: 0 0 .75rem; padding-left: 1.2rem; color: var(--text); font-size: .88rem; line-height: 1.8; }
.ln-pricing-btn-wrap { position: relative; display: inline-block; }
.ln-pricing-choices { position: absolute; right: 0; top: calc(100% + 6px); background: var(--panel); border: 1px solid var(--border); border-radius: 8px; display: flex; flex-direction: column; z-index: 5; min-width: 130px; }
.ln-pricing-choices a { padding: .55rem .8rem; font-size: .82rem; color: var(--text); text-decoration: none; }
.ln-pricing-choices a:hover { background: rgba(37,99,235,.08); }

@media (max-width: 720px) {
	.ln-pub-profile-header { flex-direction: column; align-items: center; text-align: center; }
	.ln-form-row-checks { flex-direction: column; align-items: flex-start; gap: .6rem; }
}

/* ==========================================================
   PRICING PAGE
   ========================================================== */

.ln-pricing-wrap, .ln-pricing-wrap * { box-sizing: border-box; }
.ln-pricing-wrap { max-width: 1100px; margin: 0 auto; padding: 2.5rem 5% 5rem; color: var(--text); overflow-x: hidden; }

.ln-price-notice { max-width: 640px; margin: 0 auto 2rem; text-align: center; }

.ln-price-trial-banner {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	flex-wrap: wrap;
	justify-content: center;
	background: rgba(52,211,153,.1);
	border: 1px solid rgba(52,211,153,.35);
	border-radius: 999px;
	padding: .6rem 1.25rem;
	margin-top: 1.25rem;
	font-size: .88rem;
	color: var(--text);
}
.ln-price-trial-banner-badge {
	background: #34D399;
	color: #05130D;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .04em;
	padding: .3rem .7rem;
	border-radius: 999px;
	white-space: nowrap;
}

.ln-pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	align-items: stretch;
	margin-bottom: 3rem;
}

.ln-price-card {
	position: relative;
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 2.25rem 1.75rem 2rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	min-width: 0;
	transition: transform .25s, border-color .25s;
}
.ln-price-card:hover { transform: translateY(-4px); border-color: var(--accent); }
.ln-price-card-featured { border-color: var(--accent); box-shadow: 0 12px 40px rgba(37,99,235,.22); }

.ln-price-badge {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--accent);
	color: #fff;
	font-family: 'Space Grotesk', sans-serif;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .05em;
	padding: .4rem 1.1rem;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(37,99,235,.4);
}

.ln-price-plan-name { font-family: 'Space Grotesk', sans-serif; margin: .25rem 0 0; font-size: 1.2rem; color: var(--text); }

.ln-price-amount { font-family: 'Space Grotesk', sans-serif; font-weight: 700; line-height: 1; margin-top: .5rem; }
.ln-price-currency { font-size: 1.3rem; vertical-align: top; color: var(--muted); }
.ln-price-number { font-size: 2.6rem; }
.ln-price-period { display: block; font-size: .85rem; font-weight: 400; color: var(--muted); margin-top: .3rem; }
.ln-price-save { color: #34D399; font-size: .85rem; font-weight: 600; margin: .4rem 0 0; min-height: 1.2em; }
.ln-price-save-spacer { visibility: hidden; }
.ln-price-tagline { color: var(--text); font-size: .92rem; font-weight: 600; margin: 0 0 .5rem; }

/* The BUY NOW button — deliberately high-contrast, full width, its own
   clear tap target (never relies on the whole card being clickable). */
.ln-price-buy-form { margin: .25rem 0 1.25rem; }
.ln-price-buy-btn {
	display: block;
	width: 100%;
	background: var(--accent);
	color: #ffffff;
	border: none;
	border-radius: 12px;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .03em;
	padding: 1rem 1.25rem;
	cursor: pointer;
	transition: background .2s, transform .15s, box-shadow .2s;
	box-shadow: 0 6px 20px rgba(37,99,235,.35);
}
.ln-price-buy-btn:hover { background: var(--glow); transform: translateY(-2px); box-shadow: 0 10px 26px rgba(37,99,235,.45); }
.ln-price-buy-btn:active { transform: translateY(0); }
.ln-price-card-featured .ln-price-buy-btn { background: var(--glow); }

.ln-price-features { list-style: none; margin: 0; padding: 1rem 0 0; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: .65rem; }
.ln-price-features li { font-size: .85rem; color: var(--text); line-height: 1.4; }

.ln-price-other-method {
	text-align: center;
	padding: 1.75rem;
	background: var(--navy);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	margin-bottom: 3rem;
}
.ln-price-other-buttons { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: center; margin-top: 1rem; }

.ln-price-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin-bottom: 3rem;
}
.ln-price-trust-item { text-align: center; padding: 1.25rem; }
.ln-price-trust-item strong { display: block; font-family: 'Space Grotesk', sans-serif; margin-bottom: .5rem; }
.ln-price-trust-item p { color: var(--muted); font-size: .85rem; line-height: 1.6; margin: 0; }

.ln-price-faq { max-width: 720px; margin: 0 auto; }
.ln-price-faq h2 { font-family: 'Space Grotesk', sans-serif; text-align: center; margin-bottom: 1.5rem; font-size: clamp(1.3rem, 4vw, 1.7rem); }
.ln-price-faq details {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 1rem 1.25rem;
	margin-bottom: .75rem;
}
.ln-price-faq summary { cursor: pointer; font-weight: 600; font-family: 'Space Grotesk', sans-serif; }
.ln-price-faq p { color: var(--muted); margin: .75rem 0 0; line-height: 1.6; }

/* ---------------- Dashboard trial/upgrade cards ---------------- */

.ln-trial-card {
	background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(96,165,250,.06));
	border: 1px solid var(--accent);
	border-radius: var(--radius-lg);
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}
.ln-trial-card h3 { font-family: 'Space Grotesk', sans-serif; margin: 0 0 .5rem; }
.ln-trial-card .ln-trial-days { font-size: 1.5rem; font-weight: 700; font-family: 'Space Grotesk', sans-serif; color: var(--accent2); }
.ln-trial-card.ln-trial-expired { border-color: #F87171; background: linear-gradient(135deg, rgba(248,113,113,.12), rgba(248,113,113,.04)); }

.ln-trial-modal-overlay {
	position: fixed; inset: 0; background: rgba(5,12,26,.75);
	display: flex; align-items: center; justify-content: center;
	z-index: 9999; padding: 1.25rem;
}
.ln-trial-modal {
	background: var(--panel);
	border: 1px solid var(--accent);
	border-radius: var(--radius-lg);
	padding: 2rem;
	max-width: 460px;
	width: 100%;
	text-align: center;
}
.ln-trial-modal h3 { font-family: 'Space Grotesk', sans-serif; margin-top: 0; }
.ln-trial-modal-plans { display: flex; flex-direction: column; gap: .6rem; margin: 1.5rem 0; }
.ln-trial-modal-plans button { width: 100%; }
.ln-trial-modal-dismiss { background: none; border: none; color: var(--muted); text-decoration: underline; cursor: pointer; font-size: .85rem; }

@media (max-width: 1024px) {
	.ln-pricing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
	.ln-price-card { padding: 1.75rem 1.35rem; }
}

@media (max-width: 900px) {
	.ln-pricing-grid { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; }
	.ln-price-trust { grid-template-columns: 1fr; }
	.ln-price-card { padding: 2rem 1.75rem; }
}

@media (max-width: 480px) {
	.ln-pricing-wrap { padding: 1.75rem 4% 3.5rem; }
	.ln-price-trial-banner { font-size: .8rem; padding: .55rem 1rem; gap: .5rem; }
	.ln-price-number { font-size: 2.2rem; }
	.ln-price-buy-btn { font-size: .92rem; padding: .9rem 1rem; }
	.ln-price-other-method { padding: 1.25rem 1rem; }
	.ln-price-other-buttons { flex-direction: column; }
	.ln-price-other-buttons .ln-btn-outline-sm { width: 100%; }
	.ln-price-faq details { padding: .85rem 1rem; }
	.ln-websites-toolbar-actions { width: 100%; }
	.ln-websites-toolbar-actions a { flex: 1; text-align: center; }
}

@media (max-width: 360px) {
	.ln-price-number { font-size: 1.9rem; }
	.ln-price-currency { font-size: 1.05rem; }
}

/* ---------------- WooCommerce checkout plan summary ---------------- */

.ln-checkout-summary {
	max-width: 640px;
	margin: 0 auto 2rem;
	background: var(--panel);
	border: 1px solid var(--accent);
	border-radius: var(--radius-lg);
	padding: 1.75rem;
	text-align: center;
	color: var(--text);
}
.ln-checkout-summary-label { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; margin: 0; }
.ln-checkout-summary-plan { font-family: 'Space Grotesk', sans-serif; margin: .4rem 0 .75rem; font-size: 1.3rem; }
.ln-checkout-summary-price { font-family: 'Space Grotesk', sans-serif; font-size: 2rem; font-weight: 700; }
.ln-checkout-summary-price span { font-size: .8rem; font-weight: 400; color: var(--muted); }
.ln-checkout-summary-save { color: #34D399; font-size: .85rem; font-weight: 600; margin: .3rem 0 0; }
.ln-checkout-summary-features { list-style: none; display: flex; gap: 1.25rem; flex-wrap: wrap; justify-content: center; margin: 1.25rem 0 0; padding: 1rem 0 0; border-top: 1px solid var(--border); font-size: .82rem; color: var(--muted); }

/* Self-labeling cells for the dashboard's My Websites table once the
   theme's own 768px breakpoint collapses .ln-table-head and switches
   .ln-row-grid to a 2-column stacked layout. */
@media (max-width: 768px) {
	.ln-pub-dashboard-wrap .ln-row-grid > [data-label] {
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: right;
	}
	.ln-pub-dashboard-wrap .ln-row-grid > [data-label]::before {
		content: attr(data-label);
		font-size: .72rem;
		color: var(--muted);
		text-transform: uppercase;
		letter-spacing: .03em;
		text-align: left;
	}
}

/* Public portfolio inventory rows — two separate renders of the same
   data (see inc/publishers/render.php), shown/hidden purely by screen
   width. This avoids display:contents entirely, which is unreliable
   inside CSS Grid across browsers and previously broke the desktop
   table when used here. */
.ln-mobile-only { display: none; }

@media (max-width: 768px) {
	.ln-pub-site-row .ln-desktop-only { display: none !important; }

	.ln-pub-site-row .ln-row-grid {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: .75rem;
		padding: 1.1rem 5%;
	}
	.ln-pub-site-row .ln-site-domain.ln-col-site {
		grid-column: unset;
		display: flex;
		flex-direction: column;
		gap: .15rem;
	}
	.ln-pub-site-row .ln-site-domain strong { font-size: 1rem; }
	.ln-pub-site-row .ln-site-domain em { color: var(--muted); font-size: .82rem; }

	.ln-pub-site-row .ln-pub-site-chips.ln-mobile-only {
		display: flex;
		flex-wrap: wrap;
		gap: .5rem;
	}
	.ln-pub-site-row .ln-pub-site-chips span {
		display: inline-flex;
		align-items: center;
		width: auto;
		background: var(--void);
		border: 1px solid var(--border);
		border-radius: 999px;
		padding: .32rem .7rem;
		font-size: .8rem;
		color: var(--text);
	}

	.ln-pub-site-row .ln-col-actions.ln-pub-site-actions {
		grid-column: unset;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: .5rem;
		justify-content: flex-start;
	}
	.ln-pub-site-row .ln-col-actions.ln-pub-site-actions > * { flex: 1; min-width: 130px; text-align: center; }
}

/* ── SEO Professionals Directory Content ────────────────── */
.ln-pro-seo {
	padding: 4.5rem 5%;
	border-top: 1px solid var(--border);
	background: rgba(15,23,42,.32);
}
.ln-pro-seo-inner { max-width: 1120px; margin: 0 auto; }
.ln-pro-seo h2 {
	max-width: 860px;
	margin: .55rem 0 1rem;
	font-family: 'Space Grotesk', sans-serif;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	line-height: 1.15;
}
.ln-pro-seo p {
	max-width: 920px;
	margin: 0 0 1rem;
	line-height: 1.8;
	color: var(--muted);
}
.ln-pro-seo a { color: var(--accent2); text-decoration: underline; text-underline-offset: 3px; }
.ln-pro-seo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.75rem 0;
}
.ln-pro-seo-card {
	padding: 1.35rem;
	border: 1px solid var(--border);
	border-radius: 16px;
	background: rgba(15,23,42,.48);
}
.ln-pro-seo-card h3 { margin: 0 0 .65rem; font-family: 'Space Grotesk', sans-serif; font-size: 1.05rem; }
.ln-pro-seo-card p { margin: 0; }
@media (max-width: 768px) {
	.ln-pro-seo { padding: 3.25rem 5%; }
	.ln-pro-seo-grid { grid-template-columns: 1fr; }
}

/* ── SEO Professionals Network v2 preview ───────────────── */
.ln-pro-v2-wrap{width:min(1180px,90%);margin:0 auto}.ln-pro-v2-hero{position:relative;overflow:hidden;background:#050b16;padding:7.5rem 0 5.5rem;border-bottom:1px solid rgba(148,163,184,.13)}.ln-pro-v2-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,#000,transparent 88%)}.ln-pro-v2-hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-140px;top:-180px;background:radial-gradient(circle,rgba(37,99,235,.24),transparent 68%);filter:blur(8px)}.ln-pro-v2-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.8fr);gap:5rem;align-items:center}.ln-pro-v2-kicker{margin:0 0 1rem;color:#7dd3fc;text-transform:uppercase;letter-spacing:.13em;font:700 .72rem/1.4 'Space Grotesk',sans-serif}.ln-pro-v2-hero h1{max-width:760px;margin:0;color:#f8fafc;font:700 clamp(2.8rem,5.6vw,5.35rem)/.98 'Space Grotesk',sans-serif;letter-spacing:-.055em}.ln-pro-v2-lead{max-width:700px;margin:1.6rem 0 0;color:#a8b5c7;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.8}.ln-pro-v2-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.ln-pro-v2-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.35rem;border-radius:12px;text-decoration:none;font:700 .88rem/1 'Space Grotesk',sans-serif;transition:transform .2s,border-color .2s,background .2s}.ln-pro-v2-btn:hover{transform:translateY(-2px)}.ln-pro-v2-btn-primary{background:#2563eb;color:#fff;box-shadow:0 12px 30px rgba(37,99,235,.2)}.ln-pro-v2-btn-primary:hover{background:#3b82f6}.ln-pro-v2-btn-ghost{border:1px solid rgba(148,163,184,.25);color:#e2e8f0;background:rgba(15,23,42,.45)}.ln-pro-v2-trustline{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:1.6rem;color:#8392a8;font-size:.78rem}.ln-pro-v2-trustline span{display:flex;align-items:center;gap:.45rem}.ln-pro-v2-trustline span:before{content:"";width:5px;height:5px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.08)}
.ln-pro-v2-profile-demo{position:relative;padding:1.25rem;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:linear-gradient(145deg,rgba(15,23,42,.92),rgba(8,17,32,.88));box-shadow:0 32px 80px rgba(0,0,0,.35)}.ln-pro-v2-profile-demo:after{content:"EXAMPLE PROFILE";position:absolute;right:20px;bottom:-10px;padding:.3rem .55rem;border:1px solid rgba(125,211,252,.25);border-radius:6px;background:#07111f;color:#7dd3fc;font-size:.56rem;font-weight:800;letter-spacing:.12em}.ln-pro-v2-demo-topbar{display:flex;align-items:center;gap:.6rem;padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.12);color:#64748b;font-size:.67rem}.ln-pro-v2-demo-dot{width:7px;height:7px;border-radius:50%;background:#34d399}.ln-pro-v2-demo-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-pro-v2-demo-free{margin-left:auto;padding:.25rem .45rem;border-radius:6px;background:rgba(52,211,153,.1);color:#6ee7b7;font-weight:800}.ln-pro-v2-demo-head{display:flex;align-items:center;gap:.9rem;padding:1.4rem 0}.ln-pro-v2-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#1d4ed8,#38bdf8);color:#fff;font:700 1rem 'Space Grotesk',sans-serif}.ln-pro-v2-demo-name{margin:0;color:#f8fafc;font:700 1rem 'Space Grotesk',sans-serif}.ln-pro-v2-demo-role{margin:.2rem 0 0;color:#8492a6;font-size:.75rem}.ln-pro-v2-available{margin-left:auto;color:#6ee7b7;font-size:.66rem;font-weight:700}.ln-pro-v2-demo-metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(148,163,184,.12);border-radius:14px;overflow:hidden}.ln-pro-v2-demo-metrics div{padding:.9rem;text-align:center;background:rgba(255,255,255,.018)}.ln-pro-v2-demo-metrics div+div{border-left:1px solid rgba(148,163,184,.12)}.ln-pro-v2-demo-metrics strong{display:block;color:#f8fafc;font:700 1.05rem 'Space Grotesk',sans-serif}.ln-pro-v2-demo-metrics span{color:#64748b;font-size:.61rem}.ln-pro-v2-demo-project{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding:.9rem;border:1px solid rgba(37,99,235,.22);border-radius:14px;background:rgba(37,99,235,.055)}.ln-pro-v2-demo-project-icon{width:34px;height:34px;padding:8px;border-radius:9px;background:rgba(59,130,246,.13);color:#7dd3fc}.ln-pro-v2-demo-project-icon svg{width:100%;height:100%}.ln-pro-v2-demo-project strong{display:block;color:#e2e8f0;font-size:.75rem}.ln-pro-v2-demo-project span{display:block;margin-top:.2rem;color:#64748b;font-size:.62rem}.ln-pro-v2-demo-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}.ln-pro-v2-demo-tags span,.ln-pro-v2-pill{padding:.32rem .55rem;border:1px solid rgba(148,163,184,.13);border-radius:999px;background:rgba(255,255,255,.025);color:#94a3b8;font-size:.62rem}
.ln-pro-v2-specialties,.ln-pro-v2-examples,.ln-pro-v2-how,.ln-pro-v2-directory{padding:5.5rem 0;background:#07101e;color:#e2e8f0}.ln-pro-v2-examples,.ln-pro-v2-directory{background:#050b16}.ln-pro-v2-section-head{max-width:820px;margin-bottom:2.4rem}.ln-pro-v2-section-head-compact{max-width:760px}.ln-pro-v2-section-head h2,.ln-pro-v2-directory-top h2,.ln-pro-v2-final-cta h2{margin:.25rem 0 1rem;color:#f8fafc;font:700 clamp(2rem,3.6vw,3.35rem)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.035em}.ln-pro-v2-section-head p:last-child{color:#8fa0b7;line-height:1.8}.ln-pro-v2-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.ln-pro-v2-role-card{position:relative;min-height:250px;padding:1.35rem;border:1px solid rgba(148,163,184,.12);border-radius:18px;background:#0a1525;transition:transform .2s,border-color .2s,background .2s}.ln-pro-v2-role-card:hover{transform:translateY(-3px);border-color:rgba(96,165,250,.35);background:#0c192b}.ln-pro-v2-role-card.is-featured{border-color:rgba(59,130,246,.32);background:linear-gradient(145deg,rgba(37,99,235,.12),#0a1525 58%)}.ln-pro-v2-role-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:1.1rem;border:1px solid rgba(125,211,252,.16);border-radius:11px;background:rgba(14,165,233,.06);color:#7dd3fc}.ln-pro-v2-role-icon svg{width:21px;height:21px}.ln-pro-v2-role-label{color:#7dd3fc;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.ln-pro-v2-role-card h3{margin:.55rem 0 .65rem;color:#f1f5f9;font:700 1.02rem/1.35 'Space Grotesk',sans-serif}.ln-pro-v2-role-card p{margin:0;color:#7f8da1;font-size:.78rem;line-height:1.7}.ln-pro-v2-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ln-pro-v2-example-card{padding:1.4rem;border:1px solid rgba(148,163,184,.13);border-radius:18px;background:#0a1525}.ln-pro-v2-example-card-accent{border-color:rgba(59,130,246,.32);box-shadow:inset 0 1px rgba(125,211,252,.08)}.ln-pro-v2-example-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#64748b;font-size:.64rem}.ln-pro-v2-example-card h3{margin:1.2rem 0;color:#f1f5f9;font:700 1.05rem 'Space Grotesk',sans-serif}.ln-pro-v2-example-row{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid rgba(148,163,184,.09);font-size:.7rem}.ln-pro-v2-example-row span{color:#64748b}.ln-pro-v2-example-row strong{color:#b8c5d6;text-align:right;font-weight:600}.ln-pro-v2-example-card>a{display:inline-block;margin-top:1rem;color:#7dd3fc;text-decoration:none;font-size:.72rem;font-weight:700}.ln-pro-v2-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.ln-pro-v2-steps>div{padding:1.4rem;border-top:1px solid rgba(148,163,184,.14);border-bottom:1px solid rgba(148,163,184,.14)}.ln-pro-v2-steps>div+div{border-left:1px solid rgba(148,163,184,.14)}.ln-pro-v2-steps span{color:#38bdf8;font:700 .68rem 'Space Grotesk',sans-serif}.ln-pro-v2-steps h3{margin:1rem 0 .55rem;color:#f1f5f9;font:700 .95rem/1.4 'Space Grotesk',sans-serif}.ln-pro-v2-steps p{margin:0;color:#718096;font-size:.74rem;line-height:1.65}.ln-pro-v2-directory-top{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.ln-pro-v2-directory .ln-filter-bar{margin-top:0}.ln-pro-v2-directory .ln-pro-grid{padding-top:1.5rem}.ln-pro-v2-search-icon{position:absolute;left:.85rem;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#64748b}.ln-pro-v2-directory .ln-filter-search-wrap{position:relative}.ln-pro-v2-directory .ln-filter-search{padding-left:2.55rem}.ln-pro-v2-final-cta{padding:4.5rem 0;background:linear-gradient(115deg,#0b3ba7,#075985);color:#fff}.ln-pro-v2-final-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}.ln-pro-v2-final-cta .ln-pro-v2-kicker{color:#bae6fd}.ln-pro-v2-final-cta h2{max-width:720px;margin-bottom:.7rem}.ln-pro-v2-final-cta p{margin:0;color:#dbeafe}.ln-pro-v2-btn-light{flex-shrink:0;background:#fff;color:#0f3b83;box-shadow:0 14px 35px rgba(0,0,0,.18)}
@media(max-width:1024px){.ln-pro-v2-hero-grid{grid-template-columns:1fr;gap:3rem}.ln-pro-v2-profile-demo{max-width:620px}.ln-pro-v2-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ln-pro-v2-example-grid{grid-template-columns:1fr}.ln-pro-v2-steps{grid-template-columns:repeat(2,1fr)}.ln-pro-v2-steps>div:nth-child(3){border-left:0}.ln-pro-v2-steps>div:nth-child(n+3){border-top:0}}
@media(max-width:640px){.ln-pro-v2-hero{padding:5rem 0 3.8rem}.ln-pro-v2-hero h1{font-size:clamp(2.5rem,13vw,3.6rem)}.ln-pro-v2-actions .ln-pro-v2-btn{width:100%}.ln-pro-v2-trustline{display:grid;gap:.75rem}.ln-pro-v2-role-grid,.ln-pro-v2-steps{grid-template-columns:1fr}.ln-pro-v2-role-card{min-height:0}.ln-pro-v2-steps>div+div{border-left:0;border-top:0}.ln-pro-v2-specialties,.ln-pro-v2-examples,.ln-pro-v2-how,.ln-pro-v2-directory{padding:4rem 0}.ln-pro-v2-directory-top,.ln-pro-v2-final-inner{align-items:flex-start;flex-direction:column}.ln-pro-v2-final-inner .ln-pro-v2-btn{width:100%}.ln-pro-v2-demo-metrics div{padding:.75rem .4rem}.ln-pro-v2-profile-demo{padding:1rem}.ln-pro-v2-available{display:none}}

/* ==========================================================
   Ads Expert portfolio
   ========================================================== */
.ln-ads-stat-cards .ln-dash-card strong { color: var(--accent2); }
.ln-ads-portfolio-toolbar { align-items: flex-end; }
.ln-ads-portfolio-toolbar .section-label { margin: 0 0 .3rem; }
.ln-ads-platform-picker, .ln-ads-form-section, .ln-ads-collapsible, .ln-ads-dashboard-card {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: var(--radius-lg);
	padding: 1.35rem;
}
.ln-ads-platform-picker { margin-bottom: 1.5rem; }
.ln-ads-platform-picker h3, .ln-ads-form-section h3 { font-family: 'Space Grotesk', sans-serif; margin: 0 0 1rem; }
.ln-ads-platform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.ln-ads-platform-card { min-height: 104px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .55rem; text-align: center; padding: .8rem; color: var(--text); background: var(--void); border: 1px solid var(--border); border-radius: 14px; text-decoration: none; transition: transform .2s, border-color .2s, background .2s; }
.ln-ads-platform-card:hover { transform: translateY(-2px); border-color: var(--accent); background: rgba(37,99,235,.08); }
.ln-ads-platform-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #fff; font-family: 'Space Grotesk', sans-serif; font-weight: 700; }
.ln-ads-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.ln-ads-form-heading h2 { margin: .25rem 0 1.25rem; }
.ln-ads-platform-label { display: inline-flex; padding: .28rem .55rem; border: 1px solid rgba(96,165,250,.35); border-radius: 999px; color: var(--accent2); background: rgba(37,99,235,.09); font-size: .7rem; font-weight: 700; }
.ln-ads-form-section { max-width: none; }
.ln-ads-campaign-form { max-width: none; gap: 1rem; }
.ln-ads-campaign-form input[type=file] { width: 100%; padding: .9rem; border: 1px dashed var(--border); border-radius: 10px; color: var(--muted); background: var(--void); }
.ln-ads-collapsible { max-width: none; }
.ln-ads-collapsible summary { cursor: pointer; color: var(--text); font-family: 'Space Grotesk', sans-serif; font-weight: 600; }
.ln-ads-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1.15rem; }
.ln-ads-case-study-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.15rem; }
.ln-ads-form-row, .ln-form-row-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ln-ads-form-actions { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: .65rem; padding: .9rem 0 .2rem; background: linear-gradient(transparent, var(--void) 28%); z-index: 3; }
.ln-ads-existing-images { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.ln-ads-existing-images img { object-fit: cover; border: 1px solid var(--border); border-radius: 8px; }
.ln-ads-campaign-list { display: grid; gap: .9rem; }
.ln-ads-dashboard-card-top, .ln-ads-card-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.ln-ads-dashboard-card h3 { margin: .8rem 0 .35rem; font-family: 'Space Grotesk', sans-serif; }
.ln-ads-dashboard-card p { margin: 0; color: var(--muted); }
.ln-ads-status { color: var(--muted); font-size: .72rem; }
.ln-ads-status.is-published { color: #34D399; }
.ln-ads-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.ln-ads-card-actions form { display: inline-flex; }
.ln-ads-empty { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.ln-ads-profile-preferences { display: flex; flex-direction: column; gap: .75rem; padding: 1.2rem; background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.ln-ads-profile-preferences h3 { margin: 0; font-family: 'Space Grotesk', sans-serif; }
.ln-ads-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem .8rem; margin-bottom: .45rem; }
.ln-ads-check-grid label { display: flex; flex-direction: row; align-items: center; gap: .4rem; color: var(--text); font-size: .82rem; }

/* Public portfolio */
.ln-ads-public-portfolio { padding: 2.5rem 5% 4rem; background: var(--void); color: var(--text); }
.ln-ads-public-inner { max-width: 1180px; margin: 0 auto; }
.ln-ads-public-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.ln-ads-public-heading h2 { margin: .3rem 0 0; font: 700 clamp(1.6rem, 3vw, 2.25rem) 'Space Grotesk', sans-serif; }
.ln-ads-public-disclaimer { max-width: 380px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; text-align: right; }
.ln-ads-platform-section { margin-top: 2rem; }
.ln-ads-platform-section > h3 { margin: 0 0 .85rem; color: var(--accent2); font: 600 1.1rem 'Space Grotesk', sans-serif; }
.ln-ads-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ln-ads-public-card { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem; background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius-lg); }
.ln-ads-public-card h4 { margin: .85rem 0 .4rem; font: 600 1.05rem 'Space Grotesk', sans-serif; }
.ln-ads-card-type, .ln-ads-public-meta, .ln-ads-client { color: var(--muted); font-size: .78rem; }
.ln-ads-card-type { text-align: right; }
.ln-ads-public-meta, .ln-ads-client { margin: 0 0 .5rem; }
.ln-ads-client { color: var(--text); }
.ln-ads-public-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: .75rem 0 1rem; }
.ln-ads-public-metrics span { min-width: 0; padding: .6rem .65rem; border: 1px solid var(--border); border-radius: 9px; background: var(--void); }
.ln-ads-public-metrics strong, .ln-ads-public-metrics small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ln-ads-public-metrics strong { font-family: 'Space Grotesk', sans-serif; }
.ln-ads-public-metrics small { margin-top: .18rem; color: var(--muted); font-size: .66rem; }
.ln-ads-public-card .ln-ads-case-study-trigger { width: 100%; margin-top: auto; }
.ln-ads-case-study-modal[hidden] { display: none; }
.ln-ads-case-study-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 1rem; }
.ln-ads-modal-backdrop { position: absolute; inset: 0; background: rgba(3,8,20,.82); }
.ln-ads-modal-panel { position: relative; width: min(760px, 100%); max-height: min(88vh, 900px); overflow: auto; padding: 2rem; color: var(--text); background: var(--panel); border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 25px 80px rgba(0,0,0,.45); }
.ln-ads-modal-close { position: absolute; top: .65rem; right: .8rem; width: 38px; height: 38px; border: 1px solid var(--border); border-radius: 50%; background: var(--void); color: var(--text); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.ln-ads-modal-panel h2 { margin: .7rem 2.5rem 1.25rem 0; font: 700 clamp(1.5rem, 3vw, 2.2rem) 'Space Grotesk', sans-serif; }
.ln-ads-modal-facts { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.25rem; }
.ln-ads-modal-facts span { padding: .55rem .7rem; border: 1px solid var(--border); border-radius: 9px; background: var(--void); font-size: .82rem; }
.ln-ads-modal-facts small { display: block; margin-bottom: .18rem; color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.ln-ads-modal-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ln-ads-modal-copy { padding: 1rem 0; border-top: 1px solid var(--border); }
.ln-ads-modal-copy h3 { margin: 0 0 .45rem; font: 600 1rem 'Space Grotesk', sans-serif; }
.ln-ads-modal-copy p { margin: 0; color: var(--muted); line-height: 1.7; white-space: normal; }
.ln-ads-modal-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1rem; }
.ln-ads-modal-images img { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--border); }
.ln-modal-open { overflow: hidden; }

@media (max-width: 900px) {
	.ln-ads-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ln-ads-platform-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.ln-ads-platform-grid, .ln-ads-public-grid, .ln-ads-metric-grid, .ln-ads-case-study-grid, .ln-ads-check-grid, .ln-ads-form-row, .ln-form-row-2 { grid-template-columns: 1fr; }
	.ln-ads-form-heading, .ln-ads-public-heading { align-items: flex-start; flex-direction: column; }
	.ln-ads-public-disclaimer { text-align: left; }
	.ln-ads-modal-panel { padding: 1.35rem; }
	.ln-ads-modal-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ln-ads-form-actions { justify-content: stretch; }
	.ln-ads-form-actions button { flex: 1; min-height: 48px; }
}
