/* Comparar Hojas de Cálculo – Política de privacidad  (prefijo .chcp) */
.chcp {
	--chcp-azul: #2156D9;
	--chcp-menta: #2EC4A6;
	--chcp-menta-osc: #139A80;
	--chcp-marino: #0F1B3D;
	--chcp-texto: #3D4A63;
	--chcp-pizarra: #5B6B82;
	--chcp-azul-claro: #EEF3FF;
	--chcp-menta-claro: #E7F8F3;
	--chcp-borde: #E4E9F2;
	--chcp-fondo: #F5F7FA;
	width: 100%;
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	color: var(--chcp-texto);
	line-height: 1.7;
	box-sizing: border-box;
	scroll-margin-top: 90px;
}
.chcp *, .chcp *::before, .chcp *::after { box-sizing: border-box; }
.chcp__wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* Encabezado */
.chcp__hero {
	background:
		radial-gradient(700px 300px at 0% 0%, rgba(46, 196, 166, .15), transparent 60%),
		radial-gradient(700px 320px at 100% 0%, rgba(33, 86, 217, .12), transparent 60%),
		#F7F9FF;
	border-bottom: 1.5px solid var(--chcp-borde);
	padding: 56px 0 40px;
}
.chcp__eyebrow {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 14px; border-radius: 999px; background: var(--chcp-menta-claro); color: var(--chcp-menta-osc);
	font-size: 13px; font-weight: 600;
}
.chcp__eyebrow svg { width: 16px; height: 16px; }
.chcp .chcp__title { margin: 16px 0 10px; padding: 0; font-family: inherit; font-size: clamp(32px, 5vw, 48px); line-height: 1.1; font-weight: 700; letter-spacing: -.02em; color: var(--chcp-marino); }
.chcp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 14.5px; color: var(--chcp-pizarra); }
.chcp .chcp__print {
	display: inline-flex; align-items: center; gap: 6px;
	margin: 0; padding: 6px 12px; border: 1.5px solid var(--chcp-borde); border-radius: 10px;
	background: #fff; color: var(--chcp-marino); font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer;
}
.chcp .chcp__print:hover { border-color: var(--chcp-azul); color: var(--chcp-azul); }
.chcp__print svg { width: 16px; height: 16px; }

/* Distribución */
.chcp__layout { display: grid; grid-template-columns: 280px 1fr; gap: 56px; align-items: start; padding-top: 44px; padding-bottom: 80px; }
.chcp__layout--single { grid-template-columns: 1fr; max-width: 820px; }

/* Índice */
.chcp__toc { position: sticky; top: 100px; }
.chcp__toc-box { background: #fff; border: 1.5px solid var(--chcp-borde); border-radius: 18px; padding: 18px 12px 12px; }
.chcp__toc-box summary {
	display: flex; align-items: center; justify-content: space-between;
	padding: 0 10px 10px; list-style: none; cursor: default;
	font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--chcp-pizarra);
}
.chcp__toc-box summary::-webkit-details-marker { display: none; }
.chcp__toc-box summary svg { display: none; width: 14px; height: 14px; transition: transform .2s; }
.chcp__toc ol { list-style: none; margin: 0; padding: 0; max-height: calc(100vh - 200px); overflow-y: auto; }
.chcp__toc a {
	display: flex; gap: 10px; align-items: baseline;
	padding: 7px 10px; border-radius: 10px;
	font-size: 14px; line-height: 1.4; color: var(--chcp-texto) !important; text-decoration: none;
	transition: background .15s, color .15s;
}
.chcp__toc a span { flex: 0 0 20px; font-size: 12px; font-weight: 600; color: var(--chcp-pizarra); }
.chcp__toc a:hover { background: var(--chcp-fondo); color: var(--chcp-azul) !important; }
.chcp__toc a.is-active { background: var(--chcp-azul-claro); color: var(--chcp-azul) !important; font-weight: 500; }
.chcp__toc a.is-active span { color: var(--chcp-azul); }

/* Resumen */
.chcp__summary {
	margin-bottom: 36px; padding: 24px 26px; border-radius: 18px;
	background: var(--chcp-menta-claro); border: 1.5px solid rgba(46, 196, 166, .35);
}
.chcp__summary-title { display: block; margin-bottom: 10px; font-size: 16px; font-weight: 600; color: var(--chcp-marino); }
.chcp__summary ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.chcp__summary li { position: relative; padding-left: 28px; font-size: 15px; line-height: 1.5; color: var(--chcp-marino); }
.chcp__summary li::before {
	content: ''; position: absolute; left: 0; top: 2px; width: 19px; height: 19px; border-radius: 50%;
	background: var(--chcp-menta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.3l2.6 2.5L14 7.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}

/* Contenido */
.chcp__content { min-width: 0; }
.chcp__section { padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--chcp-borde); scroll-margin-top: 100px; }
.chcp__section:last-of-type { border-bottom: 0; }
.chcp .chcp__section h2 {
	display: flex; align-items: center; gap: 12px;
	margin: 0 0 14px; padding: 0; font-family: inherit; font-size: clamp(20px, 2.4vw, 24px); line-height: 1.3; font-weight: 700; color: var(--chcp-marino);
}
.chcp__num {
	flex: 0 0 34px; height: 34px; border-radius: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--chcp-azul-claro); color: var(--chcp-azul); font-size: 15px; font-weight: 700;
}
.chcp .chcp__section h3 { margin: 20px 0 6px; padding: 0; font-family: inherit; font-size: 16.5px; font-weight: 600; color: var(--chcp-marino); }
.chcp__section p { margin: 0 0 12px; font-size: 16px; }
.chcp__section ul { margin: 0 0 12px; padding: 0; list-style: none; }
.chcp__section li { position: relative; padding-left: 22px; margin-bottom: 8px; font-size: 16px; }
.chcp__section li::before { content: ''; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--chcp-menta); }
.chcp__section a { color: var(--chcp-azul); text-decoration: underline; text-underline-offset: 2px; }
.chcp__section strong { color: var(--chcp-marino); font-weight: 600; }
.chcp__note { padding: 14px 18px; border-radius: 12px; background: #FFF8E6; border-left: 4px solid #F2B84B; font-size: 15px !important; }

.chcp__rights { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.chcp .chcp__rights li { margin: 0; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1.5px solid var(--chcp-borde); font-size: 15px; line-height: 1.5; }
.chcp .chcp__rights li::before { display: none; }
.chcp__rights li strong { display: block; color: var(--chcp-azul); }

.chcp__tools { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px; margin-bottom: 16px !important; }
.chcp .chcp__tools li { margin: 0; font-size: 15.5px; }

.chcp__table-wrap { overflow-x: auto; margin: 4px 0 12px; border: 1.5px solid var(--chcp-borde); border-radius: 14px; }
.chcp__table { width: 100%; border-collapse: collapse; margin: 0; font-size: 15px; background: #fff; }
.chcp__table th, .chcp__table td { padding: 12px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--chcp-borde); }
.chcp__table th { background: var(--chcp-fondo); color: var(--chcp-marino); font-weight: 600; font-size: 14px; }
.chcp__table tr:last-child td { border-bottom: 0; }

.chcp__top { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 14.5px; font-weight: 600; color: var(--chcp-azul) !important; text-decoration: none; }
.chcp__top svg { width: 16px; height: 16px; }
.chcp a:focus-visible, .chcp button:focus-visible, .chcp summary:focus-visible { outline: 2px solid var(--chcp-azul); outline-offset: 3px; border-radius: 6px; }

/* ---------- Tableta y móvil ---------- */
@media (max-width: 1024px) {
	.chcp__layout { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
	.chcp__toc { position: sticky; top: 76px; z-index: 5; }
	.chcp__toc-box { padding: 0; box-shadow: 0 8px 24px rgba(15, 27, 61, .06); }
	.chcp__toc-box summary { padding: 14px 18px; cursor: pointer; font-size: 14px; }
	.chcp__toc-box summary svg { display: block; }
	.chcp__toc-box[open] summary svg { transform: rotate(180deg); }
	.chcp__toc-box[open] summary { border-bottom: 1px solid var(--chcp-borde); }
	.chcp__toc ol { padding: 8px; max-height: 55vh; }
	.chcp__section { scroll-margin-top: 160px; }
}
@media (max-width: 640px) {
	.chcp__wrap { padding: 0 16px; }
	.chcp__hero { padding: 40px 0 28px; }
	.chcp__meta > span[aria-hidden] { display: none; }
	.chcp__meta { flex-direction: column; align-items: flex-start; gap: 12px; }
	.chcp__summary { padding: 20px; }
	.chcp__summary ul, .chcp__rights, .chcp__tools { grid-template-columns: 1fr; }
	.chcp__section p, .chcp__section li { font-size: 15.5px; }
	.chcp__table, .chcp__table thead, .chcp__table tbody, .chcp__table tr, .chcp__table td { display: block; width: 100%; }
	.chcp__table thead { display: none; }
	.chcp__table tr { padding: 12px 16px; border-bottom: 1px solid var(--chcp-borde); }
	.chcp__table tr:last-child { border-bottom: 0; }
	.chcp__table td { padding: 0; border: 0; }
	.chcp__table td:first-child { font-weight: 600; color: var(--chcp-marino); margin-bottom: 2px; }
	.chcp__table td:last-child { font-size: 14px; color: var(--chcp-pizarra); }
}

/* ---------- Impresión ---------- */
@media print {
	.chcp__toc, .chcp__print, .chcp__top { display: none !important; }
	.chcp__layout { display: block; padding: 0; }
	.chcp__hero { background: none; border: 0; padding: 0 0 16px; }
	.chcp__section { break-inside: avoid-page; }
	.chcp__summary, .chcp__rights li, .chcp__table-wrap { border-color: #ccc; }
	.chcp a { color: inherit !important; }
}
