/**
 * Terms of Service Page Styles
 *
 * Styles for the terms of service page template.
 * Extends the base design system with typography optimized for long-form legal content.
 *
 * @package AgenticWP
 */

/* Terms page uses .container-narrow from base.css for better readability */

/* Terms Header */
.terms-header {
	margin-bottom: 48px;
	text-align: center;
	border-bottom: 1px solid var(--line);
	padding-bottom: 32px;
}

.terms-header h1 {
	font-size: clamp(36px, 5vw, 48px);
	font-weight: 700;
	line-height: 1.2;
	color: var(--ink);
	margin-bottom: 16px;
}

.terms-meta {
	color: var(--muted);
	font-size: 14px;
	font-weight: 500;
}

/* Terms Content Body */
.terms-body {
	line-height: 1.8;
	color: var(--ink);
}

/* Headings within content */
.terms-body h2 {
	font-size: clamp(28px, 4vw, 36px);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink);
	margin-top: 56px;
	margin-bottom: 20px;
}

.terms-body h3 {
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--ink);
	margin-top: 40px;
	margin-bottom: 16px;
}

.terms-body h4 {
	font-size: clamp(18px, 2.5vw, 22px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--ink);
	margin-top: 32px;
	margin-bottom: 12px;
}

/* Paragraphs */
.terms-body p {
	margin-bottom: 20px;
	font-size: 16px;
}

.terms-body p:last-child {
	margin-bottom: 0;
}

/* Lists */
.terms-body ul,
.terms-body ol {
	margin-bottom: 20px;
	padding-left: 28px;
}

.terms-body ul {
	list-style-type: disc;
}

.terms-body ol {
	list-style-type: decimal;
}

.terms-body li {
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.7;
}

.terms-body li:last-child {
	margin-bottom: 0;
}

.terms-body ul ul,
.terms-body ol ol {
	margin-top: 12px;
	margin-bottom: 12px;
}

/* Links */
.terms-body a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: opacity 0.2s ease;
}

.terms-body a:hover {
	opacity: 0.8;
	text-decoration: none;
}

/* Strong and emphasis */
.terms-body strong {
	font-weight: 600;
	color: var(--ink);
}

.terms-body em {
	font-style: italic;
}

/* Section dividers */
.terms-section {
	margin-bottom: 48px;
}

.terms-section:last-child {
	margin-bottom: 0;
}

/* Tables (if needed for pricing or service tiers) */
.terms-body table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 24px;
	font-size: 15px;
}

.terms-body th,
.terms-body td {
	padding: 12px 16px;
	text-align: left;
	border: 1px solid var(--line);
}

.terms-body th {
	background-color: #f9fafb;
	font-weight: 600;
	color: var(--ink);
}

.terms-body td {
	color: var(--ink);
}

/* Code blocks (if needed for technical details) */
.terms-body code {
	background-color: #f3f4f6;
	padding: 2px 6px;
	border-radius: 3px;
	font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
	font-size: 14px;
	color: var(--ink);
}

/* Blockquotes */
.terms-body blockquote {
	border-left: 4px solid var(--accent);
	padding-left: 20px;
	margin: 24px 0;
	color: var(--muted);
	font-style: italic;
}

/* Contact section styling */
.terms-contact {
	background-color: #f9fafb;
	border: 1px solid var(--line);
	border-radius: 8px;
	padding: 24px;
	margin-top: 48px;
}

.terms-contact h3 {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 20px;
}

.terms-contact p {
	margin-bottom: 12px;
}

.terms-contact p:last-child {
	margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 680px) {
	.terms-header {
		margin-bottom: 32px;
		padding-bottom: 24px;
	}

	.terms-body h2 {
		margin-top: 40px;
		margin-bottom: 16px;
	}

	.terms-body h3 {
		margin-top: 32px;
		margin-bottom: 12px;
	}

	.terms-section {
		margin-bottom: 32px;
	}

	.terms-contact {
		padding: 20px;
		margin-top: 32px;
	}
}
