/* Shared layout for the Privacy and Accessibility pages */
.legal { background: var(--marmol); }
.legal-header { border-bottom: 1px solid var(--caliza); background: var(--white); }
.legal-header .container { display: flex; justify-content: space-between; align-items: center; min-height: 80px; gap: 16px; }
.legal-header img { width: 150px; height: auto; }
.legal-body { max-width: 760px; padding: 60px 0 90px; }
.legal-body h1 { font-size: clamp(2.2rem, 5vw, 3.2rem); }
.legal-body h2 { font-size: 1.4rem; margin-top: 1.8em; }
.legal-body li { margin-bottom: .5em; }
.legal-body a { color: var(--accent-dark); font-weight: 600; }
.updated { color: var(--pizarra); font-size: .9rem; }
.legal-footer { background: var(--carbon); color: var(--piedra); padding: 24px 0; font-size: .85rem; }
.legal-footer a { color: var(--caliza); }

.legal-actions { display: flex; align-items: center; gap: 16px; }
.legal .lang-switch { border-color: var(--piedra); }
.legal .lang-switch button { color: var(--grafito); }
.legal [hidden] { display: none; }

/* Service pages */
.service-page-img { width: 100%; height: clamp(220px, 42vw, 460px); object-fit: cover; }
.service-page .legal-body { padding-top: 44px; }
.service-page h1 { font-size: clamp(2rem, 5vw, 3rem); }
.service-lead { font-size: 1.1rem; }
.service-page-lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px 32px; margin: 8px 0 22px; }
.service-page-lists h2, .service-page-links h2 { font-size: 1.2rem; margin: 1em 0 .5em; }
.service-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 34px; }
.service-page-links { border-top: 1px solid var(--caliza); padding-top: 8px; }
.service-page-links a { display: inline-block; margin: 0 16px 10px 0; }
@media (max-width: 640px) { .service-page-actions .btn { width: 100%; } }
