.legal {
background: var(--fondo);
}
.legal__interior {
max-width: 820px;
padding: 56px 40px 80px;
}
.legal__caja {
padding: 56px 52px;
background: var(--blanco);
border: 1px solid var(--borde);
border-radius: var(--radio-lg);
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
}
.legal__caja > h1:first-child,
.legal__caja > h2:first-child {
margin: 0 0 32px;
padding-bottom: 20px;
border-bottom: 3px solid var(--verde);
font-size: 32px;
font-weight: 800;
}
.legal__caja h2,
.legal__caja h3 {
margin: 40px 0 12px;
padding-left: 16px;
border-left: 3px solid var(--verde);
font-size: 20px;
font-weight: 700;
line-height: 1.3;
}
.legal__caja p {
margin: 0 0 16px;
font-size: 14.5px;
line-height: 1.85;
}
.legal__caja p strong { color: var(--titular); }
.legal__caja ul,
.legal__caja ol {
margin: 0 0 16px;
padding-left: 24px;
list-style: revert;
font-size: 14.5px;
line-height: 1.85;
}
.legal__caja li { margin-bottom: 8px; }
.legal__caja a {
color: var(--verde);
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.2s ease;
overflow-wrap: anywhere;
}
.legal__caja a:hover { color: var(--verde-oscuro); }
.legal__caja table {
display: block;
max-width: 100%;
overflow-x: auto;
margin-bottom: 16px;
}
@media (max-width: 768px) {
.legal__interior { padding: 40px 20px 60px; }
.legal__caja {
padding: 36px 28px;
border-radius: 20px;
}
.legal__caja > h1:first-child,
.legal__caja > h2:first-child { font-size: 26px; }
.legal__caja h2,
.legal__caja h3 {
margin: 32px 0 10px;
font-size: 18px;
}
}
@media (max-width: 480px) {
.legal__interior { padding: 28px 16px 48px; }
.legal__caja {
padding: 28px 20px;
border-radius: 16px;
}
.legal__caja > h1:first-child,
.legal__caja > h2:first-child { font-size: 22px; }
.legal__caja h2,
.legal__caja h3 { font-size: 16px; }
.legal__caja p,
.legal__caja ul,
.legal__caja ol { font-size: 13.5px; }
}