/* ============================================================================
   WEST COAST ATHLETICS — policy.css
   SHARED legal/policy page styles — used by ALL 5 policy templates:
   privacy-policy, terms-of-use, cookies-policy, accessibility-policy,
   ccpa-privacy-policy. Enqueued via is_page_template() in functions.php.
   ============================================================================ */

.policy { padding-block: var(--space-2xl) var(--space-xl); }
.policy__inner { max-width: 820px; margin-inline: auto; }

/* Title */
.policy__inner h1 {
	font-size: clamp(34px, 5vw, 52px);
	line-height: 1.05;
	margin-bottom: var(--space-xs);
}
/* Section headings */
.policy__inner h2 {
	font-size: clamp(20px, 2.6vw, 26px);
	font-weight: 600;
	color: var(--c-white);
	margin-top: var(--space-xl);
	margin-bottom: var(--space-sm);
	padding-top: var(--space-sm);
	border-top: 1px solid var(--c-border);
}
.policy__inner h3 {
	font-size: 18px;
	font-weight: 600;
	color: var(--c-white);
	margin-top: var(--space-lg);
	margin-bottom: var(--space-xs);
}
.policy__inner h4 {
	font-size: 15px;
	color: var(--c-silver-lt);
	margin-top: var(--space-md);
	margin-bottom: var(--space-xs);
}
/* Headings in the DOCX are bold runs; neutralise the redundant <strong> so they
   don't render double-heavy (the heading element already carries the weight). */
.policy__inner h1 strong,
.policy__inner h2 strong,
.policy__inner h3 strong,
.policy__inner h4 strong { font-weight: inherit; color: inherit; }

/* Body copy */
.policy__inner p {
	color: var(--c-silver);
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: var(--space-sm);
}
.policy__inner p strong { color: var(--c-silver-lt); }
.policy__inner a { color: var(--c-crimson); word-break: break-word; }
.policy__inner a:hover { color: var(--c-crimson-lt); }

/* Lists */
.policy__list {
	list-style: none;
	margin: 0 0 var(--space-md);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.policy__list li {
	position: relative;
	padding-left: 22px;
	color: var(--c-silver);
	font-size: 16px;
	line-height: 1.7;
}
.policy__list li::before {
	content: '';
	position: absolute;
	left: 3px;
	top: 11px;
	width: 6px;
	height: 6px;
	background: var(--c-crimson);
	border-radius: 50%;
}
.policy__list li strong { color: var(--c-silver-lt); }

/* The leading "Effective Date" line reads as a subtitle */
.policy__inner > p:first-of-type { color: var(--c-crimson); font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.5px; }

/* Table (e.g. Cookies Policy "Specific Tools We Use") */
.policy__table-wrap { overflow-x: auto; margin: 0 0 var(--space-md); }
.policy__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	min-width: 520px;
}
.policy__table th,
.policy__table td {
	text-align: left;
	padding: 12px 14px;
	border: 1px solid var(--c-border);
	vertical-align: top;
	line-height: 1.6;
}
.policy__table thead th {
	font-family: var(--font-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: 13px;
	color: var(--c-white);
	background: var(--c-charcoal);
}
.policy__table tbody td { color: var(--c-silver); }
.policy__table tbody tr:nth-child(even) td { background: rgba(255, 255, 255, 0.02); }
