/* Tema Oliver · v5.css — detalles del diseño 5 (líneas 526–555 de la maqueta, sin cambios): mapas de Google, foto de caso con logo, casilla de privacidad del formulario y páginas legales. Se carga después de v3.css. */

/* Mapas, casos y páginas legales */
.gmap{position:relative;aspect-ratio:480/260;overflow:hidden}
.gmap.is-live iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gmap .map-open{position:absolute;right:12px;bottom:10px;display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:999px;background:var(--paper);font:600 .82rem var(--sans);box-shadow:0 2px 10px rgba(11,20,35,.15)}
.contact-maps{display:grid;gap:12px}
.contact-maps .gmap+.tag{margin-top:16px}
.map-tag{position:absolute;left:12px;top:12px;z-index:2}
.case-photo{position:relative;margin:0;border-radius:36px;overflow:hidden;aspect-ratio:16/10;background:var(--surface)}
.case-photo>img{width:100%;height:100%;object-fit:cover}
.case-logo{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:16px;padding:10px;display:block;box-shadow:0 4px 16px rgba(11,20,35,.18)}
.case-logo img{display:block;width:72px;height:72px}
.check{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:start}
.check input{width:22px;height:22px;margin:2px 0 0;accent-color:#0B1423}
.check label{display:block;font-weight:500;font-size:.95rem}
.check .err{grid-column:2}
.form-legal{max-width:60ch}
.check label a,.form-legal a{font-weight:600} /* AA 1.4.1: los enlaces van sin subrayado (diseño 3); en el texto del formulario se distinguen por peso, como en .legal-body */
.legal-body{display:grid;gap:14px;font-size:1.02rem;line-height:1.7}
.legal-body>*{max-width:68ch;margin:0}
.legal-body h2{font-size:clamp(1.4rem,2.2vw,1.8rem);margin-top:28px}
.legal-body h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;margin-top:12px}
.legal-body h4{font-family:var(--sans);font-weight:700;font-size:.98rem;margin:6px 0 -6px;letter-spacing:0}
.legal-body ul{padding-left:1.2em;display:grid;gap:6px}
.legal-body p a,.legal-body li a{font-weight:600}
.legal-table{overflow-x:auto;max-width:100%}
.legal-table table{border-collapse:collapse;width:100%;font-size:.95rem}
.legal-table th,.legal-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.legal-table th{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.legal-date{color:var(--muted);font-size:.9rem;margin-top:24px!important;border-top:1px solid var(--line);padding-top:18px}
@media(min-width:1024px){.legal-body{grid-column:3/span 8}}
