/**
 * Premium page shells, empty states, and polish.
 *
 * @package PeptiderPro
 */

.pp-page__lead {
	max-width: 42rem;
	margin: 0.65rem 0 0;
	color: var(--pp-text-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.pp-page.pp-content-surface {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl, 22px);
	background: var(--pp-surface);
	box-shadow: var(--pp-shadow-card);
}

.pp-page.pp-content-surface .pp-page__header {
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--pp-border);
}

.pp-page-shell {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.pp-page-shell__hero {
	padding: clamp(1.5rem, 3vw, 2.25rem) 0 1.25rem;
	border-bottom: 1px solid var(--pp-border);
	background:
		linear-gradient(180deg, var(--pp-surface), var(--pp-surface-muted));
}

.pp-page-shell__eyebrow {
	margin: 0 0 0.45rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-primary);
}

.pp-page-shell__title {
	margin: 0;
	font-family: var(--pp-font-heading);
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	line-height: 1.15;
	letter-spacing: -0.03em;
}

.pp-page-shell__lead {
	max-width: 42rem;
	margin: 0.75rem 0 0;
	color: var(--pp-text-muted);
	font-size: 1.05rem;
	line-height: 1.65;
}

.pp-content-surface {
	margin-top: 1.5rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius-xl, 22px);
	background: var(--pp-surface);
	box-shadow: var(--pp-shadow-card);
}

/* Premium empty states */
.pp-empty--premium {
	text-align: center;
	max-width: 36rem;
	margin: 2rem auto 3rem;
}

.pp-empty__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pp-primary);
}

.pp-empty__title {
	margin: 0 0 0.75rem;
	font-family: var(--pp-font-heading);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	line-height: 1.2;
}

.pp-empty__text {
	margin: 0 0 1.25rem;
	color: var(--pp-text-muted);
	line-height: 1.65;
}

.pp-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
}

/* Community leaderboard empty */
.pp-community-highlights .lscom-leaderboard-empty,
.pp-community-surface .lscom-leaderboard-empty {
	margin: 0;
	padding: 1.35rem 1rem;
	border-radius: var(--pp-radius-lg);
	background: var(--pp-surface-muted);
	border: 1px dashed var(--pp-border-strong);
	color: var(--pp-text-muted);
	font-style: normal;
	text-align: center;
	line-height: 1.55;
}

/* Score badges — stronger trust signal */
.pp-score-badge {
	display: inline-flex;
	align-items: baseline;
	gap: 0.1rem;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	background: var(--pp-primary-soft);
	color: var(--pp-primary);
	font-weight: 800;
}

.pp-score-badge small {
	font-size: 0.72em;
	font-weight: 700;
	opacity: 0.85;
}

/* Card hover polish */
.pp-card__surface {
	transition: transform var(--pp-transition-fast, 0.18s ease), box-shadow var(--pp-transition-fast, 0.18s ease), border-color var(--pp-transition-fast, 0.18s ease);
}

.pp-card:hover .pp-card__surface,
.pp-card:focus-within .pp-card__surface {
	transform: translateY(-2px);
	box-shadow: var(--pp-shadow-soft);
}

.pp-card__verified {
	margin-bottom: 0.35rem;
}

/* Archive product page */
.pp-archive-page--product .pp-archive-header__title {
	letter-spacing: -0.02em;
}
