/* =============================================
   SUCURSALES
   ============================================= */
#sucursales {
  padding: var(--gap-xl) 0;
  background: var(--fondo);
}
.sucursales-header { text-align: center; margin-bottom: var(--gap-lg); }

.sucursales-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1.5rem;
}

.sucursal-card {
  background: var(--blanco);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  border-top: 4px solid var(--turquesa);
}
.sucursal-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); border-top-color: var(--rojo); }

.sucursal-img {
  position: relative; height: 160px; overflow: hidden;
}
.sucursal-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.sucursal-map {
  height: 160px;
  background: linear-gradient(135deg, var(--azul-profundo) 0%, var(--azul-mar) 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 2.8rem; color: rgba(255,255,255,0.18); position: relative;
}
.sucursal-map iframe { width:100%; height:100%; border:none; }

.sucursal-num {
  position: absolute; top: 0.75rem; left: 0.75rem;
  background: var(--rojo); color: var(--blanco);
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 800;
}

.sucursal-info { padding: 1.35rem; display: flex; flex-direction: column; gap: 0.7rem; }
.sucursal-nombre { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; color: var(--azul-profundo); }

.sucursal-row { display: flex; align-items: flex-start; gap: 0.65rem; font-size: 0.83rem; color: var(--texto-suave); }
.sucursal-row .s-icon {
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(0,180,204,0.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; flex-shrink: 0; color: var(--azul-mar);
}
.s-text strong {
  display: block; font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--turquesa); margin-bottom: 0.1rem;
}

.sucursal-ctas { display: flex; gap: 0.5rem; margin-top: 0.5rem; }
.sucursal-ctas a {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.5rem; border-radius: var(--radius-sm);
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; transition: var(--transition);
}
.cta-wa  { background: rgba(37,211,102,0.1); color: #128C7E; border: 1px solid rgba(37,211,102,0.3); }
.cta-wa:hover  { background: #25D366; color: white; }
.cta-maps { background: rgba(10,92,138,0.08); color: var(--azul-mar); border: 1px solid rgba(10,92,138,0.2); }
.cta-maps:hover { background: var(--azul-mar); color: white; }

@media (max-width: 640px) {
  .sucursales-grid { grid-template-columns: 1fr; }
}
