/* Bloco partilhado "Onde estamos" (Homepage + Empresa) — mapa real, ícones e horário condensado.
   Ficheiro isolado de a1-overrides.css para não publicar a correção pendente do Hero. */

.location-block{display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}

.location-block__map{position:relative;min-height:320px;background:#e9eef5}
.location-block__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.location-block__map-placeholder{display:grid;height:100%;min-height:320px;place-content:center;place-items:center;gap:8px;color:var(--blue);text-align:center}
.location-block__map-placeholder svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8}

.location-block__info{display:grid;gap:16px;align-content:start;padding:30px}
.location-block__name{margin:0;font-size:18px;font-weight:800;color:var(--navy)}

.location-block__row{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:15px;line-height:1.5}
.location-block__row a{color:inherit;text-decoration:none}
.location-block__row a:hover,.location-block__row a:focus-visible{text-decoration:underline}
.location-block__icon{display:grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--soft);color:var(--navy)}
.location-block__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.location-block__directions{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;width:fit-content;margin-top:4px;padding:0 22px;border:0;border-radius:6px;background:var(--navy);color:#fff;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}
.location-block__directions:hover,.location-block__directions:focus-visible{background:var(--gold);color:#071a33}
.location-block__directions:disabled{opacity:.5;cursor:default;background:var(--navy);color:#fff}
.location-block__directions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

@media(max-width:900px){
    .location-block{grid-template-columns:1fr}
    .location-block__map,.location-block__map-placeholder{min-height:220px}
    .location-block__info{padding:22px}
}
