/* ==========================================================================
   Cobertura
   ========================================================================== */

.df-cobertura-mapa .df-mapa { margin-top: 8px; }

.df-sucursales-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.df-sucursal { --radius: 22px; }
.df-sucursal.is-matriz { grid-column: span 2; }
.df-sucursal-cuerpo {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: 66px 28px 28px;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(42, 47, 99, .04), 0 22px 44px -34px rgba(18, 21, 58, .5);
    transition: box-shadow .3s;
}
.df-sucursal:hover .df-sucursal-cuerpo,
.df-sucursal.is-activa .df-sucursal-cuerpo { box-shadow: var(--shadow-sm); }
.df-sucursal-num { position: absolute; top: 22px; right: 26px; color: var(--c3); font-family: var(--font-serif); font-size: .95rem; font-weight: 600; }
.df-sucursal h3 { color: var(--navy); font-size: 1.65rem; }
.df-sucursal-direccion { display: flex; align-items: flex-start; gap: 10px; color: var(--ink); font-size: .98rem; font-weight: 600; }
.df-sucursal-direccion .df-icono { width: 18px; height: 18px; margin-top: 3px; color: var(--c4); }
.df-sucursal-direccion small { color: var(--muted); font-size: .88rem; font-weight: 600; }
.df-sucursal-contacto { display: grid; gap: 8px; font-size: .95rem; }
.df-sucursal-contacto li { display: flex; align-items: center; gap: 10px; }
.df-sucursal-contacto .df-icono { width: 17px; height: 17px; color: var(--c2); }
.df-sucursal .df-link { align-self: flex-start; margin-top: auto; padding-top: 6px; }

/* Casa matriz destacada en navy */
.df-sucursal.is-matriz .df-sucursal-cuerpo {
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(120% 140% at 90% 0%, #3c4f94 0%, var(--navy) 55%, var(--navy-3) 100%);
    color: #fff;
}
.df-sucursal.is-matriz .df-sucursal-cuerpo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px);
    background-size: 20px 20px;
}
.df-sucursal.is-matriz h3 { color: #fff; font-size: 2.1rem; }
.df-sucursal.is-matriz .df-sucursal-direccion { color: #fff; }
.df-sucursal.is-matriz .df-sucursal-direccion small { color: var(--on-dark-3); }
.df-sucursal.is-matriz .df-sucursal-direccion .df-icono { color: var(--c2); }
.df-sucursal.is-matriz .df-sucursal-contacto a { color: #fff; font-weight: 700; }
.df-sucursal.is-matriz .df-link { color: var(--c2); }
.df-sucursal.is-matriz .df-link:hover { color: #fff; }
