/* ══════════════════════════════════════
   Generic Page (Legal, etc.) — Soria Casas Web
   ══════════════════════════════════════ */

.sc-generic {
	font-family: 'DM Sans', sans-serif;
	background: var(--blanco, #fff);
	color: var(--negro, #333);
}

/* ── Hero ── */

.sc-generic__hero {
	padding: 64px 0 32px;
	background: var(--beige, #fbf5e9);
}

.sc-generic__hero h1 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 38px;
	font-weight: 500;
	color: var(--negro, #333);
	margin: 0;
	line-height: 1.2;
}

/* ── Content / Prose ── */

.sc-generic__content {
	padding: 48px 0 80px;
}

.sc-generic__body {
	max-width: 800px;
	line-height: 1.7;
	font-size: 15px;
	color: var(--gris-texto, #54585e);
}

/* Headings */

.sc-generic__body h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--negro, #333);
	margin: 48px 0 16px;
	line-height: 1.3;
}

.sc-generic__body h3 {
	font-family: 'DM Sans', sans-serif;
	font-size: 20px;
	font-weight: 600;
	color: var(--negro, #333);
	margin: 36px 0 12px;
	line-height: 1.3;
}

.sc-generic__body h4 {
	font-family: 'DM Sans', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--negro, #333);
	margin: 28px 0 8px;
	line-height: 1.4;
}

/* Paragraphs */

.sc-generic__body p {
	margin: 0 0 16px;
}

.sc-generic__body p:last-child {
	margin-bottom: 0;
}

/* Links */

.sc-generic__body a {
	color: var(--azul, #4a8fcc);
	text-decoration: none;
}

.sc-generic__body a:hover {
	text-decoration: underline;
}

/* Lists */

.sc-generic__body ul,
.sc-generic__body ol {
	margin: 0 0 16px;
	padding-left: 24px;
}

.sc-generic__body li {
	margin-bottom: 6px;
}

.sc-generic__body li::marker {
	color: var(--azul, #4a8fcc);
}

/* Tables */

.sc-generic__body table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: 14px;
}

.sc-generic__body th {
	background: var(--beige, #fbf5e9);
	font-weight: 600;
	color: var(--negro, #333);
	text-align: left;
	padding: 10px 14px;
	border: 1px solid var(--borde, #e5e5e5);
}

.sc-generic__body td {
	padding: 10px 14px;
	border: 1px solid var(--borde, #e5e5e5);
}

.sc-generic__body tr:nth-child(even) td {
	background: #fafafa;
}

/* Blockquotes */

.sc-generic__body blockquote {
	margin: 24px 0;
	padding: 16px 24px;
	border-left: 3px solid var(--azul, #4a8fcc);
	background: var(--azul-light, rgba(74, 143, 204, 0.08));
	color: var(--gris-texto, #54585e);
	font-style: italic;
}

.sc-generic__body blockquote p:last-child {
	margin-bottom: 0;
}

/* Images */

.sc-generic__body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radio-sm, 8px);
	margin: 16px 0;
}

/* Horizontal rule */

.sc-generic__body hr {
	border: none;
	border-top: 1px solid var(--borde, #e5e5e5);
	margin: 32px 0;
}

/* Strong / Bold */

.sc-generic__body strong {
	color: var(--negro, #333);
	font-weight: 600;
}

/* ── Responsive ── */

@media (max-width: 600px) {
	.sc-generic__hero {
		padding: 48px 0 24px;
	}

	.sc-generic__hero h1 {
		font-size: 28px;
	}

	.sc-generic__content {
		padding: 32px 0 60px;
	}

	.sc-generic__body {
		font-size: 14px;
	}

	.sc-generic__body h2 {
		font-size: 24px;
		margin-top: 36px;
	}

	.sc-generic__body table {
		font-size: 12px;
	}

	.sc-generic__body th,
	.sc-generic__body td {
		padding: 8px 10px;
	}
}
