/**
 * TailPlay — Static pages (About, Contact, legal).
 */

.tp-contact,
.tp-about {
	max-width: 100%;
}

.tp-about-hero__title {
	font-size: var(--tp-text-display);
	color: var(--tp-green);
	margin: 0 0 var(--tp-space-sm);
}

.tp-about-hero__tagline {
	font-size: var(--tp-text-xl);
	font-weight: 600;
	color: var(--tp-text);
	margin: 0 0 var(--tp-space-md);
}

.tp-about-hero__intro {
	max-width: 36rem;
	margin: 0 auto;
	color: var(--tp-text-muted);
	line-height: var(--tp-leading-relaxed);
}

.tp-about-story__lead {
	font-size: var(--tp-text-lg);
	font-weight: 500;
	color: var(--tp-text);
}

.tp-about-values__grid {
	list-style: none;
	margin: var(--tp-space-xl) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--tp-space-xl);
}

.tp-about-values__name {
	font-size: var(--tp-text-lg);
	margin: 0 0 var(--tp-space-xs);
	color: var(--tp-green);
}

.tp-about-values__desc {
	margin: 0;
	color: var(--tp-text-muted);
	line-height: var(--tp-leading-relaxed);
}

.tp-about-trust__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--tp-space-2xl);
	align-items: center;
	max-width: 56rem;
	margin: 0 auto;
}

@media (max-width: 768px) {
	.tp-about-trust__grid {
		grid-template-columns: 1fr;
	}
}

.tp-about-trust__img {
	width: 100%;
	height: auto;
	border-radius: var(--tp-radius-lg);
	display: block;
}

.tp-about-trust__img--solo {
	max-width: 42rem;
	margin: 0 auto;
}

/* ==========================================================================
   Legal / policy pages (Refund, Privacy, Terms, Company info, etc.)
   ========================================================================== */

.tailplay-legal-page .tp-main {
	background-color: var(--tp-bg);
}

.tp-legal-hero {
	background: linear-gradient(180deg, var(--tp-bg-soft) 0%, var(--tp-bg) 100%);
	border-bottom: 1px solid var(--tp-border);
	padding: var(--tp-space-2xl) 0 var(--tp-space-xl);
	margin-bottom: 0;
}

.tp-legal-hero__title {
	margin: 0;
	font-family: var(--tp-font-display);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--tp-green);
	line-height: var(--tp-leading-snug);
}

.tp-legal-doc__inner {
	padding-top: var(--tp-space-2xl);
	padding-bottom: var(--tp-space-4xl);
}

.tp-legal-prose {
	max-width: 42rem;
	margin: 0 auto;
	font-size: var(--tp-text-base);
	line-height: var(--tp-leading-relaxed);
	color: var(--tp-text);
}

.tp-legal-prose > *:first-child {
	margin-top: 0;
}

.tp-legal-lead,
.tp-legal-prose .tp-legal-lead {
	font-size: var(--tp-text-lg);
	color: var(--tp-text-muted);
	line-height: var(--tp-leading-relaxed);
	margin: 0 0 var(--tp-space-xl);
}

.tp-legal-prose h2 {
	font-family: var(--tp-font-heading);
	font-size: var(--tp-text-xl);
	font-weight: 600;
	color: var(--tp-green);
	margin: var(--tp-space-2xl) 0 var(--tp-space-md);
	padding-bottom: var(--tp-space-xs);
	border-bottom: 1px solid var(--tp-border);
}

.tp-legal-prose h3 {
	font-family: var(--tp-font-heading);
	font-size: var(--tp-text-lg);
	font-weight: 600;
	color: var(--tp-charcoal);
	margin: var(--tp-space-xl) 0 var(--tp-space-sm);
}

.tp-legal-prose h4 {
	font-size: var(--tp-text-base);
	font-weight: 600;
	margin: var(--tp-space-lg) 0 var(--tp-space-xs);
	color: var(--tp-heading);
}

.tp-legal-prose p {
	margin: 0 0 var(--tp-space-md);
}

.tp-legal-prose ul,
.tp-legal-prose ol {
	margin: 0 0 var(--tp-space-md);
	padding-left: 1.35rem;
}

.tp-legal-prose li {
	margin-bottom: var(--tp-space-xs);
}

.tp-legal-prose li::marker {
	color: var(--tp-green);
}

.tp-legal-prose a {
	color: var(--tp-green);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.tp-legal-prose a:hover {
	color: var(--tp-charcoal);
}

.tp-legal-prose strong {
	color: var(--tp-charcoal);
	font-weight: 600;
}

.tp-legal-prose blockquote {
	margin: var(--tp-space-lg) 0;
	padding: var(--tp-space-md) var(--tp-space-lg);
	border-left: 4px solid var(--tp-sand);
	background: var(--tp-bg-soft);
	border-radius: 0 var(--tp-radius) var(--tp-radius) 0;
	color: var(--tp-text-muted);
	font-style: normal;
}

.tp-legal-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--tp-space-lg) 0;
	font-size: var(--tp-text-sm);
	box-shadow: var(--tp-shadow);
	border-radius: var(--tp-radius);
	overflow: hidden;
}

.tp-legal-prose th,
.tp-legal-prose td {
	padding: var(--tp-space-sm) var(--tp-space-md);
	text-align: left;
	border-bottom: 1px solid var(--tp-border);
	vertical-align: top;
}

.tp-legal-prose th {
	background: var(--tp-bg-soft);
	color: var(--tp-green);
	font-weight: 600;
}

.tp-legal-prose tr:last-child td {
	border-bottom: none;
}

.tp-legal-prose hr {
	border: none;
	height: 1px;
	background: var(--tp-border);
	margin: var(--tp-space-2xl) 0;
}

/* Generic pages (non-legal) */
.tp-page-generic__inner {
	max-width: 48rem;
	margin: 0 auto;
}

.tp-page-generic__title {
	font-size: var(--tp-text-display);
	color: var(--tp-green);
	margin: 0 0 var(--tp-space-lg);
}

.tp-page-generic__body {
	line-height: var(--tp-leading-relaxed);
	color: var(--tp-text);
}
